SELinux 对其他站点的出站访问受到限制

SELinux 对其他站点的出站访问受到限制

我们在 CentOS 6 上配置了 SELinux 来托管许多网站。

不幸的是,SELinux 正在阻止网站访问(出站)站点,例如 download.wordpress.com 来更新 wordpress 或 Joomla 安装。

我们希望启用 SELinux 并让这些站点能够进行此类连接。

我们害怕的是我们这样做

# setsebool -P httpd_can_network_connect 1

一些“开发人员”会创建一个 php 脚本来开始发送垃圾邮件,导致我们的 IP 被列入黑名单。

有没有办法同时启用出站连接并限制此类出站问题?

谢谢。

答案1

如果您告诉 SELinux 允许出站连接,您就不能再使用它来阻止滥用的 php 脚本。不过,您可以使用 iptables 规则代替它。

iptables -I OUTPUT -m state --state new -m owner --uid-owner httpd -j REJECT
iptables -I OUTPUT -m state --state new -m owner --uid-owner httpd -p tcp --dport 80 -j ACCEPT
iptables -I OUTPUT -m state --state new -m owner --uid-owner httpd -p tcp --dport 443 -j ACCEPT
service iptables save

这将允许用户httpd仅连接到端口 80 和 443。所有其他连接尝试都将被拒绝。 (将“httpd”更改为 apache httpd 运行的用户)。

您甚至可以使用 iptables 的 conlimit 模块限制允许的并行连接数。看http://www.cyberciti.biz/faq/iptables-connection-limits-howto/有关如何执行此操作的示例。

相关内容