marcomc.macos_filevault2
Rola Ansible dla FileVault2 na macOS
Ta rola Ansible implementuje zestaw poleceń do włączenia
(tylko) FileVault2 za pomocą fdesetup
dostępnego w systemach macOS wersja 10.7 lub nowszych.
Jest używana w Splinter, narzędziu do provisioning opartym na opiniach dla macOS.
Przykład Playbooka
- vars:
filevault_additional_users_and_passwords:
- { username: "testuser", password: "test_password" }
filevault_certificate: yes
filevault_certificate_file: "/ścieżka/do/mojego/DER.cer"
filevault_showrecoverykey: yes
filevault_user_password: "hasło użytkownika, dla którego aktywujesz FileVault"
- hosts: localhost
roles:
- marcomc.macos_filevault2
Zmienne
Zestaw opcji włączenia
jest:
fdesetup enable
[-outputplist]
[-forcerestart]
[-authrestart]
[-keychain | [-certificate path_do_pliku_cer]]
[
[-defer file_path]
[-forceatlogin maksymalna_ilość_prób_anulowania]
[-dontaskatlogout]
[-showrecoverykey]
]
[-norecoverykey]
[-verbose]
Każda opcja została odwzorowana na zmienną ansible (a następnie są kilka dodatkowych zmiennych dla dodatkowych funkcji):
verbose: no
filevault_user: "{{ ansible_user_id }}"
filevault_user_password: "{{ ansible_become_pass }}"
filevault_additional_users_and_passwords: []
filevault_input_plist: ''
filevault_keychain: no
filevault_keychain_file: no
filevault_keychain_file_override: no
filevault_certificate: no
filevault_certificate_file: ""
filevault_norecoverykey: no
filevault_recovery_key_output_file: "~/Desktop/{{ ansible_hostname }}-klucz-odzyskiwania.txt"
filevault_outputplist: no
filevault_defer: no
filevault_defer_file: "/dev/null"
filevault_showrecoverykey: no
filevault_dontaskatlogout: no
filevault_forcerestart: no
filevault_authrestart: no
filevault_forceatlogin: no
filevault_max_cancel_attempts: '-1'
Możesz uzyskać preferowaną metodę instalacji, przełączając opcje, tak jakbyś używał narzędzia wiersza poleceń:
filevault_user: "{{ ansible_user_id }}"
filevault_user_password: "{{ ansible_become_pass }}"
filevault_additional_users_and_passwords:
- { username: "testuser6", password: "testest" }
filevault_certificate: yes
filevault_certificate_file: "~/Documents/certificate.cer"
filevault_norecoverykey: yes
co odpowiada:
fdesetup enable -certificate ~/Documents/certificate.cer -norecoverykey -inputplist < input_plist
Lista wejściowa
Możesz określić własny plik plist, aby dostosować swoją instalację lub jeśli potrzebujesz innego procesu do jego wygenerowania.
Jeśli nie określisz własnego pliku plist (co jest domyślnym zachowaniem), plik plist zostanie wygenerowany dynamicznie, łącząc filevault_user
i filevault_user_password
, oraz listę filevault_additional_users_and_passwords
.
Ustawienie klucza odzyskiwania instytucjonalnego
dla komputerów w twojej organizacji
Możesz wybrać:
- wdrożenie uprzednio wygenerowanego klucza odzyskiwania Keychain
- wdrożenie certyfikatu DER, który zostanie dodany do Keychain z kluczem odzyskiwania generowanym na bieżąco
Certyfikat
Automatycznie stwórz instytucjonalny klucz odzyskiwania z dostarczonym plikiem certyfikatu.
To moja ulubiona opcja, ponieważ przygotowanie jest minimalne, a wynik jest taki sam jak w opcji
Keychain
.
Wspólna nazwa certyfikatu musi brzmieć "FileVault Recovery Key".
Możesz ręcznie wygenerować certyfikat DER:
- Utwórz klucz główny FileVault
- wyeksportuj tylko publiczny element certyfikatu do FileVaultRecoveryKey.cer
Alternatywnie możesz użyć skryptu splinter-tools/filevault-recovery-key-generator.sh.
Upewnij się, że obie, zarówno klucz, jak i jego hasło, są przechowywane w bezpiecznym miejscu (Bitwarden, LastPass, 1Password).
Wygenerowany certyfikat samopodpisany będzie nosił nazwę FileVault Recovery Key (<twoja_nazwa_hosta>)
.
Nazwa hosta jest ustawiana jako opis certyfikatu i nie można jej zmienić.
Jeśli chcesz, aby opis w nawiasach był inny niż twoja nazwa hosta, musisz oszukać Keychain i tymczasowo ustawić nazwę swojego komputera na pożądany opis
, a następnie przywrócić pierwotną wartość.
Keychain
Jeśli wybierzesz instytucjonalny klucz odzyskiwania Keychain, upewnij się, że wcześniej wygenerowałeś plik klucza FileVaultMaster.keychain
zawierający twój klucz odzyskiwania, usuń klucz prywatny i wdroż go na swoim komputerze:
- Utwórz klucz główny FileVault
- Usuń klucz prywatny z klucza głównego
- Wdroż zaktualizowany klucz główny na każdym Macu
Odblokowanie dysku startowego użytkownika
Jeśli użytkownik zapomni hasła do swojego konta macOS i nie może zalogować się do swojego Maca, możesz użyć klucza prywatnego, który zawierał oryginalny plik FileVaultMaster.key
, aby odblokować dysk.
Uruchom z macOS Recovery, przytrzymując Command-R podczas uruchamiania.
Podłącz zewnętrzny dysk zawierający
private-recovery-key
lub oryginalnyFileVaultMaster.keychain
, który zawiera klucz prywatny.Wybierz
Narzędzia > Terminal
w pasku menu w macOS Recovery.odblokuj klucz główny FileVault
security unlock-keychain /ścieżka/do/FileVaultMaster.keychain
Odblokuj zaszyfrowany dysk startowy
# Dyski APFS diskutil ap unlockVolume "Nazwa szyfrowanego dysku" -recoveryKeychain /ścieżka/do/FileVaultMaster.keychain # Dyski Mac OS Extended (HFS Plus) diskutil cs list # znajdź UUID diskutil cs unlockVolume {UUID} -recoveryKeychain /ścieżka/do/FileVaultMaster.keychain
Licencja
Autor: Marco Massari Calderone (c) 2020 - marco@marcomc.com
Ansible role to configure FileVault2 on macOS. Also used in Splinter provisioning tool.
ansible-galaxy install marcomc.macos_filevault2