我正在尝试编写一些iptable规则,以删除所有包含“ .php”的数据包,以避免在我的HTTP服务器的日志中看到该数据包:
140.143.19.50--[10 / Feb / 2019:20:31:12 +0000]“ GET /wp-config.php HTTP / 1.1” 404330 140.143.19.50--[10 / Feb / 2019:20:31:23 +0000]“ GET /phpmyadmin/scripts/setup.php HTTP / 1.1” 404 345 140.143.19.50--[10 / Feb / 2019:20:31:36 +0000]“ POST /wp-admins.php HTTP / 1.1” 404330 140.143.19.50--[10 / Feb / 2019:20:32:17 +0000]“ POST /tomcat.php HTTP / 1.1” 404327 140.143.19.50--[10 / Feb / 2019:20:34:19 +0000]“ GET /admin/mysql/index.php HTTP / 1.1” 404338 140.143.19.50--[10 / Feb / 2019:20:34:19 +0000]“ GET /admin/mysql2/index.php HTTP / 1.1” 404339 140.143.19.50--[10 / Feb / 2019:20:34:21 +0000]“ GET /admin/phpmyadmin/index.php HTTP / 1.1” 404343 140.143.19.50--[10 / Feb / 2019:20:34:22 +0000]“ GET /admin/phpMyAdmin/index.php HTTP / 1.1” 404343 140.143.19.50--[10 / Feb / 2019:20:34:23 +0000]“ GET /admin/phpmyadmin2/index.php HTTP / 1.1” 404344 140.143.19.50--[10 / Feb / 2019:20:34:23 +0000]“ GET /mysqladmin/index.php HTTP / 1.1” 404337
我使用以下规则:
iptables -I INPUT -p tcp --dport 80 -m string --to 100 --algo bm --string '.php' -j DROP
iptables -I INPUT -p tcp --dport 8080 -m string --to 100 --algo bm --string '.php' -j DROP
iptables -I OUTPUT -p tcp --dport 80 -m string --to 100 --algo bm --string '.php' -j DROP
iptables -I OUTPUT -p tcp --dport 8080 -m string --to 100 --algo bm --string '.php' -j DROP
iptables -I FORWARD -p tcp --dport 80 -m string --to 100 --algo bm --string '.php' -j DROP
iptables -I FORWARD -p tcp --dport 8080 -m string --to 100 --algo bm --string '.php' -j DROP
我认为这些规则就足够了,我希望包含PHP的数据包将被丢弃,但是我仍然保留那些使日志logs肿的数据包。我使用Jetty,我的服务器上不需要PHP。我该如何彻底摆脱上面的数据包?