找回密码
 注册
广告投放 虚位以待【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
查看: 622|回复: 0

iptables 默认安全规则脚本

[复制链接]
发表于 2010 年 10 月 2 日 21:25:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×

默认脚本只开启常规web服务器的80,3306,22端口

#vi default_firewall.sh

  • #!/bin/bash
  • #########################################################################
  • #
  • # File:         default_firewall.sh
  • # Description:
  • # Language:     GNU Bourne-Again SHell
  • # Version: 1.0
  • # Date: 2010-6-23
  • # Corp.: c1gstudio.com
  • # Author: c1g
  • # WWW: http://blog.c1gstudio.com
  • ### END INIT INFO
  • ###############################################################################
  • IPTABLES=/sbin/iptables
  • # start by flushing the rules
  • $IPTABLES -P INPUT DROP
  • $IPTABLES -P FORWARD ACCEPT
  • $IPTABLES -P OUTPUT ACCEPT
  • $IPTABLES -t nat -P PREROUTING ACCEPT
  • $IPTABLES -t nat -P POSTROUTING ACCEPT
  • $IPTABLES -t nat -P OUTPUT ACCEPT
  • $IPTABLES -t mangle -P PREROUTING ACCEPT
  • $IPTABLES -t mangle -P OUTPUT ACCEPT
  • $IPTABLES -F
  • $IPTABLES -X
  • $IPTABLES -Z
  • $IPTABLES -t nat -F
  • $IPTABLES -t mangle -F
  • $IPTABLES -t nat -X
  • $IPTABLES -t mangle -X
  • $IPTABLES -t nat -Z
  • ## allow packets coming from the machine
  • $IPTABLES -A INPUT -i lo -j ACCEPT
  • $IPTABLES -A OUTPUT -o lo -j ACCEPT
  • # allow outgoing traffic
  • $IPTABLES -A OUTPUT -o eth0 -j ACCEPT
  • # block spoofing
  • $IPTABLES -A INPUT -s 127.0.0.0/8 -i ! lo -j DROP
  • $IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  • $IPTABLES -A INPUT -p icmp -j ACCEPT
  • # stop bad packets
  • #$IPTABLES -A INPUT -m state --state INVALID -j DROP
  • # NMAP FIN/URG/PSH
  • #$IPTABLES -A INPUT -i eth0 -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
  • # stop Xmas Tree type scanning
  • #$IPTABLES -A INPUT -i eth0 -p tcp --tcp-flags ALL ALL -j DROP
  • #$IPTABLES -A INPUT -i eth0 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
  • # stop null scanning
  • #$IPTABLES -A INPUT -i eth0 -p tcp --tcp-flags ALL NONE -j DROP
  • # SYN/RST
  • #$IPTABLES -A INPUT -i eth0 -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
  • # SYN/FIN
  • #$IPTABLES -A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
  • # stop sync flood
  • #$IPTABLES -N SYNFLOOD
  • #$IPTABLES -A SYNFLOOD -p tcp --syn -m limit --limit 1/s -j RETURN
  • #$IPTABLES -A SYNFLOOD -p tcp -j REJECT --reject-with tcp-reset
  • #$IPTABLES -A INPUT -p tcp -m state --state NEW -j SYNFLOOD
  • # stop ping flood attack
  • #$IPTABLES -N PING
  • #$IPTABLES -A PING -p icmp --icmp-type echo-request -m limit --limit 1/second -j RETURN
  • #$IPTABLES -A PING -p icmp -j REJECT
  • #$IPTABLES -I INPUT -p icmp --icmp-type echo-request -m state --state NEW -j PING
  • #################################
  • ## What we allow
  • #################################
  • # tcp ports
  • # smtp
  • #$IPTABLES -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
  • # http
  • $IPTABLES -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
  • # pop3
  • #$IPTABLES -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
  • # imap
  • #$IPTABLES -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
  • # ldap
  • #$IPTABLES -A INPUT -p tcp -m tcp --dport 389 -j ACCEPT
  • # https
  • #$IPTABLES -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
  • # smtp over SSL
  • #$IPTABLES -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT
  • # line printer spooler
  • #$IPTABLES -A INPUT -p tcp -m tcp --dport 515 -j ACCEPT
  • # cups
  • #$IPTABLES -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
  • # mysql
  • $IPTABLES -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
  • # tomcat
  • #$IPTABLES -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
  • # squid
  • #$IPTABLES -A INPUT -p tcp -m tcp --dport 81 -j ACCEPT
  • # nrpe
  • #$IPTABLES -A INPUT -p tcp -m tcp --dport 15666 -j ACCEPT
  • ## restrict some tcp things ##
  • # ssh
  • $IPTABLES -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
  • #$IPTABLES -A INPUT -p tcp -m tcp --dport 6022 -j ACCEPT
  • # samba (netbios)
  • #$IPTABLES -A INPUT -p tcp -m tcp -s 192.168.0.0/16 --dport 137:139 -j ACCEPT
  • # ntop
  • #$IPTABLES -A INPUT -p tcp -m tcp -s 192.168.0.0/16 --dport 3000  -j ACCEPT
  • # Hylafax
  • #$IPTABLES -A INPUT -p tcp -m tcp -s 192.168.0.0/16 --dport 4558:4559 -j ACCEPT
  • # webmin
  • #$IPTABLES -A INPUT -p tcp -m tcp -s 192.168.0.0/16 --dport 10000  -j ACCEPT
  • # udp ports
  • # DNS
  • #$IPTABLES -A INPUT -p udp -m udp --dport 53 -j ACCEPT
  • # DHCP
  • #$IPTABLES -A INPUT -p udp -m udp --dport 67:68 -j ACCEPT
  • # NTP
  • #$IPTABLES -A INPUT -p udp -m udp --dport 123 -j ACCEPT
  • # SNMP
  • #$IPTABLES -A INPUT -p udp -m udp --dport 161:162 -j ACCEPT
  • ## restrict some udp things ##
  • # Samba (Netbios)
  • #$IPTABLES -A INPUT -p udp -m udp -s 192.168.0.0/16 --dport 137:139  -j ACCEPT
  • #$IPTABLES -A INPUT -p udp -m udp --sport 137:138 -j ACCEPT
  • # finally - drop the rest
  • #$IPTABLES -A INPUT -p tcp --syn -j DROP

设置权限

  • chmod u+x ./default_firewall.sh

运行脚本

  • ./default_firewall.sh

查看iptables

  • #/sbin/iptables -nL

保存iptables

  • #/sbin/iptables-save > /etc/sysconfig/iptables

重启iptables

  • #/etc/init.d/iptables restart

猛击下载脚本:
default_firewall.sh



Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 2 月 3 日 09:58 , Processed in 0.025695 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表