Tại sao pg_hba.conf đôi khi có các quy tắc ngẫu nhiên được thêm vào nó? (postgresql)


7

Tôi có postgres 10,4 được thiết lập trên máy Linux và đôi khi sẽ ngẫu nhiên có các quy tắc ở đầu pg_hba.conf chỉ cho phép kết nối MD5 bởi người dùng "pgdbadm". Tôi không chắc liệu cơ sở dữ liệu có bị hack hay không nhưng sau khi thay đổi mật khẩu và kiểm tra xem pgdbadm không tồn tại, thỉnh thoảng tôi vẫn thấy các quy tắc mới. Có thể là cơ sở dữ liệu bị xâm phạm?

Ba quy tắc, nếu tôi nhớ lại chính xác như sau:

local all all 0.0.0.0/0 reject
host all postgres 0.0.0.0/0 reject
host all pgdbadm 0.0.0.0/0 md5

Bất kỳ lời giải thích nào về những gì đang diễn ra sẽ được đánh giá cao, cũng như các giải pháp tiềm năng.

EDIT : Tôi đã phát hiện ra rằng khi thiết lập pg_hba.conf tôi đã sử dụng một quy tắc trong đó tất cả các kết nối không yêu cầu mật khẩu. Điều này có thể cho phép một bot đăng nhập và tạo cơ sở dữ liệu không mong muốn / những thứ khác, vì vậy tôi sẽ cài đặt Ubuntu sạch và sao lưu cơ sở dữ liệu.


2
Tôi sẽ sao lưu cơ sở dữ liệu và cài đặt lại hệ điều hành từ đầu. Nếu máy bị xâm nhập, có thể có bộ root (hoặc tương tự)
Philᵀᴹ

Tôi đã mô tả cách tôi sao chép bản hack mà không có quyền truy cập shell - từ xa thông qua pgAdmin 4 tại đây: stackoverflow.com/questions/52197486/
Boyan Penev

Câu trả lời:


6

Như bạn có vẻ đã phỏng đoán, "pgdbadm" là một tài khoản được tạo bởi tin tặc. Đó là tài khoản được biết đến đã tạo ra một kẻ tấn công khai thác tiền điện tử gần đây, người khai thác các tài khoản siêu người dùng postgresql không bảo mật. Thay đổi pg_hba.conf cũng là một phần trong MO của anh ấy.


Chỉ cần gặp vấn đề này gần đây. Tôi tin rằng nó chỉ có thể xảy ra nếu tin tặc có quyền truy cập vào máy chủ EC2 của tôi, điều đó có nghĩa là khóa SSH của tôi bị xâm phạm?
c 2

1
@ c2 Nếu họ có quyền truy cập vào tài khoản siêu người dùng PostgreSQL, họ có thể sử dụng quyền đó để có quyền truy cập vào các tệp của tài khoản máy chủ EC2 đang chạy máy chủ PostgreQuery. Họ không cần phải thỏa hiệp khóa ssh của bạn để làm điều này. Tất nhiên nếu bạn để chìa khóa riêng của mình nằm xung quanh, họ có thể đã lấy nó. Nhưng thông thường, máy chủ EC2 sẽ chỉ có khóa chung chứ không phải khóa riêng.
jjanes 17/03/19

2

Trong bản cài đặt Postgres tiêu chuẩn, không có quy tắc nào được thêm vào pg_hba.conf bởi bất kỳ chương trình nào. Tất cả các chỉnh sửa của tập tin này được thực hiện bằng tay.

Bạn có một số người làm điều này hoặc ai đó đã thêm một chương trình - với mục đích nhân từ hoặc độc hại - để làm điều này cho họ.

Bạn nên giải quyết điều này

  1. trong tổ chức của bạn bằng cách xác định ai đang làm điều này; và
  2. bằng cách thay đổi mật khẩu và xóa / thu hồi bất kỳ khóa SSH nào

Tôi sẽ hỏi, trước bất cứ điều gì, người dùng pgdbadm là gì ... không có gì trên google về điều đó
ethanc

@ethanc: pgdbadm không phải là người dùng Postgres "tiêu chuẩn" (hoặc Linux nếu tôi không nhầm). Ai đó trong tổ chức của bạn phải thêm người dùng đó
a_horse_with_no_name

@a_horse_with_no_name Khi tôi viết bài này, tôi đang sao lưu cơ sở dữ liệu của mình, nhưng vâng, tôi là người duy nhất sử dụng máy chủ nên nó phải là bot.
ethanc

Tôi chỉ gặp phải các triệu chứng tương tự, với cùng một người dùng pgdbadm, v.v. không chắc đó có phải là vấn đề của bot không
A-Developer-Has-No-Name

Bạn có cài đặt công cụ quản trị Postgres nào không?
Colin 't Hart
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.