首页 > 系统相关 >iptables

iptables

时间:2022-11-09 21:44:06浏览次数:47  
标签:iptables -- syn tcp state limit

iptables -F           //删除iptables现有规则
iptables -L [-v[vv] -n]   //查看iptables规则
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth1 -j MASQUERADE	 //在POSTROUTING链尾添加一条规则
iptables -t nat -A POSTROUTING -s 20.20.20.0/24 -o eth1 -j MASQUERADE    //在POSTROUTING链中插入为第2条规则
iptables -t nat -R POSTROUTING 2 -s 40.40.40.40 -o eth1 -j MASQUERAD     //替换修改第二条规则
iptables -t nat -D POSTROUTING 2      //删除POSTROUTING链中第2条规则
iptables -t nat -P POSTROUTING DROP    //设置默认策略为DROP



//限制ping 192.168.146.3主机的数据包数,平均2/s个,最多不能超过3个
iptables -A INPUT -i eth0 -d 192.168.146.3 -p icmp --icmp-type 8 -m limit --limit 2/second --limit-burst 3 -j ACCEPT 

//限制SSH连接速率(默认策略是DROP)
iptables -I INPUT 1 -p tcp --dport 22 -d 192.168.146.3 -m state --state ESTABLISHED -j ACCEPT  
iptables -I INPUT 2 -p tcp --dport 22 -d 192.168.146.3 -m limit --limit 2/minute --limit-burst 2 -m state --state NEW -j ACCEPT 
 
//防止syn攻击(限制syn的请求速度)
iptables -N syn-flood 
iptables -A INPUT -p tcp --syn -j syn-flood 
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN 
iptables -A syn-flood -j DROP 

//防止syn攻击(限制单个ip的最大syn连接数)
iptables –A INPUT –i eth0 –p tcp --syn -m connlimit --connlimit-above 15 -j DROP 
 
iptables -I INPUT -p tcp -dport 22 -m connlimit --connlimit-above 3 -j DROP   //利用recent模块抵御DOS攻击
iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH   //单个IP最多连接3个会话
Iptables -I INPUT -p tcp --dport 22 -m state NEW -m recent --update --seconds 300 --hitcount 3 --name SSH -j DROP  //只要是新的连接请求,就把它加入到SSH列表中。5分钟内你的尝试次数达到3次,就拒绝提供SSH列表中的这个IP服务。被限制5分钟后即可恢复访问。
 
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 30 -j DROP    //防止单个IP访问量过大
iptables –A OUTPUT –m state --state NEW –j DROP  //阻止反弹木马
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/m -j ACCEPT   //防止ping攻击

-m tcp   //-p tcp的扩展
    --sport  [!]N[:M]                      //源端口, 服务名、端口、端口范围。
    --dport  [!]N[:M]                      //目标端口,服务名、端口、端口范围
    --tcp-flags CHECKFLAGS FLAGSOFTRUE  //TCP标志位:SYN(同步),ACK(应答),RST(重置),FIN(结束),URG(紧急),PSH(强迫推送)。多个标志位逗号分隔。
                         //CHECKFLAGS为要检查的标志位,FLAGSOFTRUE为必须为1的标志位(其余的应该为0)
    --syn                               //第一次握手。 等效于 --tcpflags syn,ack,fin,rst syn   四个标志中只有syn为1
-m udp   //-p udp的扩展
    --sport N[-M] 
    --dport N[-M]
-m icmp  //隐含条件为-p icmp
    --icmp-type  N             //8:echo-request  0:echo-reply


-m state
    --state    //连接状态检测,NEW,ESTABLISHED,RELATED,INVALID
-m multiport 
    --source-ports   PORT[,PORT]...|N:M            //多个源端口,多个端口用逗号分隔,
    --destination-ports PORT[,PORT]...|N:M         //多个目的端口
    --ports                          //多个端口,每个包的源端口和目的端口相同才会匹配
-m limit
    --limit   N/UNIT    //速率,如3/minute, 1/s, n/second , n/day
    --limit-burst N     //峰值速率,如100,表示最大不能超过100个数据包
-m connlimit
    --connlimit-above N  //多于n个,前面加!取反
