- 积分
- 16843
在线时间 小时
最后登录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" r1 w( O% M6 K. `$ ]
0 v# d( v3 s2 Y) I. q& k
) E! H t, k E# y
下面的是对特定ip允许访问8080端口(你也可以自己改)- D$ q y% V8 l4 V
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.0.4/24" port protocol="tcp" port="8080" accept"1 ~! H R# Q& C1 z0 F
- T# R e, p5 N
* U1 p: j$ a& V( B) S( a1.drop禁止特定ip连接ssh/22服务
+ R: i; g* R+ P x) ?: ]* `* q- ?$ K
firewall-cmd --permanent --zone=public --add-rich-rule="rule family=ipv4 source address=‘x.x.x.x/24‘ service name=‘ssh‘ drop"
% ]. J4 ~2 W# f( ~' Wfirewall-cmd --reload
; Y+ k) R5 D. F/ R/ C6 c/ B. t; A: v e3 E ##重新加载防火墙配置,不然firewall-cmd --list-all-zones不会显示刚加上的规则. p' U ]0 j% n8 z
" D- E! L% m& _) I2 w4 A4 H+ U! S
7 j/ E& j! ?6 N3 ^/ n$ _* v2.reject禁止特定ip连接ssh/22服务! T0 `# R9 D4 F' G) i
+ M# P4 y/ t& x/ q. S' Gfirewall-cmd --permanent --zone=public --add-rich-rule="rule family=‘ipv4‘ source address=‘x.x.x.x/24‘ service name=‘ssh‘ reject"
2 J- {* g) ^% g4 G8 Ofirewall-cmd --permanent --zone=public --add-rich-rule="rule family=‘ipv4‘ source address=‘x.x.x.x/24‘ port port=22 protocol=tcp reject"
7 \/ A; b7 k. g* n4 Ifirewall-cmd --reload- N E- A' g2 r
##重新加载防火墙配置,不然firewall-cmd --list-all-zones不会显示刚加上的规则+ x; |) ? H/ R
$ w* S2 u6 N* k2 a
6 c" p5 B6 r+ _% N8 I5 z# C3.accept运行特定ip连接ssh/22服务5 S. g$ ]5 k/ [5 w* l- s7 t
! B) c" l: x3 j# x8 x4 yfirewall-cmd --permanent --zone=public --add-rich-rule="rule family=ipv4 source address=‘x.x.x.x/24‘ port port=22 procotol=tcp accept"
# ?: [- ]4 t6 h1 h; i$ @8 x# w6 M2 ufirewall-cmd --reload
/ {$ R- ]; z+ ~: x9 t
6 `8 n* q7 t& V5 c* X
@. y- S0 m1 x1 _, B7 I$ r* z防火墙内的策略动作有DROP和REJECT两种,区别如下:
3 G, O3 A/ z7 P3 s7 E9 ]( z1、DROP动作只是简单的直接丢弃数据,并不反馈任何回应。需要Client等待超时,Client容易发现自己被防火墙所阻挡。
. D, Z8 f& u8 a2、REJECT动作则会更为礼貌的返回一个拒绝(终止)数据包(TCP FIN或UDP-ICMP-PORT-UNREACHABLE),明确的拒绝对方的连接动作。连接马上断开,Client会认为访问的主机不存在。REJECT在IPTABLES里面有一些返回参数,参数如下:ICMP port-unreachable、ICMP echo-reply 或是 tcp-reset(这个封包会要求对方关闭联机),进行完此处理动作后,将不再比对其它规则,直接中断过滤程序。; y# ^, H9 g% j. [5 w
; M3 p9 w7 p2 H5 g! `
至于使用DROP还是REJECT更合适一直未有定论,因为的确二者都有适用的场合。REJECT是一种更符合规范的处理方式,并且在可控的网络环境中,更易于诊断和调试网络/防火墙所产生的问题;而DROP则提供了更高的防火墙安全性和稍许的效率提高,但是由于DROP不很规范(不很符合TCP连接规范)的处理方式,可能会对你的网络造成一些不可预期或难以诊断的问题。因为DROP虽然单方面的中断了连接,但是并不返回任何拒绝信息,因此连接客户端将被动的等到tcp session超时才能判断连接是否成功,这样早企业内部网络中会有一些问题,例如某些客户端程序或应用需要IDENT协议支持(TCP Port 113, RFC 1413),如果防火墙未经通知的应用了DROP规则的话,所有的同类连接都会失败,并且由于超时时间,将导致难以判断是由于防火墙引起的问题还是网络设备/线路 故障。
- y4 q: w; j* j. D8 a2 e9 p; D. a) t/ C" O: \! W7 z' Y
一点个人经验,在部署防火墙时,如果是面向企业内部(或部分可信任网络),那么最好使用更绅士REJECT方法,对于需要经常变更或调试规则的网络也是如此;而对于面向危险的Internet/Extranet的防火墙,则有必要使用更为粗暴但是安全的DROP方法,可以在一定程度上延缓黑客攻击的进度(和难度,至少,DROP可以使他们进行TCP-Connect方式端口扫描时间更长)。" ~$ P, t, h! H( f1 Z
. I" r3 M* O0 j/ M I! Z
|
|