当前位置: 技术问答>linux和unix
请教IPtables拒绝远程用户从22号端口连接的 关于-m参数
来源: 互联网 发布时间:2016-06-27
本文导语: 大家好,因为总有大约10个IP每天爆破我的服务器,我刚编辑了一台计算机的iptables,拒绝了这些IP连接我的22号端口 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -s 218.28.8.217 -p tcp --dport 22 -j DROP 本来我是打算使用...
大家好,因为总有大约10个IP每天爆破我的服务器,我刚编辑了一台计算机的iptables,拒绝了这些IP连接我的22号端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -s 218.28.8.217 -p tcp --dport 22 -j DROP
本来我是打算使用下面这条语句的:
-A RH-Firewall-1-INPUT -s 218.28.8.217 -p tcp --dport 22 -j DROP
因为原先iptables里面,filter这个链里面都有-m state --state NEW -m tcp ,所以我也加了这个。
但我不知道-m参数的详细含义,希望有人能帮助我解释下,谢谢大家。
-m state ,-m tcp 究竟是什么意思,还可以怎么扩展呢?
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -s 218.28.8.217 -p tcp --dport 22 -j DROP
本来我是打算使用下面这条语句的:
-A RH-Firewall-1-INPUT -s 218.28.8.217 -p tcp --dport 22 -j DROP
因为原先iptables里面,filter这个链里面都有-m state --state NEW -m tcp ,所以我也加了这个。
但我不知道-m参数的详细含义,希望有人能帮助我解释下,谢谢大家。
-m state ,-m tcp 究竟是什么意思,还可以怎么扩展呢?
|
对比性匹配的扩展
通过 -m 参数来调用.主要用法有
基于状态的匹配 -m state
基于Mac地址的匹配 -m mac
基于封包数量的匹配 -m limit
基于uid 、gid 的限制 -m owner
基于状态的防火墙
第一种状态叫作 NEW。输入 "ssh
abc.com" 时,初始包或源自于您的机器并
要发送到 abc.com 的包都处于 NEW 状
态。但是,即使只从 abc.com 接收到一个
应答包,那么就立即不再将其它作为此连接
的一部分、发送至 abc.com 的包看作是
NEW 包.
只有在建立新连接、并且还没有从远程主机
接收到通信流时使用的包才被看作是
NEW(当然,这个包是此特定连接的一部
分)。我们已经描述了外出 NEW 包,但
还有可能会有进入 NEW 包(很常见)。
进入 NEW 包通常来自远程机器,在启动
与您的连接时使用。
您的 Web 服务器接收到的初始包(作为
HTTP 请求的一部分)将被看作是进入
NEW 包;但是,只要您应答了一个进入
NEW 包,所接收到的与此特定连接相关的
其它包都不再被看作是处于 NEW 状态。
ESTABLISHED 状态
一旦连接看到两个方向上都有通信流,与此
附加相关的其它包都被看作处于
ESTABLISHED 状态。NEW 和
ESTABLISHED 之间的区别很重要
RELATED 状态
第三种连接状态类别叫作
RELATED。RELATED 包是那些启动新连
接,但有与当前现有连接相关的包。
RELATED 状态可以用于调整组成多重连接
协议(如 ftp)的连接,以及与现有连接相
关的错误包(如与现有连接相关的 ICMP
错误包)
INVALID 状态
最后是 INVALID 包 ,那些包不能归入以
上三种类别。应当注意某个包是否被看作
是
INVALID,因为这种包不会被自动废弃;
因此您需要插入适当的规则,并设置链策
略,以便可以正确处理这些包。
允许向外主动发出的包(的应答回来)
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -m state --state
ESTABLISHED,RELATED -j ACCEPT
禁止别人发起的主动连接
iptables -A INPUT -m state --state
NEW,INVALID -j DROP
基于MAC地址的匹配
格式 : -m mac --mac-source mac_addr
iptables -A INPUT -p tcp --dport 23 -m
mac
--mac-source 00:0C:29:BC:BB:DB
-j REJECT
注:-m mac 仅仅对PREROUTING 和INPUT
链起作用
限制别人ping
允许每秒通过一个icmp包,默认触发条件
是5个icmp包
iptables -A INPUT -p icmp -m limit
--limit 1/s -j ACCEPT
超过部分全部拒绝
iptables -A INPUT -p icmp -j DROP
根据uid 或者gid 进行限制
-m owner 参数
-m owner [!] --uid-owner $AN_UID
iptables -A OUTPUT -p tcp --dport 23
-m owner --uid-owner 500 -j REJECT
iptables -A OUTPUT -p tcp --dport 23
-m owner --gid-owner 500 -j REJECT
注:-m owner 仅仅对OUTPUT链有效
通过 -m 参数来调用.主要用法有
基于状态的匹配 -m state
基于Mac地址的匹配 -m mac
基于封包数量的匹配 -m limit
基于uid 、gid 的限制 -m owner
基于状态的防火墙
第一种状态叫作 NEW。输入 "ssh
abc.com" 时,初始包或源自于您的机器并
要发送到 abc.com 的包都处于 NEW 状
态。但是,即使只从 abc.com 接收到一个
应答包,那么就立即不再将其它作为此连接
的一部分、发送至 abc.com 的包看作是
NEW 包.
只有在建立新连接、并且还没有从远程主机
接收到通信流时使用的包才被看作是
NEW(当然,这个包是此特定连接的一部
分)。我们已经描述了外出 NEW 包,但
还有可能会有进入 NEW 包(很常见)。
进入 NEW 包通常来自远程机器,在启动
与您的连接时使用。
您的 Web 服务器接收到的初始包(作为
HTTP 请求的一部分)将被看作是进入
NEW 包;但是,只要您应答了一个进入
NEW 包,所接收到的与此特定连接相关的
其它包都不再被看作是处于 NEW 状态。
ESTABLISHED 状态
一旦连接看到两个方向上都有通信流,与此
附加相关的其它包都被看作处于
ESTABLISHED 状态。NEW 和
ESTABLISHED 之间的区别很重要
RELATED 状态
第三种连接状态类别叫作
RELATED。RELATED 包是那些启动新连
接,但有与当前现有连接相关的包。
RELATED 状态可以用于调整组成多重连接
协议(如 ftp)的连接,以及与现有连接相
关的错误包(如与现有连接相关的 ICMP
错误包)
INVALID 状态
最后是 INVALID 包 ,那些包不能归入以
上三种类别。应当注意某个包是否被看作
是
INVALID,因为这种包不会被自动废弃;
因此您需要插入适当的规则,并设置链策
略,以便可以正确处理这些包。
允许向外主动发出的包(的应答回来)
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -m state --state
ESTABLISHED,RELATED -j ACCEPT
禁止别人发起的主动连接
iptables -A INPUT -m state --state
NEW,INVALID -j DROP
基于MAC地址的匹配
格式 : -m mac --mac-source mac_addr
iptables -A INPUT -p tcp --dport 23 -m
mac
--mac-source 00:0C:29:BC:BB:DB
-j REJECT
注:-m mac 仅仅对PREROUTING 和INPUT
链起作用
限制别人ping
允许每秒通过一个icmp包,默认触发条件
是5个icmp包
iptables -A INPUT -p icmp -m limit
--limit 1/s -j ACCEPT
超过部分全部拒绝
iptables -A INPUT -p icmp -j DROP
根据uid 或者gid 进行限制
-m owner 参数
-m owner [!] --uid-owner $AN_UID
iptables -A OUTPUT -p tcp --dport 23
-m owner --uid-owner 500 -j REJECT
iptables -A OUTPUT -p tcp --dport 23
-m owner --gid-owner 500 -j REJECT
注:-m owner 仅仅对OUTPUT链有效