精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

在生產(chǎn)環(huán)境中安全地運(yùn)行Docker容器

責(zé)任編輯:jackye

作者:Hrishikesh Barua

2016-12-30 09:08:13

摘自:INFOQ

在生產(chǎn)環(huán)境中,強(qiáng)化Docker容器的一種方法就是使它們不可變,也就是只讀。盡管不可變性可以阻止任何惡意腳本的執(zhí)行,可以禁止通過在容器里運(yùn)行的其他軟件暴露出來的漏洞而引起的改動(dòng)。

在生產(chǎn)環(huán)境中,強(qiáng)化Docker容器的一種方法就是使它們不可變,也就是只讀。安全地運(yùn)行容器的其他方法還包括最小化受攻擊面和應(yīng)用Linux安全過程,標(biāo)準(zhǔn)Linux安全過程和針對(duì)容器環(huán)境的特定過程都要應(yīng)用。

在啟動(dòng)容器時(shí)傳入--read-only標(biāo)記就可以在只讀模式下運(yùn)行它。這可以防止任何進(jìn)程寫入文件系統(tǒng)。任何試圖寫入的動(dòng)作都會(huì)導(dǎo)致錯(cuò)誤。運(yùn)行這種不可變的基礎(chǔ)設(shè)施也與其他軟件部署流水線的最佳實(shí)踐相吻合。

盡管不可變性可以阻止任何惡意腳本的執(zhí)行,可以禁止通過在容器里運(yùn)行的其他軟件暴露出來的漏洞而引起的改動(dòng)。但是在現(xiàn)實(shí)生產(chǎn)環(huán)境中,這種模式又是不是適用于應(yīng)用程序呢?比如,要產(chǎn)生的日志文件和要使用數(shù)據(jù)庫(kù)的應(yīng)用程序就需要可寫性。

寫日志的一個(gè)可能的解決方案可以是使用一個(gè)集中的日志系統(tǒng),比如Elasticsearch/Logstash/Kibana(ELK),這樣所有的日志都被收集在一個(gè)中心節(jié)點(diǎn),可能是在另一個(gè)容器中,就不是用戶可以直接訪問的了。另一種替代的方案是在啟動(dòng)容器時(shí),通過使用--log-driver標(biāo)記將日志導(dǎo)出到容器之外。對(duì)于那些需要對(duì)/tmp之類的臨時(shí)目錄有寫入權(quán)限的應(yīng)用程序,一種解決辦法是在容器里為這些目錄加載一個(gè)臨時(shí)的文件系統(tǒng)。

終端用戶不能直接訪問數(shù)據(jù)庫(kù),所以風(fēng)險(xiǎn)較低。然而,這并不排除受到攻擊的可能,除非面對(duì)用戶的應(yīng)用程序得到了強(qiáng)化。

在不可避免地要有一個(gè)可寫的文件系統(tǒng)的情況下,Docker提供了審計(jì)和變化的回滾功能。在Docker容器里的文件系統(tǒng)是作為一系列層的堆疊。當(dāng)創(chuàng)建一個(gè)新容器時(shí),將在頂部添加一個(gè)新層,該層可以寫入。Docker存儲(chǔ)驅(qū)動(dòng)程序隱藏了這些細(xì)節(jié),并將它作為一個(gè)普通的文件系統(tǒng)交付給用戶。對(duì)正在運(yùn)行的容器的寫入將寫入此新層。這通常被稱為寫時(shí)拷貝(Copy-On-Write,COW)。

在Docker容器里很容易檢測(cè)到配置漂移或預(yù)期的配置變更。“docker diff”命令可以顯示對(duì)文件系統(tǒng)的更改——無論更改操作是文件添加、刪除還是修改。

除了在可能的情況下運(yùn)行一個(gè)只讀容器,我們還提出以下建議,以確保在生產(chǎn)環(huán)境中容器的安全:

運(yùn)行一個(gè)Alpine Linux之類的最小的鏡像,Alpine Linux是基于安全思想而設(shè)計(jì)的。它的內(nèi)核上打了一個(gè)grsecurity的非官方移植的補(bǔ)丁。Grsecurity是一套對(duì)Linux內(nèi)核的安全增強(qiáng)方法,它包括權(quán)限控制以及消除基于漏洞的內(nèi)存崩潰的可能,具體方法是將那些使系統(tǒng)可能被攻擊的方法減少到最少。 限制對(duì)CPU、RAM等資源的使用,以防止DoS攻擊。 在操作系統(tǒng)中配置線程和進(jìn)程限制。 采用sysctl之類標(biāo)準(zhǔn)的Linux內(nèi)核強(qiáng)化程序。 每個(gè)容器中只運(yùn)行一個(gè)應(yīng)用程序。建議這么做,是因?yàn)樗鼫p小了受攻擊面,即對(duì)于一個(gè)給定的容器,可能的漏洞數(shù)量就只取決于在該容器上運(yùn)行的應(yīng)用程序了。

閱讀英文原文:Running Docker Containers Securely in Production

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 剑川县| 东港市| 开远市| 靖安县| 南京市| 乐山市| 双江| 武夷山市| 瑞丽市| 六枝特区| 巴林左旗| 桑植县| 堆龙德庆县| 阳新县| 施秉县| 望谟县| 三亚市| 深泽县| 平武县| 肥城市| 墨玉县| 安仁县| 伊宁县| 天长市| 宣威市| 扎鲁特旗| 江门市| 永昌县| 焉耆| 濉溪县| 义乌市| 兴仁县| 梁山县| 盘山县| 涿鹿县| 康乐县| 宣城市| 玛沁县| 金湖县| 威信县| 和林格尔县|