項目一覧
セキュリティのベストプラクティス
コンテナ環境の監視と保護に必要なベストプラクティスは、以下のとおりです。
ホストOSの強化
オペレーティング システムの強化には、次のものが含まれます。
-
ホストOSとDockerソフトウェアの両方が最新のセキュリティパッチで更新されていることを確認します。
-
ダウンロードからイメージをダウンロードし ます。
-
docker を root 権限のない非 root ユーザーとして実行します。これはルートレスモードと呼ばれます。このモードでは、Docker とコンテナーはユーザー名前空間内で実行されます。コンテナとDocker Engineサービスの両方をroot以外のユーザーとして実行することで、侵害が発生した場合のセキュリティが向上します。
-
コンテナの実行に必要な指定されたメモリ量とCPU量を設定することで、DoS攻撃を防止します。
-
コンテナ内での sshd の使用は避けてください。
-
ARPスプーフィングやMACフラッディング攻撃からデフォルトのブリッジ
docker0を使用することは避けてください。 -
悪意のある攻撃を防ぐために、コンテナーのルート ファイル システムを読み取り専用に設定します。
-
プロセス識別子(PID)の制限を設定します。カーネル内の各プロセスは一意のPIDを保持し、コンテナはLinux PID名前空間を利用して、各コンテナのPID階層の個別のビューを提供します。コンテナ内のプロセス数を制限することで、新しいプロセスの過剰な生成や悪意のある横移動を防ぐことができます。
パッチ管理
パッチ管理には、改善または修正できるシステム機能の特定、更新プログラム パッケージのリリース、更新プログラムのインストールの検証が含まれます。ソフトウェア更新とシステム再構成によるパッチ適用は、脆弱性管理の一部です。
最新のソフトウェアと詳細については、 ダウンロード および cRPDのアップグレードを参照してください。
セキュリティ ポート
特権サービス・ポートは、以下の通り使用できます。
-
各システムで、承認されたポートとプロトコルのみが動作していることを確認します。例えば、BGP(TCP 179)、SSH(TCP 22)、Netconf over SSH(TCP 830)、テレメトリ向けgRPC(TCP 50051)などです。すべてのサービスのビジネスニーズを検証します。たとえば、HTTP ロードバランサーと HTTPS ロードバランサーは、それぞれ (TCP 80) と (TCP 443) をバインドする必要があります。
-
1024 未満の TCP/IP ポート番号は、特権ポートと見なされます。コンテナー内の 1024 未満のポートは機密データを送信するため、マッピングしないでください。既定では、Docker はコンテナー ポートを 49153 から 65525 の範囲内のポートにマップしますが、コンテナーを特権ポートにマップできます。