Configurar Proteção de Integridade do Sistema (SIP) em instâncias do Amazon EC2 Mac


Configurar Proteção de Integridade do Sistema (SIP) em instâncias do Amazon EC2 Mac

Tenho o prazer de anunciar que os desenvolvedores agora podem desativar programaticamente a Apple Proteção de integridade do sistema (SIP) no seu Amazon EC2 Mac instâncias. Proteção de Integridade do Sistema (SIP), também conhecida como Rootless, é um recurso de segurança introduzido pela Apple em OS X El Capitan (2015, versão 10.11). Ele foi projetado para proteger o sistema de software program potencialmente prejudicial, restringindo o poder da conta de usuário root. O SIP é ativado por padrão no macOS.

SIP protege o sistema, impedindo a modificação de arquivos e pastas protegidas, restringindo o acesso a arquivos e diretórios de propriedade do sistema e bloqueando o software program não autorizado de selecionar um disco de inicialização. O objetivo principal do SIP é abordar o risco de segurança vinculado ao acesso raiz irrestrito, o que poderia potencialmente permitir que o malware obtenha controle complete de um dispositivo com apenas uma senha ou vulnerabilidade. Ao implementar essa proteção, a Apple visa garantir um nível mais alto de segurança para os usuários do MacOS, especialmente considerando que muitos usuários operam em contas administrativas com senhas fracas ou sem senhas.

Embora o SIP ofereça uma excelente proteção contra malware para o uso diário, os desenvolvedores podem ocasionalmente precisar desativá -lo temporariamente para fins de desenvolvimento e teste. Por exemplo, ao criar um novo driver de dispositivo ou extensão do sistema, é necessário desativar o SIP para instalar e testar o código. Além disso, o SIP pode bloquear o acesso a determinadas configurações do sistema necessárias para que seu software program funcione corretamente. Desativar temporariamente o SIP concede a você as permissões necessárias para ajustar os programas para MacOS. No entanto, é essential lembrar que isso é semelhante a desativar brevemente a porta do cofre para manutenção autorizada, não deixando -a aberta permanentemente.

Desativar gole Em um Mac, requer acesso físico à máquina. Você tem que Reinicie a máquina no modo de recuperaçãoentão desative o gole com o csrutil Ferramenta de linha de comando e reinicie a máquina novamente.

Até hoje, você precisava operar com as configurações SIP padrão nas instâncias do EC2 Mac. O requisito de acesso físico e a necessidade de inicializar no modo de recuperação fizeram a integração do SIP com a Amazon EC2 Management Airplane e o EC2 API desafiador. Mas esse não é mais o caso! Agora você pode desativar e reativar o SIP à vontade em suas instâncias do Amazon EC2 Mac. Deixe -me mostrar como.

Vamos ver como funciona
Think about que eu tenho uma instância do Amazon EC2 Mac. É um mac2-m2.metallic Instância, executando em um processador Apple Silicon M2. Desativar ou habilitar o SIP é tão simples quanto chamar uma nova API EC2: CreateMacSystemIntegrityProtectionModificationTask. Esta API é assíncrona; Ele inicia o processo de alteração do standing SIP em sua instância. Você pode monitorar o progresso usando outra nova API EC2: DescribeMacModificationTasks. Tudo o que preciso saber é o ID da instância da máquina com a qual quero trabalhar.

Pré -requisitos
Nas instâncias do EC2 Mac baseadas em silício da Apple e no tipo mais recente de máquinas, antes de chamar a nova API EC2, devo definir o ec2-user senha do usuário e habilitar token seguro Para esse usuário no macOS. Isso requer conectar -se à máquina e digitar dois comandos no terminal.

# on the goal EC2 Mac occasion
# Set a password for the ec2-user consumer
~ % sudo /usr/bin/dscl . -passwd /Customers/ec2-user
New Password: (MyNewPassw0rd)

# Allow safe token, with the identical password, for the ec2-user
# outdated password is the one you simply set with dscl
~ % sysadminctl -newPassword MyNewPassw0rd -oldPassword MyNewPassw0rd
2025-03-05 13:16:57.261 sysadminctl(3993:3033024) Making an attempt to vary password for ec2-user…
2025-03-05 13:16:58.690 sysadminctl(3993:3033024) SecKeychainCopyLogin returned -25294
2025-03-05 13:16:58.690 sysadminctl(3993:3033024) Didn't replace keychain password (-25294)
2025-03-05 13:16:58.690 sysadminctl(3993:3033024) - Accomplished

# The error concerning the KeyChain is anticipated. I by no means related with the GUI on this machine, so the Login keychain doesn't exist
# you possibly can ignore this error.  The command beneath exhibits the checklist of keychains lively on this session
~ % safety checklist
    "/Library/Keychains/System.keychain"

# Confirm that the safe token is ENABLED
~ % sysadminctl -secureTokenStatus ec2-user
2025-03-05 13:18:12.456 sysadminctl(4017:3033614) Safe token is ENABLED for consumer ec2-user

