Tài khoản MySQL 'root' @ 'localhost' không được bảo mật truy cập từ xa?


8

Một chút nền tảng: Chúng ta vừa bị hack hệ thống PBX. Bản thân máy chủ có vẻ an toàn (không có quyền truy cập bảng điều khiển trái phép đã đăng nhập - SSH, v.v.), nhưng bằng cách nào đó, tin tặc đã quản lý để đưa người dùng quản trị mới vào phần mềm PBX (FreePBX, được hỗ trợ bởi MySQL). Nhật ký Apache ngụ ý rằng các tin tặc đã quản lý để thêm người dùng mà không cần sử dụng giao diện web (hoặc bất kỳ khai thác nào trong giao diện web).

Bây giờ, tôi đã phát hiện ra rằng MySQL đang chạy mà không có mật khẩu gốc (!!) và bị ràng buộc công khai với địa chỉ IP bên ngoài (Rõ ràng, tôi đã khóa nó ngay bây giờ). Tuy nhiên, người dùng cấp gốc duy nhất trong MySQL là 'root'@'localhost''root'@'127.0.0.1'cả hai chỉ nên truy cập cục bộ.

Vì vậy, câu hỏi của tôi là:

Có cách nào giả mạo kết nối với MySQL để nó cho phép kết nối với người dùng 'root' @ 'localhost' từ một địa chỉ IP từ xa, KHÔNG chạy bất kỳ khai thác nào khác cục bộ không?

Để tham khảo, hộp là Centos 5 (Linux 2.6.10) đang chạy Mysql 5.0.95.


Sẽ phù hợp hơn với ServerFault - không chính thức ở đây.
kapa

Tôi không chắc chắn - cảm nhận cá nhân của tôi là vì nó ít gặp vấn đề về cấu hình / quản trị máy chủ và nhiều hơn về việc cố gắng khai thác một lỗi tiềm ẩn trong MySQL mà nó có thể phù hợp hơn ở đây. Xin lỗi nếu mọi người nghĩ rằng tôi vào trang web / phần sai cho việc này.
TFk

2
Trên thực tế, nó có thể thuộc về security.stackexchange.com

1
Bạn nói "người dùng cấp gốc duy nhất là root @ localhost", tuy nhiên, có người dùng khác không? Bạn không cần một người dùng cấp gốc để thêm một bản ghi. Ngoài ra, bạn nên tìm kiếm các lỗ hổng trong FreePBX như thế này .
Marcus Adams

Khai thác trong liên kết của bạn đã được vá trong phiên bản FreePBX của tôi, nhưng vâng, tôi đồng ý rằng các lỗ hổng FreePBX là điểm vào có khả năng nhất, ngoại trừ tôi không thể tìm thấy bất cứ điều gì trong nhật ký truy cập Apache của mình phù hợp với bất kỳ lỗ hổng nào đã biết (chưa được vá) . Điểm hay với những người dùng khác - người dùng duy nhất khác trong db là dấu hoa thị, có mật khẩu (không mặc định). Nếu đây là điểm vào, thì điều này một lần nữa chỉ ra lỗ hổng FreePBX (có thể chưa được phát hành). "Không có mật khẩu gốc" dường như là một lỗ hổng lớn như vậy, so với khai thác FreePBX không có giấy tờ mới. Do đó, câu hỏi / bài viết của tôi.
TFk

Câu trả lời:


1

Không.

MySQL sẽ không bao giờ đăng nhập bạn vào người dùng với thông số kỹ thuật localhosthoặc 127.0.0.1máy chủ lưu trữ nếu bạn không đến từ hệ thống cục bộ. Lưu ý rằng điều này cũng bao gồm lỗ hổng auth bypass, CVE 2012-2122; so sánh mật khẩu có thể bị lừa, nhưng so sánh máy chủ thì không.

Bạn cần một cái gì đó trên hệ thống để ủy quyền để "đánh lừa" việc kiểm tra máy chủ nguồn. Một cái gì đó như phpmyadmin hoặc bộ cân bằng tải như HAProxy chạy trước cổng TCP TCP xuất hiện trong tâm trí.


Đó là những gì tôi nghi ngờ, điều đó có nghĩa là, mật khẩu root trống là xấu, có lẽ nó không phải là khai thác. Luôn luôn tốt để có được ý kiến ​​thông báo - Rất cám ơn.
TFk

2

Tên rootđược tạo theo mặc định và rất nổi tiếng. Các gốc giá trị theo nghĩa đen không có bất kỳ ý nghĩa trong hệ thống đặc quyền MySQL. Do đó không có yêu cầu để tiếp tục với tên người dùng root.

Bạn nên thay đổi roottên người dùng thành một cái gì đó khác để thế giới bên ngoài sẽ không thể xác định (đoán) nó một cách dễ dàng, điều này sẽ làm giảm các nỗ lực hack.

Ví dụ: Nếu bạn có một người dùng là root@ localhostkhá quen thuộc với mọi người do đó tin tặc sẽ cố gắng kết nối nó, bạn nên thay đổi nó thành một cái gì đó cụ thể như admin_db_name@ localhostđể bảo mật tốt hơn.

Theo dõi một biến trạng thái được gọi Aborted_connectsđịnh kỳ để biết Refusedkết nối với máy chủ MySQL của bạn, nó sẽ là 0 sau Flush status;lệnh và không nên tăng thêm.

hiển thị trạng thái như 'Abort_connects';


2

"không truy cập trái phép đăng nhập" bao gồm các chứng nhận đăng nhập thất bại? Nếu không, nó có thể là CVE 2012-2122 .

[...] Khi chạy trong một số môi trường nhất định với chức năng memcmp nhất định, (MySQL) cho phép kẻ tấn công từ xa bỏ qua xác thực bằng cách liên tục xác thực với cùng một mật khẩu, điều này khiến cho việc so sánh mã thông báo thành công do kiểm tra không đúng cách giá trị trả về.


"Không có quyền truy cập trái phép đã đăng nhập" của tôi rất mơ hồ - tôi có nghĩa là không có kẻ tấn công nào có thể truy cập bàn điều khiển vào máy chủ (ví dụ: qua SSH). Ngoài ra, có vẻ như các bản dựng của Centos không bị ảnh hưởng (< Community.rapid7.com/community/metasploit/blog/2012/06/11/ chủ ), nhưng chắc chắn là thứ tôi đang tìm kiếm.
TFk
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.