I. Giới Hạn Request vào admin-ajax.php
Bot thường spam:
POST /wp-admin/admin-ajax.php wc-ajax=get_refreshed_fragments
🎯 Mục tiêu
Nếu 1 IP gọi quá 20 lần trong 10 giây → DROP
Không ảnh hưởng user bình thường
✅ Thêm rule cho HTTP (port 80)
iptables -I INPUT -p tcp --dport 80 -m string --string "admin-ajax.php" --algo bm -m recent --set --name AJAX iptables -I INPUT -p tcp --dport 80 -m string --string "admin-ajax.php" --algo bm -m recent --update --seconds 10 --hitcount 20 --name AJAX -j DROP
✅ Thêm rule cho HTTPS (port 443)
iptables -I INPUT -p tcp --dport 443 -m string --string "admin-ajax.php" --algo bm -m recent --set --name AJAX iptables -I INPUT -p tcp --dport 443 -m string --string "admin-ajax.php" --algo bm -m recent --update --seconds 10 --hitcount 20 --name AJAX -j DROP
II. Giới Hạn Truy Cập wp-login.php (Chống Brute Force)
Bot sẽ spam login liên tục để dò mật khẩu.
🎯 Mục tiêu
Nếu 1 IP login quá 5 lần trong 60 giây → block
✅ Thêm rule
HTTP:
iptables -I INPUT -p tcp --dport 80 -m string --string "wp-login.php" --algo bm -m recent --set --name LOGIN iptables -I INPUT -p tcp --dport 80 -m string --string "wp-login.php" --algo bm -m recent --update --seconds 60 --hitcount 5 --name LOGIN -j DROP
HTTPS:
iptables -I INPUT -p tcp --dport 443 -m string --string "wp-login.php" --algo bm -m recent --set --name LOGIN iptables -I INPUT -p tcp --dport 443 -m string --string "wp-login.php" --algo bm -m recent --update --seconds 60 --hitcount 5 --name LOGIN -j DROP
III. Giới Hạn Số Connection Đồng Thời (Chống Bot Mở Nhiều Kết Nối)
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP iptables -I INPUT -p tcp --dport 443 -m connlimit --connlimit-above 50 -j DROP
IV. Lưu Rule
service iptables save
🔥 Kết Luận
Sau khi áp dụng:
Bot spam admin-ajax bị chặn
Bot brute-force wp-login bị chặn
Server giảm load rõ rệt
Không cần cài plugin bảo mật nặng

