Khi xài hệ thống Direct Admin thì có 1 lỗ hổng nhỏ trong hoạt động ghi log của phpMyAdmin nhằm log lại thông tin user nào đã đăng nhập thành công vào database từ IP nào. Mặc dù file log không tiết lộ thông tin mật khẩu nhưng cũng khá là nhạy cảm khi tiết lộ các thông tin khác như username kết nối DB và IP.
Để kiểm tra xem server DA của bạn có cho phép truy cập log phpMyAdmin hay không thì bạn hãy truy cập đường link sau (thay thế ‘domain.com’ bằng tên miền đang chạy trên hệ thống DA của bạn).
http://domain.com/phpMyAdmin/log/
hoặc
http://domain.com/phpmyadmin/log/
Nếu mà hệ thống của bạn bị ảnh hưởng từ lỗ hổng nhỏ này thì bạn sẽ thấy danh sách file log như trong hình sau và bạn có thể coi thông tin log trong file đó.
Giải pháp khắc phục
– Bây giờ muốn khắc phục lỗi này cũng khá dễ, chúng ta chỉ cần thay đổi lại cấu hình thêm vào như sau .
# vi /etc/httpd/conf/extra/httpd-includes.conf <Directory "/var/www/html"> Options -Indexes </Directory> <Directory "/var/www/html/*/log"> Deny from all </Directory> <Directory "/var/www/html/*/sql"> Deny from all </Directory>
– Đảm bảo trong file cấu hình ‘/etc/httpd/conf/httpd.conf‘ có cấu hình load file ‘/etc/httpd/conf/extra/httpd-includes.conf‘.
# grep -Hn "httpd-includes.conf" /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf:171:Include conf/extra/httpd-includes.conf
– Nếu đúng thì sẽ xuất hiện như dòng trên và không có kí tự ‘#‘ comment dòng cấu hình đấy.
– Sau đấy bạn kiểm tra xem có lỗi cấu hình không rồi khởi động lại dịch vụ Apache . Sau cùng hãy truy cập lại thử đường link phpmyadmin log trên.
# httpd -t # /etc/init.d/httpd restart
Chúc các bạn thành công.