❤️ AZDIGI chính thức cập nhật hệ thống blog mới hoàn chỉnh. Tuy nhiên có thể một số bài viết bị sai lệch hình ảnh, hãy ấn nút Báo cáo bài viết ở cuối bài để AZDIGI cập nhật trong thời gian nhanh nhất. Chân thành cám ơn.

phpMyAdmin là mục tiêu tấn công phổ biến trên server vì cho phép truy cập trực tiếp database. Mặc định phpMyAdmin trên DirectAdmin ai cũng truy cập được nếu biết URL. Bài viết này hướng dẫn cách hạn chế quyền truy cập phpMyAdmin để tăng bảo mật.

⚠️ Theo thống kê, phpMyAdmin là 1 trong 3 target phổ biến nhất của bot tấn công web. Không bảo vệ phpMyAdmin = để lộ toàn bộ database.

Cách 1: Giới hạn IP truy cập

Chỉ cho phép IP cụ thể truy cập phpMyAdmin qua cấu hình web server:

# Tạo file custom config cho phpMyAdmin
vi /usr/local/directadmin/data/templates/custom/phpmyadmin.conf

# Thêm (Apache): <Directory /var/www/html/phpMyAdmin> Require ip YOUR_IP Require ip 127.0.0.1 </Directory>

# Cho Nginx: location /phpmyadmin { allow YOUR_IP; allow 127.0.0.1; deny all; }

# Áp dụng cd /usr/local/directadmin/custombuild ./build rewrite_confs

💡 Thay YOUR_IP bằng IP thực của bạn. Kiểm tra IP hiện tại: curl ifconfig.me

Cách 2: Đổi URL phpMyAdmin

Thay vì URL mặc định /phpmyadmin (dễ đoán), đổi sang URL khác:

# Đổi URL phpMyAdmin
echo "phpmyadmin_url=/my-secret-db-admin" >> /usr/local/directadmin/conf/directadmin.conf
service directadmin restart
# Kiểm tra config đã áp dụng
grep phpmyadmin_url /usr/local/directadmin/conf/directadmin.conf

Giờ chỉ truy cập được phpMyAdmin qua /my-secret-db-admin. URL cũ /phpmyadmin sẽ trả về 404.

Cách 3: Tắt phpMyAdmin khi không dùng

Cách an toàn tuyệt đối – chỉ bật phpMyAdmin khi cần thiết:

# Tắt phpMyAdmin
cd /usr/local/directadmin/custombuild
./build set phpmyadmin no
./build rewrite_confs

# Bật lại khi cần ./build set phpmyadmin yes ./build phpmyadmin ./build rewrite_confs

# Kiểm tra trạng thái ./build options | grep phpmyadmin

Cách 4: HTTPS và certificate validation

Bắt buộc HTTPS cho phpMyAdmin để mã hoá dữ liệu truyền:

# Force HTTPS redirect
vi /usr/local/directadmin/data/templates/custom/phpmyadmin.conf
# Thêm:
<Directory /var/www/html/phpMyAdmin>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</Directory>

Monitoring và log

Theo dõi access log để phát hiện attempt tấn công:

# Check phpMyAdmin access attempts
grep -i phpmyadmin /var/log/httpd/access_log | tail -20

# Monitor real-time tail -f /var/log/httpd/access_log | grep -i phpmyadmin

# Count unique IPs trying to access grep -i phpmyadmin /var/log/httpd/access_log | awk '{print $1}' | sort | uniq -c | sort -nr

⚠️ Nếu thấy nhiều IP lạ cố gắng truy cập /phpmyadmin, server đang bị scan. Cần áp dụng ngay các biện pháp bảo vệ.

💡 Cách an toàn nhất là kết hợp: đổi URL + giới hạn IP + bật 2FA cho DirectAdmin + HTTPS only. Bot tấn công thường quét URL mặc định /phpmyadmin nên đổi URL đã chặn được phần lớn.

Tổng kết

phpMyAdmin là cửa ngõ vào database, cần bảo vệ kỹ càng. Bốn cách trên có thể áp dụng riêng lẻ hoặc kết hợp tăng cường bảo mật. Mức độ ưu tiên: đổi URL (dễ nhất) → giới hạn IP → HTTPS → monitoring log → tắt khi không dùng (an toàn nhất).

Nhớ backup database trước khi thay đổi cấu hình phpMyAdmin. Nếu bị khóa truy cập, có thể dùng command line MySQL hoặc khôi phục cấu hình qua SSH.

Chia sẻ:
Bài viết đã được kiểm duyệt bởi AZDIGI Team

Về tác giả

Thạch Phạm

Thạch Phạm

Đồng sáng lập và Giám đốc điều hành của AZDIGI. Có hơn 15 năm kinh nghiệm trong phổ biến kiến thức liên quan đến WordPress tại thachpham.com, phát triển website và phát triển hệ thống.

Hơn 10 năm phục vụ 80.000+ khách hàng

Bắt đầu dự án web của bạn với AZDIGI