Amazon EC2 Mac インスタンスのシステム整合性保護を構成する - Amazon Elastic Compute Cloud

Amazon EC2 Mac インスタンスのシステム整合性保護を構成する

x86 Mac インスタンスと Apple シリコン Mac インスタンスのシステム整合性保護 (SIP) を設定できます。SIP は、不正なコード実行やシステムレベルの改変を防ぐのに役立つ重要な macOS セキュリティ機能です。詳細については、「About System Integrity Protection」を参照してください。

すべての SIP 設定を有効または無効にすることもできるし、あるいは特定の SIP 設定のみを選択的に有効または無効にすることもできます。SIP は、タスクの実行に必要な時間だけ一時的に無効にし、その後はできるだけ早く再度有効化することをお勧めします。SIP を無効のままにしておくと、インスタンスが悪意のあるコードに対して脆弱になる可能性があります。

SIP 設定は、Amazon EC2 Mac インスタンスがサポートされているすべての AWS リージョンでサポートされています。

考慮事項

  • 次の Amazon EC2 Mac インスタンスタイプと macOS バージョンがサポートされています。

    • Mac1 | Mac2 | Mac2-m1ultra – macOS Ventura (バージョン 13.0 以降)

    • Mac2-m2 | Mac2-m2pro – macOS Ventura (バージョン 13.2 以降)

    注記

    ベータバージョンおよびプレビューバージョンの macOS はサポートされていません。

  • カスタム SIP 設定を指定して、個々の SIP 設定を選択的に有効または無効にできます。カスタム設定を実装したら、インスタンスに接続して設定を確認し、要件が適切に実装され、意図したとおりに機能していることを確認すること。

    SIP 設定は、macOS の更新に伴って変更される可能性があります。macOS バージョンのアップグレード後は、セキュリティ設定のシームレスな互換性と適切な機能性を保証するため、カスタム SIP 設定の内容を改めて確認することをお勧めします。

  • x86 Mac インスタンスの場合、SIP 設定はインスタンスレベルで適用されます。インスタンスにアタッチされたルートボリュームは、構成された SIP 設定を自動的に引き継ぎます。

    Apple シリコン Mac インスタンスの場合、SIP 設定はボリュームレベルで適用されます。そのため、インスタンスにアタッチされたルートボリュームは SIP 設定を引き継ぎません。別のルートボリュームをアタッチする場合は、SIP 設定を必要な状態に再構成する必要があります。

  • SIP 設定タスクが完了するまでに最大 90 分かかる場合があります。SIP 設定タスクの進行中、インスタンスはアクセスできない状態となります。

  • SIP 設定は、後でインスタンスから作成するスナップショットや AMI には反映されません。

  • Apple シリコン Mac インスタンスにはブート可能なボリュームが 1 つだけあることが前提です。アタッチされた各ボリュームには、それぞれ管理者ユーザーを 1 人追加できます。

デフォルトの SIP 設定

次の表に、x86 Mac インスタンスと Apple シリコン Mac インスタンスのデフォルトの SIP 設定を示します。

Apple シリコン Mac インスタンス x86 Mac インスタンス
Apple 内部 有効 無効
ファイルシステムの保護 有効 無効
ベースシステム 有効 有効
デバッグの制限 有効 有効
Dtrace 制限 有効 有効
Kext 署名 有効 有効
Nvram の保護 有効 有効

SIP 設定を確認する

変更の前後に SIP 設定をチェックして、想定どおりに設定されているかどうか確認することをお勧めします。

Amazon EC2 Mac インスタンスの SIP 設定を確認するには

SSH を使用してインスタンスに接続し、コマンドラインで次のコマンドを実行します。

$ csrutil status

以下は出力例です。

System Integrity Protection status: enabled. Configuration: Apple Internal: enabled Kext Signing: disabled Filesystem Protections: enabled Debugging Restrictions: enabled DTrace Restrictions: enabled NVRAM Protections: enabled BaseSystem Verification: disabled

Apple シリコン Mac インスタンスの前提条件

Apple シリコン Mac インスタンスの SIP 設定を構成する前に、パスワードを設定し、Amazon EBS ルートボリューム管理ユーザー (ec2-user) のセキュアトークンを有効にする必要があります。

注記

パスワードとセキュアトークンは、GUI を使用して Apple シリコン Mac インスタンスに初めて接続するときに設定されます。以前に GUI を使用してインスタンスに接続したことがある場合、または x86 Mac インスタンスを使用している場合は、これらのステップを実行する必要はありません

パスワードを設定し、EBS ルートボリューム管理ユーザーのセキュアトークンを有効にするには
  1. SSH を使用してインスタンスに接続します

  2. ec2-user ユーザーのパスワードを設定します。

    $ sudo /usr/bin/dscl . -passwd /Users/ec2-user
  3. ec2-user ユーザーのセキュアトークンを有効にします。-oldPassword の場合、前のステップと同じパスワードを指定します。-newPassword の場合、別のパスワードを指定します。次のコマンドは、古いパスワードと新しいパスワードが .txt ファイルに保存されていることを前提としています。

    $ sysadminctl -oldPassword `cat old_password.txt` -newPassword `cat new_password.txt`
  4. セキュアトークンが有効になっていることを確認します。

    $ sysadminctl -secureTokenStatus ec2-user

