Amazon EC2 Mac 인스턴스의 시스템 무결성 보호 구성 - Amazon Elastic Compute Cloud

Amazon EC2 Mac 인스턴스의 시스템 무결성 보호 구성

x86 Mac 인스턴스와 Apple 실리콘 Mac 인스턴스의 시스템 무결성 보호(SIP) 설정을 구성할 수 있습니다. SIP는 무단 코드 실행 및 시스템 수준 수정을 방지하는 데 도움이 되는 중요한 macOS 보안 기능입니다. 자세한 내용은 시스템 무결성 보호 정보를 참조하세요.

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명만 있을 수 있습니다.

기본 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. https://console.aws.amazon.com/ec2/에서 Amazon 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. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 인스턴스를 선택한 다음 Amazon EC2 Mac 인스턴스를 선택합니다.

  3. 보안 탭에서 아래로 스크롤하여 Mac 수정 작업 섹션으로 이동합니다.

AWS CLI
AWS CLI를 사용하여 SIP 구성 작업의 상태를 확인하려면

describe-mac-modification-tasks 명령을 사용합니다.