赞
踩
等保整改安全加固时,使用iptabels限制docker端口不生效,限制非docker容器端口可生效。经查阅大量资料,发现Docker容器创建时会自动创建iptables策略,Docker使用的i规则链是DOCKER-USER,所以需使用iptables对DOCKER-USER链做限制。
目录
默认情况下,允许所有外部源IP连接到Docker主机。要仅允许特定的IP或网络访问容器,请在DOCKER-USER过滤器链的顶部插入一个否定的规则。
- #限制除192.168.1.1地址外的其他地址访问
- $ iptables -I DOCKER-USER -i ext_if ! -s 192.168.1.1 -j DROP
请注意,您将需要更改ext_if与主机的实际外部接口相对应。!排除以外。您可以改为允许来自源子网的连接。
- #限制除192.168.1.0/24网段外的其他地址访问
- $ iptables -I DOCKER-USER -i ext_if ! -s 192.168.1.0/24 -j DROP
最后,您可以指定要接受的IP地址范围--src-range (请记住-m iprange在使用--src-range或时也要添加--dst-range):
- #限制除192.168.1.1-192.168.1.3外的其他地址访问
- $ iptables -I DOCKER-USER -m iprange -i ext_if ! --src-range 192.168.1.1-192.168.1.3 -j DROP
您可以结合使用-s或--src-range与-d或--dst-range一起控制连续源地址和连续目标地址。例如,如果Docker守护程序同时监听 192.168.1.99和10.1.2.3,则可以制定特定于10.1.2.3并保持 192.168.1.99打开的规则。
1.1 首先需添加一条禁止所有IP访问docker策略
iptables -I DOCKER-USER -i eth0 -s 0.0.0.0/0 -j DROP
注:允许上方命令后,如果出现容器无法上网问题,请将下方策略添加到上方策略前。
iptables -I DOCKER-USER -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
1.2 在依次添加所有允许访问docker的IP,允许172.27.100.101地址访问docker
iptables -I DOCKER-USER -i eth0 -s 172.27.100.101 -j ACCEPT
2.1 禁止所有IP访问docker的389端口
iptables -I DOCKER-USER -i eth0 -p tcp --dport 389 -j DROP
2.2 允许172.27.30.92地址访问docker的389端口
iptables -I DOCKER-USER -i eth0 -s 172.27.30.92 -p tcp --dport 389 -j ACCEPT
- [root@test ~]# iptables --line -nvL DOCKER-USER
- Chain DOCKER-USER (1 references)
- num pkts bytes target prot opt in out source destination
- 1 8 432 ACCEPT tcp -- eth0 * 172.27.30.92 0.0.0.0/0 tcp dpt:389
- 2 13 740 DROP tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:389
- 3 188 12524 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
- #删除DOCKER-USER链第一条(num)规则
- iptables -D DOCKER-USER 1
- [root@test ~]# service iptables save
- iptables: Saving firewall rules to /etc/sysconfig/iptables:[ 确定 ]
telnet测试:
- [root@zabbix_server ~]# telnet 127.0.0.1 8075
- Trying 127.0.0.1...
- telnet: connect to address 127.0.0.1: Connection timed out
nc端口测试:
- [root@node ~]# nc -zv 172.27.30.94 389
- Ncat: Version 7.50 ( https://nmap.org/ncat )
- Ncat: Connected to 172.27.30.94:389.
- Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。