《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 解決方案 > Docker賦能物聯(lián)網(wǎng):探索軟件供應(yīng)鏈的優(yōu)勢、挑戰(zhàn)和安全性

Docker賦能物聯(lián)網(wǎng):探索軟件供應(yīng)鏈的優(yōu)勢、挑戰(zhàn)和安全性

2023-09-19
作者:JFrog大中華區(qū)總經(jīng)理董任遠(yuǎn)
來源:JFrog
關(guān)鍵詞: JFrog 物聯(lián)網(wǎng) Docker

  隨著聯(lián)網(wǎng)設(shè)備硬件性能的日益提升及價(jià)格愈發(fā)低廉,物聯(lián)網(wǎng)應(yīng)用的復(fù)雜性隨之提升。常用的容器化平臺(tái)Docker能夠幫助精簡流程,助力開發(fā)人員更輕松地創(chuàng)建和維護(hù)物聯(lián)網(wǎng)應(yīng)用。本文將探討Docker為物聯(lián)網(wǎng)開發(fā)帶來的優(yōu)勢,部署和維護(hù)應(yīng)用程序時(shí)需考慮的挑戰(zhàn),以及如何將安全最佳實(shí)踐應(yīng)用于物聯(lián)網(wǎng)。

  Docker在物聯(lián)網(wǎng)應(yīng)用中的優(yōu)勢

  1.輕量級且可擴(kuò)展 —— Docker容器是輕量級的,由于其共享主機(jī)操作系統(tǒng)和資源,因此非常適合資源有限的物聯(lián)網(wǎng)應(yīng)用。其輕量級特性便于擴(kuò)展,開發(fā)人員無需消耗大量系統(tǒng)資源能夠快速部署應(yīng)用程序的多個(gè)實(shí)例。

  2.簡化開發(fā)和部署 —— 開發(fā)人員能夠通過Docker在從開發(fā)到生產(chǎn)的整個(gè)應(yīng)用生命周期中創(chuàng)建一致的環(huán)境。通過將應(yīng)用程序及其依賴項(xiàng)打包至單一容器中,開發(fā)人員可以確保應(yīng)用程序在任意底層基礎(chǔ)架構(gòu)下都能始終如一地運(yùn)行。這能夠簡化開發(fā)流程,使其在任何機(jī)器上都能運(yùn)行,使物聯(lián)網(wǎng)應(yīng)用的部署和管理變得更加輕松易行。

  3.Docker安全性 —— Docker使開發(fā)人員能夠在容器中隔離應(yīng)用程序及其依賴項(xiàng),從而減少攻擊面并提高安全性。通過在各自的容器中運(yùn)行各個(gè)應(yīng)用程序,開發(fā)人員能夠限制安全漏洞的潛在影響,并更好地控制應(yīng)用程序的環(huán)境。

  正如《2023年JFrog安全研究報(bào)告》所述,大多數(shù) CVE并非如其公開的嚴(yán)重性評級般嚴(yán)重。在應(yīng)用程序上下文中通過智能掃描,開發(fā)人員能夠處理相關(guān)的潛在漏洞,提高生產(chǎn)力。之后的“保證物聯(lián)網(wǎng)應(yīng)用安全”部分將對此進(jìn)行詳細(xì)介紹。

  4.更便利的版本控制和回滾 —— 容器本身允許開發(fā)人員為應(yīng)用程序的每次更新創(chuàng)建新的容器,從而使版本控制和回滾更易于管理。如果出現(xiàn)問題或添加了新功能,可以在更新上一版本的同時(shí)推送新版本。物聯(lián)網(wǎng)設(shè)備可能會(huì)部署在具有挑戰(zhàn)性的網(wǎng)絡(luò)環(huán)境中,造成更新中斷或失敗的情形。如果更新失敗,可能會(huì)使設(shè)備處于無法工作的狀態(tài),這時(shí)能夠自動(dòng)回滾到上一版本的能力就非常有用。JFrog Connect等物聯(lián)網(wǎng)平臺(tái)可提供自動(dòng)回滾更新的功能。

  5.加強(qiáng)協(xié)作 —— Docker通過提供可在團(tuán)隊(duì)成員之間共享的一致環(huán)境,使開發(fā)人員能夠更輕松地在物聯(lián)網(wǎng)項(xiàng)目上開展協(xié)作。開發(fā)人員可以快速啟動(dòng)包含所需依賴項(xiàng)的容器,從而更輕松地與其他團(tuán)隊(duì)成員共享,以進(jìn)行測試和進(jìn)一步開發(fā)。

  6.DevOps環(huán)境中的Docker和物聯(lián)網(wǎng) —— Docker只是DevOps環(huán)境中需要管理的另一個(gè)工具。因此,Docker能夠受益于構(gòu)建、測試以及安全和合規(guī)性檢查的流程自動(dòng)化,這些都是現(xiàn)代DevOps中公認(rèn)的最佳實(shí)踐。

  在物聯(lián)網(wǎng)應(yīng)用中使用Docker有諸多優(yōu)勢。通過采用Docker,開發(fā)人員可以簡化工作流,提高應(yīng)用程序安全性,并確保在不同物聯(lián)網(wǎng)環(huán)境中實(shí)現(xiàn)一致的性能。Docker與現(xiàn)代DevOps實(shí)踐兼容,成為了物聯(lián)網(wǎng)應(yīng)用開發(fā)和部署流水線不可或缺的一部分。

  Docker在物聯(lián)網(wǎng)中面臨的挑戰(zhàn)

  Docker最初是為服務(wù)器和數(shù)據(jù)中心而設(shè)計(jì),但其憑借著簡單、可移植性強(qiáng)、開銷相對較低等優(yōu)勢成為物聯(lián)網(wǎng)應(yīng)用的熱門選擇。盡管如此,物聯(lián)網(wǎng)設(shè)備也有著自身需要考慮的挑戰(zhàn)。

  ·可擴(kuò)展性 —— 在少量設(shè)備上部署和更新Docker應(yīng)用程序鏡像非常簡單。但是,管理成百上千臺(tái)設(shè)備的部署則是一項(xiàng)挑戰(zhàn)。一種解決方法是開發(fā)自定義腳本,但這需要持續(xù)的維護(hù)、測試和更新。

  另一種方法是投資于物聯(lián)網(wǎng)管理平臺(tái),在實(shí)現(xiàn)流程自動(dòng)化的同時(shí)提供全面的控制。這種平臺(tái)可簡化部署和更新,并提供設(shè)備監(jiān)控、自動(dòng)報(bào)警、安全遠(yuǎn)程訪問、設(shè)備管理等附加功能,還能大幅節(jié)省時(shí)間。

  ·內(nèi)存大小 —— 雖然Docker以輕量級容器而聞名,但仍須考慮會(huì)影響Docker開銷的應(yīng)用鏡像。如果希望在樹莓派(Raspberry Pi)等相對低成本的硬件上運(yùn)行Linux,可能需要具備足夠的能力以應(yīng)對大多數(shù)用例。

  ·網(wǎng)絡(luò)帶寬和可用性 —— 物聯(lián)網(wǎng)設(shè)備分布廣泛,網(wǎng)絡(luò)連接水平參差不齊。網(wǎng)絡(luò)訪問可能具有挑戰(zhàn)性。網(wǎng)絡(luò)速度可能很慢或時(shí)斷時(shí)續(xù)。設(shè)備將在不會(huì)針對公共IP地址的情況下在防火墻后面部署。這就需要找到設(shè)備,創(chuàng)建安全連接,并確保更新能正常運(yùn)行,且需要對整體設(shè)備群進(jìn)行更新。

  如果網(wǎng)絡(luò)中斷導(dǎo)致更新失敗,適當(dāng)?shù)奈锫?lián)網(wǎng)平臺(tái)可以自動(dòng)回滾到之前的實(shí)例,這樣設(shè)備就不會(huì)在更新之間處于無法運(yùn)行的狀態(tài)。不久前,Roomba真空吸塵器沒有按計(jì)劃進(jìn)行更新時(shí)就是這樣處理的。

  ·安全性 —— 對安全性的思考常常是“事后諸葛亮”。檢查與Docker相關(guān)的CVE并非每位開發(fā)人員的首要任務(wù)。他們的職責(zé)是開發(fā)應(yīng)用程序的功能,而非檢查最新的漏洞。因此,在其編碼時(shí)通過一個(gè)內(nèi)置的后臺(tái)進(jìn)程從CVE數(shù)據(jù)庫中檢查潛在漏洞是一種有用的方法。更完善之處在于,還可以通過執(zhí)行上下文分析,避免出現(xiàn)過多不相關(guān)的誤報(bào)。

  雖然Docker為物聯(lián)網(wǎng)應(yīng)用提供簡單性、可移植性和低開銷的優(yōu)勢,但對于可擴(kuò)展性、規(guī)模、網(wǎng)絡(luò)帶寬和安全性方面提出挑戰(zhàn)。管理涵蓋眾多設(shè)備的部署可能具有挑戰(zhàn)性,但投資物聯(lián)網(wǎng)管理平臺(tái)能夠簡化流程,并提供設(shè)備監(jiān)控和安全遠(yuǎn)程訪問等額外優(yōu)勢。

  確保物聯(lián)網(wǎng)應(yīng)用安全

  由于Docker容器相互隔離,因此當(dāng)一個(gè)容器被黑客攻擊時(shí)不太容易影響其他容器。不過,容器內(nèi)的應(yīng)用程序并不能避免漏洞和攻擊。隨著物聯(lián)網(wǎng)的興起以及使用Docker的人越來越多,物聯(lián)網(wǎng)項(xiàng)目已經(jīng)從小型概念驗(yàn)證實(shí)驗(yàn)變成企業(yè)軟件的重要組成部分。這意味著必須遵循特定的發(fā)布流程,與此同時(shí)也能獲得現(xiàn)代DevOps工具帶來的可信度、速度和保護(hù),進(jìn)而實(shí)現(xiàn)無縫擴(kuò)展。

  以下是將安全最佳實(shí)踐應(yīng)用于物聯(lián)網(wǎng)應(yīng)用程序的方法及益處:

  ·從小型公司到世界500強(qiáng)企業(yè)等各領(lǐng)域的軟件開發(fā)人員都青睞開源軟件,雖然開源軟件廣泛使用,但也存在一些固有風(fēng)險(xiǎn),包括意外漏洞和惡意意圖。因此,在軟件供應(yīng)鏈流程中構(gòu)建軟件成分分析(SCA)工具至關(guān)重要,能確保對通用漏洞披露(CVE)和惡意軟件包進(jìn)行檢測并得當(dāng)處理。在整個(gè)軟件開發(fā)生命周期(從代碼到部署)中,應(yīng)盡早并經(jīng)常進(jìn)行漏洞和合規(guī)性掃描。

  ·安全性低的密碼和默認(rèn)密碼是物聯(lián)網(wǎng)設(shè)備中最常見的錯(cuò)誤。對“秘密內(nèi)容”(例如在開發(fā)/測試周期中出于便利而使用,但意外留在代碼中的弱憑據(jù)/密碼或硬編碼加密密鑰)的掃描應(yīng)成為DevOps流程中的自動(dòng)化部分。

  ·在周期早期發(fā)現(xiàn)問題的好方法是左移即在開發(fā)人員工作時(shí)幫助其避免漏洞,而不干擾其工作流,也不向其大量發(fā)送誤報(bào)。靜態(tài)應(yīng)用程序安全測試(SAST)會(huì)分析源代碼以查找漏洞,并在開發(fā)人員編寫代碼時(shí)向他們提供即時(shí)反饋,即針對正在使用的、潛在易受攻擊的代碼的智能提示,以及可能的補(bǔ)救建議。

  ·更好的方法是在開發(fā)人員開始工作之前,就對要求使用的開源軟件包進(jìn)行管理,并在其進(jìn)入軟件供應(yīng)鏈之前對其進(jìn)行預(yù)掃描,從而實(shí)現(xiàn)進(jìn)一步的左移。這樣就能在一個(gè)更安全、更可信的基礎(chǔ)上啟動(dòng)軟件開發(fā)周期。

  ·鑒于Docker應(yīng)用程序固有的獨(dú)立性,Docker容器非常適合執(zhí)行漏洞上下文分析掃描。在整個(gè)應(yīng)用程序的上下文中掃描Docker容器的漏洞,有助于消除對不適用漏洞的誤報(bào)。通過最大限度地減少低風(fēng)險(xiǎn)干擾并突出高風(fēng)險(xiǎn)發(fā)現(xiàn),上下文分析可以節(jié)省開發(fā)資源,使開發(fā)人員能夠集中精力處理關(guān)鍵問題。

  ·雖然無法凡事盡善盡美,但及早發(fā)現(xiàn)問題比發(fā)布后處理問題更容易且成本更低。但是,如果在較長周期內(nèi)發(fā)現(xiàn)問題的可能性較小,制定計(jì)劃和補(bǔ)救流程就尤為重要。這需要一個(gè)強(qiáng)大的DevOps基礎(chǔ),追蹤從代碼、二進(jìn)制文件和工件到部署的方方面面。此外,擁有能夠找到所有受影響應(yīng)用程序和相關(guān)軟件包的自動(dòng)化系統(tǒng)也很有幫助。建立端到端集成流程也將加快修復(fù)過程,將耗時(shí)從數(shù)天(或數(shù)周、數(shù)月)縮短至數(shù)小時(shí)。

  ·自動(dòng)化對于速度至關(guān)重要。所有已部署設(shè)備的安全性都不應(yīng)由人工流程來確保。一旦新的或更新的Docker鏡像準(zhǔn)備就緒,自動(dòng)更新就應(yīng)擴(kuò)展到所有已知設(shè)備。我們可以創(chuàng)建并維護(hù)自定義腳本,或使用JFrog Connect等物聯(lián)網(wǎng)平臺(tái)來自動(dòng)管理這些腳本。

  結(jié)論

  Docker針對物聯(lián)網(wǎng)應(yīng)用程序的打包和部署提供成熟、高效的解決方案。通過利用面向物聯(lián)網(wǎng)的Docker,可以簡化開發(fā)流程,提高安全性并隨時(shí)擴(kuò)展物聯(lián)網(wǎng)應(yīng)用程序開發(fā)和部署。隨著對物聯(lián)網(wǎng)解決方案的需求不斷增長,采用Docker將物聯(lián)網(wǎng)應(yīng)用程序部署到設(shè)備的做法將簡化開發(fā)流程。將適用于物聯(lián)網(wǎng)應(yīng)用程序的Docker引入DevOps工作流,添加自動(dòng)安全功能,這樣物聯(lián)網(wǎng)開發(fā)就將具有現(xiàn)代DevOps最佳實(shí)踐的可靠性、安全性和敏捷性。