Altere o standing SIP
Não preciso me conectar à máquina para alternar o standing SIP. Eu só preciso saber o ID da instância. Eu abro um terminal no meu laptop computer e uso o Interface da linha de comando da AWS (AWS CLI) Para recuperar o ID da instância do Amazon EC2 MAC.

 aws ec2 describe-instances 
         --query "Reservations().Situations(?InstanceType == 'mac2-m2.metallic' ).InstanceId" 
         --output textual content

i-012a5de8da47bdff7

Agora, ainda do terminal no meu laptop computer, desabilito o sabor com o create-mac-system-integrity-protection-modification-task comando:

echo '{"rootVolumeUsername":"ec2-user","rootVolumePassword":"MyNewPassw0rd"}' > tmpCredentials
aws ec2 create-mac-system-integrity-protection-modification-task 
--instance-id "i-012a5de8da47bdff7" 
--mac-credentials fileb://./tmpCredentials 
--mac-system-integrity-protection-status "disabled" && rm tmpCredentials

{
    "macModificationTask": {
        "instanceId": "i-012a5de8da47bdff7",
        "macModificationTaskId": "macmodification-06a4bb89b394ac6d6",
        "macSystemIntegrityProtectionConfig": {},
        "startTime": "2025-03-14T14:15:06Z",
        "taskState": "pending",
        "taskType": "sip-modification"
    }
}

Depois que a tarefa é iniciada, posso verificar seu standing com o aws ec2 describe-mac-modification-tasks comando.

{
    "macModificationTasks": (
        {
            "instanceId": "i-012a5de8da47bdff7",
            "macModificationTaskId": "macmodification-06a4bb89b394ac6d6",
            "macSystemIntegrityProtectionConfig": {
                "debuggingRestrictions": "",
                "dTraceRestrictions": "",
                "filesystemProtections": "",
                "kextSigning": "",
                "nvramProtections": "",
                "standing": "disabled"
            },
            "startTime": "2025-03-14T14:15:06Z",
            "tags": (),
            "taskState": "in-progress",
            "taskType": "sip-modification"
        },
...

A instância inicia o processo e uma série de reinicializações, durante as quais se torna inacessível. Esse processo pode levar de 60 a 90 minutos para ser concluído. Depois disso, quando vejo o standing no console se tornando disponível novamente, eu Conecte -se à máquina através da instância SSH ou EC2 Joincomo sempre.

➜  ~ ssh ec2-user@54.99.9.99
Warning: Completely added '54.99.9.99' (ED25519) to the checklist of identified hosts.
Final login: Mon Feb 26 08:52:42 2024 from 1.1.1.1

    ┌───┬──┐   __|  __|_  )
    │ ╷╭╯╷ │   _|  (     /
    │  └╮  │  ___|___|___|
    │ ╰─┼╯ │  Amazon EC2
    └───┴──┘  macOS Sonoma 14.3.1

➜  ~ uname -a
Darwin Mac-mini.native 23.3.0 Darwin Kernel Model 23.3.0: Wed Dec 20 21:30:27 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T8103 arm64

➜ ~ csrutil --status 
System Integrity Safety standing: disabled.

Quando desativar o SIP
Desativar o SIP deve ser abordado com cautela, pois abre o sistema para possíveis riscos de segurança. No entanto, como mencionei na introdução deste put up, pode ser necessário desativar o SIP ao desenvolver drivers de dispositivo ou extensões de kernel para macOS. Alguns aplicativos mais antigos também podem não funcionar corretamente quando o SIP estiver ativado.

Desativar o SIP também é necessário para desativar a indexação do Highlight. O Highlight pode ajudá -lo a encontrar rapidamente aplicativos, documentos, e -mails e outros itens no seu Mac. É muito conveniente nas máquinas de mesa, mas não tanto em um servidor. Quando não há necessidade de indexar seus documentos à medida que eles mudam, desativando os holofotes lançará alguns ciclos de CPU e E/S de disco.

Coisas para saber
Há algumas coisas adicionais para saber sobre o desativar o SIP no Amazon EC2 Mac:

  • Desativar SIP está disponível através da API e AWS SDKSo AWS CLIe o Console de gerenciamento da AWS.
  • No Apple Silicon, a configuração é baseada em quantity. Então, se você Substitua o quantity da raizvocê precisa desativar o SIP novamente. Na Intel, a configuração é baseada no host MAC; portanto, se você substituir o quantity da raiz, o SIP ainda será desativado.
  • Depois de desativar o SIP, ele será ativado novamente se você parar e iniciar a instância. A reinicialização de uma instância não altera seu standing SIP.
  • O standing SIP não é transferível entre os volumes EBS. Isso significa que o SIP será desativado novamente após a restauração de uma instância de um instantâneo do EBS ou se você criar um AMI a partir de uma instância em que o SIP está ativado.

Essas novas APIs estão disponíveis em Todas as regiões onde o Amazon EC2 Mac está disponívelsem custo adicional. Experimente hoje.

– seb


Como está o weblog de notícias? Pegue isso 1 minuto de pesquisa!

(Esse enquete é hospedado por uma empresa externa. AWS lida com suas informações conforme descrito no Aviso de privacidade da AWS. A AWS possuirá os dados coletados por meio desta pesquisa e não compartilharão as informações coletadas com os entrevistados.)

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *