macOS configureren voor verplichte authenticatie met smartcard

Authenticatie met smartcard voorziet in sterke twee-factor-authenticatie in macOS Sierra en hoger. macOS High Sierra 10.13.2 en hoger ondersteunen verplichte authenticatie met smartcard, waarbij het gebruik van een smartcard vereist is en authenticatie met wachtwoord wordt uitgeschakeld. 

Dit artikel is bedoeld voor systeembeheerders die een beveiligingsbeleid instellen in ondernemingen waarvoor smartcard-authenticatie vereist is. 

Verplichte authenticatie met smartcard inschakelen

Volg deze stappen zorgvuldig zodat gebruikers kunnen inloggen op de computer.

  1. Koppel een smartcard aan een beheerdersaccount of configureer Attribute Matching.
  2. Als u strenge certificaatcontroles hebt ingeschakeld, installeert u vereiste rootcertificaten of intermediaire certificaten.
  3. Controleer of u met een smartcard kunt inloggen bij een beheerdersaccount.
  4. Installeer een configuratieprofiel voor een smartcard dat '<key>enforceSmartCard</key><true/>' bevat zoals weergegeven in het onderstaande configuratieprofiel voor verplichte authenticatie met smartcard.
  5. Controleer of u nog steeds kunt inloggen met behulp van een smartcard.

Voor meer informatie over payloadinstellingen voor de smartcard raadpleegt u Apple Configuration Profile Reference.

Voor meer informatie over het gebruik van smartcardservices raadpleegt u de macOS-implementatiehandleiding of opent u Terminal en voert u man SmartCardServices in.

 

Verplichte authenticatie met smartcard uitschakelen

Als u de profielen die op de computer zijn geïnstalleerd handmatig beheert, kunt u het profiel voor verplichte authenticatie met smartcard op twee manieren verwijderen. U kunt in Systeemvoorkeuren naar het deelvenster 'Profielen' gaan of u kunt het opdrachtregelprogramma /user/bin/profiles gebruiken. Voor meer informatie opent u Terminal en voert u man profiles in.

Als uw clientcomputers zijn geregistreerd voor Mobile Device Management (MDM), kunt u authenticatie via wachtwoorden herstellen. Hiervoor verwijdert u het smartcard-configuratieprofiel waarmee de beperking voor verplichte authenticatie met smartcard op de clientcomputers is ingeschakeld.

Als u wilt voorkomen dat de account van gebruikers wordt geblokkeerd, verwijdert u het enforceSmartCard-profiel voordat u een smartcard loskoppelt of Attribute Matching uitschakelt. Als een gebruiker geen toegang meer heeft tot zijn of haar account, verwijdert u het configuratieprofiel om het probleem op te lossen.

Als u het beleid voor verplichte authenticatie met smartcard toepast voordat u verplichte authenticatie met smartcard inschakelt, kan de computer van een gebruiker worden geblokkeerd. Als u dit probleem wilt oplossen, verwijdert u het beleid voor verplichte authenticatie met smartcard:

  1. Schakel uw Mac in en houd direct Command-R ingedrukt om op te starten vanaf macOS Recovery. Laat de toetsen los wanneer u het Apple logo of een draaiende wereldbol ziet of wanneer u wordt gevraagd om een firmwarewachtwoord. 
  2. Selecteer 'Schijfhulpprogramma' in het venster 'Hulpprogramma's' en klik op 'Ga door'.
  3. Selecteer in de navigatiekolom van 'Schijfhulpprogramma' het volume dat u gebruikt en kies 'Archief' > 'Activeer' in de menubalk. (Als het volume al is geactiveerd, wordt deze optie grijs weergegeven.) Voer vervolgens het wachtwoord van de beheerder in wanneer u hierom wordt gevraagd.
  4. Stop Schijfhulpprogramma.
  5. Kies 'Terminal' in het menu 'Hulpprogramma's' in de menubalk.
  6. Verwijder de opslaglocatie voor configuratieprofielen. Hiervoor opent u Terminal en voert u de volgende opdrachten in.
    In deze commando's vervangt u <volumenaam> door de naam van het macOS-volume waar de profielinstellingen zijn geïnstalleerd. 
    rm /Volumes/<volumenaam>/var/db/ConfigurationProfiles/MDM_ComputerPrefs.plist
    rm /Volumes/<volumenaam>/var/db/ConfigurationProfiles/.profilesAreInstalled
    rm /Volumes/<volumenaam>/var/db/ConfigurationProfiles/Settings/.profilesAreInstalled
    rm /Volumes/<volumenaam>/var/db/ConfigurationProfiles/Store/ConfigProfiles.binary
    rm /Volumes/<volumenaam>/var/db/ConfigurationProfiles/Setup/.profileSetupDone
  7. Wanneer u klaart bent, kiest u het Apple-menu () > 'Herstart'.
  8. Installeer alle configuratieprofielen opnieuw die al bestonden voordat u verplichte authenticatie met smartcard inschakelde.

 

