すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:MLPSに基づくACKセキュリティ強化

最終更新日:Nov 04, 2024

このトピックでは、Container Service for Kubernetes (ACK) で使用されるAlibaba Cloud Linuxのセキュリティを強化するために使用されるマルチレベル保護スキーム (MLPS) 2.0のレベル3標準について説明します。 このトピックでは、MLPSのコンプライアンス要件を満たすようにベースラインチェックポリシーを設定する方法についても説明します。

MLPSコンプライアンス要件

アリババクラウドは、情報セキュリティ技術に基づくMLPS 2.0のレベル3標準へのオペレーティングシステムのコンプライアンスをチェックするためのベースラインを発行しました-国家市場規制管理およびPRCの標準化管理によって発行されたサイバーセキュリティの機密保護のためのベースライン (GB/T 22239-2019) 。 これらのベースラインは、ACKクラスターで使用されるAlibaba Cloud Linuxのセキュリティを確保するのに役立ちます。 次のセキュリティ強化設定を使用して、ACKクラスターが必要なベースラインに準拠していることを確認できます。

  • ID検証

  • アクセス制御

  • セキュリティ監査

  • 侵入防止

  • 悪意のあるコード保護

Alibaba Cloud LinuxイメージがMLPS 2.0のレベル3標準に準拠しているかどうかを確認するための基準

Alibaba Cloud Linuxイメージのセキュリティは、情報セキュリティ技術のMLPS 2.0のレベル3標準-サイバーセキュリティの機密保護のベースライン (GB/T 22239-2019) に基づいて強化する必要があります。 次の表に、Alibaba Cloud LinuxイメージがMLPS 2.0のレベル3標準に準拠しているかどうかを確認するためのベースラインを示します。

カテゴリ

ベースライン

説明

ID検証

システムにログオンしているユーザーにUIDを割り当て、ユーザーのIDを確認します。 すべてのUIDが一意であり、ID検証用の情報が複雑で定期的に更新されていることを確認してください。

  • すべてのユーザーアカウントにパスワードがあるかどうかを確認します。

  • すべてのUIDが一意かどうかを確認します。

  • パスワードの複雑さが要件を満たしているかどうかを確認します。

  • パスワードが定期的に変更されているか確認します。

  • パスワードの最小年齢が設定されているかどうかを確認します。 パスワードの最小年齢は、パスワードを変更する前にパスワードを使用する必要がある期間を指定します。

  • パスワードの再利用を制限します。

  • UIDが0の唯一のアカウントはrootであることを確認してください。

リモートサーバー管理中にネットワーク経由で送信される認証情報の侵害を防ぎます。

  • SSHDが強制的にSSH2プロトコルを使用するかどうかを確認します。

  • Telnetなどの安全でないリモートログオンサービスが使用されているかどうかを確認します。

ログオンの失敗を処理し、セッションを自動的に閉じ、ログオンの悪用を制限し、セッションがタイムアウトしたときにログアウトするように関連機能を構成します。

アカウントロックアウトポリシーが設定されているかどうかを確認し、アイドルセッションを自動的に閉じることができ、ログオンがタイムアウトしたときにクライアントへの接続を自動的に閉じることができます。

アクセス制御

アカウントを割り当て、システムにログオンしているユーザーに権限を付与します。

  • 管理者以外に、通常のユーザー、監査人、およびセキュリティインスペクタの役割を持つアカウントが作成されているかどうかを確認します。

  • umaskパラメーターが027以上のセキュリティレベルに設定されているかどうかを確認します。

  • ホームディレクトリの各ユーザーの権限が750以上のセキュリティレベルに設定されているかどうかを確認します。

デフォルトアカウントの名前を変更または削除し、デフォルトアカウントのデフォルトパスワードを変更します。

  • Linuxでrootアカウントを削除しないでください。 SSHログインが禁止されているかどうかを確認するだけです。

  • ルートアカウントを除き、デフォルトアカウントとデータベースアカウントがシステムにログオンすることを禁止します。

  • 弱いパスワードベースラインに基づいて弱いパスワードを確認します。

個々のユーザーまたはプロセスにアクセス制御を適用して、データベース内のファイルおよびテーブルへのアクセスを制限します。

アクセス制御設定ファイルやユーザー権限設定ファイルなどの重要なファイルへのアクセスを制限するために、個々のユーザーにアクセス制御が適用されているかどうかを確認します。

アカウントの共有を回避するために、期限切れのアカウントと使用されなくなったアカウントをできるだけ早く削除または無効にします。

  • ルートアカウントを除き、デフォルトアカウントとデータベースアカウントがシステムにログオンすることを禁止します。

  • シャットダウンまたは停止したアカウントをロックまたは削除します。