更多精彩內(nèi)容歡迎點(diǎn)擊==>>電子技術(shù)應(yīng)用-AET<<

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日韩中文字幕网 | 一本大道香蕉大69 | h肉动漫在线视频无修无遮挡 | 最近中文国语字幕在线播放视频 | 欧美成a高清在线观看www | 成人高清在线视频 | 欧美日韩一区二区三区在线视频 | 一级特黄牲大片免费视频 | 看黄网址在线观看 | 伊人精品线视天天综合 | 欧美a欧美乱码一二三四区 欧美a在线看 | 国产精品天干天干在线观看澳门 | 欧美成人亚洲欧美成人 | 看全色黄大色大片免费久久久 | 天天爱天天操天天射 | 日韩毛片网站 | 一丝不遮视频免费观看 | 亚洲高清影院 | 黄色视屏在线免费观看 | 亚洲视频 欧美视频 | 91午夜精品亚洲一区二区三区 | 综合在线播放 | 欧美性导航 | 亚洲免费成人在线 | 神马午夜嘿嘿 | 成 人网站免费 | 涩涩免费网站 | 欧美一区二区视频高清转区 | 99久热| 日韩中文字幕免费版 | 香蕉视频a级片 | 1024手机基地在线看手机 | 亚洲男人天堂网站 | 国产亚洲精品激情都市 | 中日韩视频在线看免费观看 | 青青青久热国产精品视频 | 97午夜理伦影院在线观看 | 黄 色 片 在 线 看 | 中文字幕精品一区二区日本大胸 | 午夜免费视频观看在线播放 | 国内外成人免费视频 |