SIP 設定を構成する

インスタンスの SIP 設定を構成するときは、すべての SIP 設定を有効または無効にすることもできるし、あるいは特定の SIP 設定を選択的に有効または無効にするカスタム設定を実装することもできます。

注記

カスタム設定を実装したら、インスタンスに接続して設定を確認し、要件が適切に実装され、意図したとおりに機能していることを確認すること。

SIP 設定は、macOS の更新に伴って変更される可能性があります。macOS バージョンのアップグレード後は、セキュリティ設定のシームレスな互換性と適切な機能性を保証するため、カスタム SIP 設定の内容を改めて確認することをお勧めします。

インスタンスの SIP 設定を構成するには、SIP 設定タスクを作成する必要があります。SIP 設定タスクでは、インスタンスの SIP 設定を指定します。

Apple シリコン Mac インスタンスの SIP 設定を作成するときは、次の認証情報を指定する必要があります。

  • 内部ディスク管理ユーザー

    • ユーザー名 – デフォルトの管理ユーザー (aws-managed-user) のみがサポートされ、デフォルトで使用されます。別の管理ユーザーを指定することはできません。

    • パスワード – aws-managed-user のデフォルトのパスワードを変更しなかった場合は、デフォルトのパスワード (空白) を指定します。それ以外の場合は、パスワードを指定します。

  • Amazon EBS ルートボリューム管理ユーザー

    • ユーザー名 – デフォルトの管理ユーザーを変更しなかった場合は、ec2-user を指定します。それ以外の場合は、管理ユーザーのユーザー名を指定します。

    • パスワード – パスワードは常に指定する必要があります。

SIP 設定タスクを作成するには、次の方法を使用します。

Console
コンソールを使用して SIP 設定タスクを作成するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションパネルで [インスタンス] を選択し、Amazon EC2 Mac インスタンスを選択してください。

  3. [セキュリティ] タブで、[Mac の変更、システム整合性保護の変更] を選択します。

  4. すべての SIP 設定を有効にするには、[SIP を有効にする] を選択します。すべての SIP 設定を無効にするには、[SIP を有効にする] の選択を解除します。

  5. 特定の SIP 設定を選択的に有効または無効にするカスタム設定を指定するには、[カスタム SIP 設定を指定] を選択し、有効にする SIP 設定を選択するか、無効にする SIP 設定の選択を解除します。

  6. ルートボリュームユーザーと内部ディスク所有者の認証情報を指定します。

  7. [SIP 変更タスクの作成] を選択します。

AWS CLI
AWS CLI を使用して SIP 設定タスクを作成するには

create-mac-system-integrity-protection-modification-task コマンドを使用します。

すべての SIP 設定を有効または無効にする

すべての SIP 設定を完全に有効または無効にするには、--mac-system-integrity-protection-status パラメータのみを使用します。

次のコマンド例では、すべての SIP 設定を有効にします。

aws ec2 create-mac-system-integrity-protection-modification-task \ --instance-id i-0abcdef9876543210 \ --mac-system-integrity-protection-status enabled \ --mac-credentials file://mac-credentials.json
カスタム SIP 設定を指定する

特定の SIP 設定を選択的に有効または無効にするカスタム SIP 設定を指定するには、--mac-system-integrity-protection-status および --mac-system-integrity-protection-configuration パラメータを指定します。この場合、mac-system-integrity-protection-status により SIP ステータス全体を指定し、mac-system-integrity-protection-configuration により個々の SIP 設定を選択的に有効または無効にします。

次のコマンド例では、NvramProtectionsFilesystemProtections を除くすべての SIP 設定を有効にする SIP 設定タスクを作成します。

aws ec2 create-mac-system-integrity-protection-modification-task \ --instance-id i-0abcdef9876543210 \ --mac-system-integrity-protection-status enabled \ --mac-system-integrity-protection-configuration "NvramProtections=disabled, FilesystemProtections=disabled" \ --mac-credentials file://mac-credentials.json

次のコマンド例では、DtraceRestrictions を除くすべての SIP 設定を無効にする SIP 設定タスクを作成します。

aws ec2 create-mac-system-integrity-protection-modification-task \ --instance-id i-0abcdef9876543210 \ --mac-system-integrity-protection-status disabled \ --mac-system-integrity-protection-configuration "DtraceRestrictions=enabled" \ --mac-credentials file://mac-credentials.json
mac-credentials.json ファイルの内容

以下は、前述の例で参照されている mac-credentials.json ファイルの内容です。

{ "internalDiskPassword":"internal-disk-admin_password", "rootVolumeUsername":"root-volume-admin_username", "rootVolumepassword":"root-volume-admin_password" }

SIP 設定タスクのステータスを確認する

SIP 設定タスクのステータスを確認するには、次のいずれかの方法を使用します。

Console
コンソールで SIP 設定タスクを表示するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションパネルで [インスタンス] を選択し、Amazon EC2 Mac インスタンスを選択してください。

  3. [セキュリティ] タブで、[Mac 変更タスク] セクションまで下にスクロールします。

AWS CLI
AWS CLI を使用して SIP 設定タスクのステータスを確認するには

describe-mac-modification-tasks コマンドを使用します。