最小特権の原則に従い、ユーザー権限を分離します。

  • suコマンドの使用を制限します。

  • /etc/sudoersファイルでsudo権限が付与されているユーザー (rootユーザーを除く) を確認してください。 管理者を除き、これらのユーザーにすべてのsudo権限を付与しないでください。

アクセス制御ポリシーは、プリンシパルに権限を付与するように承認者によって構成されている必要があります。

  • ホームディレクトリの各ユーザーの権限が750以上のセキュリティレベルに設定されているかどうかを確認します。

  • 所有していないファイルまたはディレクトリの所有権をアクティブユーザーに割り当てます。

  • ホストのSSH公開鍵とファイルに対する権限を格納するファイルの所有権を設定します。

  • ホストのSSH秘密鍵を格納するファイルの所有権と、ファイルに対する権限を設定します。

セキュリティ監査

監査ログを定期的にバックアップして、誤って削除、変更、または上書きされないようにします。

auditd.confファイルの設定 (監査ログの保存モード、回転されたログファイルの数、ログファイルの最大サイズなど) を確認してください。 または、監査ログをログサーバーにバックアップします。 脆弱性を自動的にパッチできない場合は、セキュリティ監査機能が有効になっているかどうかを確認します。

監査レコードには、各イベントの日時、関係するユーザー、イベントの種類、イベントが成功したかどうか、およびその他の監査関連情報を含める必要があります。

セキュリティ監査を有効にするための要件が満たされているかどうかを確認します。

すべてのユーザーのセキュリティ監査を有効にし、重要なイベントとユーザーの行動を監査します。

  • auditdサービスを有効にします。

  • rsyslogまたはsyslog-ngサービスを有効にします。

  • レコードファイル削除イベント。

  • ユーザーのsudo権限を決定するsudoersへの変更を記録します。

  • ユーザーまたはユーザーグループの変更のイベントを記録します。 サードパーティのログ収集サービスが使用されている場合は、関連する設定を確認してください。

予期しない中断から監査デーモンを保護します。

監査デーモンの名前はauditd、ログデーモンの名前はsyslogdです。 これらのデーモンが起動されているかどうかを確認します。

侵入防止

脆弱性を特定し、テストと評価後にパッチを適用します。

Security Centerが提供する脆弱性検出およびパッチ適用機能を使用します。 侵入を検出する他の方法がある場合は、このベースラインを無視してください。

必要なコンポーネントとアプリケーションのみをインストールします。

  • Alibaba Cloud Linux 3を使用する場合、avahi-daemon、Bluetooth、firstboot、Kdump、wdaemon、wpa_supplicant、およびypbindのアプリケーションをアンインストールします。

  • Alibaba Cloud Linux 2を使用する場合、NetworkManager、avahi-daemon、Bluetooth、firstboot、Kdump、wdaemon、wpa_supplicant、およびypbindのアプリケーションをアンインストールします。

不要なシステムサービスを無効にし、デフォルトの共有ポートと高リスクポートを閉じます。

  • 不要なシステムサービスおよびファイル共有サービスを無効にしてください。

  • 次の高リスクポートを閉じます: 21、23、25、111、427、および631。

  • ビジネス要件によりアクセス制御ポリシーを変更できない場合は、このベースラインを無視してください。

キーノードへの侵入を検出し、アラートを生成します。

セキュリティセンターが提供する侵入検出およびアラート機能を使用します。 他の方法で侵入を検出してアラートを生成する場合は、このベースラインを無視してください。

接続モードまたはCIDRブロックを指定して、クライアントのアクセスを制限します。

  • Alibaba Cloud Linux 3:

    1. サーバーに接続する必要があるクライアントに基づいて、/etc/ssh/sshd_configファイルを変更します。

    2. 要件に基づいて、AllowUsers <user >@< host> パラメーターを設定します。

      説明

      <user> はサーバーにログオンする必要があるアカウントのユーザー名を指定し、<host> はサーバーのIPアドレスを指定します。 それらを実際の値に置き換えます。

    3. Escキーを押します。 次に、:wqと入力し、enterキーを押して変更を保存して終了します。

    4. sudo systemctl restart sshdコマンドを実行して、sshdサービスを再起動します。

  • Alibaba Cloud Linux 2:

    • /etc/hosts.allowファイルには、ホストへの接続を許可するIPアドレスを指定します。 ALL:ALLを指定しないでください。

    • /etc/hosts.de nyファイルは、ホストへの接続が禁止されているIPアドレスを指定します。 ALL:ALLを指定して、すべての接続を禁止します。

    etc/hosts.de nyを設定する前に、上記のホワイトリストとブラックリストの両方を使用し、/etc/hosts.allowファイルを設定します。 セキュリティグループやファイアウォールなどの他の方法を使用してクライアントのアクセスを制限する場合は、このベースラインを無視してください。

