GKE On-Prem ノードイメージは、PCI DSS、NIST ベースライン ハイ、DoD クラウド コンピューティングの SRG インパクト レベル 2 の設定で事前構成されています。
以降のセクションでは、変更されたコンプライアンス構成について説明します。
インストール済みのパッケージ
ノード OS イメージには次のパッケージが含まれています。
監査
オペレーティング システムに追加された監査ルールは、ファイルの所有権と権限、ファイルの削除、カーネル モジュールの読み込みまたは削除、特権コマンドの使用、システム管理コマンドのロギングの変更に関する要件を満たしています。
ノード OS の auditd により、次のイベントが記録されます。
随意アクセス制御(DAC)の変更:
chmod
: ファイルモードまたはアクセス制御リストの変更chown
: ファイルのオーナーとグループの変更fchmod
: ファイルのモードの変更fchmodat
: ファイルのモードの変更fchown
: ファイルのオーナーとグループの変更fchownat
: ファイルのオーナーとグループの変更fremovexattr
: 拡張属性値の削除fsetxattr
: 拡張属性値の設定lchown
: ファイルのオーナーとグループの変更lremovexattr
: 拡張属性値の削除lsetxattr
: 拡張属性値の設定removexattr
: 拡張属性値の削除setxattr
: 拡張属性値の設定
ファイルの削除
ename
: ファイル名の変更renameat
: ファイル名の変更rmdir
: ディレクトリの削除unlink
: ディレクトリ エントリの削除unlinkat
: ディレクトリ エントリの削除
カーネル モジュールの読み込み
deleted
: 未使用の読み込み可能なカーネル モジュールの削除finit
: ファイル記述子からのカーネル モジュールの読み込みinit
: ELF イメージのカーネル空間への読み込み
ログイン イベント
faillock
: ログインの試行に繰り返し失敗した後のユーザー アカウントのロックlastlog
: ログインの記録tallylog
: 成功および失敗したログイン試行の記録
メディア エクスポート:
mount -F
コマンドでリモート ファイル システムをマウント特権コマンド
chage
: ユーザー データベース情報の追加または変更chsh
: ユーザー データベース情報の追加または変更crontab
: 個別ユーザーの crontab ファイルの管理gpasswd
: グループ メンバーのパスワードの設定または変更newgrp
: 新しいグループに対する変更passwd
: ユーザーのパスワードの変更postdrop
: Postfix メール送信ユーティリティpostqueue
: Postfix キュー制御ssh_keysign
: SSH デーモンのホストキーの管理su
: ユーザー ID の代用sudo
: 別のユーザーとしてコマンドを実行するunix_chkpwd
: 現在のユーザーのパスワードを確認する
システム管理者の操作: sudoers の変更
システムのシャットダウン: OS のシャットダウンと再起動
ファイルの変更の失敗
creat
: 新しいファイルの作成ftruncate
: ファイルを指定された長さに切り詰める、または伸張するopen
: ファイルおよびディレクトリを開くopen_by_handle_at
: 読み書き用にファイルを開く、または作成するopenat
: 読み書き用にファイルを開く、または作成するtruncate
: ファイルを指定された長さに切り詰める、または伸張する
ユーザー / グループの変更
group
: ローカル グループ メンバーシップgshadow
: グループ パスワード データベースopasswd
: パスワードの再利用データベースpasswd
: ローカル ユーザーのログイン情報shadow
: ハッシュ化されたローカル ユーザー パスワードのデータベース
ユーザー プロファイルのパスワード要件
コンプライアンス上、ユーザー パスワードには複雑性の要件が必要です。このような複雑性についての要件は、次のように /etc/security/pwquality.conf
で実装されます。
minlen = 15 lcredit = -1 maxrepeat = 3 difok = 8 maxclassrepeat = 4 ocredit = -1 dcredit = -1 ucredit = -1 minclass = 4
SSH サーバー
以下の設定が、sshd
サーバー構成に実装されています。
システムバナー
警告メッセージにより、ログイン プロセスでのポリシーの認知を高め、攻撃者に対する法的措置を講じやすくします。システムの所有者情報の公開を避けたい場合には、属性を容易に特定できないバナーを使用する必要があります。
SSH プロトコル 2
SSH プロトコル 1 は安全性が低いため、クライアントが誤って脆弱な接続パラメータでネゴシエートしないように、無効にする必要があります。
SSH での root ログインの無効化
SSH では、管理者権限による操作のトレーサビリティが低下するため、root ユーザーとしての直接ログインは許可しないようにする必要があります。
SSH での PermitUserEnvironment の禁止
PermitUserEnvironment を使用するとサーバーの構成を迂回できます。これを禁止することにより、セッションの確立中に安全でない設定がインポートされないようにします。
SSH 警告バナー
警告メッセージにより、ログイン プロセスでのポリシーの認知を高め、攻撃者に対する法的措置を講じやすくします。この設定により、SSH デーモンがシステムの構成済みバナー コンテンツを表示するようになります。
SSH アイドル タイムアウト
SSH を使用すると、管理者はアイドル タイムアウト間隔を設定できます。操作をしない状態でこの時間が経過した場合、ユーザーは自動的にログアウトします。
SSH キープアライブ
これにより、SSH アイドル タイムアウトに達すると直ちにユーザー ログインが解除されます。
SSH 承認済み暗号
暗号モジュールに対する認証に使用される未承認の仕組みは、検証が行われていないため、機密性や整合性を確保することを目的として利用できません。また、使用すると、システムデータが侵害される可能性があります。暗号化を使用するオペレーティング システムでは、FIPS 準拠の仕組みを使用して暗号モジュールに対する認証を行う必要があります。FIPS 140-2 は、暗号モジュールへのアクセスに使用される仕組みが業界や政府の要件を満たす認証を利用していることを検証するための現行の標準です。
SSH 承認済み MAC
MAC を FIPS で承認されているハッシュ アルゴリズムに制限します。
SSH UsePrivilegeSeparation
SSH デーモンの特権分離によって、必要ない場合は SSH プロセスの root 権限を破棄することで、非特権セクションにおけるソフトウェアの脆弱性の影響を軽減します。
SSH ログイン試行の表示
認証が成功した場合に、前回のログイン試行を表示します。目的は、想定外のログインについてユーザーに知らせることです。
ファイルの整合性スキャン
次の AIDE 整合性チェックが構成されています。
AIDE 定期スキャン
少なくとも、週に 1 回スキャンするように AIDE を構成する必要があります。また、AIDE の実行回数の上限については、1 日あたり 1 回とする必要があります。Ubuntu では、デフォルトで毎日実行されるように AIDE が構成されています。
AIDE 通知
スキャンの実行後、AIDE はスキャンの詳細を適切な担当者に通知する必要があります。Ubuntu の AIDE のデフォルト構成では、/etc/cron.daily/aide
にメールレポートが自動的に送信されます。
AIDE: FIPS 承認の暗号ハッシュの使用
ファイル整合性ツールは、ファイルの内容とディレクトリが変更されていないことを確認するために、暗号ハッシュを使用します。これらのハッシュは、FIPS 140-2 で承認された暗号ハッシュであることが必要です。
AIDE: ACL の検証
ACL は、ファイルモードを通じて許可される権限を超える権限を付与できるため、ファイルの整合性ツールで検証する必要があります。
AIDE: EXT 属性の検証
ファイル システムの拡張属性は、セキュリティに影響のある任意のデータとファイル メタデータを格納するために使用されます。
カーネル設定
/etc/sysctl
のカーネル設定に以下の変更が加えられています。
Ctrl+Alt+Del キーによる再起動の無効化
Ctrl+Alt+Del キーを押すと、コンソールでローカルにログインしたユーザーがシステムを再起動できます。OS 環境が混在する環境で発生する可能性のある誤ったボタンの押下により、意図しない再起動が発生してシステムの可用性が短期的に失われる危険性があります。
DCCP カーネル モジュールの無効化
Datagram Congestion Control Protocol(DCCP)は比較的新しいトランスポート レイヤ プロトコルであり、ストリーミング メディアと電話通信をサポートするように設計されています。DCCP を無効にすると、実装での欠陥の悪用からシステムを保護できます。
USB ストレージのカーネル モジュールの無効化
USB メモリなどの USB ストレージ デバイスは、悪意のあるソフトウェアの導入に使用される可能性があります。USB ストレージ デバイスが使用されないようにするには、USB ストレージ ドライバの自動読み込みを行わないように、カーネル モジュールの読み込みシステムを構成します。
仮想アドレス空間のランダム化
アドレス空間配置のランダム化(ASLR)を行うと、攻撃者が攻撃を試みる際、プロセスのアドレス空間に導入された攻撃コードの位置を予測することが困難になります。さらに、ASLR により、攻撃者がリターン指向プログラミング(ROP)の手法で既存のコードを再利用しようとする場合にも、そのコードの位置を特定することが困難になります。
IPv4 リダイレクトの無効化
ICMP リダイレクト メッセージは、特定の宛先へのより近いルートの存在をルーターがホストに通知するために使用されます。これらのメッセージはホストのルートテーブルを変更しますが、認証を受けません。不正な ICMP リダイレクト メッセージは、中間者攻撃によるものであることが考えられます。IPv4 プロトコルのこの機能の用途のうち、合法的なものはごくわずかです。必要不可欠な場合を除き、無効化してください。
送信元でルーティングされる IPv4 パケットの無効化
送信元でルーティングされるパケットを使用すると、送信元は、ルーターで構成されたものと異なるパスをパケットが通るように指定できます。これは、ネットワーク セキュリティ対策をバイパスする手段として利用されることがあります。この要件は、IPv4 転送が有効でシステムがルーターとして機能している場合など、送信元でルーティングされるトラフィックの転送にのみ適用されます。送信元でルーティングされたパケットを IPv4 プロトコルで受信する機能の用途のうち、合法的なものはごくわずかです。必要不可欠な場合を除き、無効化してください。
IPv4 リダイレクトの送信の無効化
ICMP リダイレクト メッセージは、特定の宛先へのより近いルートの存在をルーターがホストに通知するために使用されます。これらのメッセージには、ネットワーク トポロジの一部を明らかにする可能性のあるシステム ルートテーブルの情報が含まれます。ICMP のリダイレクトを送信する機能が適しているのは、ルーターとして機能するシステムのみです。
IPv4 リダイレクトの受信の無効化
ICMP リダイレクト メッセージは、特定の宛先へのより近いルートの存在をルーターがホストに通知するために使用されます。これらのメッセージはホストのルートテーブルを変更しますが、認証を受けません。不正な ICMP リダイレクト メッセージは、中間者攻撃によるものであることが考えられます。IPv4 プロトコルのこの機能の用途のうち、合法的なものはごくわずかです。必要不可欠な場合を除き、無効化してください。
IPv4 ソース ルーティング パケットの受信の無効化
送信元でルーティングされるパケットを使用すると、送信元は、ルーターで構成されたものと異なるパスをパケットが通るように指定できます。これは、ネットワーク セキュリティ対策をバイパスする手段として利用されることがあります。送信元でルーティングされたパケットを IPv4 プロトコルで受信する機能の用途のうち、合法的なものはごくわずかです。IPv4 転送が有効になっており、システムがルーターとして合法的に機能している場合など、必要不可欠な場合を除き無効化してください。
IPv4 リダイレクト パケットの送信の無効化
ICMP リダイレクト メッセージは、特定の宛先へのより近いルートの存在をルーターがホストに通知するために使用されます。これらのメッセージには、ネットワーク トポロジの一部を明らかにする可能性のあるシステム ルートテーブルの情報が含まれます。ICMP のリダイレクトを送信する機能が適しているのは、ルーターとして機能するシステムのみです。
IPv4 ブロードキャスト パケットへの応答の無効化
ブロードキャスト(ICMP)エコーに応答すると、ネットワークのマッピングが容易になり、増幅攻撃の経路を提供してしまいます。ブロードキャスト アドレスまたはマルチキャスト アドレスに送信された ICMP エコー リクエスト(ping)を無視することで、ネットワーク上のシステムの把握が若干困難になります。
IPv6 ソース ルーティング パケットの受信の無効化
送信元でルーティングされるパケットを使用すると、送信元は、ルーターで構成されたものと異なるパスをパケットが通るように指定できます。これは、ネットワーク セキュリティ対策をバイパスする手段として利用されることがあります。この要件は、IPv6 転送が有効でシステムがルーターとして機能している場合など、送信元でルーティングされるトラフィックの転送にのみ適用されます。送信元でルーティングされたパケットを IPv6 プロトコルで受信する機能の用途のうち、合法的なものはごくわずかです。必要不可欠な場合を除き、無効化してください。
サービス
サービス構成に対する以下の変更が実装されています。
スケジュールされたジョブのリモート ロギング
cron ロギングを使用すると、cron ジョブの実行の成否を確認できます。また、不正なユーザーや悪意のあるユーザーが cron ファシリティの使用を侵害したことを検知することにも使用できます。
AutoFS の無効化
autofs
デーモンは、オンデマンドで NFS を介して共有されるユーザーホーム ディレクトリなどのファイル システムのマウントおよびマウント解除を行います。また、autofs
を使用してリムーバブル メディアを処理することができ、デフォルト構成により cdrom デバイスが /misc/cd
として指定されます。ファイル システムを自動的にマウントすることで、未知のデバイスを容易に導入できるため、悪意のあるアクティビティを行うことが容易になります。