一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

外部網(wǎng)絡可直接訪問映射到127.0.0.1 的本地服務

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 作者:馬哥Linux運維 ? 2022-06-30 11:23 ? 次閱讀

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

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

→iptables-nvLDOCKER
ChainDOCKER(2references)
pktsbytestargetprotoptinoutsourcedestination
00ACCEPTtcp--!docker0docker00.0.0.0/0172.17.0.2tcpdpt:80

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

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

概念驗證

下面通過一個例子來驗證。

① 在 A 機器上運行一個 PostgreSQL 容器,并將端口映射到 127.0.0.1。

#IP:192.168.0.100
→dockerrun-ePOSTGRES_PASSWORD=password-p127.0.0.15432postgres

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

#IP:192.168.0.200
→iprouteadd172.16.0.0/12via192.168.0.100

③ 在 B 機器中掃描 A 機器的端口。

→nmap-p5432-Pn--open172.16.0.0/12
StartingNmap7.92(https://nmap.org)at2021-11-0515:00CDT
Nmapscanreportfor172.17.0.2
Hostisup(0.00047slatency).

PORTSTATESERVICE
5432/tcpopenpostgresql

④ 在 B 機器中直接連接 PostgreSQL。

→psql-h172.17.0.2-Upostgres
Passwordforuserpostgres:

解決方案

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

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

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

ChainDOCKER(2references)
pktsbytestargetprotoptinoutsourcedestination
00ACCEPTtcp--!docker0docker00.0.0.0/0172.17.0.2tcpdpt:5432

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

ChainDOCKER(2references)
pktsbytestargetprotoptinoutsourcedestination
00ACCEPTtcp--lodocker0127.0.0.1/8172.17.0.2tcpdpt:5432

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

ChainDOCKER(2references)
pktsbytestargetprotoptinoutsourcedestination
00ACCEPTtcp--eth0docker0192.168.0.0/24172.17.0.2tcpdpt:5432

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

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

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 端口
    +關注

    關注

    4

    文章

    1006

    瀏覽量

    32653
  • 容器
    +關注

    關注

    0

    文章

    504

    瀏覽量

    22328
  • Docker
    +關注

    關注

    0

    文章

    503

    瀏覽量

    12572

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

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    新品 | 服務:InfineonSpice 離線仿真工具

    的全套功能。用戶可直接訪問所有英飛凌SPICE產(chǎn)品模型,但由于它是作為開放式工具創(chuàng)建的,因此也可訪問競爭對手的SPICE模型和無源元件的SPICE模型,在功能或性能
    的頭像 發(fā)表于 04-30 18:21 ?55次閱讀
    新品 | <b class='flag-5'>服務</b>:InfineonSpice 離線仿真工具

    AIWA JX705維修手冊 (解密版,可直接打?。?/a>

    AIWA JX705 維修手冊免費下載。獨家解密,可直接打印
    發(fā)表于 04-16 16:42 ?0次下載

    服務本地網(wǎng)關的選擇

    在當今的數(shù)字化時代,企業(yè)面臨著越來越多的數(shù)據(jù)管理和處理需求。為了滿足這些需求,企業(yè)可以選擇使用云服務本地網(wǎng)關。這兩種技術(shù)各有優(yōu)勢和劣勢,企業(yè)在選擇時需要根據(jù)自身的業(yè)務需求、成本預算、安全性要求等
    的頭像 發(fā)表于 01-02 17:47 ?533次閱讀

    如何設置內(nèi)網(wǎng)IP的端口映射到公網(wǎng)

    在現(xiàn)代網(wǎng)絡環(huán)境中,端口映射(Port Mapping)是一項非常實用的技術(shù),它允許用戶將內(nèi)網(wǎng)設備的服務端口映射到公網(wǎng),使外網(wǎng)用戶可以訪問內(nèi)網(wǎng)中的服務
    的頭像 發(fā)表于 11-14 14:23 ?1595次閱讀

    內(nèi)網(wǎng)通過公網(wǎng)地址訪問內(nèi)網(wǎng)服務器的設置方法

    在一些場景下,內(nèi)部網(wǎng)絡中的服務器需要通過公網(wǎng)地址進行訪問,尤其是在沒有固定公網(wǎng)IP或需要在外部訪問時。為了解決這一問題,可以使用以下幾種方法
    的頭像 發(fā)表于 11-07 15:09 ?1462次閱讀

    打破網(wǎng)絡邊界:P2Link助力實現(xiàn)高效遠程訪問與內(nèi)網(wǎng)穿透

    。 內(nèi)網(wǎng)穿透的必要性與挑戰(zhàn) 在現(xiàn)代網(wǎng)絡中,大多數(shù)設備都在內(nèi)網(wǎng)中運行,通常通過路由器與互聯(lián)網(wǎng)連接。NAT的存在使得內(nèi)網(wǎng)中的設備擁有私有IP地址,無法直接通過外部網(wǎng)絡
    發(fā)表于 10-31 11:54

    國外IP代理地址:提升網(wǎng)絡訪問體驗

    國外IP代理地址通過提供位于國外的代理服務器,為用戶訪問國外網(wǎng)站和服務提供了便利,從而能夠顯著提升網(wǎng)絡訪問體驗。
    的頭像 發(fā)表于 10-31 07:04 ?683次閱讀

    海外HTTP訪問指南:暢通無阻的網(wǎng)絡之旅

    在數(shù)字化時代,互聯(lián)網(wǎng)已成為我們獲取信息、學習新知、娛樂休閑的重要渠道。然而,由于地域限 制、網(wǎng)絡封 鎖等原因,有時我們難以直接訪問到某些海外的網(wǎng)站或服務。
    的頭像 發(fā)表于 10-21 18:17 ?809次閱讀

    外部端口和內(nèi)部端口是什么意思

    。這些端口用于接收來自外部網(wǎng)絡的連接請求。在家庭或企業(yè)網(wǎng)絡中,外部端口通常由路由器或防火墻管理,它們可以被配置為允許或拒絕來自特定IP地址或服務
    的頭像 發(fā)表于 10-17 10:50 ?2174次閱讀

    遠程桌面內(nèi)網(wǎng)穿透是什么?有什么作用?

    的計算機或服務。內(nèi)網(wǎng)穿透適合什么人?1、遠程辦公人員:當公司內(nèi)部的辦公網(wǎng)絡無法直接訪問時,遠程辦公人員需要通過內(nèi)網(wǎng)穿透技術(shù)從外部訪問公司內(nèi)部
    的頭像 發(fā)表于 09-13 08:10 ?719次閱讀
    遠程桌面內(nèi)網(wǎng)穿透是什么?有什么作用?

    細數(shù)那些令人矚目的內(nèi)網(wǎng)穿透工具

    。本文旨在概述幾種常用的內(nèi)網(wǎng)映射工具及其實現(xiàn)方法,以便讀者能夠根據(jù)自身需求靈活選擇和應用。 端口映射的重要性 當本地服務器或設備部署在私有網(wǎng)絡
    的頭像 發(fā)表于 08-14 15:45 ?603次閱讀
    細數(shù)那些令人矚目的內(nèi)網(wǎng)穿透工具

    STM32G473VET的內(nèi)部DAC3 DAC4的四個通道如何映射到作為外部輸出到單片機管腳?

    你好,請問STM32G473VET的內(nèi)部DAC3 DAC4 的四個通道如何映射到作為外部輸出到單片機管腳,我需要通過什么樣的方式接到哪些可選的管腳作為輸出,請列出。謝謝!
    發(fā)表于 07-04 07:13

    基于TC36x讓MCS讀取ADC的轉(zhuǎn)換結(jié)果,請問ADC可以映射到GTM的MCS模塊嗎?

    基于TC36x,想要讓MCS讀取ADC的轉(zhuǎn)換結(jié)果,請問ADC可以映射到GTM的MCS模塊嗎?
    發(fā)表于 07-03 08:09

    訪問MCU內(nèi)存映射中的保留區(qū)域,會發(fā)生什么操作?

    如果我嘗試訪問 MCU 內(nèi)存映射中的保留區(qū)域,會發(fā)生什么操作?
    發(fā)表于 05-29 07:21

    路由器映射是什么意思?路由器端口映射怎么設置?

    有一個Web服務器在您的家庭網(wǎng)絡中運行,您可以使用路由器映射將其公開到互聯(lián)網(wǎng)上。這樣,任何人都可以從互聯(lián)網(wǎng)上訪問該Web服務器。 路由器端口
    的頭像 發(fā)表于 05-10 13:42 ?1919次閱讀