欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、常用命令

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

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

二、宿主機(jī)網(wǎng)絡(luò)限制

背景:

漏洞掃描發(fā)現(xiàn)任意用戶(hù)對(duì)目標(biāo)服務(wù)通過(guò)訪問(wèn)URL獲取內(nèi)容或者單純的想要限制/允許某個(gè)Ip或者某個(gè)網(wǎng)段進(jìn)行訪問(wèn)

1、任意用戶(hù)對(duì)目標(biāo)服務(wù)通過(guò)訪問(wèn)URL獲取內(nèi)容

目標(biāo)服務(wù)存在未授權(quán)訪問(wèn)漏洞,通過(guò)訪問(wèn)URL:http://192.168.180.140:8081/swagger-resources,獲取內(nèi)容如下
[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"}]

整改:對(duì)端口做限制,只允許平臺(tái)服務(wù)器的網(wǎng)段對(duì)該端口進(jìn)行訪問(wèn),其余都拒絕

#注意拒絕其他所有IP地址進(jìn)行訪問(wèn),此規(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、允許某個(gè)Ip或者某個(gè)網(wǎng)段進(jìn)行訪問(wèn)

[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 網(wǎng)絡(luò)IP和端口訪問(wèn)

背景:

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

經(jīng)查閱大量資料,發(fā)現(xiàn)Docker容器創(chuàng)建時(shí)會(huì)自動(dòng)創(chuàng)建iptables策略,Docker使用的i規(guī)則鏈?zhǔn)荄OCKER-USER,所以需使用iptables對(duì)DOCKER-USER鏈做限制。

1、同網(wǎng)段只允許負(fù)載均衡機(jī)器跟控制主機(jī)機(jī)器訪問(wèn)算法服務(wù)器

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)同網(wǎng)段其余機(jī)器還是可以訪問(wèn)該算法的調(diào)用端口,此時(shí)需要對(duì)容器做限制
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主機(jī)的連接

默認(rèn)情況下,允許所有外部源IP連接到Docker主機(jī)。

要僅允許特定的IP或網(wǎng)絡(luò)訪問(wèn)容器,請(qǐng)?jiān)贒OCKER-USER過(guò)濾器鏈的頂部插入一個(gè)否定的規(guī)則。

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

#注意:eno1網(wǎng)卡需要按照你的實(shí)際情況填寫(xiě)

#限制除192.168.1.0/24網(wǎng)段外的其他地址訪問(wèn)
$ iptables -I DOCKER-USER -i eno1 ! -s 192.168.1.0/24 -j DROP

最后,您可以指定要接受的IP地址范圍--src-range (請(qǐng)記住-m iprange在使用--src-range或時(shí)也要添加--dst-range):

#限制除192.168.1.1-192.168.1.3外的其他地址訪問(wèn)
$ iptables -I DOCKER-USER -m iprange -i eno1 ! --src-range 192.168.1.1-192.168.1.3 -j DROP

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

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

3、限制docker指定端口訪問(wèn)策略

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

4、DOCKER-USER常用命令

# 查詢(xún)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策略,默認(rèn)臨時(shí)生效
[root@test ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  確定  ]

telnet訪問(wèn)測(cè)試:
[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

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用docker搭建go環(huán)境的簡(jiǎn)單步驟

    使用docker搭建go環(huán)境的簡(jiǎn)單步驟

    最近公司里面的項(xiàng)目用到了Docker,正好準(zhǔn)備學(xué)習(xí)下Golang,所以就學(xué)習(xí)Golang順便也學(xué)習(xí)下Docker怎么用的,剛好從頭開(kāi)始配置下環(huán)境,這篇文章主要給大家介紹了關(guān)于使用docker搭建go環(huán)境的簡(jiǎn)單步驟,需要的朋友可以參考下
    2023-10-10
  • 樹(shù)莓派4b ubuntu19 server 安裝docker-ce的安裝步驟

    樹(shù)莓派4b ubuntu19 server 安裝docker-ce的安裝步驟

    這篇文章主要介紹了樹(shù)莓派4b ubuntu19 server 安裝docker-ce的安裝步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Docker 基礎(chǔ)之Dockerfile命令詳解

    Docker 基礎(chǔ)之Dockerfile命令詳解

    這篇文章主要介紹了Docker 基礎(chǔ)之Dockerfile命令,本文介紹 Dockerfile 的基本結(jié)構(gòu)及其支持的眾多指令,有興趣的可以了解一下
    2017-04-04
  • 關(guān)于構(gòu)建aarch64環(huán)境Mysql8.0的Docker鏡像問(wèn)題

    關(guān)于構(gòu)建aarch64環(huán)境Mysql8.0的Docker鏡像問(wèn)題

    這篇文章主要介紹了構(gòu)建aarch64環(huán)境Mysql8.0的Docker鏡像,需要的朋友可以參考下
    2022-04-04
  • 阿里云CentOS 6.5 安裝Docker詳細(xì)步驟

    阿里云CentOS 6.5 安裝Docker詳細(xì)步驟

    這篇文章主要介紹了阿里云CentOS 6.5 安裝Docker的相關(guān)資料,現(xiàn)在都是云時(shí)代和大數(shù)據(jù)時(shí)代,希望大家也能跟著時(shí)代的步伐,需要的朋友可以參考下
    2016-10-10
  • Docker鏡像分層的實(shí)現(xiàn)示例

    Docker鏡像分層的實(shí)現(xiàn)示例

    本文主要介紹了Docker鏡像分層的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • 再見(jiàn) Docker如何5分鐘轉(zhuǎn)型 containerd

    再見(jiàn) Docker如何5分鐘轉(zhuǎn)型 containerd

    這篇文章主要介紹了再見(jiàn) Docker如何5分鐘轉(zhuǎn)型 containerd,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • docker部署crownblog項(xiàng)目到阿里云的方法步驟

    docker部署crownblog項(xiàng)目到阿里云的方法步驟

    這篇文章主要介紹了docker部署crownblog項(xiàng)目到阿里云的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Centos8無(wú)法安裝docker問(wèn)題的解決方法

    Centos8無(wú)法安裝docker問(wèn)題的解決方法

    這篇文章主要給大家介紹了關(guān)于Centos8無(wú)法安裝docker問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • docker-maven-plugin 插件無(wú)法拉取對(duì)應(yīng)jar包問(wèn)題

    docker-maven-plugin 插件無(wú)法拉取對(duì)應(yīng)jar包問(wèn)題

    這篇文章主要介紹了docker-maven-plugin 插件無(wú)法拉取問(wèn)題,總是報(bào)錯(cuò),如何解決這個(gè)問(wèn)題呢,下面小編給大家?guī)?lái)了解決方法,一起看看吧
    2021-09-09

最新評(píng)論