Configurare macOS per l'autenticazione solo con smart card
L'autenticazione con smart card garantisce un'efficace autenticazione a due fattori in macOS Sierra e versioni successive. macOS High Sierra 10.13.2 e versioni successive supportano l'autenticazione solo con smart card, quindi sarà obbligatorio usare una smart card e verrà disabilitata l'autenticazione tramite password.
Questo articolo si rivolge agli amministratori di sistema che definiscono la politica sulla sicurezza negli ambienti aziendali in cui è richiesta l'autenticazione con smart card.
Abilitare l'accesso solo con smart card
Accertati di seguire accuratamente questi passaggi per fare in modo che gli utenti possano accedere al computer.
Abbina una smart card a un account utente amministratore o configura la corrispondenza attributi.
Se hai abilitato controlli certificato rigidi, installa i certificati root o intermedi richiesti.
Verifica di poter accedere a un account amministratore tramite una smart card.
Installare un profilo di configurazione smart card che includa “profilo di configurazione smart card-only illustrato di seguito.
Verifica di riuscire ancora ad accedere usando una smart card.
Per maggiori informazioni sulle impostazioni del payload smart card, consulta la pagina Apple Configuration Profile Reference.
Per maggiori informazioni sull'uso dei servizi smart card, consulta la Guida di riferimento per la distribuzione di macOS o apri Terminale e inserisci man SmartCardServices
Disabilitare l'autenticazione solo con smart card
Se gestisci manualmente i profili installati sul computer, puoi rimuovere il profilo smart card-only in due modi. Puoi usare il pannello Profili delle Preferenze di Sistema, oppure puoi usare lo strumento della riga di comando /usr/bin/profiles. Per maggiori informazioni, apri Terminale e inserisci man profiles
.
Sei i computer client sono registrati in Mobile Device Management (MDM), puoi ripristinare l'autenticazione basata su password. A questo scopo, rimuovi il profilo di configurazione smart card che abilita la restrizione smart card-only dai computer client.
Per evitare che gli utenti vengano esclusi dal loro account, rimuovi il profilo enforceSmartCard prima di annullare l'abbinamento di una smart card o di disabilitare la corrispondenza attributi. Se un utente è escluso dal suo account, rimuovi il profilo di configurazione per risolvere il problema.
Se applichi la politica smart card-only prima di abilitare l'autenticazione solo con smart card, un utente potrebbe essere escluso dal suo computer. Per risolvere questo problema, rimuovi la politica smart card-only:
Accendi il Mac, poi tieni subito premuto Comando-R per eseguire l'avvio da macOS Recovery. Rilascia i tasti quando visualizzi il logo Apple, un globo che gira o una richiesta per la password del firmware.
Seleziona Utility Disco dalla finestra Utility, quindi fai clic su Continua.
Dalla barra laterale di Utility Disco, seleziona il volume che stai utilizzando, quindi scegli File Attiva dalla barra dei menu. (Se il volume è già attivato, questa opzione è disattivata). Immetti la password amministratore quando richiesto.
Esci da Utility Disco.
Scegli Terminale dal menu Utility nella barra dei menu.
Elimina il repository dei profili di configurazione. A questo scopo, apri Terminale e inserisci i seguenti comandi.
In questi comandi, sostituisci con il nome del volume macOS in cui sono state installate le impostazioni del profilo.
rm /Volumes//var/db/ConfigurationProfiles/MDM_ComputerPrefs.plist
rm /Volumes//var/db/ConfigurationProfiles/.profilesAreInstalled
rm /Volumes//var/db/ConfigurationProfiles/Settings/.profilesAreInstalled
rm /Volumes//var/db/ConfigurationProfiles/Store/ConfigProfiles.binary
rm /Volumes//var/db/ConfigurationProfiles/Setup/.profileSetupDone
Quando hai terminato, scegli menu Apple () Riavvia.
Reinstalla tutti i profili di configurazione presenti prima dell'abilitazione dell'autenticazione solo con smart card.
Configurare Secure Shell Daemon (SSHD) per il supporto dell'autenticazione solo con smart card
Gli utenti possono usare la loro smart card per autenticarsi tramite SSH sul computer locale o sui computer remoti configurati correttamente. Segui questi passaggi per configurare SSHD su un computer in modo che supporti l'autenticazione con smart card.
Aggiorna il file /etc/ssh/sshd_config:
Usa il seguente comando per eseguire il backup del file:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup_`date "+%Y-%m-%d_%H:%M"`
Nel file sshd_config, cambia “#ChallengeResponseAuthentication yes” in “ChallengeResponseAuthentication no” e cambia “#PasswordAuthentication yes” in “#PasswordAuthentication no”.
Poi, usa i seguenti comandi per riavviare SSHD:
sudo launchctl stop com.openssh.sshd
sudo launchctl start com.openssh.sshd
Se un utente desidera autenticare le sessioni SSH con una smart card, invitalo a seguire questi passaggi:
Usa il seguente comando per esportare la chiave pubblica dalla smart card:
ssh-keygen -D /usr/lib/ssh-keychain.dylib
Aggiungi la chiave pubblica esportata nel passaggio precedente al file ~/.ssh/authorized_keys sul computer di destinazione.
Usa il seguente comando per eseguire il backup del file ssh_config:
sudo cp /etc/ssh/ssh_config /etc/ssh/ssh_config_backup_`date "+%Y-%m-%d_%H:%M"`
Nel file /etc/ssh/ssh_config, aggiungi la riga "PKCS11Provider=/usr/lib/ssh-keychain.dylib".
Se l'utente lo desidera, può anche usare il seguente comando per aggiungere la chiave privata all'agente ssh:
ssh-add -s /usr/lib/ssh-keychain.dylib
Abilitare l'autenticazione solo con smart card per il comando SUDO
Usa il seguente comando per eseguire il backup del file /etc/pam.d/sudo:
sudo cp /etc/pam.d/sudo /etc/pam.d/sudo_backup_`date "+%Y-%m-%d_%H:%M"`
Poi, sostituisci tutti i contenuti del file /etc/pam.d/sudo con il seguente testo:
# sudo: auth account password session auth sufficient pam_smartcard.so auth required pam_opendirectory.so auth required pam_deny.so account required pam_permit.so password required pam_deny.so session required pam_permit.so
Abilitare l'autenticazione solo con smart card per il comando LOGIN
Usa il seguente comando per eseguire il backup del file /etc/pam.d/login:
sudo cp /etc/pam.d/login /etc/pam.d/login_backup_`date "+%Y-%m-%d_%H:%M"`
Poi, sostituisci tutti i contenuti del file /etc/pam.d/login con il seguente testo:
# login: auth account password session auth sufficient pam_smartcard.so auth optional pam_krb5.so use_kcminit auth optional pam_ntlm.so try_first_pass auth optional pam_mount.so try_first_pass auth required pam_opendirectory.so try_first_pass auth required pam_deny.so account required pam_nologin.so account required pam_opendirectory.so password required pam_opendirectory.so session required pam_launchd.so session required pam_uwtmp.so session optional pam_mount.so
Abilitare l'autenticazione solo con smart card per il comando SU
Usa il seguente comando per eseguire il backup del file /etc/pam.d/su:
sudo cp /etc/pam.d/su /etc/pam.d/su_backup_`date "+%Y-%m-%d_%H:%M"`
Poi, sostituisci tutti i contenuti del file /etc/pam.d/su con il seguente testo:
# su: auth account password session auth sufficient pam_smartcard.so auth required pam_rootok.so auth required pam_group.so no_warn group=admin,wheel ruser root_only fail_safe account required pam_permit.so account required pam_opendirectory.so no_check_shell password required pam_opendirectory.so session required pam_launchd.so
Esempio di profilo di configurazione smart card-only
Ecco un esempio di profilo di configurazione smart card-only. Puoi usarlo per vedere i tipi di chiavi e stringhe inclusi in questo tipo di profilo.
PayloadContent PayloadDescription Configures smart card-only PayloadDisplayName Smart card-only PayloadIdentifier com.apple.configprofile.78. PayloadOrganization Apple PayloadType com.apple.security.smartcard PayloadUUID 5A15247B-899C-474D-B1D7-DBD82BDE5678 PayloadVersion 1 UserPairing AllowSmartCard CheckCertificateTrust enforceSmartCard PayloadDescription Smartcard profile. PayloadDisplayName Smart card-only PayloadIdentifier com.apple.configprofile.77 PayloadOrganization PayloadRemovalDisallowed PayloadType Configuration PayloadScope system PayloadUUID 7D34CC86-C707-44D2-9A9F-C5F6E347BD77 PayloadVersion 1