最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iptables如何限制宿主機跟Docker IP和端口訪問(安全整改)

 更新時間:2024年10月10日 11:14:29   作者:Leon_start  
本文詳細介紹了如何通過iptables對網絡訪問進行限制,包括限制特定IP或網段訪問特定服務,以及在Docker環(huán)境下,如何設置DOCKER-USER鏈限制IP和端口訪問,確保網絡安全

一、常用命令

查看版本:
[root@iptables-server ~]# iptables -V 
iptables v1.4.21
配置文件:
 /etc/sysconfig/iptables-config 
 /etc/sysconfig/iptables   #記錄規(guī)則文件	

#查看防火墻規(guī)則,顯示規(guī)則行號
[root@iptables-server ~]# iptables -nL --line-number  
##指定行號刪除,需要注意刪除第一條規(guī)則后原來的第二條規(guī)則行號就會變成1,多次執(zhí)行切勿刪錯
[root@iptables-server ~]# iptables -D INPUT 1   
# 規(guī)則保存
[root@iptables-server ~]# iptables-save
# service iptables save
# iptables-save > /etc/sysconfig/iptables
# iptables-restore < /etc/sysconfig/iptables
--參數解釋
-L:列出一個鏈或所有鏈中的規(guī)則信息
-n:以數字形式顯示地址、端口等信息
-v:以更詳細的方式顯示規(guī)則信息
--line-numbers:查看規(guī)則時,顯示規(guī)則的序號(方便之處,通過需要刪除規(guī)則-D INPUT 1
-F:清空所有的規(guī)則(-X是清理自定義的鏈,用的少;-Z清零規(guī)則序號)
-D:刪除鏈內指定序號(或內容)的一條規(guī)則
-P:為指定的鏈設置默認規(guī)則
-A:在鏈的末尾追加一條規(guī)則
-I:在鏈的開頭(或指定序號)插入一條規(guī)則
-t: 指定表名,默認filter表
.... 更多參數可通過--help查看

二、宿主機網絡限制

背景:

漏洞掃描發(fā)現(xiàn)任意用戶對目標服務通過訪問URL獲取內容或者單純的想要限制/允許某個Ip或者某個網段進行訪問

1、任意用戶對目標服務通過訪問URL獲取內容

目標服務存在未授權訪問漏洞,通過訪問URL:http://192.168.180.140:8081/swagger-resources,獲取內容如下
[root@xiaoliu ~]# curl -iv http://192.168.180.140:8081/swagger-resources
[root@xiaoliu ~]# curl -I 192.168.180.140:8081
:[{"name":"default","location":"/v2/api-docs","swaggerVersion":"2.0"}]

整改:對端口做限制,只允許平臺服務器的網段對該端口進行訪問,其余都拒絕

#注意拒絕其他所有IP地址進行訪問,此規(guī)則因該在其他規(guī)則之前執(zhí)行,以確保其生效

#192.168.180.140
[root@xiaoliu ~]# iptables -I INPUT -p tcp --dport 8081 -j DROP   #這種規(guī)則需要先執(zhí)行
[root@xiaoliu ~]# iptables -I INPUT -s 10.146.57.0/24 -p tcp --dport 8081 -j ACCEPT
[root@xiaoliu ~]# iptables -I INPUT -s 10.146.60.0/24 -p tcp --dport 8081 -j ACCEPT
[root@xiaoliu ~]# iptables -I INPUT -s 10.146.119.0/24 -p tcp --dport 8081 -j ACCEPT

2、允許某個Ip或者某個網段進行訪問

[root@xiaoliu ~]# iptables -I INPUT -p tcp --dport 2375 -j DROP
[root@xiaoliu ~]# iptables -I INPUT -s 10.146.119.0/24 -p tcp --dport 2375 -j ACCEPT

三、限制Docker 網絡IP和端口訪問

背景:

整改安全加固時,使用iptabels限制docker端口不生效,限制非docker容器端口可生效。

經查閱大量資料,發(fā)現(xiàn)Docker容器創(chuàng)建時會自動創(chuàng)建iptables策略,Docker使用的i規(guī)則鏈是DOCKER-USER,所以需使用iptables對DOCKER-USER鏈做限制。

1、同網段只允許負載均衡機器跟控制主機機器訪問算法服務器

iptables -I INPUT -p tcp --dport 48002 -j DROP
iptables -I INPUT -s 192.168.180.204 -p tcp --dport 48002 -j ACCEPT
iptables -I INPUT -s 192.168.180.215 -p tcp --dport 48002 -j ACCEPT
##此刻只執(zhí)行上面命令發(fā)現(xiàn)同網段其余機器還是可以訪問該算法的調用端口,此時需要對容器做限制
iptables -I INPUT -s 192.168.180.0/24 -j DROP
iptables -I INPUT -s 192.168.180.215 -j ACCEPT
iptables -I INPUT -s 192.168.180.204 -j ACCEPT
iptables -I DOCKER-USER -i eno1 -s 192.168.180.215 -p tcp  --dport  48002 -j ACCEPT
iptables -I DOCKER-USER -i eno1 -s 192.168.180.204 -p tcp  --dport  48002 -j ACCEPT

2、限制與Docker主機的連接

默認情況下,允許所有外部源IP連接到Docker主機。

要僅允許特定的IP或網絡訪問容器,請在DOCKER-USER過濾器鏈的頂部插入一個否定的規(guī)則。

#限制除192.168.1.1地址外的其他地址訪問
$ iptables -I DOCKER-USER -i eno1 ! -s 192.168.1.1 -j DROP

#注意:eno1網卡需要按照你的實際情況填寫

#限制除192.168.1.0/24網段外的其他地址訪問
$ iptables -I DOCKER-USER -i eno1 ! -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 eno1 ! --src-range 192.168.1.1-192.168.1.3 -j DROP

您可以結合使用-s或--src-range與-d或--dst-range一起控制連續(xù)源地址和連續(xù)目標地址。

例如,如果Docker守護程序同時監(jiān)聽 192.168.1.99和10.1.2.3,則可以制定特定于10.1.2.3并保持 192.168.1.99打開的規(guī)則。

3、限制docker指定端口訪問策略

禁止所有IP訪問docker的389端口
iptables -I DOCKER-USER -i eth0 -p tcp --dport 389 -j DROP
允許172.27.30.92地址訪問docker的389端口
iptables -I DOCKER-USER -i eth0  -s 172.27.30.92 -p tcp --dport 389 -j ACCEPT

4、DOCKER-USER常用命令

# 查詢DOCKER-USER策略
[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策略
# 刪除DOCKER-USER鏈第一條(num)規(guī)則
[root@test ~]# iptables -D DOCKER-USER 1

# 保存DOCKER-USER策略,默認臨時生效
[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

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

山丹县| 安吉县| 左贡县| 巴林右旗| 石泉县| 襄城县| 太湖县| 江达县| 广元市| 凉山| 康乐县| 阿勒泰市| 灌南县| 四平市| 潞城市| 卢氏县| 定西市| 广州市| 大同县| 五台县| 泾阳县| 丽江市| 营口市| 漾濞| 合江县| 醴陵市| 稷山县| 大化| 通化市| 靖边县| 互助| 吉隆县| 嘉禾县| 来凤县| 仁怀市| 舟山市| 如东县| 武宣县| 尉氏县| 杂多县| 北海市|