扩展匹配条件
可以使用 [root@localhost ~]#man iptables-extensions 来查看帮助文档
隐式扩展:可以不用-m选项指定的
-p tcp:可以直接使用的tcp协议对应的扩展选项,如果前面已经指定了是tcp协议,则后面的(-m tcp)可以省略不写
[!] –source-port,–sport port[:port] 匹配报文中的传输层的源端口,可以给出多个连续的端口23-80:表示很多个端口
[!] –destination-port,–dport port[:port]
[!] –tcp-flags mask comp 可选 SYN ACK FIN RST URG PSH ALL NONE,检测是否为tcp连接的第一次连接
mask:要检查的标志位列表,以逗号分隔,例如:SYN,ACK,FIN,RST
comp:mask给定的众标志位中,其值必须为1的标志位列表。余下的必须为0.
例如:–tcp-flags SYN,ACK,FIN,RST SYN (0000 1)tcp的起始连接
[!] –syn 相当于上面的。It is equivalent to –tcp-flags SYN,RST,ACK,FIN SYN
示例:
开放本机的ssh给本地网络。源端口可以是源地址的任意端口,目标端口是22号端口,tcp协议,反过来也要放行返回报文。
iptables -A INPUT -s 172.18.19.0/24 -d 172.18.19.10 -p tcp [-m tcp] –dport 22 -j ACCEPT
iptables -A OUTPUT -s 172.18.19.10 -d 172.18.19.0/24 -p tcp [-m tcp] –sport 22 -j ACCEPT
主机:172.18.19.10 [root@localhost ~]#iptables -A INPUT -s 172.18.19.0/24 -d 172.18.19.10 -p tcp --dport 22 -j ACCEPT [root@localhost ~]#iptables -A OUTPUT -s 172.18.19.10 -d 172.18.19.0/24 -p tcp --sport 22 -j ACCEPT [root@localhost ~]#iptables -P INPUT DROP [root@localhost ~]#iptables -P OUTPUT DROP [root@localhost ~]#iptables -vnL Chain INPUT (policy DROP 1 packets, 84 bytes) pkts bytes target prot opt in out source destination 15288 ACCEPT tcp -- * * 172.18.19.0/24 172.18.19.10 tcp dpt:22 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 9512 ACCEPT tcp -- * * 172.18.19.10 172.18.19.0/24 tcp spt:22 此时可以将此主机的所有策略改为drop,除了本网络所有主机的ssh,其余的都丢弃,
-p udp:可以直接使用的udp协议对应的扩展选项
[!] –source-port,–sport port[:port] 匹配报文中的传输层的源端口,可以给出多个连续的端口23-80:表示很多
[!] –destination-port,–dport port[:port]
-p icmp:可以直接使用的icmp协议对应的扩展选项
[!] –icmp-type {type[/code]|typename}
例如:–icmp-type 8/0 ping请求的请求报文
例如:–icmp-type 0/0 ping请求的响应报文
允许本地网络ping本机,
[root@localhost ~]#iptables -A INPUT -s 172.18.19.0/24 -d 172.18.19.10 -p icmp --icmp-type 8/0 -j ACCEPT [root@localhost ~]#iptables -vnL Chain INPUT (policy DROP 7 packets, 546 bytes) pkts bytes target prot opt in out source destination 37992 ACCEPT tcp -- * * 172.18.19.0/24 172.18.19.10 tcp dpt:22 2268 ACCEPT icmp -- * * 172.18.19.0/24 172.18.19.10 icmp type 8 code 0 这时其他主机ping仍然得不到响应,因为还没有设置响应设置。 [root@localhost ~]#iptables -A OUTPUT -s 172.18.19.10 -d 172.18.19.0/24 -p icmp --icmp-type 0/0 -j ACCEPT [root@localhost ~]#iptables -vnL Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 67552 ACCEPT tcp -- * * 172.18.19.0/24 172.18.19.10 tcp dpt:22 37800 ACCEPT icmp -- * * 172.18.19.0/24 172.18.19.10 icmp type 8 code 0 Chain OUTPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 61348 ACCEPT tcp -- * * 172.18.19.10 172.18.19.0/24 tcp spt:22 84 ACCEPT icmp -- * * 172.18.19.10 172.18.19.0/24 icmp type 0 code 0 其他主机ping可以响应了,但是此主机不能ping其他主机,
显式扩展,必须使用-m来给出matchname的扩展,而且有些扩展还存在专用的选项
multiport :A port range (port:port) counts as two ports,这里是两个端口
[!] –source-ports,–sports port[,port|,port:port]…指定多个源端口
[!] –destination-ports,–dports port[,port|,port:port]…指定多个目标端口
[!] –ports port[,port|,port:port]…匹配此处指定的源或目标端口
开放本机的22 23 80端口
[root@localhost ~]#iptables -F [root@localhost ~]#iptables -A INPUT -d 172.18.19.10 -p tcp -m multiport --dports 22,23,80 -j ACCEPT [root@localhost ~]#iptables -A OUTPUT -s 172.18.19.10 -p tcp -m multiport --sports 22,23,80 -j ACCEPT [root@localhost ~]#iptables -vnL Chain INPUT (policy DROP 58 packets, 5056 bytes) pkts bytes target prot opt in out source destination 5809 ACCEPT tcp -- * * 0.0.0.0/0 172.18.19.10 multiport dports 22,23,80 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy DROP 4 packets, 284 bytes) pkts bytes target prot opt in out source destination 5029 ACCEPT tcp -- * * 172.18.19.10 0.0.0.0/0 multiport sports 22,23,80 其他主机可以访问其主机的网页,连接上ssh服务。
iprange:连续的ip范围,
[!] –src-range from[-to]
[!] –dst-range from[-to]
string扩展, 对报文中的应用层的数据做字符串匹配检查。
–algo {bm|kmp} :指定用来匹配的算法,必须要指定一个。两种算法速度都差不多
[!] –string pattern:Matches the given pattern.后面跟上要匹配的关键字
[!] –hex-string pattern:Matches the given pattern in hex notation.或者16进制的关键字,速度快些
示例:
10主机开放80端口,httpd服务,建立两个网页,每个有不同的关键字。并且30主机可以正常访问
[root@localhost ~]#curl 172.18.19.10/index.html hello [root@localhost ~]#curl 172.18.19.10/index1.html test
–
主机172.18.19.10设置 [root@localhost ~]#iptables -I OUTPUT -s 172.18.19.10 -p tcp --sport 80 -m string --string "tes" --algo bm -j REJECT [root@localhost ~]#iptables -vnL Chain OUTPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 REJECT tcp -- * * 172.18.19.10 0.0.0.0/0 tcp spt:80 STRING match "tes" ALGO name bm TO 65535 reject-with icmp-port-unreachable 主机172.18.19.30访问 [root@localhost ~]#curl 172.18.19.10/index.html hello [root@localhost ~]#curl 172.18.19.10/index1.html 显示出不来 说明:设置关键字匹配“tes”,请求报文中不会有关键字,在服务器响应报文出口设置关键字匹配,当匹配到时候回复拒绝。
time:时段控制
–datestart YYYY[-MM[-DD[Thh[:mm[:ss]]]]]
–datestop YYYY[-MM[-DD[Thh[:mm[:ss]]]]]
–timestart hh:mm[:ss] :每天
–timestop hh:mm[:ss]
[!] –monthdays day[,day…] :可能的值:1-31
[!] –weekdays day[,day…]:Possible values are Mon, Tue, Wed, Thu, Fri, Sat, Sun, or values from 1 to 7
示例:
设置172.18.19.10主机周四23:00-00:00可以访问httpd,其余不能访问httpd,为了简单起见,OUTPUT一直设置为ACCEPT,只控制INPUT链,默认策略设置为DROP,
[root@localhost ~]#iptables -nvL Chain INPUT (policy DROP 4241 packets, 366K bytes) pkts bytes target prot opt in out source destination 42884 ACCEPT tcp -- * * 172.18.19.0/24 172.18.19.10 tcp dpt:22 Chain OUTPUT (policy ACCEPT 287 packets, 18892 bytes) pkts bytes target prot opt in out source destination [root@localhost ~]#iptables -I INPUT -d 172.18.19.10 -p tcp --dport 80 -m time --timestart 23:00:00 --timestop 00:00:00 --weekdays Thu -j ACCEPT [root@localhost ~]#iptables -nvL Chain INPUT (policy DROP 22 packets, 1776 bytes) pkts bytes target prot opt in out source destination 0 ACCEPT tcp -- * * 0.0.0.0/0 172.18.19.10 tcp dpt:80 TIME from 23:00:00 to 00:00:00 on Thu 80632 ACCEPT tcp -- * * 172.18.19.0/24 172.18.19.10 tcp dpt:22 Chain OUTPUT (policy ACCEPT 11 packets, 2468 bytes) pkts bytes target prot opt in out source destination 测试确实是这样的,11点前不能访问,11点后可以访问。测试时注意时间是否正常,不行的话要调整时间。
connlimit:根据每客户端IP做并发连接数限制,限制单个客户端能够连接的并发连接数
–connlimit-upto n:比如n为2,则连接数为1个或者2个都满足
–connlimit-above n:比如n为2,则连接数为3或者以上
示例:当ssh连接次数超过2个,就拒绝连接。
[root@localhost ~]#iptables -nvL Chain INPUT (policy DROP 45 packets, 3994 bytes) pkts bytes target prot opt in out source destination 6033 ACCEPT tcp -- * * 172.18.19.0/24 172.18.19.10 tcp dpt:22 [root@localhost ~]#iptables -I INPUT -d 172.18.19.10 -p tcp --dport 22 -m connlimit --connlimit-above 2 -j REJECT [root@localhost ~]#iptables -nvL Chain INPUT (policy DROP 2 packets, 168 bytes) pkts bytes target prot opt in out source destination 0 REJECT tcp -- * * 0.0.0.0/0 172.18.19.10 tcp dpt:22 #conn/32 > 2 reject-with icmp-port-unreachable 21545 ACCEPT tcp -- * * 172.18.19.0/24 172.18.19.10 tcp dpt:22
说明:因为默认INPUT策略为DROP,并且已经有一条规则是目标端口是22的都放行,有两种方案:插入超过2个连接都阻断,插入连接数不大于2的都放行,后来想想后面的达不到预期的效果,不可行。当为第二种的时候,连接数不超过2,符合第一条,放行,当超过2个连接的时候,不符合第一条规则,跳过,第二条规则永远成立,不会拒绝,所以不可行。这里要仔细的想清楚过程,都过一遍看是否符合预期。
结果:当克隆第三个远程客户端的时候连接失败,并且能够在iptables上面看到报文数。
limit:报文速率限制
–limit rate[/second|/minute|/hour|/day]
–limit-burst number:令牌桶,默认5个
(令牌桶算法) 服务器当前服务有限,最多进入5/s个报文。但是每个报文停2秒就出去了。
示例:
允许ping请求操作是最多每分钟20个,
[root@localhost ~]#iptables -A INPUT -d 172.18.19.10 -p icmp --icmp-type 8 -m limit --limit-burst 3 --limit 20/minute -j ACCEPT [root@localhost ~]#iptables -nvL Chain INPUT (policy DROP 2 packets, 168 bytes) pkts bytes target prot opt in out source destination 152 REJECT tcp -- * * 0.0.0.0/0 172.18.19.10 tcp dpt:22 #conn/32 > 2 reject-with icmp-port-unreachable 48534 ACCEPT tcp -- * * 172.18.19.0/24 172.18.19.10 tcp dpt:22 336 ACCEPT icmp -- * * 0.0.0.0/0 172.18.19.10 icmp type 8 limit: avg 20/min burst 3 Chain OUTPUT (policy ACCEPT 11 packets, 1364 bytes) pkts bytes target prot opt in out source destination
不成功:但重新进行一次又好了,,,,,,,,
state:状态检测,
连接追踪机制(conntrack),远程主机连接过服务器的时候,服务器的防火墙有个hash表,会记录此主机的链接状态,当此主机再次访问的时候,防火墙会去查找hash表,查远程主机的链接状态,当服务器的并发连接非常大的时候,建议不要开启,不然很多会掉线,或者调整到足够大。以httpd为例:80端口不会主动建立其他的链接,非正常情况下不算。80端口只能允许进来为NEW的状态。响应报文就是establish,第二次请求也为establish,可以这样理解:任何时候只要OUTPUT链上,状态为establish的连接,都能放行,这样试图从80端口建立连接的程序都会被阻止。
NEW:(new)新连接,远程主机以前没来过,第一次建立的连接,超时了才连接还是新连接,
ESTABLISHED:(established)已建立的连接,远程主机以前来过
RELATED:(related)相关联的连接,ftp服务,命令端口和数据端口不是相同的端口,但建立数据端口连接是由命令端口连接发起的建立起来的,不是NEW连接,当数据连接建立后,数据端口连接会变成ESTABLISHED
INVALID:(invalid)无法识别的连接,
UNTRACKED:(untracked)未被追踪的连接
已追踪到的连接:proc/net/nf_conntrack
查看最大的连接次数:proc/sys/net/nf_conntrack_max
议的连接追踪时长:/proc/sys/net/netfilter
需要装载的相关的内核模块:
nf_conntrack
nf_conntrack_ftp:必须要的内核模块,要手动装载
nf_conntrack_ipv4
[root@localhost ~]#iptables -A INPUT -d 172.18.19.10 -p tcp -m multiport --dport 22,80 -m state --state NEW,ESTABLISHED -j ACCEPT [root@localhost ~]#iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT [root@localhost ~]#iptables -P INPUT DROP [root@localhost ~]#iptables -P OUTPUT DROP 下面可以将所有的规则都清掉了,先添后删,保证ssh不会掉线, [root@localhost ~]#iptables -nvL Chain INPUT (policy DROP 9 packets, 952 bytes) pkts bytes target prot opt in out source destination 7433 ACCEPT tcp -- * * 0.0.0.0/0 172.18.19.10 multiport dports 22,80 state NEW,ESTABLISHED Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy DROP 9 packets, 580 bytes) pkts bytes target prot opt in out source destination 6677 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED
到这里:10主机的ssh服务和httpd服务都工作正常,
添加一条规则,可以ping本机,而输出规则一直是:只要是已建立的连接,都可以放行。
主机:172.18.19.10 [root@localhost ~]#iptables -A INPUT -d 172.18.19.10 -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED -j ACCEPT [root@localhost ~]#iptables -nvL Chain INPUT (policy DROP 3 packets, 234 bytes) pkts bytes target prot opt in out source destination 28581 ACCEPT tcp -- * * 0.0.0.0/0 172.18.19.10 multiport dports 22,80 state NEW,ESTABLISHED 0 ACCEPT icmp -- * * 0.0.0.0/0 172.18.19.10 icmp type 8 state NEW,ESTABLISHED Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 24124 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED
实测其他主机可以ping通。
放行本机的FTP服务,要开发21号端口和所有的随机端口,但是我们从连接追踪方面考虑:即放行21号端口为new和related的主机,所有随机端口放行related的和established的主机,
只开发21号端口,请求,放行都正常,但是服务器被动模式下,客户端请求数据端口,是个随机端口,但是状态是related
如果检测到某一连接是随机端口,但是是establish状态,不用开发对应端口就能将其放行。
因为防火墙的原因无法通过yum来安装vsftpd服务
[root@localhost ~]#modprobe nf_conntrack_ftp [root@localhost ~]#lsmod | grep nf_conntrack_ftp nf_conntrack_ftp 12049 0 nf_conntrack 79537 6 nf_conntrack_ftp,iptable_nat,nf_nat,nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state
–
[root@localhost /media/CentOS_6.8_Final/Packages]#rpm -ivh vsftpd-2.2.2-21.el6.x86_64.rpm [root@localhost /media/CentOS_6.8_Final/Packages]#cd [root@localhost ~]#service vsftpd start Starting vsftpd for vsftpd: [ OK ]
–
#所有服务第二次和以后的请求都是established状态,将这条规则放在第一条,效率会非常高,所有的第一次请求才会往下检查规则 [root@localhost ~]#iptables -I INPUT -d 172.18.19.10 -m state --state ESTABLISHED -j ACCEPT [root@localhost ~]#iptables -nvL Chain INPUT (policy DROP 5 packets, 390 bytes) pkts bytes target prot opt in out source destination 848 ACCEPT all -- * * 0.0.0.0/0 172.18.19.10 state ESTABLISHED 31173 ACCEPT tcp -- * * 0.0.0.0/0 172.18.19.10 multiport dports 22,80 state NEW,ESTABLISHED 252 ACCEPT icmp -- * * 0.0.0.0/0 172.18.19.10 icmp type 8 state NEW,ESTABLISHED Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 29396 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED #可以ping通,可以访问网页 [root@localhost ~]#iptables -R INPUT 2 -d 172.18.19.10 -p tcp -m multiport --dports 21,22,80 -m state --state NEW -j ACCEPT #更改规则 [root@localhost ~]#iptables -nvL Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 16176 ACCEPT all -- * * 0.0.0.0/0 172.18.19.10 state ESTABLISHED 0 ACCEPT tcp -- * * 0.0.0.0/0 172.18.19.10 multiport dports 21,22,80 state NEW 252 ACCEPT icmp -- * * 0.0.0.0/0 172.18.19.10 icmp type 8 state NEW,ESTABLISHED Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 47024 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED #可以ping通,可以访问网页,但不能访问ftp。 [root@localhost ~]#iptables -R INPUT 1 -d 172.18.19.10 -m state --state RELATED,ESTABLISHED -j ACCEPT #进一步优化 [root@localhost ~]#iptables -nvL Chain INPUT (policy DROP 1 packets, 78 bytes) pkts bytes target prot opt in out source destination 396 ACCEPT all -- * * 0.0.0.0/0 172.18.19.10 state RELATED,ESTABLISHED 0 ACCEPT tcp -- * * 0.0.0.0/0 172.18.19.10 multiport dports 21,22,80 state NEW 252 ACCEPT icmp -- * * 0.0.0.0/0 172.18.19.10 icmp type 8 state NEW,ESTABLISHED Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 49376 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED #可以ping,可以访问httpd,可以访问ftp
处理动作:跳转目标
-j targetname [per-target-options]
简单的target:ACCEPT DROP
扩展的target:REJECT
–reject-with type:icmp-port-unreachable is the default,The type given can be icmp-net-unreachable, icmp-host-unreachable, icmp-port-unreachable, icmp-proto-unreachable, icmp-net-prohibited, icmp-host-prohibited, or icmp-admin-prohibited (*),
LOG: Turn on kernel logging of matching packets.记录匹配到条目的日志,必须要放在要执行操作的前面,操作前记录。如果放在执行后面,执行条目匹配到后就不会再匹配下面的记录条目了。
–log-level level:emerg, alert, crit, error, warning, notice, info or debug
–log-prefix prefix:日志信息的前导信息
示例:记录新的ssh连接,不记录每一条连接信息。如果放在第一条,则ssh每条命令都会记录。要放到第二条,这样已建立的连接就不会记录了,
[root@localhost ~]#iptables -I INPUT 2 -d 172.18.19.10 -p tcp --dport 22 -j LOG --log-prefix "i love you" [root@localhost ~]#iptables -nvL Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 63798 ACCEPT all -- * * 0.0.0.0/0 172.18.19.10 state RELATED,ESTABLISHED 0 LOG tcp -- * * 0.0.0.0/0 172.18.19.10 tcp dpt:22 LOG flags 0 level 4 prefix `i love you' 2812 ACCEPT tcp -- * * 0.0.0.0/0 172.18.19.10 multiport dports 21,22,80 state NEW 1418 ACCEPT icmp -- * * 0.0.0.0/0 172.18.19.10 icmp type 8 state NEW,ESTABLISHED Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 505K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED
只要登录一个ssh,就会匹配到报文,日志保存的位置:/var/log/messages
———————————-我是分割线———————————-
保存和载入规则
保存规则:iptables-save — dump iptables rules to stdout
[root@localhost ~]#iptables-save > /etc/sysconfig/iptables 保存设置到文件,
载入规则:
[root@localhost ~]#iptables-restore < /etc/sysconfig/iptables 从文件中读取配置,会清除当前已有的规则
上面的命令6,7都适用
对于centos6:
保存规则:service iptables save 保存规则到/etc/sysconfig/iptables,但是会清除文件中已有的规则
载入规则:service iptables restart
脚本配置文件:/etc/sysconfig/iptables-config 用于指明要装载的模块,
比如ftp:IPTABELS_MODULES=模块名称
对于centos7:
开机自动生效规则的方式
firewalld服务
shell脚本,直接记录iPtables命令
自定义unit file 或initscript
规则优化思路:
优先放行双方向状态为established的报文
服务于不同类别的功能规则,匹配到报文可能性大的放前面
服务于同一类型的功能的规则,匹配条件较严格的放前面
设置默认策略:
iptables -P IP drop :默认策略设置为drop,但一不小心清空了规则,则自己ssh都会连接不上,而且127网络自己也ping不通
可以设置为:#iptables -P INPUT ACCEPT,但是在规则的最后设置所有目标为本机IP的报文都丢弃:iptables -A INPUT -d IP -j drop,这样有个好处,默认的策略是最后执行的,可以在默认策略之前加上全部丢掉。这样,当不小心清除了所有规则,默认策略是accept,自己还能登录。只是丢掉了所有的对应IP的所有包,还是能ping通127的网络。还有个问题,默认为通过的策略,会不会出现目标IP不是本机的IP的IP报文进入本系统。
centos6的默认策略:
[root@localhost ~]#iptables -nvL Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 35M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3015 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 248 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 370K REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 11723 packets, 686K bytes) pkts bytes target prot opt in out source destination
翻译:
所有的forward链上的报文都拒绝,
通过所有related,established报文
通过所有icmp报文
通过所有的lo网卡报文,本地回环
通过ssh新链接
拒绝所有的报文。
修改:
所有的forward链上的报文都拒绝,
通过所有related,established报文
icmp每3秒1个
通过所有的lo网卡报文,本地回环
拒绝所有的报文。
查看nmap扫描原理,关闭对应的回应。
–
–
–
评论前必须登录!
注册