我正在尝试编写iptables
规则,该规则规定阻止特定IP地址访问Joomla,Wordpress和PhpMyAdmin的管理控制台。
例如,在以下规则中,我声明阻止对端口8080(Apache Tomcat)的所有TCP访问。
sudo iptables -A INPUT -p tcp -s 172.24.21.133 --dport 8080 -j DROP
这将阻止访问在端口8080上运行的服务。
但是,现在,如果Joomla,Wordpress和PhpMyAdmin,所有这些都在端口80上运行,我是否可以指定任何其他参数来阻止仅访问Joomla,Wordpress或PhpMyAdmin中的一个服务?或者我明智地假设如果我要阻止访问一项服务,那么我将不得不在另外两项服务上妥协?
答案 0 :(得分:1)
IPtables没有(据我所知)有任何基于HTTP数据包内的URL进行匹配的模块。您最好的选择是在您的网络服务器配置中使用基于IP的访问控制。如果您使用的是Apache,则可以在Joomla / WordPress / PHPMyAdmin目录的.htaccess
文件中使用类似的规则:
Order allow,deny
Deny from 172.24.21.133
Allow from all
这将禁止HTTP访问指定IP地址的那些目录中的任何内容。您还可以使用多个Deny
行来阻止多个IP地址。