最後に、Dockerに非常に興味があるため、重要な顧客データを含むオンラインのビジネスクリティカルな実稼働システムをDocker Swarmに移動したいと考えています。すでにそうしている人もいるかもしれません。他の組織は、ルートモードで実行されているプロダクションプロセスを禁止するポリシーによってそれを買う余裕はありません。
Docker実稼働環境で考慮するビルディングブロックのチェックリストは何ですか?それらのすべてを必要とするわけではありませんが、それらすべてを評価することが重要です。
免責事項:「大きな無限リスト」を回避するためのSEポリシーがあることは知っていますが、このチェックリストは非常に大きくすることはできません...とにかく無限です。
だから-これらのビルディングブロックは何ですか?
- まだ展開されていない場合は、高度なセキュリティ設定(強化カーネル、SELinuxなど)でLinuxホストシステムを実行することを検討してください。
- 高山、busybox、またはスクラッチなどの小さなDockerベースイメージの使用を検討してください。たとえば、空のベースイメージから始めます。
- ルート以外のユーザー設定を使用する
- コンテナに付与されている既に縮小されているカーネル機能のセットをさらに削減するために慎重に評価する
- プロセスを起動するコンテナごとに実行可能なバイナリを1つだけ持つことを検討します。理想的には静的にリンクします
- シェルアクセスを取得するためにシステムを破壊したい人は、コンテナがすべてのシェルを無効にしていることがわかったのではないかと思うかもしれません
- 可能な場合にのみ読み取り専用ボリュームをマウントする
質問:他に何ですか?
devsecops
意味は何ですか?
Consider using a tiny Docker base image, like alpine, busybox or even scratch e.g. start with an empty base image
セキュリティを強化する理由を説明していただけますか?