-m iprange
    --src-range IP-IP
    --dst-range IP-IP
-m mac                    
    --mac-source         //mac地址限制,不能用在OUTPUT和POSTROUTING规则链上,因为封包要送到网卡后,才能由网卡驱动程序透过ARP 通讯协议查出目的地的MAC 地址
-m string
    --algo [bm|kmp]      //匹配算法
    --string "PATTERN"   //匹配字符模式
-m recent
    --name               //设定列表名称,默认为DEFAULT
    --rsource            //源地址
    --rdest              //目的地址
    --set                //添加源地址的包到列表中
    --update             //每次建立连接都更新列表
    --rcheck             //检查地址是否在列表
    --seconds            //指定时间。必须与--rcheck或--update配合使用
    --hitcount           //命中次数。必须和--rcheck或--update配合使用
    --remove             //在列表中删除地址
-m time
    --timestart h:mm
    --timestop  hh:mm
    --days DAYS          //Mon,Tue,Wed,Thu,Fri,Sat,Sun; 逗号分隔
-m mark
    --mark N            //是否包含标记号N
-m owner 
    --uid-owner 500   //用来匹配来自本机的封包,是否为某特定使用者所产生的,可以避免服务器使用root或其它身分将敏感数据传送出
    --gid-owner O     //用来匹配来自本机的封包,是否为某特定使用者群组所产生的
    --pid-owner 78    //用来匹配来自本机的封包,是否为某特定进程所产生的
    --sid-owner 100   //用来匹配来自本机的封包,是否为某特定连接(Session ID)的响应封包


标签:iptables,--,syn,tcp,state,limit
From: https://www.cnblogs.com/wheat0/p/16875275.html

相关文章

  • iptables 防火墙
    一.iptables概述1、netfilter/iptables关系二、iptables的四表五链1、四表2、五链三、iptables规则链(五链)的匹配顺序1、规则链之间的匹配顺序2、规则链内的匹......
  • 18-网络安全与iptables
    网络安全与iptables防火墙的分类按保护范围划分主机防火墙:服务范围为当前一台主机网络防火墙:服务范围为防火墙一侧的局域网按实现方式划分:硬件防火墙:在硬件级别实现部分功能......
  • iptables端口重定向
    有些服务如果需要使用小于1433的端口号,就需要有root权限,这样会有安全问题,此时可以利用iptables的端口重定向功能来实现这个目的。如下例,访问目标主机的80端口,即是访问其808......
  • Linux中iptables自定义链
    [root@cloudos02~]#iptables-nvL--line-numberChainINPUT(policyACCEPT0packets,0bytes)numpktsbytestargetprotoptinoutsource......
  • IPTABLES 详解
    引言先来看一条常用的iptables命令:Iptables(-tfilter)-IINPUT-ptcp--dportssh/22-jACCEPT这一条命令,生成了一条规则。允许所有22端口的TCP连接。这条规则作用......
  • 学习笔记-Iptables
    Iptables什么是iptablesLinux系统在内核中提供了对报文数据包过滤和修改的官方项目名为Netfilter,它指的是Linux内核中的一个框架,它可以用于在不同阶段将某些钩子函......
  • iptables之SNAT与DNAT
    一、SNAT原理与应用1、SNAT应用环境局域网主机共享单个公网IP地址接入Internet(私有IP不能在Internet中正常路由)2、SNAT原理修改数据包的源地址3、SNAT转换前提条件......
  • iptables 防火墙
    概述Linux系统自带的软件防火墙:iptables:Centos5/6系统默认防火墙firewalld:Centos7/8系统默认防火墙iptables概述iptables是Linux系统的防火墙,IP信息包过滤系......
  • iptables防火墙
    防火墙概述1,封端口ip2,实现nat功能共享上网端口映射防火墙种类及使用说明硬件防火墙开源软件:iptables(默认规则改为INPUTDROP)云服务器:安全组(阿里云白名单......
  • iptables防火墙
    一.iptables概述•Linux系统的防火墙:IP信息包过滤系统,它实际上由两个组件netfilter和iptables组成•主要工作在网络层,针对IP数据包。体现在对包内的IP地址、端口等......