- 桌面版:Mac、Windows;
- 服務(wù)器版:Windows Server、Centos、Debian、Fedora、Oracle Linux、RHEL、SLES、Ubuntu;
- 云提供商:AWS、Azure、阿里云等;
- 容器操作系統(tǒng):RancherOS、CoreOS、Atomic、Photon;
- 精簡(jiǎn)安全:容器操作系統(tǒng)只包含運(yùn)行容器所需的必要軟件和必要的管理工具,相比傳統(tǒng)的操作系統(tǒng)而言會(huì)精簡(jiǎn)很多;所有應(yīng)用通過容器的方式運(yùn)行,從而使操作系統(tǒng)和應(yīng)用軟件隔離開來,極大降低了出現(xiàn)安全漏洞的概率;
- 升級(jí)回滾:系統(tǒng)采用可回滾的雙分區(qū)模式,活動(dòng)的分區(qū)通過只讀方式掛載,另外一個(gè)分區(qū)用來自動(dòng)更新, 通過切換系統(tǒng)分區(qū)即可實(shí)現(xiàn)快速升級(jí),升級(jí)出現(xiàn)問題時(shí),可以快速切換回原來的分區(qū)保證系統(tǒng)可用;
- 集群模式:在系統(tǒng)安裝的時(shí)候便可自動(dòng)加入內(nèi)置的ETCD集群中,每個(gè)系統(tǒng)都可以通過本機(jī)的ETCD讀取或發(fā)布配置信息和狀態(tài)數(shù)據(jù),通過選舉形式在服務(wù)器之中選舉Leader來同步數(shù)據(jù),并以此確保集群之內(nèi)信息始終可用;
- 單獨(dú)為容器劃分一個(gè)分區(qū)作為容器的存儲(chǔ)空間:所有容器的數(shù)據(jù)、元數(shù)據(jù)默認(rèn)都存儲(chǔ)在/var/lib/docker下(當(dāng)然可以修改docker容器默認(rèn)的存儲(chǔ)路徑),很容易造成爭(zhēng)搶磁盤空間,導(dǎo)致系統(tǒng)崩潰,推薦在內(nèi)部存儲(chǔ)中單獨(dú)劃分一個(gè)分區(qū)掛載到該目錄上,同樣的方法也可以使用外部存儲(chǔ);
- 使用比較新且穩(wěn)定的Linux內(nèi)核:官方推薦Linux內(nèi)核版本為3.10+,但是有些功能模塊要求的內(nèi)核版本更高,如支持MacVlan網(wǎng)絡(luò)模塊就需要內(nèi)核版本為3.9+,這個(gè)時(shí)候就得權(quán)衡一下Linux內(nèi)核版本的選擇,推薦采用該功能模塊推薦的內(nèi)核版本;
- 使用比較新且穩(wěn)定的Docker版本:官方推薦的Docker版本為1.9.1+,但從實(shí)施和運(yùn)維經(jīng)驗(yàn)來看,推薦選擇比較穩(wěn)定的1.12.1版本;
- 只允許可信任的用戶來控制Docker Daemon:Docker Daemon控制需要root特權(quán),推薦將可信任的用戶加入到一個(gè)組中,并將整個(gè)組授予root特權(quán);
- 增加Docker Daemon及其相關(guān)文件、目錄的日志審計(jì):Docker Daemon作為Docker的后臺(tái)守護(hù)進(jìn)程,對(duì)其訪問控制、行為操作做日志審計(jì)是非常有必要的,一旦出現(xiàn)問題,很方便進(jìn)行定位,推薦增加Docker文件(docker、daemon.json、docker.service、docker.sock)和目錄(/var/lib/docker、/etc/docker、/usr/bin)的日志審計(jì);
- 使用可信任的鏡像來創(chuàng)建容器:Docker官方或非官方的鏡像有很多漏洞,若使用它們來運(yùn)行容器,很容易被攻擊,建議使用Docker官方認(rèn)證過的鏡像,或是自己構(gòu)建的鏡像(建議采用Alpine作為基礎(chǔ)鏡像),并通過漏洞掃描工具(如Clair);也可以使用容器安全產(chǎn)品,類似AppSafe之類,可以全方位的保障鏡像和容器運(yùn)行時(shí)的安全;
- 在容器里面盡量不要安裝不必要的軟件:不必要的軟件會(huì)占用磁盤的空間,也會(huì)增加系統(tǒng)的安全威脅;有些容器云公司也會(huì)提供鏡像瘦身的服務(wù),如有容云等;
- 創(chuàng)建一個(gè)非root用戶的容器:容器擁有root權(quán)限,很容易讓人通過容器的root權(quán)限攻擊所在的宿主機(jī),可以在制作鏡像的時(shí)候指定用戶,如:RUN useradd -d /home/username -m -s /bin/bash username;
- 開啟Docker的Content Trust選項(xiàng):Content Trust會(huì)將數(shù)據(jù)通過數(shù)字簽名發(fā)送到遠(yuǎn)程的Docker Registries或是從遠(yuǎn)程的Docker Registries接收數(shù)據(jù),用來保證鏡像在build, create, pull, push, run過程中沒有被篡改,開啟命令:export DOCKER_CONTENT_TRUST=1;
- 為容器創(chuàng)建一個(gè)AppArmor Profile文件:AppArmor Profile文件里面包含了各種威脅的安全策略,通過它可以保護(hù)宿主機(jī)系統(tǒng)和應(yīng)用程序的各種威脅,設(shè)置參數(shù)如:docker run –interactive –tty –security-opt=”apparmor:PROFILENAME” centos /bin/bash。
- 開啟SELinux Security選項(xiàng):SELinux提供了強(qiáng)制訪問控制,增強(qiáng)了自主訪問模型,可以通過SELinux為系統(tǒng)增加一層額外的安全層,設(shè)置參數(shù)如:docker run –interactive –tty –security-opt label=level:TopSecret centos /bin/bash。
- 為容器限制Linux內(nèi)核的Capabilities能力:Linux把原來和超級(jí)用戶相關(guān)的高級(jí)權(quán)限劃分成為不同的單元,稱為Capability,這樣就可以獨(dú)立對(duì)特定的Capability進(jìn)行開啟或禁止,來增加容器的安全,設(shè)置參數(shù)如:docker run –interactive –tty –cap-drop=all –cap-add={“NET_ADMIN”,”SYS_ADMIN”} centos:latest /bin/bash。以只讀的模式掛載容器的root文件系統(tǒng),設(shè)置參數(shù)如:docker run –interactive –tty –read-only –volume /centdata centos /bin/bash
- 設(shè)置容器在失敗的時(shí)候嘗試重啟的次數(shù):若不設(shè)置的話,重啟則會(huì)不斷的嘗試重啟,參數(shù)如:docker run –detach –restart=on-failure:5 nginx。
- 不要掛載宿主機(jī)上敏感的目錄到容器上,或是以只讀的方式掛載:如宿主機(jī)上這些目錄:/、/boot、/dev、/etc、/lib、/proc、/sys、/usr;
- 在容器里面最好不要運(yùn)行ssh服務(wù):使用docker exec 或 docker attach來查看容器實(shí)例;
- 容器運(yùn)行時(shí)不要映射privileged的端口:處于安全考慮,privileged的TCP/IP端口約束在1024以下,一般的用戶是不能使用這個(gè)端口;
- 日志級(jí)別設(shè)置為info:這樣除了debug信息外,可以捕獲所有的信息,設(shè)置參數(shù)如: docker daemon –log-level=”info”;
- 允許Docker Daemon修改iptables:這樣可以自動(dòng)避開錯(cuò)誤的網(wǎng)絡(luò)配置導(dǎo)致的容器和外部的訪問問題,設(shè)置參數(shù)如:docker daemon –iptables=true;
- 使用安全模式訪問鏡像倉庫:Docker Daemon支持安全模式(默認(rèn))和非安全模式(–insecure-registry)訪問鏡像倉庫,推薦鏡像倉庫配置CA證書,Docker Daemon配置安全訪問模式,采用TLS安全傳輸協(xié)議;
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:Docker運(yùn)維之最佳實(shí)踐
本文網(wǎng)址:http://www.ezxoed.cn/html/support/11121520558.html