SSHD (Secure Shell Daemon) configureren om verplichte authenticatie met smartcard te ondersteunen

Gebruikers kunnen hun smartcard gebruiken om authenticatie via SSH uit te voeren voor de lokale computer of voor externe computers die op de juiste manier zijn geconfigureerd. Volg deze stappen om SSHD te configureren op een computer zodat deze support biedt voor authenticatie met smartcard. 

Werk het bestand /etc/ssh/sshd_config bij:

  1. Gebruik de volgende opdracht om een reservekopie te maken van het bestand sshd_config:
    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup_`date "+%Y-%m-%d_%H:%M"`
  2. Wijzig in het bestand sshd_config '#ChallengeResponseAuthentication yes' in 'ChallengeResponseAuthentication no' en wijzig '#PasswordAuthentication yes' naar '#PasswordAuthentication no'.

Gebruik vervolgens de volgende opdrachten om SSHD te herstarten:

sudo launchctl stop com.openssh.sshd

sudo launchctl start com.openssh.sshd

Als een gebruiker SSH-sessies wil verifiëren met een smartcard, moet de gebruiker de volgende stappen uitvoeren:

  1. Gebruik de volgende opdracht om de openbare sleutel te exporteren uit de smartcard:
    ssh-keygen -D /usr/lib/ssh-keychain.dylib
  2. Voeg de openbare sleutel van de vorige stap toe aan het bestand ~/.ssh/authorized_keys op de doelcomputer.
  3. Gebruik de volgende opdracht om een reservekopie te maken van het bestand ssh_config:
    sudo cp /etc/ssh/ssh_config /etc/ssh/ssh_config_backup_`date "+%Y-%m-%d_%H:%M"`
  4. In het bestand /etc/ssh/ssh_config voegt u de regel 'PKCS11Provider=/usr/lib/ssh-keychain.dylib' toe.

Indien gewenst kan de gebruiker ook de volgende opdracht gebruiken om de privésleutel toe te voegen aan de ssh-agent:

ssh-add -s /usr/lib/ssh-keychain.dylib

 

Verplichte authenticatie met smartcard inschakelen voor de SUDO-opdracht

Gebruik de volgende opdracht om een reservekopie te maken van het bestand /etc/pam.d/sudo:

sudo cp /etc/pam.d/sudo /etc/pam.d/sudo_backup_`date "+%Y-%m-%d_%H:%M"`

Vervang vervolgens alle inhoud van het bestand /etc/pam.d/sudo door de volgende tekst:

# 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

 

Verplichte authenticatie met smartcard inschakelen voor de LOGIN-opdracht

Gebruik de volgende opdracht om een reservekopie te maken van het bestand /etc/pam.d/login:

sudo cp /etc/pam.d/login /etc/pam.d/login_backup_`date "+%Y-%m-%d_%H:%M"`

Vervang vervolgens alle inhoud van het bestand /etc/pam.d/login door de volgende tekst:

# 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

 

Verplichte authenticatie met smartcard inschakelen voor de SU-opdracht

Gebruik de volgende opdracht om een reservekopie te maken van het bestand /etc/pam.d/su:

sudo cp /etc/pam.d/su /etc/pam.d/su_backup_`date "+%Y-%m-%d_%H:%M"`

Vervang vervolgens alle inhoud van het bestand /etc/pam.d/su door de volgende tekst:

# 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

 

Voorbeeldconfiguratieprofiel voor verplichte authenticatie met smartcard

Hier is een voorbeeldconfiguratieprofiel voor verplichte authenticatie met smartcard. U kunt dit gebruiken om de soorten sleutels en tekenreeksen te bekijken die in dit soort profiel zijn opgenomen.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadDescription</key>
<string>Configures smart card-only</string>
<key>PayloadDisplayName</key>
<string>Smart card-only</string>
<key>PayloadIdentifier</key>
<string>com.apple.configprofile.78.</string>
<key>PayloadOrganization</key>
<string>Apple</string>
<key>PayloadType</key>
<string>com.apple.security.smartcard</string>
<key>PayloadUUID</key>
<string>5A15247B-899C-474D-B1D7-DBD82BDE5678</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>UserPairing</key>
<false/>
<key>allowSmartCard</key>
<true/>
<key>checkCertificateTrust</key>
<false/>
<key>enforceSmartCard</key>
<true/>
</dict>
</array>
<key>PayloadDescription</key>
<string>Smartcard profile.</string>
<key>PayloadDisplayName</key>
<string>Smart card-only</string>
<key>PayloadIdentifier</key>
<string>com.apple.configprofile.77</string>
<key>PayloadOrganization</key>
<string></string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadScope</key>
<string>system</string>
<key>PayloadUUID</key>
<string>7D34CC86-C707-44D2-9A9F-C5F6E347BD77</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>

 

Publicatiedatum: