選單
GSS 技術部落格
在這個園地裡我們將從技術、專案管理、客戶對談面和大家分享我們多年的經驗,希望大家不管是喜歡或是有意見,都可以回饋給我們,讓我們有機會和大家對話並一起成長!
若有任何問題請來信:gss_crm@gss.com.tw
2 分鐘閱讀時間 (323 個字)

每日小知識 #15 - Container 資安(6)

shutterstock_198004562

前面有提過 container 可能會受到 DDOS 攻擊,或是本身有 bug 造成 memory leak,該如何防止這樣的情形發生呢?

  • 限制記憶體總量

    • 在 docker run 的時候可以透過 -m 或是 -memory-swap 來限制 container 可以運用的記憶體、或是 swap 的總量
    • 預設以上兩種都是無上限的
    • 如果只有設定 -m,那預設 -memory-swap 會是它的兩倍
    • 如果想針對有加設定的 container 作一些壓力測試,可以參考此篇
  • 限制 CPU

    • Docker 中,CPU 份額是依相對的權重在配給的,而這個份額預設是 1024。
    • 可想而知,份額愈高,獲得的 CPU 資源就愈大,要是 container 的 CPU 被 Cracker 拿來使用,就很有可能造成 DDOS 的現象發生
    • 設定 CPU 份額的參數名稱為 -c,通常是設定 2 的 N 次方
    • 假設電腦的 CPU 是八核心,以 800% 來計算,那如果起了四個 container,分別配予 2048,1024,512,512 的分額,那大約會個別被分到 400%, 200%, 100%, 100% 的運算資源
    • 承上,這也是為什麼 docker stats 有時候會看到某些 container 的 CPU 使用率會超過 100%的原因
    • 而 CPU 可以透過 -cpu-period-cpu-quota 來分配每個 container 的資源,單位是微毫秒。

(To be continued …)

每日小知識 #16 - Container 資安(7)
每日小知識 #14 - Container 資安(5)

相關文章

 

評論

尚無評論
已經注冊了? 這裡登入
Guest
2024/05/04, 週六

Captcha 圖像