悪意のあるコード保護

  • Alibaba Cloud Linux 3: 悪意のあるコード保護テクノロジーまたは信頼ベースのプロアクティブなセキュリティコンプライアンス検証メカニズムを使用して、侵入、ウイルス、および悪意のある行為を特定してブロックします。

  • Alibaba Cloud Linux 2: 悪意のあるコード保護ソフトウェアをインストールし、ソフトウェアのバージョンとライブラリを最新の状態に保ちます。

Security Centerがインストールされて使用されているか確認します。 他のセキュリティソフトウェアを使用する場合は、このベースラインを無視します。

Alibaba Cloud LinuxのMLPS 2.0のレベル3標準

[機密保護に基づく強化] を選択すると、ACKクラスターの作成時にセキュリティを強化できます。 ACKは、オペレーティングシステムのセキュリティを自動的に強化し、情報セキュリティ技術に基づくMLPS 2.0のレベル3標準のコンプライアンス要件-サイバーセキュリティの分類保護のベースライン (GB/T 22239-2019) を満たします。 詳細については、「クラスターの作成」をご参照ください。

図 1. 機密保護に基づく強化 93

重要
  • デフォルトでは、ACKは、オペレーティングシステムがMLPS 2.0のレベル3標準に準拠していることを確認するためにセキュリティ強化が有効になっているAlibaba Cloud Linuxのack_admin、ack_audit、およびack_security正規ユーザーを作成します。

  • MLPS 2.0のレベル3標準に準拠するために、セキュリティ強化が有効になっているAlibaba Cloud Linuxは、ルートユーザーがSSHを介してログオンすることも禁止しています。 Virtual Network Computing (VNC) を使用して、Elastic Compute Service (ECS) コンソールからオペレーティングシステムにログインし、SSH経由でログインできる通常のユーザーを作成できます。 詳細については、「VNCを使用したインスタンスへの接続」をご参照ください。

ベースラインチェックポリシーの設定

Alibaba Cloudは、Alibaba Cloud Linux 2およびAlibaba Cloud Linux 3がMLPS 2.0のレベル3標準に準拠していることを確認するためのベースラインとベースラインチェック機能を提供しています。 このセクションでは、Alibaba Cloud Linux 3を例として、ベースラインチェックポリシーを設定してECSインスタンスのセキュリティコンプライアンスをチェックする方法について説明します。

前提条件

ベースラインチェックをサポートするセキュリティセンターを購入しました。

  • ベースラインチェックのサポートは、Security Centerのエディションによって異なります。 詳細については、「機能と特徴」をご参照ください。

  • セキュリティセンターの購入方法の詳細については、「セキュリティセンターの購入」をご参照ください。

手順

  1. Security Center コンソールにログインします。 上部のナビゲーションバーで、アセットが存在するリージョンを選択します。 中国 または 全世界 (中国を除く) を選択できます。

  2. 左側のナビゲーションウィンドウで、[リスクガバナンス] > [ベースラインチェック] を選択します。 [ベースラインチェック] ページの右上隅にある [ポリシー管理] をクリックします。

  3. ベースラインチェックポリシーを設定して適用します。

    1. [ポリシー管理] パネルで、[標準ポリシーの作成] をクリックします。 [ベースラインチェックポリシー] パネルで、パラメーターを設定し、[Ok] をクリックします。

      次のリストに、主要なパラメーターについて説明します。 詳細については、「手順1 :( オプション) ベースラインチェックポリシーの作成」をご参照ください。

      • ポリシー名: Alibaba Cloud Linux 3 MLPSコンプライアンスチェックなど、ポリシーの名前を入力します。

      • ベースライン名: MLPSコンプライアンス > MLPS Level 3 Compliance Baseline for Alibaba Cloud Linux 3を選択します。

      • 有効なサーバー: ベースラインチェックポリシーが適用されるアセットグループを選択します。 デフォルトでは、新しく購入したサーバーはdefaultアセットグループに属します。 このポリシーを新しいサーバーに適用するには、[デフォルト] を選択します。

    2. [ポリシー管理] パネルに戻ります。 パネルの下部で、[ベースラインチェック項目レベル] セクションで [高][中] を選択し、[ポリシー管理] パネルを閉じます。

    3. [ベースラインチェックポリシー] の下のドロップダウンリストからベースラインチェックポリシーを選択します。 この例では、Alibaba Cloud Linux 3 MLPSコンプライアンスチェックというポリシーを選択し、[今すぐチェック] をクリックします。

  4. ベースラインチェックが完了したら、[ベースラインチェック] ページでベースラインの名前をクリックしてベースラインチェック結果を表示します。

    ベースラインチェック結果を表示および確認できます。 詳細については、「手順3: ベースラインチェック結果の表示とベースラインリスクの処理」をご参照ください。