找回密码
 注册
查看: 752|回复: 4

iptables添加openstack平台加固VNC访问安全

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-7-3 08:18:44 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 10 金钱 才能浏览

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-3 08:19:16 | 显示全部楼层
1、首次命令行新建iptables步骤
/ U: d$ L' Q" i) aiptables -F #清除规则
2 G- M$ b/ H* fiptables -X #删除自定义链
2 n3 K- H# A, o: @3 y% Ciptables -Z #清空计数/ _+ E2 Z; v% m3 a
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #开放22端访问  E( t- w1 Q* y( O6 b! C" _
iptables -A INPUT -i lo ACCEPT #信任回环端口
6 ]8 g5 |- C4 d7 Jiptables -A OUTPUT -o lo -j ACCEPT
' s/ t3 C4 b: |' Riptables -P INPUT DROP #设置INPUT链的默认规则为DROP) G! \" C/ \$ G4 b3 u; f
iptables -P OUTPUT ACCEPT #设置OUTPUT链的默认规则为DROP
$ h0 ^" y* A! P$ }$ `# e, Z' miptables -P FORWARD DROP #设置FORWARD链的默认规则为DROP( ~; B0 }; e+ {7 \% @
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT #允许PING包& J3 E, I1 P8 H8 ?+ z$ w* Y
####开放信任网段5 |3 W1 d1 E* N- l1 L
iptables -A INPUT -s 192.168.1.100,192.168.2.0/24,192.168.3.0/24 -p all -j ACCEPT
* s& C) j$ ?6 Xiptables -A INPUT -p tcp --dport 5900:5910 -j ACCEPT: _3 T: m0 [* S3 c7 a
####开启对外服务端口) A" z: o) m' p: e/ W
iptables -A INPUT -p tcp --dport 80 -j ACCEPT" Y& h( }! l8 b$ h8 }! i9 c5 o) O0 o
iptables -A INPUT -p tcp -m multiport --dport 80,8080,443 -j ACCEPT
* f, q2 n0 H' l. I####允许关联的包通过
% y% B7 d2 d; Q! c0 X: Giptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
( w0 N7 t: ^* U# o" Jiptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
; I6 h0 T) f$ x* X' c
1 ~7 i: \! K$ C9 M6 ?9 R6 z8 t2、查看当前运行状态的iptables的规则' Z- N# Y! H2 C4 ^  R6 E' F
iptables-save: d8 Y4 J, d6 ~7 W: f) z
3、查看默认iptables配置配置文件的规则
7 W: F( ?4 r% `: zcat /etc/sysconfig/iptables2 {1 U. H4 ^; [2 {
4、保存iptables配置
3 x: [6 b* h' O9 @4 B2 d3 riptables-save > /etc/sysconfig/iptables
2 c* h7 V, h/ `. h8 |2 Z( E/etc/init.d/iptables save$ r" N4 z: e4 p; G
5、重新执行iptables配置文件
& v% f0 \& W, J; r1 Y  ?/etc/init.d/iptables reload
* k1 o8 ?  o% \) D" ?  b6 Biptables-restore /etc/sysconfig/iptables
. a( a# O6 ]( l+ ^1 ~6、启停防火墙
, \$ j, H9 e0 H. ?5 X/etc/init.d/iptables start1 I  s/ T: _  H* |: z+ L
/etc/init.d/iptables stop: m: ^" y1 G' {1 F
7、查看详细的规则配置
  P/ N, ^9 k3 v, _+ M: c1 u[root@centos6 sysconfig]# iptables -nvL --line
1 W  `3 n, b: w* Z/ o, xChain INPUT (policy DROP 0 packets, 0 bytes)! I9 Q; y8 s4 x- k+ L
num pkts bytes target prot opt in out source destination( ?, I* b! E1 ]
1 0 0 ACCEPT all -- lo 0.0.0.0/0 0.0.0.0/0
) b5 P/ k$ @" S2 0 0 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8& H! U$ ^  h) N2 b3 F" C2 g! c
3 247 20668 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:228 Q2 t  R1 B( p
4 411 49930 ACCEPT all -- 10.8.26.0/24 0.0.0.0/0- e8 ]  Q' v- {9 S: ]  J: s8 r
5 0 0 ACCEPT all -- 10.8.201.0/24 0.0.0.0/0
0 t. x" O; F& K- w5 }/ d6 0 0 ACCEPT all -- 10.9.1.1 0.0.0.0/05 l5 p9 I5 v" T3 l) [( K
7 0 0 ACCEPT tcp -- 10.8.26.0/24 0.0.0.0/0 multiport dports 6888,11034
4 l# W9 y( x# ]6 `1 A; j( ]: Z8 0 0 ACCEPT tcp -- 10.8.201.0/24 0.0.0.0/0 multiport dports 6888,11034
8 y- M4 U( {& a9 0 0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
, n- y; K3 D$ t' d/ A10 0 0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:5900:5910
0 i6 F; {; B$ w11 0 0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 8080,443, K( s" F% D- `0 {
12 0 0 ACCEPT all -- * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED4 C4 p" U, a" W
* {  E2 g$ d0 [
Chain FORWARD (policy DROP 0 packets, 0 bytes)
/ [3 z  ~1 u7 N3 ], b* s1 Gnum pkts bytes target prot opt in out source destination# M6 W8 [' D7 }; i- q# ?

. u5 e. s" h4 d& V' ^- r' ]Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)+ l! S9 z! V2 z& s
num pkts bytes target prot opt in out source destination; v: L* N* d/ r6 C
1 0 0 ACCEPT all -- lo 0.0.0.0/0 0.0.0.0/06 A2 A2 k5 |- B  X5 n1 ]
2 172 17712 ACCEPT all -- * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED$ o! X7 j. ]+ g
; W* N3 R! k. O2 G" r+ Z+ R/ h
8、基本配置文件示例
' Q9 d- R3 }6 i4 P2 T[root@centos6 sysconfig]# cat /etc/sysconfig/iptables
; O9 I  P; X/ f% V" K; r& a6 ~# a) `# Generated by iptables-save v1.4.7 on Fri Jan 19 03:14:49 2018
7 k8 x/ M/ k; b2 N4 k*filter1 ~* v: I6 }/ h3 ]% H  Y  Z; l
:INPUT DROP [0:0]
1 c9 C- A4 Q: Q" {$ Q5 f. A" B4 v:FORWARD DROP [0:0]
( ^6 Z/ t5 Q4 i4 [* a& Z9 t: V: Q4 g& o:OUTPUT ACCEPT [0:0]' b0 f3 \7 f: |5 d
####Trust loopback interface and Ping1 t. q2 Y* l' m) Q) x  X
-A INPUT -i lo -j ACCEPT+ i/ }) w: N4 n  y
-A OUTPUT -o lo -j ACCEPT3 X) b9 R' m  l- O- L
-A INPUT -p icmp --icmp-type 8 -j ACCEPT
4 k* g/ _6 s/ [2 X# Y0 ~5 O####Trust Network1 B" N: K( @" m7 P4 T+ P
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT, m0 @+ w2 C  n# @
-A INPUT -s 10.8.26.0/24 -j ACCEPT# l# O/ |' I8 R9 S  f& w- F
-A INPUT -s 10.8.201.0/24 -j ACCEPT: a8 f6 x8 U5 g+ i1 ~% Q
-A INPUT -s 10.9.1.1/32 -j ACCEPT8 l$ t% t- E* q8 |5 e# Q8 T
-A INPUT -s 10.8.26.0/24,10.8.201.0/24 -p tcp -m multiport --dport 6888,11034 -j ACCEPT
" }; \! ~% X' v# q  D####Open Port
+ F" O. |7 m& R. x* j. S-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
1 B$ e+ c6 F% O' C! _. |8 V-A INPUT -p tcp -m tcp --dport 5900:5910 -j ACCEPT6 C, v. i8 ?/ v) o1 t% d5 i
-A INPUT -p tcp -m multiport --dports 8080,443 -j ACCEPT
; a6 ^' j! k; w$ R% q####Relate Packets
" O+ c! ~) z% n7 \% w-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT6 y& h( k8 P3 v$ ?$ M  n& G* N/ [+ ]
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT$ C) |; g' d! ~% s' e: h! J9 I
COMMIT
5 u, m2 j9 S1 G& d4 H$ a9 g$ x# Completed on Fri Jan 19 03:14:49 2018

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-3 08:20:53 | 显示全部楼层
在此实例获得了 nova-network 主机上的一个浮动 IP 后,这些规则适用: 5 L. E7 _1 w3 O. J
1 V3 h5 E1 |7 X" [; E+ O% E7 g
-A nova-network-OUTPUT -d 192.168.1.233/32 -j DNAT --to-destination 10.10.10.2
2 \% @. L9 M0 r4 r5 f
" l6 p- z" C; s1 ~" l+ t' s-A nova-network-PREROUTING -d 192.168.1.233/32 -j DNAT --to-destination 10.10.10.2
/ l# M, K. V. {( k* g& N! @# _% s
& I6 z4 E& Q% {; k8 y-A nova-network-float-snat -s 10.10.10.2/32 -j SNAT --to-source 192.168.1.233 
9 B- g, D$ y' A8 D* b4 L' Q) C' V$ x
您会看到该 dNAT 规则被用来将此浮动 IP 转换成此实例的固定 IP。如果一个包到达 nova-network 主机并以浮动 IP 为目标 IP,则此目标 IP 就会被转换。然后,就会有另一项 sNAT 规则会将来自此实例的固定 IP 的流量转换到此浮动 IP。由于所有从 VM 到固定网络之外的流量均被指向网关(是由 nova-network 的 dnsmasq 进行设置),有了 sNAT 规则,出 VM 的流量就可以成功标志成来自此浮动 IP。此外,已包装的 OUTPUT 链内还有一个 dNAT 规则,允许 nova-network 上的本地过程访问具有浮动 IP 的 VM。 
$ D* W5 y1 h, r7 M' v6 f& I$ V( R8 K8 \: a, @" N% b
使用浮动 IP 的 Ping VM:
  p3 y+ N, L0 _3 ?3 R6 V( W5 ?1 t, \  ]
要将 VM 与浮动 IP Ping 在一起,也需要一些规则。请记住,在此 nova-compute 主机上,针对每个实例必须有一个特定链;其内的规则只允许来自固定子集内的 IP 的流量。如果想要 ping 一个浮动 IP,流量就会被这些规则丢弃,因为 ping 包的源 IP 并不在此固定子集内。显然,需要一个规则以允许 icmp 流量。 为了添加一个允许 ping 的规则,可以使用Ag的安全组规则的概念:
) T* h6 m. a, M0 q6 `$ b) Y+ j4 b$ |( B' z
# nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0 之后,就可以看到在此实例的特定链下多创建了一个规则:& K# p+ p* u3 Y0 i
8 A9 C0 X2 H; J5 M# [4 t( ^/ R
-A nova-compute-inst-1 -p icmp -j ACCEPT ! S/ o* H7 m" U& h, ?' X8 J+ A

3 x6 i8 f5 I1 f: O7 l. N; C1 v. K2 f同样的方式,可以对具有浮动 IP 的 VM 启用 SSH。 ( {) i, X3 V6 J$ G3 q, p

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-3 08:23:21 | 显示全部楼层
一、首次命令行新建iptables步骤
. h- I) X, ~* s* M" f, g- Viptables -F #清除规则9 I' Q7 g( G2 l; O
iptables -X #删除自定义链
+ h# t. \+ d  @/ h7 \( B' Wiptables -Z #清空计数
8 V: J( J! s- x1 C* viptables -A INPUT -p tcp --dport 22 -j ACCEPT #开放22端访问  A8 W; E; [7 d
iptables -A INPUT -i lo ACCEPT #信任回环端口2 J6 [, I/ d& _/ F# L6 a! E
iptables -A OUTPUT -o lo -j ACCEPT
) e) f- w2 F1 n8 {  piptables -P INPUT DROP #设置INPUT链的默认规则为DROP2 z( b5 _: M: r1 \9 n8 M
iptables -P OUTPUT ACCEPT #设置OUTPUT链的默认规则为DROP% _0 J6 @4 o2 F- p
iptables -P FORWARD DROP #设置FORWARD链的默认规则为DROP
. ]$ V- G+ p( v1 }8 Giptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT #容许PING包0 n$ Q# o* T! X( Z1 ]+ _
####开放信任网段8 ?/ ~" T& g8 |
iptables -A INPUT -s 192.168.1.100,192.168.2.0/24,192.168.3.0/24 -p all -j ACCEPT0 L" X8 n2 S* m3 J
iptables -A INPUT -p tcp --dport 5900:5910 -j ACCEPT
" {, w' x3 T  O% B6 ]9 c+ ^####开启对外服务端口5 {! i# S, N2 N3 J3 J& _6 J
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
+ y3 n$ ^5 }7 U& W  c/ Fiptables -A INPUT -p tcp -m multiport --dport 80,8080,443 -j ACCEPT2 [" @9 L$ [8 }- \
####容许关联的包经过
( f0 m/ U& v. T3 }2 I+ p% J- jiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT* Z1 k: B0 S$ @) l# g/ e
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPTcentos. w0 E4 D# c7 ^( S+ P, g" W

. d7 a1 n3 ?! P$ S二、查看当前运行状态的iptables的规则2 R4 N0 c3 |$ k, p3 T  D
iptables-save
- h' U+ T. K9 ]% R% @3 f, L7 b三、查看默认iptables配置配置文件的规则
0 ~- L- }. G8 y2 T' `7 o" gcat /etc/sysconfig/iptables: n$ R- z$ h# s3 M1 e- d+ L0 O
四、保存iptables配置. ~, P' D% Q/ g7 e
iptables-save > /etc/sysconfig/iptables5 R/ g6 A+ f1 |
/etc/init.d/iptables save: F  @# I/ P0 h0 m
五、从新执行iptables配置文件
+ O: Z7 S1 n' `3 a& e/etc/init.d/iptables reload! L& p6 d& ^( g. s+ u3 y& b! ?1 q
iptables-restore /etc/sysconfig/iptables9 Y9 d( |" U0 {
六、启停防火墙" G- t; R; i* H! ~0 V( y% X
/etc/init.d/iptables start
$ N2 A! m! Z0 E( q/etc/init.d/iptables stop
5 S5 u: N! ^# t7 H% E" d0 T七、查看详细的规则配置
0 Z6 \0 N8 z& q2 y8 G% w/ M[root@centos6 sysconfig]# iptables -nvL --line
: |. r/ ?. I" g9 x* y- z" j9 ZChain INPUT (policy DROP 0 packets, 0 bytes)
' X6 A3 @6 P4 Z* Xnum pkts bytes target prot opt in out source destination% N: R9 I# g. M/ z
1 0 0 ACCEPT all -- lo 0.0.0.0/0 0.0.0.0/0
4 S+ e2 w& i  M& L, v7 x2 0 0 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8
- t+ S8 W) H$ S" ?" q+ X5 v3 247 20668 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:221 i9 a* j6 g6 [& }1 Y2 u
4 411 49930 ACCEPT all -- 10.8.26.0/24 0.0.0.0/0$ i6 I7 H' Y  s* ^
5 0 0 ACCEPT all -- 10.8.201.0/24 0.0.0.0/0
& j. N' j/ ~$ |# Z9 u8 K4 I6 0 0 ACCEPT all -- 10.9.1.1 0.0.0.0/0
' y9 U% g$ P7 b  T9 w* R% n7 0 0 ACCEPT tcp -- 10.8.26.0/24 0.0.0.0/0 multiport dports 6888,11034
( R# H- r  k9 T8 g5 n8 ^& g& [8 0 0 ACCEPT tcp -- 10.8.201.0/24 0.0.0.0/0 multiport dports 6888,11034# s8 U2 r/ u( \! ?
9 0 0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80; X$ m. S7 X+ T0 L/ ~
10 0 0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:5900:5910. `5 h) B6 O1 e
11 0 0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 8080,443
' V/ v8 `- L2 _- b# p2 u12 0 0 ACCEPT all -- * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHEDtcp
: N% J- n7 T1 |: q* M
, J. j& {: [" L! v1 bChain FORWARD (policy DROP 0 packets, 0 bytes)9 g6 }6 B% {5 V' R  K
num pkts bytes target prot opt in out source destinationide
/ c. c7 T. }% z3 n
3 b6 R5 ~' j" l9 ZChain OUTPUT (policy ACCEPT 0 packets, 0 bytes)& Q! }, }0 C$ l  z# k
num pkts bytes target prot opt in out source destination" }0 W5 }- N  ~! y: P4 ]- F
1 0 0 ACCEPT all -- lo 0.0.0.0/0 0.0.0.0/0( d* C0 Y9 o2 L; _: G) `# V7 t! B
2 172 17712 ACCEPT all -- * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHEDoop8 x/ w% T/ o# _+ l- F
0 l5 I( z6 B  h) _* q7 r% d# u
八、基本配置文件示例8 v* |9 H% o5 N4 W) H+ x3 H
[root@centos6 sysconfig]# cat /etc/sysconfig/iptables( B' p. G: U2 R
# Generated by iptables-save v1.4.7 on Fri Jan 19 03:14:49 2018+ S( x) U4 H# _0 t# {3 ~" q0 r8 b0 o
*filter
. e5 u# D- p, N3 j:INPUT DROP [0:0]
# U2 W* L  o* Z8 J) i:FORWARD DROP [0:0]
9 L7 B1 R4 M$ \9 z3 J+ {:OUTPUT ACCEPT [0:0]+ W" \: S/ D, R! g
####Trust loopback interface and Ping
& `2 z6 V# v! G: t! |) q- S* g-A INPUT -i lo -j ACCEPT& c# x8 P1 R! F- l7 r0 Q1 k6 Q. f
-A OUTPUT -o lo -j ACCEPT6 K0 H# |$ l% M* U+ {; I2 M9 ?& ?
-A INPUT -p icmp --icmp-type 8 -j ACCEPT3 X" K& _: l3 G) g: B
####Trust Network$ M/ V6 ^' `* Z' K+ L3 R8 M. R
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT7 A2 f1 _9 t* q0 I. A2 |. x6 ^  W
-A INPUT -s 10.8.26.0/24 -j ACCEPT; I5 [3 h9 g: E3 }) G2 m" f
-A INPUT -s 10.8.201.0/24 -j ACCEPT
. v" J5 T1 a- d-A INPUT -s 10.9.1.1/32 -j ACCEPT( _* e; ]$ w$ Z+ r
-A INPUT -s 10.8.26.0/24,10.8.201.0/24 -p tcp -m multiport --dport 6888,11034 -j ACCEPT
& j8 f& `0 b; E! Q) J####Open Port
& g) [- d' T& v+ B8 q-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT3 n3 `; M0 {6 c8 N# u
-A INPUT -p tcp -m tcp --dport 5900:5910 -j ACCEPT; {2 {% ]7 v# Y/ K' a9 J  r4 I
-A INPUT -p tcp -m multiport --dports 8080,443 -j ACCEPT& o! i* l% L( b- j8 Z. L8 M
####Relate Packets8 }8 J$ b, c5 _& d8 l: W8 ]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
5 s  r' G7 X# z* g, f-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
( ]6 j" U/ x/ g4 sCOMMIT
) l! q. O( m- s, ~: p1 k# Completed on Fri Jan 19 03:14:49 2018命令行

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-3 08:25:44 | 显示全部楼层
通过在计算节点加iptables规则block所以对计算节点进行vnc请求的流量,但放开novnc过来的访问流量。
) w$ E2 \" X6 \( Biptables -A INPUT -p tcp ! -s 10.5.0.67 --sport 6080 -m multiport --dports 5900:5999 -j DROP
+ j/ S" `! N4 I# ]如果有多个novnc-proxy节点可以:/ v, v- v: S' w3 e& X3 w+ T
sudo iptables -A INPUT -p tcp -s 10.5.0.81 -m multiport --dports 5900:5999 -j ACCEPT" y& J. R, ~8 r* v5 U3 Y
sudo iptables -A INPUT -p tcp -m multiport --dports 5900:5999 -j DROP0 y5 n) _" H* ^
或者使用ipset," k' E$ R! Y# P; U
sudo ipset create good_ips iphash- ]0 ^' z$ w6 F' _
sudo ipset add good_ips 172.24.0.93, W+ A' S9 u$ i( J* D
sudo ipset add good_ips 172.24.0.193
% u2 K0 d) U; ^. [sudo iptables -A INPUT -m set ! --match-set good_ips src -j DROP, o; B; P) c; S" f9 e9 `) u

7 W! y# B; ~; y  H2 j4 [当horizon和nova-novnc-proxy不在同一个机器上时,应试在nova-novnc-proxy上有“sudo iptables -I INPUT -m state --state NEW -s 172.24.0.93,172.24.0.193 -m tcp -p tcp --dport 6080 -j ACCEPT”确保它接收从horizon传过来的流量,当然在openstack中默认就是打开的。
5 M" _& Y1 \  q. ]; q4 j5 |
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 03:04 , Processed in 0.038705 second(s), 33 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表