注意事項
この記事では、サービス終了 (EOL) 状態となっている Linux ディストリビューションである CentOS について説明します。 適宜、使用と計画を検討してください。 詳細については、「CentOS のサポート終了に関するガイダンス」を参照してください。
この記事では、次の実装で適用できる Linux ゲストの構成設定について詳しく説明します。
- Linux マシンは、Azure コンピューティング セキュリティ ベースラインの要件を満たす必要がある Azure Policy ゲスト構成の定義
- マシンのセキュリティ構成の脆弱性が修復されている必要がある (Microsoft Defender for Cloud で)
修復チェックと提案については、ベスト プラクティスのアプローチを採用しました。ただし、コマンドがテストされ、運用環境で盲目的に適用されないことを常に確認してください。 自動修復については、制限付きパブリック プレビューで新しい自動修復機能がリリースされているため、"DeployIfNotExist" アクションでもこのポリシーをテストできます。
監査と修復の両方に関するポリシーの新しいリリースは、オープンソース エンジン の azure-osconfig を利用しています。 再プラットフォームのお知らせの詳細を確認できます。
詳しくは Azure Policy ゲスト構成に関するページ、および「Azure Security Benchmark (V2) の概要」をご覧ください。
CIS マッピングは、Distro 独立ベンチマーク v2.0.0 バージョンに基づいています。
一般的なセキュリティ コントロール
| 名前 (CCEID) |
新しい名前 | 詳細 | 修復チェック |
|---|---|---|---|
| /home パーティションに対して nodev オプションが設定されていることを確認する。 (1.1.4) |
/home パーティションで nodev オプションが設定されていることを確認する (CIS: L1 - サーバー - 1.1.14) | 説明: 攻撃者により、特殊なデバイス (ブロック デバイスやキャラクター デバイスなど) が /home パーティションにマウントされる可能性があります。 | /etc/fstab ファイルを編集して、nodev を /home パーティションの 4 番目のフィールド (マウント オプション) に追加します。 詳細については、fstab(5) のマニュアル ページを参照してください。 |
| /tmp パーティションに対して nodev オプションが設定されていることを確認する。 (1.1.5) |
/tmp パーティションで nodev オプションが設定されていることを確認する (CIS: L1 - サーバー - 1.1.3) | 説明: 攻撃者により、特殊なデバイス (ブロック デバイスやキャラクター デバイスなど) が /tmp パーティションにマウントされる可能性があります。 | /etc/fstab ファイルを編集して、nodev を /tmp パーティションの 4 番目のフィールド (マウント オプション) に追加します。 詳細については、fstab(5) のマニュアル ページを参照してください。 |
| /var/tmp パーティションに対して nodev オプションが設定されていることを確認する。 (1.1.6) |
/var/tmp パーティションで nodev オプションが設定されていることを確認する (CIS: L1 - サーバー - 1.1.8) | 説明: 攻撃者により、特殊なデバイス (ブロック デバイスやキャラクター デバイスなど) が /var/tmp パーティションにマウントされる可能性があります。 | /etc/fstab ファイルを編集して、nodev を /var/tmp パーティションの 4 番目のフィールド (マウント オプション) に追加します。 詳細については、fstab(5) のマニュアル ページを参照してください。 |
| /tmp パーティションに対して nosuid オプションが設定されていることを確認する。 (1.1.7) |
/tmp パーティションに nosuid オプションが設定されていることを確認します (CIS: L1 - サーバー - 1.1.4) | 説明: /tmp ファイル システムは一時ファイル ストレージ専用であるため、このオプションを設定して、ユーザーが setuid ファイルを /var/tmp に作成できないようにします。 | /etc/fstab ファイルを編集して、nosuid を /tmp パーティションの 4 番目のフィールド (マウント オプション) に追加します。 詳細については、fstab(5) のマニュアル ページを参照してください。 |
| /var/tmp パーティションに対して nosuid オプションが設定されていることを確認する。 (1.1.8) |
/var/tmp パーティションに nosuid オプションが設定されていることを確認する (CIS: L1 - サーバー - 1.1.9) | 説明: /var/tmp ファイル システムは一時ファイル ストレージ専用であるため、このオプションを設定して、ユーザーが setuid ファイルを /var/tmp に作成できないようにします。 | /etc/fstab ファイルを編集して、nosuid を /var/tmp パーティションの 4 番目のフィールド (マウント オプション) に追加します。 詳細については、fstab(5) のマニュアル ページを参照してください。 |
| /var/tmp パーティションに対して noexec オプションが設定されていることを確認する。 (1.1.9) |
/var/tmp パーティションに noexec オプションが設定されていることを確認します (CIS: L1 - サーバー - 1.1.10) | 説明: /var/tmp ファイル システムは一時ファイル ストレージ専用であるため、このオプションを設定して、ユーザーが /var/tmp の実行可能バイナリを実行できないようにします。 |
/etc/fstab ファイルを編集して、noexec を /var/tmp パーティションの 4 番目のフィールド (マウント オプション) に追加します。 詳細については、fstab(5) のマニュアル ページを参照してください。 |
| /dev/shm パーティションに対して noexec オプションが設定されていることを確認する。 (1.1.16) |
/dev/shm パーティションに noexec オプションが設定されていることを確認します (CIS: L1 - サーバー - 1.1.17) | 説明: ファイル システムに対してこのオプションを設定すると、ユーザーが共有メモリからプログラムを実行できなくなります。 このコントロールにより、潜在的に悪意のあるソフトウェアをユーザーがシステムに導入するのを防ぎます。 | /etc/fstab ファイルを編集して、noexec を /dev/shm パーティションの 4 番目のフィールド (マウント オプション) に追加します。 詳細については、fstab(5) のマニュアル ページを参照してください。 |
| 自動マウントを無効にする (1.1.21) |
自動マウントが無効になっていることを確認する (CIS: L1 - サーバー - 1.1.22) | 説明: 自動マウントが有効になっていると、物理的にアクセスできる人物なら誰でも、メディアをマウントするアクセス許可を持っていなくても、USB ドライブまたはディスクを接続してその内容をシステムで使用可能にすることができます。 | autofs サービスを無効にする: systemctl disable autofs (systemd) または chkconfig autofs off (sysv) |
| USB 記憶装置のマウントが無効になっていることを確認する (1.1.21.1) |
USB ストレージ デバイスのマウントが無効になっていることを確認します (CIS: L1 - サーバー - 1.1.23) | 説明: USB 記憶装置のサポートを削除すると、サーバーのローカル攻撃面が減少します。 | .conf で終わるinstall usb-storage /bin/trueファイルに/etc/modprobe.d/を追加し、次に実行しますmodprobe -r usb-storage |
| コア ダンプが制限されていることを確認する。 (1.5.1) |
コア ダンプが制限されていることを確認する (CIS: L1 - サーバー - 1.5.1) | 説明: コア ダンプに対してハード制限を設定すると、ユーザーがソフト変数をオーバーライドできなくなります。 コア ダンプが必要な場合は、ユーザー グループに対する制限を設定することを検討してください (limits.conf(5) を参照)。 さらに、fs.suid_dumpable 変数を 0 に設定すると、setuid プログラムでコアをダンプできなくなります。 |
* hard core 0に/etc/security/limits.confを追加し、fs.suid_dumpable = 0で/etc/sysctl.confを設定してから、sysctl -p |
| プレリンクが無効になっていることを確認する。 (1.5.4) |
事前リンクが無効になっていることを確認する (CIS: L1 - サーバー - 1.5.4) | 説明: プレリンク機能は、バイナリを変更するため、AIDE の動作の妨げになる可能性があります。 また、悪意のあるユーザーが libc などの共通ライブラリを侵害できる場合に、プレリンクによってシステムの脆弱性が増大する可能性もあります。 | プレリンクのアンインストール: yum remove prelink (RHEL/CentOS) または apt remove prelink (Debian/Ubuntu) |
| /etc/motd に対するアクセス許可が構成されていることを確認する。 (1.7.1.4) |
/etc/motd に対するアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 1.7.1.4) | 説明: /etc/motd ファイルの所有権が正しくない場合、認可されていないユーザーによって、正しくないか誤解を招く情報でファイルに変更が加えられる可能性があります。 |
所有権とアクセス許可を設定します。 chown root:root /etc/motd && chmod 644 /etc/motd |
| /etc/issue に対するアクセス許可が構成されていることを確認する。 (1.7.1.5) |
/etc/issue に対するアクセス許可が構成されていることを確認する (CIS: L1 - サーバー - 1.7.1.5) | 説明: /etc/issue ファイルの所有権が正しくない場合、認可されていないユーザーによって、正しくないか誤解を招く情報でファイルに変更が加えられる可能性があります。 |
所有権とアクセス許可を設定します。 chown root:root /etc/issue && chmod 644 /etc/issue |
| /etc/issue.net に対するアクセス許可が構成されていることを確認する。 (1.7.1.6) |
/etc/issue.net に対するアクセス許可が構成されていることを確認する (CIS: L1 - サーバー - 1.7.1.6) | 説明: /etc/issue.net ファイルの所有権が正しくない場合、認可されていないユーザーによって、正しくないか誤解を招く情報でファイルに変更が加えられる可能性があります。 |
所有権とアクセス許可を設定します。 chown root:root /etc/issue.net && chmod 644 /etc/issue.net |
| すべてのリムーバブル メディアに対して nodev オプションを有効にする必要がある。 (2.1) |
すべてのリムーバブル メディアで nodev オプションが有効になっていることを確認します (CIS: L1 - サーバー - 1.1.18) | 説明: 攻撃者により、特殊なデバイス (ブロック デバイスやキャラクター デバイスなど) がリムーバブル メディア経由でマウントされる可能性があります | /etc/fstab で nodev オプションを 4 番目のフィールド (マウント オプション) に追加します。 詳細については、fstab(5) のマニュアル ページを参照してください。 |
| すべてのリムーバブル メディアに対して noexec オプションを有効にする必要がある。 (2.2) |
すべてのリムーバブル メディアで noexec オプションが有効になっていることを確認します (CIS: L1 - サーバー - 1.1.20) | 説明: 攻撃者がリムーバブル メディアから実行可能ファイルを読み込む可能性があります | /etc/fstab で noexec オプションを 4 番目のフィールド (マウント オプション) に追加します。 詳細については、fstab(5) のマニュアル ページを参照してください。 |
| すべてのリムーバブル メディアに対して nosuid オプションを有効にする必要がある。 (2.3) |
すべてのリムーバブル メディアで nosuid オプションが有効になっていることを確認します (CIS: L1 - サーバー - 1.1.19) | 説明: 昇格したセキュリティ コンテキストで実行されるファイルを攻撃者がリムーバブル メディアから読み込む可能性があります | /etc/fstab で nosuid オプションを 4 番目のフィールド (マウント オプション) に追加します。 詳細については、fstab(5) のマニュアル ページを参照してください。 |
| talk クライアントがインストールされていないことを確認する。 (2.3.3) |
Talk クライアントがインストールされていないことを確認する (CIS: L1 - サーバー - 2.3.3) | 説明: 非暗号化プロトコルを通信に使用するソフトウェアによってセキュリティのリスクが生じます。 | アンインストール トーク: yum remove talk (RHEL/CentOS) または apt remove talk (Debian/Ubuntu) |
| /etc/hosts.allow に対するアクセス許可が構成されていることを確認する。 (3.4.4) |
/etc/hosts.allow に対するアクセス許可が構成されていることを確認します (CIS: L1 - Server - 3.3.2 + 3.3.4) | 説明: 認可されていない書き込みアクセスから /etc/hosts.allow ファイルを確実に保護することは重要です。 これは既定で保護されますが、ファイルのアクセス許可が誤って、または悪意のある操作によって変更される可能性があります。 |
所有権とアクセス許可を設定します。 chown root:root /etc/hosts.allow && chmod 644 /etc/hosts.allow |
| /etc/hosts.deny に対するアクセス許可が構成されていることを確認する。 (3.4.5) |
/etc/hosts.deny に対するアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 3.3.3 + 3.3.5) | 説明: 認可されていない書き込みアクセスから /etc/hosts.deny ファイルを確実に保護することは重要です。 これは既定で保護されますが、ファイルのアクセス許可が誤って、または悪意のある操作によって変更される可能性があります。 |
所有権とアクセス許可を設定します。 chown root:root /etc/hosts.deny && chmod 644 /etc/hosts.deny |
| 既定の拒否ファイアウォール ポリシーを確認する (3.6.2) |
既定の拒否ファイアウォール ポリシーが設定されていることを確認します (CIS: L1 - サーバー - 3.5.2.1) | 説明: 既定の受け入れポリシーでは、ファイアウォールは、明示的に拒否されていないすべてのパケットを受け入れます。 既定の許可ポリシーを使用するよりも、既定の DROP ポリシーを使用した方が、セキュリティで保護されたファイアウォールの管理が容易です。 | ファイアウォール ソフトウェアを使用して、着信、発信、ルーティングの各トラフィックについて既定のポリシーを deny または reject の適切な方に設定します |
| すべての NFS マウントに対して nodev/nosuid オプションを有効にする必要がある。 (5) |
すべての NFS マウントで nodev/nosuid オプションが有効になっていることを確認する | 説明: 昇格したセキュリティ コンテキストまたは特殊なデバイスで実行されるファイルを、攻撃者がリモート ファイル システムから読み込む可能性があります | /etc/fstab で nosuid および nodev オプションを 4 番目のフィールド (マウント オプション) に追加します。 詳細については、fstab(5) のマニュアル ページを参照してください。 |
| /etc/ssh/sshd_config に対するアクセス許可が構成されていることを確認します。 (5.2.1) |
/etc/ssh/sshd_config に対するアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 5.2.1) | 説明: /etc/ssh/sshd_config ファイルは、特権のないユーザーが不正な変更をできないようにする必要があります。 |
所有権とアクセス許可を設定します。 chown root:root /etc/ssh/sshd_config && chmod 600 /etc/ssh/sshd_config |
| パスワード作成要件が構成されていることを確認する。 (5.3.1) |
パスワード作成要件が構成されていることを確認する (CIS: L1 - サーバー - 5.3.1) | 説明: 強力なパスワードを使用すると、ブルートフォース方式によってシステムがハッキングされるのを防ぐことができます。 |
/etc/pam.d/common-passwordまたは/etc/pam.d/system-authで PAM パスワードの複雑さを構成します。password requisite pam_pwquality.so minlen=14 minclass=4 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1 |
| 失敗したパスワード試行に対するロックアウトが構成されていることを確認する。 (5.3.2) |
失敗したパスワード試行のロックアウトが構成されていることを確認します (CIS: L1 - サーバー - 5.3.2) | 説明: n 回連続でログイン試行に失敗したユーザー ID をロックアウトすると、システムに対するブルートフォース パスワード攻撃の抑止につながります。 |
Ubuntu および Debian の場合、必要に応じて pam_tally および pam_deny モジュールを追加します。 その他のすべてのディストリビューションについては、使用しているディストリビューションのドキュメントを参照してください。 |
| 不要なファイル システム (cramfs) のインストールと使用を無効にする (6.1) |
cramfs ファイル システムが無効になっていることを確認します (CIS: L1 - サーバー - 1.1.1.1) | 説明: 攻撃者が cramfs の脆弱性を使用して特権を昇格させる可能性があります | .conf で終わるinstall cramfs /bin/trueファイルに/etc/modprobe.d/を追加し、次に実行しますmodprobe -r cramfs |
| 不要なファイル システム (freevxfs) のインストールと使用を無効にする (6.2) |
freevxfs ファイル システムが無効になっていることを確認します (CIS: L1 - Server - 1.1.1.2) | 説明: 攻撃者が freevxfs の脆弱性を使用して特権を昇格させる可能性があります | .conf で終わるinstall freevxfs /bin/trueファイルに/etc/modprobe.d/を追加し、次に実行しますmodprobe -r freevxfs |
| すべてのユーザーのホーム ディレクトリが存在することを確認する (6.2.7) |
すべてのユーザーのホーム ディレクトリが存在することを確認します (CIS: L1 - サーバー - 6.2.7) | 説明: ユーザーのホーム ディレクトリが存在しないか、割り当てられていない場合、ユーザーはボリューム ルートに配置されます。 さらに、そのユーザーは、ファイルを書き込むこと、または環境変数を設定することができなくなります。 | ユーザーのホーム ディレクトリが存在しない場合は作成し、それぞれのユーザーがこのディレクトリの所有者であることを確認します。 ホーム ディレクトリが割り当てられていないユーザーは、必要に応じて、削除するかホーム ディレクトリを割り当てる必要があります。 |
| ユーザーが自分のホーム ディレクトリの所有者であることを確認する (6.2.9) |
ユーザーが自分のホーム ディレクトリを所有していることを確認する (CIS: L1 - サーバー - 6.2.9) | 説明: ユーザーはそのホーム ディレクトリに格納されているファイルについて責任があるため、このユーザーがこのディレクトリの所有者である必要があります。 | 定義されたユーザーが所有者でないホーム ディレクトリがあれば、その所有権を正しいユーザーに変更します。 |
| ユーザーのドット ファイルへの書き込みがグループまたは全員に許可されていないことを確認する。 (6.2.10) |
ユーザーのドット ファイルがグループまたはワールド書き込み可能でないことを確認する (CIS: L1 - サーバー - 6.2.10) | 説明: ユーザー構成ファイルへの書き込みがグループまたは全員に許可されていると、悪意のあるユーザーが他のユーザーのデータを盗取または改変したり、別のユーザーのシステム特権を取得したりできる場合があります。 | ユーザー コミュニティに告知せずにユーザーのファイルにグローバルな変更を加えると、予期しない停止やユーザーの不満を招く可能性があります。 そのため、ユーザーのドット ファイルのアクセス許可を報告し、サイト ポリシーの修復アクションを決定する監視ポリシーを確立することをお勧めします。 |
| どのユーザーにも .forward ファイルが存在しないことを確認する (6.2.11) |
ユーザーに .forward ファイルがないことを確認します (CIS: L1 - サーバー - 6.2.11) | 説明: .forward ファイルの使用によって生じるセキュリティ リスクは、機密データが組織の外部に誤って転送されてしまう可能性があるというものです。
.forward ファイルは、意図しないアクションを実行する場合があるコマンドの実行に使用される可能性があるため、この点もリスクになります。 |
ユーザー コミュニティに告知せずにユーザーのファイルにグローバルな変更を加えると、予期しない停止やユーザーの不満を招く可能性があります。 このため、監視ポリシーを確立し、サイト ポリシーに従って、ユーザーの .forward ファイルについてレポートしたり、実行するアクションを決定したりすることをお勧めします。 |
| どのユーザーにも .netrc ファイルが存在しないことを確認する (6.2.12) |
.netrc ファイルを持つユーザーがいないことを確認します (CIS: L1 - Server - 6.2.12) | 説明: .netrc ファイルには非暗号化形式でパスワードが保存されますが、これは重大なセキュリティ リスクです。 FTP を無効にしていても、ユーザー アカウントが他のシステムから .netrc ファイルを持ち込んでいる場合があり、これが持ち込み元のシステムにとってのリスクになる可能性があります |
ユーザー コミュニティに告知せずにユーザーのファイルにグローバルな変更を加えると、予期しない停止やユーザーの不満を招く可能性があります。 このため、監視ポリシーを確立し、サイト ポリシーに従って、ユーザーの .netrc ファイルについてレポートしたり、実行するアクションを決定したりすることをお勧めします。 |
| どのユーザーにも .rhosts ファイルが存在しないことを確認する (6.2.14) |
ユーザーに .rhosts ファイルがないことを確認します (CIS: L1 - Server - 6.2.14) | 説明: このアクションは、.rhosts ファイルで /etc/pam.conf のサポートが許可されている場合にのみ該当します。
.rhosts ファイルは、/etc/pam.conf でサポートが無効になっていれば効果を持ちませんが、他のシステムから持ち込まれている場合があり、その持ち込み元のシステムの攻撃者にとって有用な情報が含まれている可能性があります。 |
ユーザー コミュニティに告知せずにユーザーのファイルにグローバルな変更を加えると、予期しない停止やユーザーの不満を招く可能性があります。 このため、監視ポリシーを確立し、サイト ポリシーに従って、ユーザーの .rhosts ファイルについてレポートしたり、実行するアクションを決定したりすることをお勧めします。 |
| /etc/passwd のすべてのグループが /etc/group に存在していることを確認する (6.2.15) |
/etc/passwd 内のすべてのグループが /etc/group に存在することを確認します (CIS: L1 - サーバー - 6.2.15) | 説明: /etc/passwd ファイルで定義されているが /etc/group ファイルでは定義されていないグループは、そのアクセス許可が適切に管理されていないため、システムのセキュリティにとって脅威になります。 | /etc/passwd で定義されている個々のグループについて、対応するグループが /etc/group に存在していることを確認します |
| 重複した UID が存在していないことを確認する (6.2.16) |
重複する UID が存在しないことを確認する (CIS: L1 - サーバー - 6.2.16) | 説明: 説明責任のために、また適切なアクセス保護を保証するために、ユーザーには一意の UID を割り当てる必要があります。 | 一意の UID を確立します。また、共有 UID が所有者になっているすべてのファイルを確認して、ファイルの本来の帰属先であると考えられる UID を特定します。 |
| 重複した GID が存在していないことを確認する (6.2.17) |
重複する GID が存在しないことを確認する (CIS: L1 - サーバー - 6.2.17) | 説明: 説明責任のために、また適切なアクセス保護を保証するために、グループには一意の GID を割り当てる必要があります。 | 一意の GID を確立します。また、共有 GID が所有者になっているすべてのファイルを確認して、ファイルの本来の帰属先であると考えられる GID を特定します。 |
| 重複したユーザー名が存在していないことを確認する (6.2.18) |
重複するユーザー名が存在しないことを確認します (CIS: L1 - サーバー - 6.2.18) | 説明: 重複したユーザー名を割り当てられたユーザーは、/etc/passwd におけるそのユーザー名の最初の UID を使用してファイルを作成し、そのファイルへのアクセス権を持つことになります。 たとえば、'test4' の UID が 1000 で、後続の 'test4' エントリの UID が 2000 である場合、'test4' としてのログインには UID 1000 が使用されます。 実質的に UID が共有されますが、これはセキュリティ上問題があります。 |
すべてのユーザーの一意なユーザー名を確立します。 ユーザーの UID が一意である限り、ファイルの所有権によって変更が自動的に反映されます。 |
| 重複したグループが存在していないことを確認する (6.2.19) |
重複するグループが存在しないことを確認する (CIS: L1 - サーバー - 6.2.19) | 説明: 重複したグループ名を割り当てられたグループは、/etc/group におけるそのグループの最初の GID を使用してファイルを作成し、そのファイルへのアクセス権を持つことになります。 実質的に GID が共有されますが、これはセキュリティ上問題があります。 |
すべてのユーザー グループの一意な名前を確立します。 グループの GID が一意である限り、ファイル グループの所有権によって変更が自動的に反映されます。 |
| シャドウ グループが空であることを確認する (6.2.20) |
シャドウ グループが空であることを確認する (CIS: L1 - サーバー - 6.2.20) | 説明: シャドウ グループに割り当てられたすべてのユーザーに、/etc/shadow ファイルへの読み取りアクセス権が付与されます。 攻撃者が /etc/shadow ファイルの読み取りアクセス権を取得できる場合、攻撃者は容易に、ハッシュ化パスワードに対してパスワード クラッキング プログラムを実行してパスワードを突破することができます。
/etc/shadow ファイルに保存されている (有効期限などの) その他のセキュリティ情報も、別のユーザー アカウントを侵害するために役立つ可能性があります。 |
すべてのユーザーをシャドウ グループから削除します |
| 不要なファイル システム (hfs) のインストールと使用を無効にする (6.3) |
hfs ファイル システムが無効になっていることを確認します (CIS: L1 - Server - 1.1.1.4) | 説明: 攻撃者が hfs の脆弱性を使用して特権を昇格させる可能性があります | .conf で終わるinstall hfs /bin/trueファイルに/etc/modprobe.d/を追加し、次に実行しますmodprobe -r hfs |
| 不要なファイル システム (hfsplus) のインストールと使用を無効にする (6.4) |
hfsplus ファイル システムが無効になっていることを確認します (CIS: L1 - Server - 1.1.1.5) | 説明: 攻撃者が hfsplus の脆弱性を使用して特権を昇格させる可能性があります | .conf で終わるinstall hfsplus /bin/trueファイルに/etc/modprobe.d/を追加し、次に実行しますmodprobe -r hfsplus |
| 不要なファイル システム (jffs2) のインストールと使用を無効にする (6.5) |
jffs2 ファイル システムが無効になっていることを確認します (CIS: L1 - Server - 1.1.1.3) | 説明: 攻撃者が jffs2 の脆弱性を使用して特権を昇格させる可能性があります | .conf で終わるinstall jffs2 /bin/trueファイルに/etc/modprobe.d/を追加し、次に実行しますmodprobe -r jffs2 |
| 認可されたソースからのカーネル以外はコンパイルしない (10) |
カーネルが承認されたソースからコンパイルされていることを確認する | 説明: 認可されていないソースからのカーネルには、攻撃者にアクセス権を付与するための脆弱性やバックドアが含まれている可能性があります。 | 使用しているディストリビューションのベンダーから提供されたカーネルをインストールします。 |
| /etc/shadow ファイルのアクセス許可を 0400 に設定する必要がある (11.1) |
/etc/shadow に対するファイルのアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 6.1.3) | 説明: /etc/shadow が適切にセキュリティで保護されていない場合、ここにあるハッシュ化パスワードを攻撃者が取得または操作できます。 | 所有権とアクセス許可を設定します。 chown root:shadow /etc/shadow && chmod 640 /etc/shadow |
| /etc/shadow- ファイルのアクセス許可を 0400 に設定する必要がある (11.2) |
/etc/shadow- に対するファイルのアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 6.1.7) | 説明: /etc/shadow が適切にセキュリティで保護されていない場合、ここにあるハッシュ化パスワードを攻撃者が取得または操作できます。 | 所有権とアクセス許可を設定します。 chown root:shadow /etc/shadow- && chmod 640 /etc/shadow- |
| /etc/gshadow ファイルのアクセス許可を 0400 に設定する必要がある (11.3) |
/etc/gshadow に対するファイルのアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 6.1.5) | 説明: このファイルが適切にセキュリティで保護されていない場合、攻撃者がセキュリティ グループに参加する可能性があります | 所有権とアクセス許可を設定します。 chown root:shadow /etc/gshadow && chmod 640 /etc/gshadow |
| /etc/gshadow- ファイルのアクセス許可を 0400 に設定する必要がある (11.4) |
/etc/gshadow- に対するファイルのアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 6.1.9) | 説明: このファイルが適切にセキュリティで保護されていない場合、攻撃者がセキュリティ グループに参加する可能性があります | 所有権とアクセス許可を設定します。 chown root:shadow /etc/gshadow- && chmod 640 /etc/gshadow- |
| /etc/passwd ファイルのアクセス許可は 0644 である必要がある (12.1) |
/etc/passwd に対するファイルのアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 6.1.2) | 説明: ユーザー ID やログイン シェルが攻撃者によって変更される可能性があります | 所有権とアクセス許可を設定します。 chown root:root /etc/passwd && chmod 644 /etc/passwd |
| /etc/group ファイルのアクセス許可は 0644 である必要がある (12.2) |
/etc/group に対するファイルのアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 6.1.4) | 説明: 攻撃者が、グループのメンバーシップに変更を加えることによって特権を昇格させる可能性があります | 所有権とアクセス許可を設定します。 chown root:root /etc/group && chmod 644 /etc/group |
| /etc/passwd- ファイルのアクセス許可は 0600 である必要がある (12.3) |
/etc/passwd- に対するファイルのアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 6.1.6) | 説明: このファイルが適切にセキュリティで保護されていない場合、攻撃者がセキュリティ グループに参加する可能性があります | 所有権とアクセス許可を設定します。 chown root:root /etc/passwd- && chmod 600 /etc/passwd- |
| /etc/group- ファイルのアクセス許可は 0644 である必要がある (12.4) |
/etc/group- に対するファイルのアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 6.1.8) | 説明: 攻撃者が、グループのメンバーシップに変更を加えることによって特権を昇格させる可能性があります | 所有権とアクセス許可を設定します。 chown root:root /etc/group- && chmod 644 /etc/group- |
| su による root アカウントへのアクセスを 'root' グループに制限する必要がある (21) |
su を介したルート アカウントへのアクセスが 'root' グループに制限されていることを確認します (CIS: L1 - サーバー - 5.5) | 説明: su が root グループのユーザーに制限されていない場合、攻撃者がパスワード推測によってアクセス許可を昇格させる可能性があります。 |
auth required pam_wheel.so use_uidに/etc/pam.d/suを追加し、ホイール グループが存在することを確認する |
| 'root' グループが存在し、su で root になれるメンバー全員がこのグループに含まれている必要がある (22) |
"root" グループが存在し、root に su できるすべてのメンバーが含まれていることを確認します (CIS: L1 - Server - 5.6) | 説明: su が root グループのユーザーに制限されていない場合、攻撃者がパスワード推測によってアクセス許可を昇格させる可能性があります。 | コマンド 'groupadd -g 0 root' によって root グループを作成します |
| すべてのアカウントにパスワードが必要です (23.2) |
ログインできるすべてのユーザー アカウントにパスワードが設定されていることを確認する | 説明: 攻撃者は、パスワードのないアカウントにログインして任意のコマンドを実行できます。 | passwd コマンドを使用して、すべてのアカウントのパスワードを設定します |
| root 以外のアカウントにはゼロ (0) より大きい一意の UID が必要 (24) |
root 以外のすべてのユーザー アカウントに、0 より大きい一意の UID があることを確認します | 説明: root 以外のアカウントの UID が 0 になっていると、攻撃者がそのアカウントを侵害して root 特権を取得する可能性があります。 | 'usermod -u' を使用して、一意でありゼロでない UID を root 以外のすべてのアカウントに割り当てます。 |
| 仮想メモリ領域のランダム化配置を有効にする必要がある (25) |
仮想メモリ領域のランダム化された配置 (ASLR) が有効になっていることを確認します (CIS: L1 - サーバー - 1.5.3) | 説明: 攻撃者が、メモリ内の既知の領域に実行可能コードを書き込んで特権を昇格させる可能性があります | 値 '1' または '2' をファイル '/proc/sys/kernel/randomize_va_space' に追加します |
| XD/NX プロセッサ機能用のカーネル サポートを有効にする必要がある (26) |
XD/NX プロセッサ機能のカーネル サポートが有効になっていることを確認します (CIS: L1 - サーバー - 1.5.2) | 説明: 攻撃者がメモリ内のデータ領域からコードを実行し、その結果、特権が昇格される可能性があります。 | ファイル '/proc/cpuinfo' にフラグ 'nx' が含まれていることを確認します |
| root の $PATH に '.' を含めてはならない (27.1) |
ルートの$PATHに '.' が表示されないことを確認します (CIS: L1 - Server - 6.2.6) | 説明: 攻撃者が、root の $PATH に悪意のあるファイルを配置することによって特権を昇格させる可能性があります。 | /root/.profile の 'export PATH=' 行を修正します |
| ユーザーのホーム ディレクトリの制限をモード 750 以上にする必要がある (28) |
ユーザー のホーム ディレクトリへのアクセスが制限されていることを確認する | 説明: 攻撃者が、他のユーザーのホーム フォルダーから機密情報を取得する可能性があります。 | ホーム ディレクトリのアクセス許可を 750 以上の制限に設定します。 chmod 750 /home/* |
| すべてのユーザーの既定の umask を login.defs で 077 に設定する必要がある (29) |
すべてのユーザーの既定の umask が構成されていることを確認する | 説明: 攻撃者が、他のユーザーが所有者であるファイルから機密情報を取得する可能性があります。 |
UMASK 077に/etc/login.defsを追加し、umask 077に/etc/profileを追加します。/etc/bashrc |
| すべてのブート ローダーでパスワード保護が有効になっている必要がある。 (31) |
すべてのブートローダーでパスワード保護が有効になっていることを確認します (CIS: L1 - サーバー - 1.4.2) | 説明: 物理的にアクセスできる攻撃者が、ブート ローダーのオプションを変更して無制限のシステム アクセスを生じさせる可能性があります | ブート ローダーのパスワードをファイル '/boot/grub/grub.cfg' に追加します |
| ブート ローダーの構成でアクセス許可が構成されていることを確認する (31.1) |
ブートローダー構成に対するアクセス許可が構成されていることを確認する (CIS: L1 - サーバー - 1.4.1) | 説明: root のみに読み取りと書き込みのアクセス許可を設定して、root 以外のユーザーはブート パラメーターの参照も変更もできないようにします。 root 以外のユーザーにブート パラメーターが読み取られると、そのユーザーは、起動時のセキュリティの弱点を特定したり、それらの弱点を悪用したりできる場合があります。 | ブートローダー構成のアクセス許可を設定する: chown root:root /boot/grub*/grub.cfg && chmod 400 /boot/grub*/grub.cfg (ブートローダーのパスを調整する) |
| シングル ユーザー モードで認証が必須であることを確認する。 (33) |
シングル ユーザー モードで認証が必要であることを確認する (CIS: L1 - サーバー - 1.4.3) | 説明: シングル ユーザー モードで認証を必須にすると、認可されていないユーザーが資格情報を使わずにシングル ユーザーでシステムを再起動して root 特権を取得することができなくなります。 | 次のコマンドを実行して root ユーザーのパスワードを設定します: passwd root |
| パケット リダイレクト送信が無効になっていることを確認する。 (38.3) |
パケット リダイレクト送信が無効になっていることを確認する (CIS: L1 - サーバー - 3.1.2) | 説明: 攻撃者は、侵害されたホストを使用して、無効な ICMP リダイレクトを他のルーター デバイスに送信する可能性があります。その目的は、ルーティングを書き換えて、正当なシステムではなく攻撃者がセットアップしたシステムにユーザーをアクセスさせることです。 |
/etc/sysctl.confに追加: net.ipv4.conf.all.send_redirects = 0してnet.ipv4.conf.default.send_redirects = 0し、次に実行します。sysctl -p |
| すべてのインターフェイスで ICMP リダイレクトの送信を無効にする必要がある。 (net.ipv4.conf.default.accept_redirects = 0) (38.4) |
ICMP リダイレクトが受け入れられないことを確認する (CIS: L1 - サーバー - 3.2.2) - 複数のルールを組み合わせる | 説明: 攻撃者がこのシステムのルーティング テーブルを変更し、トラフィックを別の送信先にリダイレクトする可能性があります。 |
/etc/sysctl.confに追加: net.ipv4.conf.default.accept_redirects = 0してnet.ipv6.conf.default.accept_redirects = 0し、次に実行します。sysctl -p |
| すべてのインターフェイスで ICMP リダイレクトの送信を無効にする必要がある。 (net.ipv4.conf.default.secure_redirects = 0) (38.5) |
ICMP リダイレクトが受け入れられないことを確認する (CIS: L1 - サーバー - 3.2.2) - 複数のルールを組み合わせる | 説明: 攻撃者がこのシステムのルーティング テーブルを変更し、トラフィックを別の送信先にリダイレクトする可能性があります。 |
/etc/sysctl.confに追加: net.ipv4.conf.default.secure_redirects = 0し、次に実行しますsysctl -p |
| すべてのインターフェイスでソース ルーティング パケットの受け入れを無効にする必要がある。 (net.ipv4.conf.all.accept_source_route = 0) (40.1) |
すべてのインターフェイス (CIS: L1 - サーバー - 3.2.1) - IPv4 規則と IPv6 規則の組み合わせに対して、送信元ルーティング パケットの受け入れが無効になっていることを確認します | 説明: 攻撃者が、悪意のある目的でトラフィックをリダイレクトする可能性があります。 |
sysctl -w key=value を実行して準拠値に設定します。 |
| すべてのインターフェイスでソース ルーティング パケットの受け入れを無効にする必要がある。 (net.ipv6.conf.all.accept_source_route = 0) (40.2) |
すべてのインターフェイス (CIS: L1 - サーバー - 3.2.1) - IPv4 規則と IPv6 規則の組み合わせに対して、送信元ルーティング パケットの受け入れが無効になっていることを確認します | 説明: 攻撃者が、悪意のある目的でトラフィックをリダイレクトする可能性があります。 |
sysctl -w key=value を実行して準拠値に設定します。 |
| ソース ルーティング パケットを受け入れるための既定の設定を、ネットワーク インターフェイスで無効にする必要があります。 (net.ipv4.conf.default.accept_source_route = 0) (42.1) |
ネットワーク インターフェイス (CIS: L1 - サーバー - 3.2.1) - IPv4 規則と IPv6 規則を組み合わせた場合、送信元ルーティング パケットを受け入れるための既定の設定が無効になっていることを確認します | 説明: 攻撃者が、悪意のある目的でトラフィックをリダイレクトする可能性があります。 |
sysctl -w key=value を実行して準拠値に設定します。 |
| ソース ルーティング パケットを受け入れるための既定の設定を、ネットワーク インターフェイスで無効にする必要があります。 (net.ipv6.conf.default.accept_source_route = 0) (42.2) |
ネットワーク インターフェイス (CIS: L1 - サーバー - 3.2.1) - IPv4 規則と IPv6 規則を組み合わせた場合、送信元ルーティング パケットを受け入れるための既定の設定が無効になっていることを確認します | 説明: 攻撃者が、悪意のある目的でトラフィックをリダイレクトする可能性があります。 |
sysctl -w key=value を実行して準拠値に設定します。 |
| ブロードキャストに対する偽の ICMP 応答の無視を有効にする必要がある。 (net.ipv4.icmp_ignore_bogus_error_responses = 1) (43) |
ブロードキャストに対する偽の ICMP 応答の無視が有効になっていることを確認します (CIS: L1 - サーバー - 3.2.6) | 説明: 攻撃者が ICMP 攻撃を実行し、結果として DoS が発生する可能性があります |
/etc/sysctl.confに追加: net.ipv4.icmp_ignore_bogus_error_responses = 1し、次に実行しますsysctl -p |
| ブロードキャスト/マルチキャスト アドレスに送信される ICMP エコー要求 (ping) の無視が有効になっている必要がある。 (net.ipv4.icmp_echo_ignore_broadcasts = 1) (44) |
ブロードキャスト/マルチキャスト アドレスに送信された ICMP エコー要求 (ping) の無視が有効になっていることを確認します (CIS: L1 - サーバー - 3.2.5) | 説明: 攻撃者が ICMP 攻撃を実行し、結果として DoS が発生する可能性があります |
/etc/sysctl.confに追加: net.ipv4.icmp_echo_ignore_broadcasts = 1し、次に実行しますsysctl -p |
| (不可能なアドレスを持つ) martian パケットのログ記録がすべてのインターフェイスで有効になっている必要がある。 (net.ipv4.conf.all.log_martians = 1) (45.1) |
すべてのインターフェイスで、martian パケット (不可能なアドレスを持つパケット) のログ記録が有効になっていることを確認します | 説明: 攻撃者がなりすましアドレスから、検知されることなくトラフィックを送信する可能性があります |
/etc/sysctl.confに追加: net.ipv4.conf.all.log_martians = 1してnet.ipv4.conf.default.log_martians = 1し、次に実行します。sysctl -p |
| パスの反転によるソース検証の実行をすべてのインターフェイスで有効にする必要がある。 (net.ipv4.conf.all.rp_filter = 1) (46.1) |
すべてのインターフェイス (CIS: L1 - Server - 3.2.7) - 複数のルールを組み合わせて、リバース パスによるソース検証の実行が有効になっていることを確認します | 説明: ルーティング不可能なアドレスからのトラフィックをシステムが受け入れます。 |
/etc/sysctl.confに追加: net.ipv4.conf.all.rp_filter = 1してnet.ipv4.conf.default.rp_filter = 1し、次に実行します。sysctl -p |
| パスの反転によるソース検証の実行をすべてのインターフェイスで有効にする必要がある。 (net.ipv4.conf.default.rp_filter = 1) (46.2) |
すべてのインターフェイス (CIS: L1 - Server - 3.2.7) - 複数のルールを組み合わせて、リバース パスによるソース検証の実行が有効になっていることを確認します | 説明: ルーティング不可能なアドレスからのトラフィックをシステムが受け入れます。 |
/etc/sysctl.confに追加: net.ipv4.conf.all.rp_filter = 1してnet.ipv4.conf.default.rp_filter = 1し、次に実行します。sysctl -p |
| TCP SYN Cookie を有効にする必要がある。 (net.ipv4.tcp_syncookies = 1) (47) |
TCP SYN Cookie が有効になっていることを確認する (CIS: L1 - サーバー - 3.2.8) | 説明: 攻撃者が TCP 経由で DoS を実行する可能性があります |
/etc/sysctl.confに追加: net.ipv4.tcp_syncookies = 1し、次に実行しますsysctl -p |
| システムがネットワーク スニファーとして機能してはならない。 (48) |
システムがネットワーク スニファーとして機能しないことを確認する | 説明: 攻撃者が、無作為検出インターフェイスを使用してネットワーク トラフィックを盗聴する場合があります | 無作為検出モードは '/etc/network/interfaces' または '/etc/rc.local' の 'promisc' エントリによって有効にされます。 両方のファイルを確認して、このエントリを削除します。 |
| すべてのワイヤレス インターフェイスを無効にする必要がある。 (49) |
すべてのワイヤレス インターフェイスが無効になっていることを確認します (CIS: L1 - サーバー - 3.6) | 説明: 攻撃者が、偽の AP を作成して伝送をインターセプトする可能性があります。 | '/etc/network/interfaces' で、すべてのワイヤレス インターフェイスが無効になっていることを確認します |
| IPv6 プロトコルが有効になっている必要がある。 (50) |
IPv6 プロトコルが有効になっていることを確認する | 説明: これは、最新のネットワークでの通信に必要です。 | /etc/sysctl.conf を開き、'net.ipv6.conf.all.disable_ipv6' および 'net.ipv6.conf.default.disable_ipv6' が 0 に設定されていることを確認します |
| DCCP が無効になっていることを確認する (54) |
DCCP が無効になっていることを確認する | 説明: 潜在的な攻撃面を減らすために、プロトコルが不要な場合はドライバーをインストールしないことをお勧めします。 | .conf で終わるinstall dccp /bin/trueファイルに/etc/modprobe.d/を追加し、次に実行しますmodprobe -r dccp |
| SCTP が無効になっていることを確認する (55) |
SCTP が無効になっていることを確認する | 説明: 潜在的な攻撃面を減らすために、プロトコルが不要な場合はドライバーをインストールしないことをお勧めします。 | .conf で終わるinstall sctp /bin/trueファイルに/etc/modprobe.d/を追加し、次に実行しますmodprobe -r sctp |
| RDS のサポートを無効にする。 (56) |
RDS のサポートが無効になっていることを確認する | 説明: 攻撃者が RDS の脆弱性を使用してシステムを侵害する可能性があります | .conf で終わるinstall rds /bin/trueファイルに/etc/modprobe.d/を追加し、次に実行しますmodprobe -r rds |
| TIPC が無効になっていることを確認する (57) |
TIPC が無効になっていることを確認する | 説明: 潜在的な攻撃面を減らすために、プロトコルが不要な場合はドライバーをインストールしないことをお勧めします。 | .conf で終わるinstall tipc /bin/trueファイルに/etc/modprobe.d/を追加し、次に実行しますmodprobe -r tipc |
| ログ記録が構成されていることを確認する (60) |
ログ記録が構成されていることを確認する (CIS: L1 - サーバー - 4.2.1.2 + 4.2.1.3) | 説明: 重要なセキュリティ関連情報の多くは rsyslog 経由で送信されます (su 試行の成功と失敗、ログイン試行の失敗、root ログイン試行など)。 |
必要に応じて syslog、rsyslog、または syslog-ng を構成します |
| syslog、rsyslog、または syslog-ng パッケージがインストールされている必要がある。 (61) |
syslog、rsyslog、または syslog-ng パッケージがインストールされていることを確認します (CIS: L1 - Server - 4.2.1.1) | 説明: 信頼性とセキュリティの問題がログに記録されず、適切な診断ができなくなります。 | rsyslog のインストール: yum install rsyslog (RHEL/CentOS) または apt install rsyslog (Debian/Ubuntu) |
| systemd-journald サービスは、ログ メッセージを保持するように構成する必要があります (61.1) |
systemd-journald サービスがログ メッセージを保持していることを確認します (CIS: L1 - Server - 4.2.2.3) | 説明: 信頼性とセキュリティの問題がログに記録されず、適切な診断ができなくなります。 | /var/log/journal を作成し、journald.conf の中の Storage が auto または persistent であることを確認します |
| ログ サービスが有効になっていることを確認する (62) |
ログ サービスが有効になっていることを確認する | 説明: ノードでのイベントをログに記録できることは不可欠です。 | rsyslog サービスを有効にする: systemctl enable rsyslog (systemd) または chkconfig rsyslog on (sysv) |
| すべての rsyslog ログ ファイルのアクセス許可を 640 または 600 に設定する必要がある。 (63) |
すべての rsyslog ログ ファイルのファイルアクセス許可が構成されていることを確認します (CIS: L1 - Server - 4.2.1.4) | 説明: 攻撃者がログを操作してアクティビティを隠蔽する可能性があります | 行 '$FileCreateMode 0640' をファイル '/etc/rsyslog.conf' に追加します |
| ロガー構成ファイルが制限されていることを確認する。 (63.1) |
ロガー構成ファイルが制限されていることを確認する (CIS: L1 - サーバー - 4.2.1.4) | 説明: 機密性が高い syslog データのアーカイブと保護を確実にするために、ログ ファイルが存在しておりアクセス許可が正しく設定されていることを確認するのは重要です。 | rsyslog 構成のアクセス許可を設定します。 chown root:root /etc/rsyslog.conf && chmod 640 /etc/rsyslog.conf |
| すべての rsyslog ログ ファイルは adm グループが所有者である必要がある。 (64) |
すべての rsyslog ログ ファイルが adm グループによって所有されていることを確認する | 説明: 攻撃者がログを操作してアクティビティを隠蔽する可能性があります | 行 '$FileGroup adm' をファイル '/etc/rsyslog.conf' に追加します |
| すべての rsyslog ログ ファイルは syslog ユーザーが所有者である必要がある。 (65) |
すべての rsyslog ログ ファイルが syslog ユーザーによって所有されていることを確認します (CIS: L1 - Server - 4.2.1.4) | 説明: 攻撃者がログを操作してアクティビティを隠蔽する可能性があります |
$FileOwner syslogに/etc/rsyslog.confを追加し、rsyslog サービスを再起動する |
| rsyslog はリモート メッセージを受け入れてはならない。 (67) |
rsyslog がリモート メッセージを受け入れないことを確認する | 説明: 攻撃者が syslog にメッセージを注入して、DoS や他のアクティビティの中断を発生させる可能性があります | 行 '$ModLoad imudp' および '$ModLoad imtcp' をファイル '/etc/rsyslog.conf' から削除します。 |
| logrotate (syslog rotater) サービスが有効になっている必要がある。 (68) |
logrotate (syslog rotater) サービスが有効になっていることを確認します (CIS: L1 - サーバー - 4.3) | 説明: ログ ファイルが際限なく肥大してディスク領域を消費し尽くす可能性があります | logrotate パッケージをインストールし、logrotate cron エントリがアクティブであることを確認します (chmod 755 /etc/cron.daily/logrotate; chown root:root /etc/cron.daily/logrotate) |
| rlogin サービスが無効になっている必要がある。 (69) |
rlogin サービスが無効になっていることを確認する | 説明: 攻撃者が厳格な認証要件を迂回してアクセス権を取得する可能性があります | inetd サービスを削除します。 |
| 必要な場合を除き inetd を削除する。 (inetd) (70.1) |
inetd がインストールされていないことを確認する (CIS: L1 - Server - 2.1.10) - サービスとパッケージの規則を組み合わせる | 説明: 攻撃者が inetd サービスの脆弱性を悪用してアクセス権を取得する可能性があります | inetd サービス ( yum remove inetd (RHEL/CentOS) または apt remove inetd (Debian/Ubuntu) をアンインストールします |
| 必要な場合を除き xinetd を無効にする。 (xinetd) (70.2) |
xinetd がインストールされていないことを確認する (CIS: L1 - サーバー - 2.1.10) - サービスとパッケージの規則を組み合わせる | 説明: 攻撃者が xinetd サービスの脆弱性を悪用してアクセス権を取得する可能性があります | xinetd サービス ( yum remove xinetd (RHEL/CentOS) または apt remove xinetd (Debian/Ubuntu) をアンインストールします |
| ディストリビューションで適切かつ必要な場合にのみ inetd をインストールする。 現在の強化標準に従ってセキュリティで保護する。 (必要な場合) (71.1) |
inetd がインストールされていないことを確認する (CIS: L1 - Server - 2.1.10) - サービスとパッケージの規則を組み合わせる | 説明: 攻撃者が inetd サービスの脆弱性を悪用してアクセス権を取得する可能性があります | inetd サービス ( yum remove inetd (RHEL/CentOS) または apt remove inetd (Debian/Ubuntu) をアンインストールします |
| ディストリビューションで適切かつ必要な場合にのみ xinetd をインストールする。 現在の強化標準に従ってセキュリティで保護する。 (必要な場合) (71.2) |
xinetd がインストールされていないことを確認する (CIS: L1 - サーバー - 2.1.10) - サービスとパッケージの規則を組み合わせる | 説明: 攻撃者が xinetd サービスの脆弱性を悪用してアクセス権を取得する可能性があります | xinetd サービス ( yum remove xinetd (RHEL/CentOS) または apt remove xinetd (Debian/Ubuntu) をアンインストールします |
| telnet サービスが無効になっている必要がある。 (72) |
telnet サービスが無効になっていることを確認します (CIS: L1 - サーバー - 2.1.8) | 説明: 攻撃者が、暗号化されていない telnet セッションを盗聴またはハイジャックする可能性があります | ファイル '/etc/inetd.conf' の telnet エントリを削除またはコメント アウトします |
| すべての telnetd パッケージをアンインストールする必要がある。 (73) |
すべての telnetd パッケージがアンインストールされていることを確認する | 説明: 攻撃者が、暗号化されていない telnet セッションを盗聴またはハイジャックする可能性があります | すべての telnetd パッケージをアンインストールします |
| rcp/rsh サービスを無効にする必要がある。 (74) |
rcp/rsh サービスが無効になっていることを確認する | 説明: 攻撃者が、暗号化されていないセッションを盗聴またはハイジャックする可能性があります | ファイル '/etc/inetd.conf' の shell エントリを削除またはコメント アウトします |
| rsh-server パッケージをアンインストールする必要がある。 (77) |
rsh-server パッケージがアンインストールされていることを確認します (CIS: L1 - Server - 2.1.6) | 説明: 攻撃者が、暗号化されていない rsh セッションを盗聴またはハイジャックする可能性があります | rsh-server パッケージをアンインストールします。 yum remove rsh-server (RHEL/CentOS) または apt remove rsh-server (Debian/Ubuntu) |
| ypbind サービスが無効になっている必要がある。 (78) |
サービスとパッケージのルールを組み合わせて、ypbind サービスが無効になっており、nis パッケージがインストールされていないことを確認します | 説明: 攻撃者が ypbind サービスから機密情報を取得する可能性があります。 | nis パッケージのアンインストール: yum remove nis (RHEL/CentOS) または apt remove nis (Debian/Ubuntu) |
| nis パッケージをアンインストールする必要がある。 (79) |
サービスとパッケージのルールを組み合わせて、ypbind サービスが無効になっており、nis パッケージがインストールされていないことを確認します | 説明: 攻撃者が NIS サービスから機密情報を取得する可能性があります。 | nis パッケージのアンインストール: yum remove nis (RHEL/CentOS) または apt remove nis (Debian/Ubuntu) |
| tftp サービスが無効になっている必要がある。 (80) |
tftp サービスが無効になっていることを確認します (CIS: L1 - サーバー - 2.1.9) | 説明: 攻撃者が、暗号化されていないセッションを盗聴またはハイジャックする可能性があります | ファイル '/etc/inetd.conf' から tftp エントリを削除します |
| tftpd パッケージをアンインストールする必要がある。 (81) |
tftpd パッケージがインストールされていないことを確認します (CIS: L1 - サーバー - 2.1.9) | 説明: 攻撃者が、暗号化されていないセッションを盗聴またはハイジャックする可能性があります | tftpd パッケージをアンインストールします。 yum remove tftpd (RHEL/CentOS) または apt remove tftpd (Debian/Ubuntu) |
| readahead-fedora パッケージをアンインストールする必要がある。 (82) |
readahead-fedora パッケージがインストールされていないことを確認する | 説明: パッケージによって、大きなリスクはもたらされませんが、メリットも特にありません。 | readahead-fedora パッケージをアンインストールします。 yum remove readahead-fedora (RHEL/CentOS) または apt remove readahead-fedora (Debian/Ubuntu) |
| bluetooth/hidd サービスを無効にする必要がある。 (84) |
Bluetooth パッケージがインストールされていないことを確認する | 説明: 攻撃者がワイヤレス通信をインターセプトまたは操作する可能性があります。 |
yum remove bluetooth (RHEL/CentOS) または apt remove bluetooth (Debian/Ubuntu) の bluetooth パッケージをアンインストールします |
| isdn サービスが無効になっている必要がある。 (86) |
isdn サービスが無効になっており、isdnutils-base パッケージがインストールされていないことを確認する - サービスとパッケージの規則を組み合わせる | 説明: 攻撃者がモデムを使用して未認可のアクセスを取得する可能性があります | isdnutils ベース パッケージをアンインストールします。 yum remove isdnutils-base (RHEL/CentOS) または apt remove isdnutils-base (Debian/Ubuntu) |
| isdnutils-base パッケージをアンインストールする必要がある。 (87) |
isdn サービスが無効になっており、isdnutils-base パッケージがインストールされていないことを確認する - サービスとパッケージの規則を組み合わせる | 説明: 攻撃者がモデムを使用して未認可のアクセスを取得する可能性があります | isdnutils ベース パッケージをアンインストールします。 yum remove isdnutils-base (RHEL/CentOS) または apt remove isdnutils-base (Debian/Ubuntu) |
| kdump サービスが無効になっている必要がある。 (88) |
kdump サービスが無効になっており、kdump-tools パッケージがインストールされていないことを確認する | 説明: 攻撃者が、以前のシステム クラッシュを分析して、機密情報を取得する可能性があります | kdump-tools パッケージをアンインストールします。 yum remove kdump-tools (RHEL/CentOS) または apt remove kdump-tools (Debian/Ubuntu) |
| zeroconf ネットワーキングが無効になっている必要がある。 (89) |
zeroconf ネットワークが無効になっていることを確認する | 説明: 攻撃者がこれを悪用してネットワーク システムに関する情報を取得したり、その信頼モデルの欠陥を突いて DNS 要求を偽装したりする可能性があります | RHEL/CentOS: NOZEROCONF=yesに/etc/sysconfig/networkを追加します。 Debian/Ubuntu: ipv4ll エントリを削除する /etc/network/interfaces |
| crond サービスが有効になっている必要がある (90) |
cron サービスが有効になっていることを確認します (CIS: L1 - サーバー - 5.1.1) | 説明: cron は、ほとんどすべてのシステムで定期的なメンテナンス タスクに必要です | cron パッケージ ( yum install cron (RHEL/CentOS) または apt install cron (Debian/Ubuntu) をインストールし、サービスを有効にする |
| /etc/anacrontab ファイルのアクセス許可を root:root 600 に設定する必要がある。 (91) |
/etc/anacrontab に対するファイルのアクセス許可が構成されていることを確認する | 説明: 攻撃者がこのファイルを操作して、スケジュールされたタスクの実行をやめさせたり、悪意のあるタスクを実行させたりする可能性があります | 所有権とアクセス許可を設定します。 chown root:root /etc/anacrontab && chmod 600 /etc/anacrontab |
| /etc/cron.d に対するアクセス許可が構成されていることを確認する。 (93) |
/etc/cron.d に対するアクセス許可が構成されていることを確認する (CIS: L1 - サーバー - 5.1.7) | 説明: 特権のないユーザーのためにこのディレクトリへの書き込みアクセス権を付与すると、認可されていない昇格された特権を取得する手段を提供する可能性があります。 このディレクトリの読み取りアクセス権を付与すると、昇格された特権を取得したり、監査コントロールを回避したりする方法についての情報が、認可されていないユーザーに与えられる可能性があります。 | 所有権とアクセス許可を設定します。 chown root:root /etc/cron.d && chmod 700 /etc/cron.d |
| /etc/cron.daily に対するアクセス許可が構成されていることを確認する。 (94) |
/etc/cron.daily に対するアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 5.1.4) | 説明: 特権のないユーザーのためにこのディレクトリへの書き込みアクセス権を付与すると、認可されていない昇格された特権を取得する手段を提供する可能性があります。 このディレクトリの読み取りアクセス権を付与すると、昇格された特権を取得したり、監査コントロールを回避したりする方法についての情報が、認可されていないユーザーに与えられる可能性があります。 | 所有権とアクセス許可を設定します。 chown root:root /etc/cron.daily && chmod 700 /etc/cron.daily |
| /etc/cron.hourly に対するアクセス許可が構成されていることを確認する。 (95) |
/etc/cron.hourly に対するアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 5.1.3) | 説明: 特権のないユーザーのためにこのディレクトリへの書き込みアクセス権を付与すると、認可されていない昇格された特権を取得する手段を提供する可能性があります。 このディレクトリの読み取りアクセス権を付与すると、昇格された特権を取得したり、監査コントロールを回避したりする方法についての情報が、認可されていないユーザーに与えられる可能性があります。 | 所有権とアクセス許可を設定します。 chown root:root /etc/cron.hourly && chmod 700 /etc/cron.hourly |
| /etc/cron.monthly に対するアクセス許可が構成されていることを確認する。 (96) |
/etc/cron.monthly に対するアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 5.1.6) | 説明: 特権のないユーザーのためにこのディレクトリへの書き込みアクセス権を付与すると、認可されていない昇格された特権を取得する手段を提供する可能性があります。 このディレクトリの読み取りアクセス権を付与すると、昇格された特権を取得したり、監査コントロールを回避したりする方法についての情報が、認可されていないユーザーに与えられる可能性があります。 | 所有権とアクセス許可を設定します。 chown root:root /etc/cron.monthly && chmod 700 /etc/cron.monthly |
| /etc/cron.weekly に対するアクセス許可が構成されていることを確認する。 (97) |
/etc/cron.weekly に対するアクセス許可が構成されていることを確認します (CIS: L1 - サーバー - 5.1.5) | 説明: 特権のないユーザーのためにこのディレクトリへの書き込みアクセス権を付与すると、認可されていない昇格された特権を取得する手段を提供する可能性があります。 このディレクトリの読み取りアクセス権を付与すると、昇格された特権を取得したり、監査コントロールを回避したりする方法についての情報が、認可されていないユーザーに与えられる可能性があります。 | 所有権とアクセス許可を設定します。 chown root:root /etc/cron.weekly && chmod 700 /etc/cron.weekly |
| at/cron が認可されたユーザーに制限されていることを確認する (98) |
at/cron が承認されたユーザーに制限されていることを確認する (CIS: L1 - Server - 5.1.8) | 説明: 多くのシステムで、cron ジョブをスケジュールする権限があるのはシステム管理者だけです。
cron.allow ファイルを使用して、cron ジョブを実行できるユーザーを制御すると、このポリシーが適用されます。 拒否リストよりも許可リストを管理する方が簡単です。 拒否リストの場合、システムに追加したユーザー ID を拒否ファイルに追加するのを忘れてしまう可能性があります。 |
承認されたユーザーとの /etc/cron.allow と /etc/at.allow を作成し、 /etc/cron.deny を削除し、 /etc/at.deny |
| ベスト プラクティスを満たすように SSH を構成して管理する必要があります。 - '/etc/ssh/sshd_config Protocol = 2' (106.1) |
SSH プロトコルが構成されていることを確認します (CIS: L1 - サーバー - 5.2.4) | 説明: 攻撃者が以前のバージョンの SSH プロトコルの欠陥を利用してアクセスする可能性があります |
Protocol 2に/etc/ssh/sshd_configを追加し、sshd サービスを再起動する |
| ベスト プラクティスを満たすように SSH を構成して管理する必要があります。 - '/etc/ssh/sshd_config IgnoreRhosts = yes' (106.3) |
SSH IgnoreRhosts が構成されていることを確認します (CIS: L1 - サーバー - 5.2.8) | 説明: 攻撃者が Rhosts プロトコルの欠陥を利用してアクセスする可能性があります |
IgnoreRhosts yesに/etc/ssh/sshd_configを追加し、sshd サービスを再起動する |
| SSH LogLevel が INFO に設定されていることを確認します (106.5) |
SSH LogLevel が構成されていることを確認します (CIS: L1 - サーバー - 5.2.5) | 説明: SSH では、さまざまな詳細度が設定された複数のログ レベルが提供されます。
DEBUG は特に ではなく 重要なセキュリティ情報を識別するのが難しいほど多くのデータを提供するため、SSH 通信をデバッグする場合以外は厳密に推奨されません。
INFO レベルは、SSH ユーザーのログイン アクティビティのみを記録する基本レベルです。 インシデント対応など多くの状況では、特定のユーザーがいつシステムでアクティブだったのか調べることが重要です。 ログアウト レコードを使用すると、切断されたユーザーを除外できるので、フィールドを絞り込むのに役立ちます。 |
/etc/ssh/sshd_configファイルを編集して、パラメーターを次のように設定します。 LogLevel INFO |
| SSH の MaxAuthTries が 6 以下に設定されていることを確認します (106.7) |
SSH MaxAuthTries が構成されていることを確認します (CIS: L1 - サーバー - 5.2.7) | 説明: MaxAuthTries パラメーターを低い数値に設定すると、SSH サーバーに対するブルート フォース攻撃が成功するリスクが最小限に抑えられます。 推奨される設定は 4 ですが、この数値はサイト ポリシーに基づいて設定してください。 |
SSH MaxAuthTries が 6 以下に設定されているのを確認します。/etc/ssh/sshd_configファイルを編集してパラメーターを次のように設定します。 MaxAuthTries 6 |
| SSH アクセスが制限されていることを確認します (106.11) |
SSH アクセスで許可されているユーザーが構成されていることを確認します (CIS: L1 - サーバー - 5.2.18) | 説明: システムに SSH 経由でリモートにアクセスできるユーザーを制限すると、許可されているユーザーだけがシステムにアクセスできるようになります。 | SSH アクセスが制限されていることを確認します。/etc/ssh/sshd_configファイルを編集して、1 つ以上のパラメーターを次のように設定します。 AllowUsers AllowGroups DenyUsers DenyGroups |
| ssh サーバーを介した rsh コマンドのエミュレーションを無効にする必要があります。 - '/etc/ssh/sshd_config RhostsRSAAuthentication = no' (107) |
N/A | 説明: 攻撃者が RHosts プロトコルの欠陥を利用してアクセスする可能性があります |
RhostsRSAAuthentication noに/etc/ssh/sshd_configを追加し、sshd サービスを再起動する |
| SSH ホストベースの認証を無効にする必要があります。 - '/etc/ssh/sshd_config HostbasedAuthentication = no' (108) |
SSH HostBasedAuthentication が構成されていることを確認します (CIS: L1 - サーバー - 5.2.9) | 説明: 侵害されたホストからアクセス権を取得するために、攻撃者がホストベースの認証を使用する可能性がある |
HostbasedAuthentication noに/etc/ssh/sshd_configを追加し、sshd サービスを再起動する |
| SSH 経由のルート ログインを無効にする必要があります。 - '/etc/ssh/sshd_config PermitRootLogin = no' (109) |
SSH PermitRootLogin が構成されていることを確認します (CIS: L1 - Server - 5.2.10) | 説明: 攻撃者がルート パスワードをブルート フォースしたり、root として直接ログインしてコマンド履歴を隠したりする可能性があります |
PermitRootLogin noに/etc/ssh/sshd_configを追加し、sshd サービスを再起動する |
| パスワードが空のアカウントからのリモート接続を無効にする必要があります。 - '/etc/ssh/sshd_config PermitEmptyPasswords = no' (110) |
SSH PermitEmptyPasswords が構成されていることを確認します (CIS: L1 - Server - 5.2.11) | 説明: 攻撃者がパスワード推測によってアクセスする可能性があります |
PermitEmptyPasswords noに/etc/ssh/sshd_configを追加し、sshd サービスを再起動する |
| SSH のアイドル タイムアウト間隔が構成されていることを確認します。 (110.1) |
SSH ClientAliveCountMax が構成されていることを確認する | 説明: 接続に関連するタイムアウト値がないと、許可されていないユーザーが別のユーザーの ssh セッションにアクセスできる可能性があります。 タイムアウト値を設定すると、少なくともこのようなことが発生するリスクが減ります。 推奨設定値は 300 秒 (5 分) ですが、このタイムアウト値はサイト ポリシーに基づいて設定してください。
ClientAliveCountMax の推奨設定値は 0 です。 この場合、クライアント セッションは 5 分間のアイドル時間後に終了し、キープアライブ メッセージは送信されません。 |
/etc/ssh/sshd_config ファイルを編集して、パラメーターをポリシーに従って設定してください |
| SSH の LoginGraceTime が 1 分以下に設定されていることを確認します。 (110.2) |
SSH LoginGraceTime が構成されていることを確認します (CIS: L1 - サーバー - 5.2.17) | 説明: LoginGraceTime パラメーターを低い数値に設定すると、SSH サーバーに対するブルート フォース攻撃が成功するリスクが最小限に抑えられます。 また、認証されていない同時接続数も制限されます。推奨される設定は 60 秒 (1 分) ですが、この数値はサイト ポリシーに基づいて設定してください。 |
LoginGraceTime 60に/etc/ssh/sshd_configを追加し、sshd サービスを再起動する |
| 承認された MAC アルゴリズムのみが使用されていることを確認します (110.3) |
承認された MAC アルゴリズムのみが使用されていることを確認します (CIS: L1 - サーバー - 5.2.14) | 説明: MD5 および 96 ビットの MAC アルゴリズムは脆弱と見なされており、SSH ダウングレード攻撃における悪用性が高まることが示されています。 脆弱なアルゴリズムは、計算能力の拡大に伴い、悪用される可能性のある弱点として、引き続き大きな注目を集めています。 アルゴリズムを破った攻撃者は、MiTM の位置を利用して SSH トンネルを解読し、資格情報や情報を取得する可能性があります | 承認された MAC を /etc/ssh/sshd_configに追加する: sshd サービスを MACs hmac-sha2-512,hmac-sha2-256 して再起動する |
| リモート ログイン警告バナーが正しく構成されていることを確認する。 (111) |
リモート ログイン警告バナーが正しく構成されていることを確認します (CIS: L1 - Server - 1.7.1.3) | 説明: 警告メッセージでは、システムにログインしようとしているユーザーに、システムに関するユーザーの法的地位を通知します。このメッセージには、システムを所有している組織の名称、また、施行されている監視ポリシーがある場合はそのポリシーを含める必要があります。 OS およびパッチ レベルの情報をログイン バナーに表示することには、詳細なシステム情報が、システムの特定の悪用を標的にしようとしている攻撃者に提供されるという副作用もあります。 認可されたユーザーは、ログインした後に uname -a コマンドを実行すると、この情報を容易に取得できます。 |
システム情報エスケープ シーケンス (\m、 \r、 \s、 \v) を /etc/issue.net から削除し、適切な警告テキストに置き換えます |
| ローカル ログイン警告バナーが正しく構成されていることを確認する。 (111.1) |
ローカル ログイン警告バナーが正しく構成されていることを確認します (CIS: L1 - Server - 1.7.1.2) | 説明: 警告メッセージでは、システムにログインしようとしているユーザーに、システムに関するユーザーの法的地位を通知します。このメッセージには、システムを所有している組織の名称、また、施行されている監視ポリシーがある場合はそのポリシーを含める必要があります。 OS およびパッチ レベルの情報をログイン バナーに表示することには、詳細なシステム情報が、システムの特定の悪用を標的にしようとしている攻撃者に提供されるという副作用もあります。 認可されたユーザーは、ログインした後に uname -a コマンドを実行すると、この情報を容易に取得できます。 |
システム情報エスケープ シーケンス (\m、 \r、 \s、 \v) を /etc/issue から削除し、適切な警告テキストに置き換えます |
| SSH 警告バナーを有効にする必要があります。 - '/etc/ssh/sshd_config Banner = /etc/issue.net' (111.2) |
SSH 警告バナーが構成されていることを確認します (CIS: L1 - サーバー - 5.2.19) | 説明: ユーザーは、システム上での自分のアクションが監視されていることは警告されません |
Banner /etc/issue.netに/etc/ssh/sshd_configを追加し、sshd サービスを再起動する |
| ユーザーは SSH の環境オプションを設定することができません。 (112) |
SSH PermitUserEnvironment が構成されていることを確認します (CIS: L1 - Server - 5.2.12) | 説明: 攻撃者が SSH を介して一部のアクセス制限を回避できる可能性があります | 'PermitUserEnvironment yes' という行をファイル '/etc/ssh/sshd_config' から削除します |
| 適切な暗号を SSH に使用する必要があります。 (Ciphers aes128-ctr,aes192-ctr,aes256-ctr) (113) |
SSH に適切な暗号が使用されていることを確認します (CIS: L1 - サーバー - 5.2.13) | 説明: 攻撃者が、セキュリティが脆弱な SSH 接続を侵害する可能性があります |
Ciphers aes128-ctr,aes192-ctr,aes256-ctrに/etc/ssh/sshd_configを追加し、sshd サービスを再起動する |
| avahi-daemon サービスが無効になっている必要があります。 (114) |
avahi-daemon サービスが無効になっていることを確認します (CIS: L1 - Server - 2.2.3) | 説明: 攻撃者が avahi デーモンの脆弱性を使用してアクセス権を取得する可能性があります | avahi-daemon サービスを無効にする: systemctl disable avahi-daemon (systemd) または chkconfig avahi-daemon off (sysv) |
| cups サービスが無効になっている必要がある。 (115) |
カップ サービスが無効になっていることを確認します (CIS: L1 - サーバー - 2.2.4) | 説明: 攻撃者が cups サービスの欠陥を使用して特権を昇格させる可能性があります | cups サービスを無効にする: systemctl disable cups (systemd) または chkconfig cups off (sysv) |
| isc-dhcpd サービスが無効になっている必要があります。 (116) |
isc-dhcp-server パッケージがインストールされていないことを確認する (CIS: L1 - サーバー - 2.2.5) - サービスとパッケージの規則を組み合わせる | 説明: 攻撃者が dhcpd を使用して、誤った情報をクライアントに提供し、通常の運用を妨げる可能性があります。 | isc-dhcp-server パッケージを削除します。 yum remove dhcp-server (RHEL/CentOS) または apt remove isc-dhcp-server (Debian/Ubuntu) |
| isc-dhcp-server パッケージをアンインストールする必要がある。 (117) |
isc-dhcp-server パッケージがインストールされていないことを確認する (CIS: L1 - サーバー - 2.2.5) - サービスとパッケージの規則を組み合わせる | 説明: 攻撃者が dhcpd を使用して、誤った情報をクライアントに提供し、通常の運用を妨げる可能性があります。 | isc-dhcp-server パッケージを削除します。 yum remove dhcp-server (RHEL/CentOS) または apt remove isc-dhcp-server (Debian/Ubuntu) |
| sendmail パッケージをアンインストールする必要がある。 (120) |
sendmail パッケージがインストールされていないことを確認する | 説明: 攻撃者がこのシステムを使用して、悪意のある内容を含んだメールを他のユーザーに送信する可能性があります。 | sendmail パッケージ ( yum remove sendmail (RHEL/CentOS) または apt remove sendmail (Debian/Ubuntu) をアンインストールします |
| postfix パッケージをアンインストールする必要がある。 (121) |
後置パッケージがインストールされていないことを確認する | 説明: 攻撃者がこのシステムを使用して、悪意のある内容を含んだメールを他のユーザーに送信する可能性があります。 | 後置パッケージ ( yum remove postfix (RHEL/CentOS) または apt remove postfix (Debian/Ubuntu) をアンインストールします |
| 必要に応じて postfix ネットワーク リスニングを無効にする必要がある。 (122) |
後置ネットワーク リッスンが無効になっていることを確認する | 説明: 攻撃者がこのシステムを使用して、悪意のある内容を含んだメールを他のユーザーに送信する可能性があります。 | 行 'inet_interfaces localhost' をファイル '/etc/postfix/main.cf' に追加します |
| ldap サービスが無効になっている必要がある。 (124) |
ldap サービスが無効になっており、sldapd パッケージがインストールされていないことを確認します (CIS: L1 - Server - 2.2.6) | 説明: 攻撃者がこのホスト上の LDAP サービスを操作して、偽のデータを LDAP クライアントに配信する可能性があります。 | slapd パッケージをアンインストールします。 yum remove openldap-servers (RHEL/CentOS) または apt remove slapd (Debian/Ubuntu) |
| rpcgssd サービスが無効になっている必要がある。 (126) |
rpcgssd サービスが無効になっていることを確認する | 説明: 攻撃者が rpcgssd/nfs の欠陥を使用してアクセス権を取得する可能性があります | rpcgssd サービスを無効にする: systemctl disable rpc-gssd (systemd) または chkconfig rpc-gssd off (sysv) |
| rpcidmapd サービスが無効になっている必要がある。 (127) |
rpcidmapd サービスが無効になっていることを確認する | 説明: 攻撃者が idmapd/nfs の欠陥を使用してアクセス権を取得する可能性があります | rpcidmapd サービスを無効にする: systemctl disable rpc-idmapd (systemd) または chkconfig rpc-idmapd off (sysv) |
| portmap サービスが無効になっている必要がある。 (129.1) |
ポートマップ サービスが無効になっていることを確認する | 説明: 攻撃者が portmap の欠陥を使用してアクセス権を取得する可能性があります | rpcbind サービスを無効にする: systemctl disable rpcbind (systemd) または chkconfig rpcbind off (sysv) |
| ネットワーク ファイル システム (NFS) サービスを無効にする必要があります。 (129.2) |
ネットワーク ファイル システム (NFS) サービスが無効になっていることを確認します (CIS: L1 - サーバー - 2.2.7 - 部分) | 説明: 攻撃者が nfs を使用して共有をマウントし、ファイルを実行/コピーする可能性があります。 | nfs サービスを無効にする: systemctl disable nfs-server (systemd) または chkconfig nfs off (sysv) |
| rpcsvcgssd サービスが無効になっている必要がある。 (130) |
rpcsvcgssd サービスが無効になっていることを確認する | 説明: 攻撃者が rpcsvcgssd の欠陥を使用してアクセス権を取得する可能性があります | 行 'NEED_SVCGSSD = yes' をファイル '/etc/inetd.conf' から削除します |
| named サービスが無効になっている必要がある。 (131) |
名前付きサービスが無効になっており、bind9 パッケージがインストールされていないことを確認します (CIS: L1 - Server - 2.2.8) - サービスとパッケージの規則を組み合わせる | 説明: 攻撃者が DNS サービスを使用して偽のデータをクライアントに配信する可能性があります | バインド パッケージをアンインストールします。 yum remove bind (RHEL/CentOS) または apt remove bind9 (Debian/Ubuntu) |
| bind パッケージをアンインストールする必要がある。 (132) |
名前付きサービスが無効になっており、bind9 パッケージがインストールされていないことを確認します (CIS: L1 - Server - 2.2.8) - サービスとパッケージの規則を組み合わせる | 説明: 攻撃者が DNS サービスを使用して偽のデータをクライアントに配信する可能性があります | バインド パッケージをアンインストールします。 yum remove bind (RHEL/CentOS) または apt remove bind9 (Debian/Ubuntu) |
| dovecot サービスが無効になっている必要がある。 (137) |
dovecot サービスが無効になっており、dovecot-core パッケージがインストールされていないことを確認する - サービスとパッケージの規則を組み合わせる | 説明: システムが IMAP/POP3 サーバーとして使用される可能性があります | dovecot パッケージをアンインストールします。 yum remove dovecot (RHEL/CentOS) または apt remove dovecot-core (Debian/Ubuntu) |
| dovecot パッケージをアンインストールする必要がある。 (138) |
dovecot サービスが無効になっており、dovecot-core パッケージがインストールされていないことを確認する - サービスとパッケージの規則を組み合わせる | 説明: システムが IMAP/POP3 サーバーとして使用される可能性があります | dovecot パッケージをアンインストールします。 yum remove dovecot (RHEL/CentOS) または apt remove dovecot-core (Debian/Ubuntu) |
レガシ + エントリが /etc/passwd に存在しないことを確認する(156.1) |
/etc/passwd にレガシ + エントリが存在しないことを確認します (CIS: L1 - サーバー - 6.2.2) | 説明: 攻撃者がユーザー名 '+' (パスワードなし) を使用してアクセス権を取得する可能性があります | '+:' で始まるすべてのエントリを /etc/passwd から削除します |
レガシ + エントリが /etc/shadow に存在しないことを確認する(156.2) |
/etc/shadow にレガシ + エントリが存在しないことを確認します (CIS: L1 - サーバー - 6.2.3) | 説明: 攻撃者がユーザー名 '+' (パスワードなし) を使用してアクセス権を取得する可能性があります | '+:' で始まるすべてのエントリを /etc/shadow から削除します |
レガシ + エントリが /etc/group に存在しないことを確認する(156.3) |
/etc/group にレガシ + エントリが存在しないことを確認する (CIS: L1 - サーバー - 6.2.4) | 説明: 攻撃者がユーザー名 '+' (パスワードなし) を使用してアクセス権を取得する可能性があります | '+:' で始まるすべてのエントリを /etc/group から削除します |
| パスワードの有効期間が 365 日以下であることを確認する。 (157.1) |
パスワードの有効期限が構成されていることを確認する (CIS: L1 - サーバー - 5.4.1.1) | 説明: パスワードの最大有効期間を短くすることによっても、攻撃者が侵害した資格情報を利用したり、オンライン ブルートフォース攻撃によって資格情報の侵害に成功したりする機会を減らすことができます。 |
PASS_MAX_DAYS 365を設定する/etc/login.defs |
| パスワード期限切れの警告日が 7 以上であることを確認する。 (157.2) |
パスワードの有効期限の警告日が構成されていることを確認します (CIS: L1 - サーバー - 5.4.1.3) | 説明: パスワードの有効期限が切れることを事前に警告すると、ユーザーは時間をかけて安全なパスワードを考えることができます。 不意を突かれたユーザーは、単純なパスワードを選択したり、見つかりやすい場所にパスワードをメモしたりする可能性があります。 |
PASS_WARN_AGE 7を設定する/etc/login.defs |
| パスワードの再利用が制限されていることを確認する。 (157.5) |
パスワードの再利用が制限されていることを確認する (CIS: L1 - サーバー - 5.3.3) | 説明: 過去 5 件のパスワードを再利用しないようユーザーに強制すると、攻撃者がパスワードを推測できる可能性が下がります。 | の PAM パスワード モジュールに remember=5 を追加する /etc/pam.d/common-password |
| パスワード ハッシュ アルゴリズムが SHA-512 であることを確認する (157.11) |
パスワード ハッシュ アルゴリズムが SHA-512 (CIS: L1 - Server - 5.3.4) であることを確認します | 説明: SHA-512 アルゴリズムは、MD5 よりもはるかに強力なハッシュを提供し、攻撃者がパスワードの特定に成功するための労力のレベルを上げることによって、システムの保護を強化します。 注意: これらの変更は、ローカル システム上で構成されているアカウントにのみ適用されます。 | パスワード ハッシュ アルゴリズムを sha512 に設定します。 多くのディストリビューションで、PAM 構成を更新するためのツールが提供されています。詳細については、それぞれのドキュメントを参照してください。 ツールが提供されていない場合、適切な /etc/pam.d/ 構成ファイルを編集し、pam_unix.so 行を追加または変更して sha512 オプションを含めます: password sufficient pam_unix.so sha512 |
| パスワード変更間の最小日数が 7 以上であることを確認する。 (157.12) |
パスワード変更の間の最小日数が構成されていることを確認します (CIS: L1 - サーバー - 5.4.1.2) | 説明: 管理者は、パスワード変更の頻度を制限することによって、ユーザーがパスワード再利用の制御を回避しようとしてパスワードを繰り返し変更するのを防ぐことができます。 |
PASS_MIN_DAYS 7で/etc/login.defsを設定し、既存のユーザーのchage --mindays 7 <username>を実行する |
| すべてのユーザーのパスワード最終変更日が過去であることを確認する (157.14) |
非アクティブなパスワード ロック期間が構成されていることを確認します (CIS: L1 - サーバー - 5.4.1.4) | 説明: 将来の日付がユーザーのパスワード変更日として記録されている場合、パスワードの有効期限が設定されていてもユーザーはそれを回避できます。 | アクティブでないパスワードが 30 日以内にロックされるようにします。既定のパスワード非アクティブ期間を 30 日に設定するには、# useradd -D -f 30 コマンドを実行します。パスワードが設定されたすべてのユーザーのパラメーターをこれに合わせて変更するには、# chage --inactive 30 を実行します。 |
| システム アカウントが non-login であることを確認する (157.15) |
すべてのシステム アカウントが非ログインであることを確認します (CIS: L1 - サーバー - 5.4.2) | 説明: 正規のユーザーが使用していないアカウントが、対話型シェルを提供するために使用されないことの保証は重要です。 既定では、Ubuntu はこれらのアカウントのパスワード フィールドを無効な文字列に設定しますが、パスワード ファイルのシェル フィールドを /usr/sbin/nologin に設定することもお勧めします。 これにより、任意のコマンドを実行するためにアカウントが使用される可能性がなくなります。 |
監査スクリプトによって返されるすべてのアカウントについて、シェルを /sbin/nologin に設定します |
| root アカウントの既定のグループの GID が 0 であることを確認する (157.16) |
ルート アカウントの既定のグループが GID 0 であることを確認します (CIS: L1 - サーバー - 5.4.3) | 説明: root アカウントに GID 0 を使用すると、 root所有のファイルが特権のないユーザーが誤ってアクセスできなくなるのを防ぐことができます。 |
次のコマンドを実行して、root ユーザーの既定のグループを GID 0 に設定します: # usermod -g 0 root |
| root が唯一の UID 0 アカウントであることを確認する (157.18) |
ルートが唯一の UID 0 アカウントであることを確認します (CIS: L1 - サーバー - 6.2.5) | 説明: このアクセスは、既定の root アカウントのみに制限し、システム コンソールからのみ行う必要があります。 管理アクセスは、特権のないアカウントから、認可されたメカニズムを使用して行われる必要があります。 |
UID が root である 0 以外のユーザーがいれば削除するか、必要に応じて新しい UID を割り当てます。 |
| 不必要なアカウントを削除する (159) |
不要なアカウントが削除されていることを確認する | 説明: コンプライアンスのため | 不必要なアカウントを削除します |
| auditd サービスが有効になっていることを確認する (162) |
監査済みパッケージがインストールされていることを確認する | 説明: システム イベントをキャプチャすると、システムへの不正アクセスが発生していないかどうかを判断するための情報がシステム管理者に提供されます。 | audit パッケージをインストールします (systemctl enable auditd) |
| AuditD サービスを実行する (163) |
監査済みサービスが実行されていることを確認する | 説明: システム イベントをキャプチャすると、システムへの不正アクセスが発生していないかどうかを判断するための情報がシステム管理者に提供されます。 | AuditD サービスを実行します (systemctl start auditd) |
| SNMP サーバーが有効になっていないことを確認する (179) |
SNMP サーバーが有効になっていないことを確認します (CIS: L1 - サーバー - 2.2.14) | 説明: SNMP サーバーは SNMP v1 を使用して通信できます。この場合、データは平文で送信され、コマンドを実行するために認証は必要ありません。 どうしても必要な場合を除いて、SNMP サービスは使用しないことをお勧めします。 SNMP が必要な場合は、SNMP v1 を許可しないようにサーバーを構成する必要があります。 | 次のいずれかのコマンドを実行して snmpd を無効にします: # chkconfig snmpd off# systemctl disable snmpd# update-rc.d snmpd disable |
| rsync サービスが有効になっていないことを確認する (181) |
rsync サービスが有効になっていないことを確認します (CIS: L1 - サーバー - 2.2.16) | 説明: 非暗号化プロトコルを通信に使用する rsyncd サービスによってセキュリティのリスクが生じます。 |
rsync サービスを無効にする: systemctl disable rsyncd (systemd) または chkconfig rsyncd off (sysv) |
| NIS サーバーが有効になっていないことを確認する (182) |
NIS サーバーが有効になっていないことを確認します (CIS: L1 - サーバー - 2.2.17) | 説明: NIS サービスは本来、安全でないシステムであり、DoS 攻撃やバッファー オーバーフローに対して脆弱であり、NIS マップをクエリするための認証が不十分です。 NIS は通常、ライトウェイト ディレクトリ アクセス プロトコル (LDAP) のようなプロトコルによって置き換えられています。 このサービスを無効にして、より安全なサービスを使用することをお勧めします | 次のいずれかのコマンドを実行して ypserv を無効にします: # chkconfig ypserv off# systemctl disable ypserv# update-rc.d ypserv disable |
| rsh クライアントがインストールされていないことを確認する (183) |
rsh クライアントがインストールされていないことを確認します (CIS: L1 - サーバー - 2.3.2) | 説明: これらのレガシ クライアントにはセキュリティ上の弱点が無数にあり、より安全な SSH パッケージに置き換えられています。 サーバーを削除した場合でも、ユーザーが誤ってこれらのコマンドを使おうとして資格情報をリスクにさらすことを防ぐために、クライアントも確実に削除することをお勧めします。
rsh パッケージを削除すると、rsh、rcp、およびrloginのクライアントが削除されることに注意してください。 |
適切なパッケージ マネージャー ( yum remove rsh (RHEL/CentOS)、 apt remove rsh (Debian/Ubuntu)、または zypper remove rsh (SUSE) を使用して rsh をアンインストールする |
| Samba で SMB V1 を無効にする (185) |
Samba を使用した SMB V1 が無効になっていることを確認する (CIS: L1 - サーバー - 2.2.12) | 説明: SMB v1 にはよく知られた重大な脆弱性があり、伝送中のデータを暗号化しません。 ビジネス上の理由から使用する必要がある場合は、このプロトコルに固有のリスクを軽減するために追加の手順を実行することを強くお勧めします。 |
min protocol = SMB2の[global] セクションに/etc/samba/smb.confを追加し、smbd サービスを再起動する |
Note
特定の Azure Policy ゲスト構成設定を利用できるかどうかは、Azure Government とその他の各国のクラウドで異なる場合があります。
次のステップ
Azure Policy とゲスト構成に関するその他の記事:
- Azure Policy ゲスト構成。
- 規制コンプライアンスの概要。
- Azure Policy のサンプルの他の例を確認します。
- 「Policy の効果について」を確認します。
- 新しい azure-osconfig 自動修復機能Limited Public Preview を使用して非準拠リソースを修復する方法について説明します。