iptables详解(6):iptables扩展模块之 state 扩展

为了防止恶意攻击主动连接到你的主机

我们需要通过iptables的扩展模块判断报文是为了回应我们之前发出的报文还是主动向我们发送的报文

state模块可以让iptables实现 连接追踪机制 

 

报文状态可以分成 NEW ESTAVLISHED RELATED INVALID UNTRACKED

 

NEW表示新连接状态的第一个包,ESTABLISHED 状态已经连接,

RELATED

比如FTP服务,FTP服务端会建立2个进程,一个命令进程,一个数据进程

命令进程负责服务端和客户端之间的命令传输(一个连接,暂称为命令连接)

数据进程负责服务端和客户端之间的数据传输(暂称为数据连接)

------如果要对ftp进行连接追踪 需要单独加载对应的内核模块nf_conntrack_ftp,如果想要自动加载

可以配置 /etc/sysconfig/iptables-config文件------

INVALID 如果一个包没有办法被识别 这个包没有任何状态这个包就是INVALID,

UNTRACKED 报文状态未untracked时,表示报文未被追踪,当报文的状态为Untracked时通常无法找到相关连接

 

证明当前报文是否是回应之前发出的报文----只要报文是RELATED 和 ESTABLISHED 都算当前的

例子

我们只要放行状态为RELATED 和 ESTABLISHED 的报文,只要这个状态那么报文就是针对之前发出报文的回应。

比如当前主机ip为104,当前放行已经建立连接的ip

iptables -t filter -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

 

posted @ 2019-12-15 16:40  陈晓猛  阅读(1516)  评论(0编辑  收藏  举报