tcp标记匹配 讲人话的部分在动漫图或者最后面!!!!!
iptables可通过匹配TCP的特定标志而设定更加严谨的防火墙规则,tcp-flags参数使用如下:-p tcp –tcp-flags。匹配指定的TCP标记,有两个参数列表,列表内部用逗号为分隔符,两个列表之间用空格分开。第一个列表用作参数检查,第二个列表用作参数匹配。可用以下标志:SYN、ACK、FIN、RST 、URG、PSH、ALL、NONE。ALL是指选定所有的标记,NONE是指未选定任何标记。
防止Xmas扫描
iptables -A INPUT -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP
防止TCP Null扫描
iptables -A INPUT -p tcp –tcp-flags ALL NONE -j DROP
拒绝TCP标记为SYN/ACK但连接状态为NEW的数据包,防止ACK欺骗
iptables -A INPUT -p tcp –tcp-flags SYN,ACK SYN,ACK -m state –state NEW -j DROP
这就烦rererererere!!!!!tcpdio表示烦死了!讲起来烦人
(9条消息) 《Linux运维总结:iptables防火墙使用教程》_东城绝神的博客-CSDN博客
扩充的内容啊!!!!!!
当使用Xmas扫描时,攻击者向目标主机发送TCP数据包,将FIN、URG和PSH标志位都设置为1,这些标志位对应二进制值的相加结果为111。这样的数据包看起来非常不正常,因为它不属于常规的TCP连接过程,可以用iptables的tcp标记匹配机制进行过滤,拦截这样的数据包,以保护系统的安全。
类似于Xmas扫描,TCP Null扫描也是一种探测主机端口状态的方法。攻击者通过向目标主机发送TCP数据包,将所有标志位都设置为0(即NULL),以便探测目标主机的端口是否打开。可以使用iptables中的tcp标记匹配机制拦截这些探测数据包。
当执行iptables -A INPUT -p tcp –tcp-flags ALL NONE -j DROP命令时,表示拒绝所有TCP标记位均为NONE的数据包,因为正常的TCP连接建立过程中,至少会有SYN标记位被置位。这样的规则可以防止攻击者使用TCP Null扫描或TCP FIN扫描等方法进行端口扫描。
当执行iptables -A INPUT -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP命令时,表示拒绝所有TCP标记位为FIN、URG和PSH的数据包,因为这样的数据包也不属于正常的TCP连接建立过程,可能会被用于攻击或非法探测。这样的规则可以增强系统的安全性。
在TCP连接中,SYN、ACK、FIN、RST、URG、PSH、ALL、NONE是表示不同状态或功能的特定标志。例如,SYN标志用于发起TCP连接,ACK标志用于确认收到的数据,FIN标志用于结束TCP连接等等。
ACK欺骗是一种利用TCP协议漏洞的攻击方式,攻击者通过发送假的ACK数据包,欺骗系统认为已经建立了一个TCP连接。可以使用 iptables
拒绝TCP标记为SYN/ACK但连接状态为NEW的数据包是指,当系统接收到TCP连接请求时,如果连接状态为NEW但标记位不是SYN,也不是ACK,就说明这是一个异常的数据包,可能是攻击者进行欺骗或拒绝服务攻击的尝试。可以使用 iptables
打个比方,类似于门禁系统,如果有人试图使用假的门禁卡片(ACK欺骗攻击),系统会拒绝他的进入请求。Xmas扫描就像吃饱了撑的输密码锁1111,2222,3333的密码 TCP Null扫描就恨不得把你公司所有门窗(端口)找到。