适合Web服务器的iptables规则

如遇技术问题,请联系博主帮您解决QQ 452336092(添加时注明”付费技术支持”)。

  1. IPT="/sbin/iptables"
  2. $IPT --delete-chain
  3. $IPT --flush
  4. $IPT -P INPUT DROP    #1
  5. $IPT -P FORWARD DROP  #1
  6. $IPT -P OUTPUT DROP   #1
  7. $IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #2
  8. $IPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT #3
  9. $IPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT #3
  10. $IPT -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT  #3
  11. $IPT -A INPUT -p tcp -m tcp --dport 873 -j ACCEPT #3
  12. $IPT -A INPUT -i lo -j ACCEPT #4
  13. $IPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT  #5
  14. $IPT -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT #5
  15. $IPT -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #6
  16. $IPT -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT #7
  17. $IPT -A OUTPUT -o lo -j ACCEPT #4
  18. $IPT -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT #8
  19. $IPT -A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT #9
  20. $IPT -A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT  #10
  21. $IPT -A OUTPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT #10
  22. service iptables save
  23. service iptables restart

存为脚本iptables.sh,执行sh iptables.sh自动配置防火墙。
解释:
#1、设置INPUT,FORWARD,OUTPUT链默认target为DROP,也就是外部与服务器不能通信。
#2、设置当连接状态为RELATED和ESTABLISHED时,允许数据进入服务器。
#3、设置外部客户端连接服务器端口80,22,21,873。
#4、允许内部数据循回。
#5、允许外部ping服务器 。
#6、设置状态为RELATED和ESTABLISHED的数据可以从服务器发送到外部。
#7、允许服务器使用外部dns解析域名。
#8、设置服务器连接外部服务器端口80。
#9、允许服务器发送邮件。
#10、允许从服务器ping外部。

转载请保留原文链接:Linux运维日志 » 适合Web服务器的iptables规则

评论 4

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. Luolired留言是种美德 :neutral: 有些地方的设置不是很安全吧!回复
  2. tsg0727此规则极度影响服务器性能回复
    • 朱 茂海为什么回复
  3. 北独角寺运行后为什么出现以上内容: [root@bbs 192.168.45.21]# sh iptables.sh : 没有那个文件或目录 /sbin/iptables : 没有那个文件或目录 /sbin/iptables : 没有那个文件或目录 /sbin/iptables : 没有那个文件或目录 /sbin/iptables : 没有那个文件或目录 /sbin/iptables : 没有那个文件或目录 /sbin/iptables : 没有那个文件或目录 /sbin/iptables : 没有那个文件或目录 /sbin/iptables : 没有那个文件或目录: /sbin/iptables : 没有那个文件或目录: /sbin/iptables : 没有那个文件或目录: /sbin/iptables : 没有那个文件或目录: /sbin/iptables : 没有那个文件或目录: /sbin/iptables : 没有那个文件或目录: /sbin/iptables : 没有那个文件或目录: /sbin/iptables : 没有那个文件或目录: /sbin/iptables : 没有那个文件或目录: /sbin/iptables : 没有那个文件或目录: /sbin/iptables : 没有那个文件或目录: /sbin/iptables : 没有那个文件或目录: /sbin/iptables 用法:/etc/init.d/iptables {start|stop|restart|condrestart|status|panic|save} 用法:/etc/init.d/iptables {start|stop|restart|condrestart|status|panic|save} : command not found4:回复