- 积分
- 16844
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.0.4/24" port protocol="tcp" port="8080" accept"3 R1 I3 P" n# Q
8 X0 I1 n; T! q5 U) i0 ? j( D! {+ E% N
下面的是对特定ip允许访问8080端口(你也可以自己改)
& y5 i4 W7 o4 D, j ~firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.0.4/24" port protocol="tcp" port="8080" accept"4 d, n, h9 K$ r; R
( U( }0 q! \0 u3 {# V
* d2 v0 f2 a0 l/ y
1.drop禁止特定ip连接ssh/22服务) L, J5 V) S3 q5 B' Y: z' M
t8 v+ ` n( g. d3 R% j
firewall-cmd --permanent --zone=public --add-rich-rule="rule family=ipv4 source address=‘x.x.x.x/24‘ service name=‘ssh‘ drop". V3 a9 ^5 j$ z$ p( R, @
firewall-cmd --reload S5 [- C. Z+ C: b! f, O' W
##重新加载防火墙配置,不然firewall-cmd --list-all-zones不会显示刚加上的规则
$ o4 ]. S3 T" i- k9 F1 Y7 E k) V
1 k# N) H! z) A1 W& H2.reject禁止特定ip连接ssh/22服务& Q7 @" M4 I, J& F& V
% p( r) A; P% S! F7 ?
firewall-cmd --permanent --zone=public --add-rich-rule="rule family=‘ipv4‘ source address=‘x.x.x.x/24‘ service name=‘ssh‘ reject"7 p2 L( ~8 ^. O3 w2 x- @
firewall-cmd --permanent --zone=public --add-rich-rule="rule family=‘ipv4‘ source address=‘x.x.x.x/24‘ port port=22 protocol=tcp reject"
4 ?" y8 m! A1 l8 }2 ~( g% |firewall-cmd --reload
4 z' ^, a3 F7 A ##重新加载防火墙配置,不然firewall-cmd --list-all-zones不会显示刚加上的规则
. c; Y2 x" F& ^ F4 I& D; Q: _3 a$ w' w4 P; ^
- @! x' h0 m) R9 V8 G0 G3.accept运行特定ip连接ssh/22服务
' S5 \: m. z6 q. Q; }, [7 A& v$ q( [9 m& d( n g7 T2 D
firewall-cmd --permanent --zone=public --add-rich-rule="rule family=ipv4 source address=‘x.x.x.x/24‘ port port=22 procotol=tcp accept"
B S+ n% N) _; j( ufirewall-cmd --reload
: b- L: g! X6 A4 ^6 P' @6 }5 M" { L, O- C1 K1 k3 [) ^
' J ~# x U4 y1 J6 y: Q
防火墙内的策略动作有DROP和REJECT两种,区别如下:9 S- V6 f% k: e
1、DROP动作只是简单的直接丢弃数据,并不反馈任何回应。需要Client等待超时,Client容易发现自己被防火墙所阻挡。: ^2 P( \0 Q" m/ @* i( u
2、REJECT动作则会更为礼貌的返回一个拒绝(终止)数据包(TCP FIN或UDP-ICMP-PORT-UNREACHABLE),明确的拒绝对方的连接动作。连接马上断开,Client会认为访问的主机不存在。REJECT在IPTABLES里面有一些返回参数,参数如下:ICMP port-unreachable、ICMP echo-reply 或是 tcp-reset(这个封包会要求对方关闭联机),进行完此处理动作后,将不再比对其它规则,直接中断过滤程序。
3 D5 ?. Q1 q: r9 L# w' L/ w/ J1 j
$ t y! w1 A( Q- j2 M: K至于使用DROP还是REJECT更合适一直未有定论,因为的确二者都有适用的场合。REJECT是一种更符合规范的处理方式,并且在可控的网络环境中,更易于诊断和调试网络/防火墙所产生的问题;而DROP则提供了更高的防火墙安全性和稍许的效率提高,但是由于DROP不很规范(不很符合TCP连接规范)的处理方式,可能会对你的网络造成一些不可预期或难以诊断的问题。因为DROP虽然单方面的中断了连接,但是并不返回任何拒绝信息,因此连接客户端将被动的等到tcp session超时才能判断连接是否成功,这样早企业内部网络中会有一些问题,例如某些客户端程序或应用需要IDENT协议支持(TCP Port 113, RFC 1413),如果防火墙未经通知的应用了DROP规则的话,所有的同类连接都会失败,并且由于超时时间,将导致难以判断是由于防火墙引起的问题还是网络设备/线路 故障。' j! f7 ~& V. X8 L! g3 t$ J1 ~( z$ _
4 h6 v+ f- Z$ p一点个人经验,在部署防火墙时,如果是面向企业内部(或部分可信任网络),那么最好使用更绅士REJECT方法,对于需要经常变更或调试规则的网络也是如此;而对于面向危险的Internet/Extranet的防火墙,则有必要使用更为粗暴但是安全的DROP方法,可以在一定程度上延缓黑客攻击的进度(和难度,至少,DROP可以使他们进行TCP-Connect方式端口扫描时间更长)。
5 q! l8 h8 p8 Z. l3 x- o: f
& e) L4 I. i! T1 ^ |
|