

 サポート終了通知: 2026 年 5 月 20 日、 AWS は Amazon Inspector Classic のサポートを終了します。2026 年 5 月 20 日以降、Amazon Inspector Classic コンソールまたは Amazon Inspector Classic リソースにアクセスできなくなります。Amazon Inspector Classic は、過去 6 か月間に評価を完了していない新しいアカウントやアカウントで利用できなくなりました。他のすべてのアカウントでは、アクセスは 2026 年 5 月 20 日まで有効です。その後、Amazon Inspector Classic コンソールまたは Amazon Inspector Classic リソースにアクセスできなくなります。詳細については、[Amazon Inspector Classic のサポート終了](https://docs.aws.amazon.com/inspector/v1/userguide/inspector-migration.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Inspector Classic のセキュリティのベストプラクティス
<a name="inspector_security-best-practices"></a>

システムが安全に設定されているかどうかを判断するには、Amazon Inspector Classic ルールを使用してください。

**重要**  
現時点では、Linux ベースまたは Windows ベースのオペレーティングシステムを実行している EC2 インスタンスを評価ターゲットに含めることができます。  
このセクションで説明されているルールでは、評価の実行中に、Linux ベースのオペレーティングシステムを実行している EC2 インスタンス**のみ**の結果が生成されます。このルールでは、Windows ベースのオペレーティングシステムを実行している EC2 インスタンスの結果は生成されません。  
詳細については、「[サポートされているオペレーティングシステムの Amazon Inspector Classic ルールパッケージ](inspector_rule-packages_across_os.md)」を参照してください。

**Topics**
+ [SSH 経由の root ログインを無効化する](#disable-root-login-over-SSH)
+ [SSH バージョン 2 のみをサポート](#support-ssh-v2-only)
+ [SSH 経由のパスワード認証を無効化する](#disable-password-authentication-over-ssh)
+ [パスワードの有効期限を設定する](#password-maximum-age)
+ [パスワードの最小文字数を設定する](#password-minimum-length)
+ [パスワードの複雑さを設定する](#password-complexity)
+ [ASLR の有効化](#ASLR)
+ [DEP の有効化](#DEP-OS)
+ [システムディレクトリに対するアクセス許可の設定](#permissions-for-system-directories)

## SSH 経由の root ログインを無効化する
<a name="disable-root-login-over-SSH"></a>

このルールは、SSH デーモンが [root](https://docs.aws.amazon.com/general/latest/gr/root-vs-iam.html) としての EC2 インスタンスへのログインを許可するように設定されているかどうかを判断するのに役立ちます。

**重要度**  
[[Medium] (中)](inspector_rule-packages.md#SeverityLevels)

**結果**  
ユーザーが root 認証情報を使用して SSH 経由でログインすることを許可するように設定された評価ターゲットに EC2 インスタンスがあります。これにより、ブルートフォース攻撃が成功する確率が高まります。

**解決策**  
SSH 経由の root アカウントのログインを禁止するように EC2 インスタンスを設定することをお勧めします。代わりに、非 root ユーザーとしてログインして `sudo` を使用し、必要に応じて権限を昇格させます。SSH の root アカウントログインを無効化するには、`PermitRootLogin` を `/etc/ssh/sshd_config` ファイルの `no` に設定し、次に `sshd` を再起動します。

## SSH バージョン 2 のみをサポート
<a name="support-ssh-v2-only"></a>

このルールは、EC2 インスタンスが SSH プロトコルバージョン 1 をサポートするように設定されているかどうかを判断するのに役立ちます。

**重要度**  
[[Medium] (中)](inspector_rule-packages.md#SeverityLevels)

**結果**  
評価ターゲットの EC2 インスタンスが、セキュリティを大幅に低下させる先天的な設計上の欠陥を持つ SSH-1 をサポートするように設定されています。

**解決策**  
SSH-2 以降のみをサポートするように評価ターゲットの EC2 インスタンスを設定することをお勧めします。OpenSSH では、`Protocol 2` を `/etc/ssh/sshd_config` ファイルに設定することでこれを実現できます。詳細については、「`man sshd_config`」を参照してください。

## SSH 経由のパスワード認証を無効化する
<a name="disable-password-authentication-over-ssh"></a>

このルールは、EC2 インスタンスが SSH プロトコル経由のパスワード認証をサポートするように設定されているかどうかを判断するのに役立ちます。

**重要度**  
[[Medium] (中)](inspector_rule-packages.md#SeverityLevels)

**結果**  
評価ターゲットの EC2 インスタンスが、SSH 経由のパスワード認証をサポートするように設定されています。認証は、パスワードのブルートフォース攻撃重視で、キーに認証を決定した可能な限り無効必要があります。

**解決策**  
EC2 インスタンスで SSH 経由のパスワード認証を無効化し、代わりにキーベース認証のサポートを有効にします。これにより、ブルートフォース攻撃の成功率が大幅に下がります。詳細については、[https://aws.amazon.com/articles/1233/](https://aws.amazon.com/articles/1233/) を参照してください。パスワード認証がサポートされている場合、信頼済み IP アドレスへの SSH サーバーへのアクセスを制限することが重要です。

## パスワードの有効期限を設定する
<a name="password-maximum-age"></a>

このルールは、EC2 インスタンスでパスワードの有効期限が設定されているかどうかを判断するのに役立ちます。

**重要度**  
[[Medium] (中)](inspector_rule-packages.md#SeverityLevels)

**結果**  
評価ターゲットの EC2 インスタンスで、パスワードの有効期限が設定されていません。

**解決策**  
パスワードを使用する場合、評価ターゲットのすべての EC2 インスタンスでパスワードの有効期限を設定することをお勧めします。このためには、ユーザーはパスワードを定期的に変更する必要がありますが、パスワード予測攻撃が成功する確率が低下します。既存のユーザーでこの問題を解決するには、**chage** コマンドを使用します。以降のすべてのユーザーでパスワードの有効期限を設定するには、`/etc/login.defs` ファイルの `PASS_MAX_DAYS` フィールドを編集します。

## パスワードの最小文字数を設定する
<a name="password-minimum-length"></a>

このルールは、EC2 インスタンスでパスワードの最小文字数が設定されているかどうかを判断するのに役立ちます。

**重要度**  
[[Medium] (中)](inspector_rule-packages.md#SeverityLevels)

**結果**  
評価ターゲットの EC2 インスタンスで、パスワードの最小文字数が設定されていません。

**解決策**  
パスワードを使用する場合、評価ターゲットのすべての EC2 インスタンスでパスワードの最小文字数を設定することをお勧めします。パスワードの最小文字数を設定することで、パスワード予測攻撃が成功する確率が低下します。そのためには、`pwquality.conf` ファイルの以下のオプションを使用します: `minlen`。詳細については、[https://linux.die.net/man/5/pwquality.conf](https://linux.die.net/man/5/pwquality.conf) を参照してください。  
インスタンスで `pwquality.conf` が使用できない場合は、`pam_cracklib.so` モジュールを使用して、`minlen` オプションを設定します。詳細については、「[https://linux.die.net/man/8/pam_cracklib](https://linux.die.net/man/8/pam_cracklib)」を参照してください。  
`minlen` オプションを 14 以上に設定する必要があります。

## パスワードの複雑さを設定する
<a name="password-complexity"></a>

このルールは、EC2 インスタンスでパスワードの複雑さメカニズムが設定されているかどうかを判断するのに役立ちます。

**重要度**  
[[Medium] (中)](inspector_rule-packages.md#SeverityLevels)

**結果**  
評価ターゲットの EC2 インスタンスで、パスワードの複雑さメカニズムまたは制限が設定されていません。これにより、ユーザーは簡単なパスワードを設定できるため、不正なユーザーがアクセスしたりアカウントを悪用したりする可能性が高まります。

**解決策**  
パスワードを使用している場合は、評価ターゲットのすべての EC2 インスタンスでパスワードの複雑性のレベルを要求するように設定することをお勧めします。そのためには、`pwquality.conf` ファイルの以下のオプションを使用します: `lcredit`、`ucredit`、`dcredit`、および `ocredit`。詳細については、[https://linux.die.net/man/5/pwquality.conf](https://linux.die.net/man/5/pwquality.conf) を参照してください。  
`pwquality.conf` が使用できない場合は、`pam_cracklib.so` モジュールを使用して、`lcredit`、`ucredit`、`dcredit`、および `ocredit` オプションを設定します。詳細については、「[https://linux.die.net/man/8/pam_cracklib](https://linux.die.net/man/8/pam_cracklib)」を参照してください。  
以下に示すように、これらの各オプションの期待値は -1 以下です。  
`lcredit <= -1, ucredit <= -1, dcredit<= -1, ocredit <= -1`  
さらに、`remember` オプションを 12 以上に設定する必要があります。詳細については、「[https://linux.die.net/man/8/pam_unix](https://linux.die.net/man/8/pam_unix)」を参照してください。

## ASLR の有効化
<a name="ASLR"></a>

このルールは、評価ターゲット内の EC2 インスタンスのオペレーティングシステムでアドレス空間配置のランダム化 (ASLR) が有効であるかどうかを判断するのに役立ちます。

**重要度**  
[[Medium] (中)](inspector_rule-packages.md#SeverityLevels)

**結果**  
評価ターゲット内の EC2 インスタンスで ASLR は有効になっていません。

**解決策**  
評価ターゲットのセキュリティを向上させるため、**echo 2 \| sudo tee /proc/sys/kernel/randomize\_va\_space** を実行してターゲット内のすべての EC2 インスタンスのオペレーティング システムで ASLR を有効にすることをお勧めします。

## DEP の有効化
<a name="DEP-OS"></a>

このルールは、評価ターゲット内の EC2 インスタンスのオペレーティングシステムでデータ実行防止 (DEP) が有効であるかどうかを判断するのに役立ちます。

**注記**  
このルールは、ARM プロセッサを備えた EC2 インスタンスではサポートされません。

**重要度**  
[[Medium] (中)](inspector_rule-packages.md#SeverityLevels)

**結果**  
評価ターゲット内の EC2 インスタンスで DEP は有効になっていません。

**解決策**  
評価ターゲット内のすべての EC2 インスタンスのオペレーティングシステムで DEP を有効にすることをお勧めします。DEP を有効にすることで、バッファオーバーフロー技術を使用してセキュリティ侵害からインスタンスを保護できます。

## システムディレクトリに対するアクセス許可の設定
<a name="permissions-for-system-directories"></a>

このルールは、バイナリとシステム設定情報を含むシステムディレクトリに対する権限をチェックします。root ユーザー (root アカウントの認証情報を使用してログインしたユーザー) のみがこれらのディレクトリに対する書き込み権限を持っていることを確認します。

**重要度**  
[高い](inspector_rule-packages.md#SeverityLevels)

**結果**  
評価ターゲット内の EC2 インスタンスに、非 root ユーザーが書き込み可能なシステムディレクトリが含まれています。

**解決策**  
評価ターゲットのセキュリティを向上させ、悪意のあるローカルユーザーによる特権エスカレーションを防ぐため、ターゲット内のすべての EC2 インスタンスのシステムディレクトリを root アカウントの認証情報を使用してログインするユーザー以外が書き込みできないように設定します。