千家信息网

防火墙初始化脚本iptables.sh的示例代码

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章给大家分享的是有关防火墙初始化脚本iptables.sh的示例代码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。#!/bin/bashpath=/bin:/sbin
千家信息网最后更新 2025年02月03日防火墙初始化脚本iptables.sh的示例代码

这篇文章给大家分享的是有关防火墙初始化脚本iptables.sh的示例代码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

#!/bin/bashpath=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbinexport path## WEB服务器,开启80.443端口iptables -A INPUT -p tcp --dport 80 -j ACCEPTiptables -A INPUT -p tcp --dport 443 -j ACCEPT## zabbix服务器,开启10050:10051端口iptables -A INPUT -p tcp --dport 10050:10051 -j ACCEPT###redis server服务默认端口6379的命令iptables -A INPUT -p tcp --dport 6379 -j ACCEPT#数据库服务器,开启3306端口iptables -A INPUT -p tcp --dport 3306 -j ACCEPT#允许的本机SSH服务iptables -A INPUT -p TCP  --dport 1314 -j ACCEPT       #允许的本机rsync服务iptables -A INPUT -p TCP  --dport 873 -j ACCEPT ###允许icmp包通过,也就是允许ping iptables  -A INPUT  -p icmp -j ACCEPT   iptables  -A OUTPUT -p icmp -j ACCEPT iptables  -A INPUT  -p icmp -j ACCEPT### 允许loopback!(不然会导致DNS无法正常关闭等问题) iptables  -A INPUT -i lo -p all -j ACCEPT iptables  -A OUTPUT -o lo -p all -j ACCEPT#### 减少不安全的端口连接,###  有些些特洛伊***会扫描端口31337到31340(即***语言中的 elite 端口)上的服务 iptables -A OUTPUT -p tcp --sport 31337:31340 -j DROP iptables -A OUTPUT -p tcp --dport 31337:31340  -j DROP###处理IP碎片数量,防止***,允许每秒100个 iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT### 设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包 iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT### drop非法连接 iptables -A INPUT     -m state --state INVALID -j DROP iptables -A OUTPUT    -m state --state INVALID -j DROP iptables -A FORWARD   -m state --state INVALID -j DROP#### 允许所有已经建立的和相关的连接 iptables -A INPUT  -m state --state ESTABLISHED,RELATED  -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED  -j ACCEPT####丢弃坏的TCP包 iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP####防止SYN*** 轻量级预防iptables -N syn-floodiptables -A INPUT -p tcp --syn -j syn-floodiptables -I syn-flood -p tcp -m limit --limit 3/s --limit-burst 6 -j RETURNiptables -A syn-flood -j REJECT####防止DOS太多连接进来,可以允许外网网卡每个IP最多15个初始连接,超过的丢弃iptables -A INPUT -i eth0 -p tcp --syn -m connlimit --connlimit-above 15 -j DROPiptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT####用Iptables抵御DDOS (参数与上相同)iptables -A INPUT  -p tcp --syn -m limit --limit 12/s --limit-burst 24 -j ACCEPTiptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT#####控制单个IP在一定的时间(比如60秒)内允许新建立的连接数iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 30 -j REJECT iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT####控制单个IP的最大并发连接数iptables -I INPUT -p tcp --dport 80 -m connlimit  --connlimit-above 50 -j REJECT##### 黑名单#/sbin/iptables -A INPUT -s 1.1.1.0/24 -j DROP#/sbin/iptables -A INPUT -s 1.1.1.0 -j DROP##### 白名单#/sbin/iptables -A INPUT -s 1.1.1.1/24 -j ACCEPT # 信任的网络#/sbin/iptables -A INPUT -s 1.1.1.1  -j ACCEPT # 信任的ip/etc/rc.d/init.d/iptables save#/etc/rc.d/init.d/iptables restart

感谢各位的阅读!关于"防火墙初始化脚本iptables.sh的示例代码"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0