5.1 Права файлової системи, захист цілісності SIP, AMFI та SSV
Перевірка System Integrity Protection (SIP), Apple Mobile File Integrity (AMFI), Signed System Volume (SSV) та прав доступу.
Рекомендацій: 7
macOS 26 Tahoe v1.1.0
5.1.1 Переконайтеся, що домашні папки захищені (Автоматизовано)
За замовчуванням macOS дозволяє всім дійсним користувачам входити на верхній рівень дому кожного іншого користувача і обмежує доступ до стандартних папок Apple усередині. Інший користувач на тому ж система бачить, що у вас є папка «Документи», але не може бачити всередині неї. Це конфігурація працює для спільного використання особистих файлів, але може надавати файли користувача стандартним облікові записи в системі. Найкраща паралель для середовищ Enterprise – це те, що кожен, хто має Dropbox обліковий запис може бачити все, що знаходиться на верхньому рівні, але не може бачити ваші зображення. Так само за допомогою macOS користувачі можуть бачити кожен новий каталог, створений завдяки дозволи за замовчуванням. Доступ до домашніх папок повинен бути обмежений лише для користувача. Слід використовувати спільний доступ на виділених серверах або хмарних екземплярах, які керують контролем доступу. Деякі у середовищах можуть виникнути проблеми, якщо права на виконання та читання буде видалено і пишіть. Прийнятно або відсутність доступу, або виконання лише для групи чи інших.
Можливо, дозволити всім користувачам переглядати верхній рівень домашньої папки всіх мережевих користувачів бажано, оскільки це може призвести до розкриття конфіденційної інформації.
Якщо це реалізовано, користувачі не зможуть використовувати папки «Загальнодоступні» вдома інших користувачів папки. «Загальнодоступні» папки з відповідними дозволами потрібно налаштувати в /Спільна папка.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/find /System/Volumes/Data/Users -mindepth 1 - \
/usr/bin/sudo /usr/bin/find /System/Volumes/Data/Users -mindepth 1 - \
/usr/bin/grep -v "Shared" | /usr/bin/grep -v "Guest" \
/System/Volumes/Data/Users/firstuser \
/System/Volumes/Data/Users/thirduser \
/usr/bin/sudo /usr/bin/find /System/Volumes/Data/Users -mindepth 1 - \
/usr/bin/grep -v "Shared" | /usr/bin/grep -v "Guest" \
/usr/bin/sudo /usr/bin/find /System/Volumes/Data/Users -mindepth 1 - \
/usr/bin/grep -v "Shared" | /usr/bin/grep -v "Guest" \
/System/Volumes/Data/Users/firstuser \
/System/Volumes/Data/Users/thirduser
-v “Гість”
Результат покаже, які папки користувача не захищені.
приклад:
maxdepth 1 -type d -not -perm 700 -not -perm 710 -not -perm 711 |
Крім того, запустіть таку команду, якщо потрібен доступ до виконуваного файлу для a
домашня папка:
maxdepth 1 -type d -not -perm 700 -not -perm 710 -not -perm 711 |
Результат покаже, які папки користувача не захищені.
приклад:
maxdepth 1 -type d -not -perm 700 -not -perm 710 -not -perm 711 |
Виконайте команду в Терміналі для застосування налаштування:
/usr/bin/sudo /bin/chmod -R og-rwx /Users/ \
/usr/bin/sudo /bin/chmod -R og-rw /Users/ \
/usr/bin/sudo /bin/chmod -R og-rw /Users/firstuser/ \
/usr/bin/sudo /bin/chmod -R og-rwx /Users/thirduser/
📋 CIS Controls & Нормативні посилання
IG 1, 2, 3
IG 1, 2, 3
5.1.2 Переконайтеся, що статус захисту цілісності системи (SIP) увімкнено (Автоматизовано)
Захист цілісності системи – це функція безпеки, представлена в OS X 10.11 El Capitan. Захист цілісності системи обмежує доступ до розташування системного домену та обмежує підключення середовища виконання до системних процесів. Будь-яка спроба перевірки або підключення до системи процес не вдасться. Розширення ядра тепер обмежено /Library/Extensions і є необхідно підписати ідентифікатором розробника.
Запуск без захисту цілісності системи у робочій системі створює ризик модифікація системних двійкових файлів або впровадження коду системних процесів, які б інакше бути захищені SIP.
Системні двійкові файли та процеси можуть бути скомпрометовані.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/csrutil status
`System Integrity Protection status: enabled.`
Виконайте команду в Терміналі для застосування налаштування:
/usr/bin/sudo /usr/bin/csrutil enable
Якщо виправити спробу в завантаженій ОС, а не в розділі відновлення,
вихід видасть помилку csrutil: не вдалося змінити цілісність системи
конфігурація. Цей інструмент потрібно запускати з ОС відновлення.
Пов’язана з елементами керування SIP, перевірка бібліотеки – це функція безпеки, представлена в macOS 10.10 Yosemite. Перевірка бібліотек захищає процеси від завантаження довільних бібліотек. Це не дозволяє root завантажувати довільні бібліотеки в будь-який процес (залежно від статусу SIP) і не дозволяє root ставати більш потужним. Безпека посилена, тому що деякі користувацькі процеси більше не можна ввести в оману для запуску додаткового коду без явного запиту root, який може надати доступ до демонов, які залежать від перевірки бібліотеки для безпечної перевірки ідентичності коду. Якщо SIP увімкнено, перевірку бібліотеки не можна вимкнути. Щоб протестувати неперевірену бібліотеку, вам потрібно вимкнути SIP ТА вимкнути перевірку бібліотеки. Тільки внутрішні – загальні
📋 CIS Controls & Нормативні посилання
- https://developer.apple.com/documentation/security/disabling_and_enabling_syst
- em_integrity_protection
- https://support.apple.com/en-us/HT204899
IG 1, 2, 3
IG 1, 2
IG 1, 2
IG 1, 2, 3
5.1.3 Переконайтеся, що цілісність мобільних файлів Apple (AMFI) увімкнено (Автоматизовано)
Apple Mobile File Integrity (AMFI) вперше було випущено в macOS 10.12. Демон і служба блокує спроби запустити непідписаний код. AMFI використовує launchd, підписи коду, сертифікати, повноваження та профілі надання для створення відфільтрованих прав словник для програми. AMFI — це модуль ядра macOS, який забезпечує підписання коду та перевірка бібліотеки.
Apple Mobile File Integrity підтверджує, що код програми перевірено.
Програми можуть бути скомпрометовані за допомогою шкідливого коду.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/sbin/nvram -p | /usr/bin/grep -c \
"amfi_get_out_of_my_way=1"
0
який відображатиметься успішно, а неправильно повідомить як успішний. Якщо аудит AMFI провалиться,
і аудит SIP пройдено, це все ще проблема, яку адміністратор повинен дослідити.
Виконайте команду в Терміналі для застосування налаштування:
/usr/bin/sudo /usr/sbin/nvram boot-args=""
📋 CIS Controls & Нормативні посилання
- https://eclecticlight.co/2018/12/29/amfi-checking-file-integrity-on-your-mac/
- https://github.com/usnistgov/macos_security/issues/39
- https://github.com/usnistgov/macos_security/issues/40
- https://www.naut.ca/blog/2020/11/13/forbidden-commands-to-liberate-macos/
IG 1, 2, 3
IG 1, 2
IG 1, 2, 3
5.1.4 Переконайтеся, що підписаний системний том (SSV) увімкнено (Автоматизовано)
Підписаний системний том — це функція безпеки, представлена в macOS 11.0 Big Sur. Під час встановлення системи криптографічний хеш SHA-256 обчислюється для всіх незмінних системні файли та зберігаються в дереві Merkle, яке саме хешується як Seal. Обидва є зберігається в метаданих знімка, створеного системного тому. Пломба перевіряється завантажувачем під час запуску. macOS не завантажиться, якщо системні файли були підроблені. Якщо перевірка не вдається, користувачеві буде запропоновано перевстановити операційна система. Під час операцій читання для файлів, розташованих у Підписаному системному томі, є хеш обчислюється та порівнюється зі значенням, що зберігається в дереві Merkle.
Запуск без підписаного системного тому у робочій системі може мати ризик Програмне забезпечення Apple, яке безпосередньо інтегрується з macOS, що модифікується.
Програмне забезпечення Apple, яке інтегрується з операційною системою, може бути скомпрометовано.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/csrutil authenticated-root status
Authenticated Root status: enabled
📋 CIS Controls & Нормативні посилання
- https://developer.apple.com/news/?id=3xpv8r2m
- https://eclecticlight.co/2020/11/30/is-big-surs-system-volume-sealed/
- https://eclecticlight.co/2020/06/25/big-surs-signed-system-volume-added-security-protection/
- https://support.apple.com/guide/security/signed-system-volume-security-secd698747c9/web
- https://support.apple.com/guide/mac-help/what-is-a-signed-system-volume-mchl0f9af76f/mac
IG 1, 2, 3
IG 1, 2
IG 1, 2, 3
IG 1
5.1.5 Переконайтеся, що для загальносистемних програм увімкнено відповідні дозволи (Автоматизовано)
Програми в каталозі системних програм (/Applications) мають бути всесвітніми виконуваний файл, оскільки це причина їх перебування в системі. Вони не повинні бути світом- доступні для запису та дозволяють будь-якому процесу чи користувачеві змінювати їх для інших процесів чи користувачів виконувати модифіковані версії. Деякі постачальники програм використовують для своїх програм папку, доступну для запису. Це є проти стандартної практики в системах POSIX. Якщо ваша організація використовує додаток, який не відповідає стандартним практикам, ви можете додати додаток до список виключень під час аудиту та виправлення (тобто спосіб виключення Xcode за допомогою grep -v команда Xcode.app). Також рекомендується попередити постачальника про те, що їх додаток слід оновити відповідно до найкращих практик безпеки.
Несанкціоновані модифікації програм можуть призвести до виконання зловмисних код.
Змінені програми більше не будуть доступні для запису. Залежно від середовища, для кожної невідповідної програми будуть різні допуски до ризику. Глобальний зміни не слід вносити, якщо критично важливі програми налаштовані неправильно.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/find /System/Volumes/Data/Applications -iname \
"*\.app" -type d -perm -2 -ls | grep -v Xcode.app | /usr/bin/wc -l | \
/usr/bin/xargs
0
Виконайте команду в Терміналі для застосування налаштування:
IFS=$'\n' \
/usr/bin/sudo /bin/chmod -R o-w "$apps"
частину програм із неналежним дозволом.
📋 CIS Controls & Нормативні посилання
IG 1, 2, 3
IG 1, 2, 3
5.1.6 Переконайтеся, що в системній папці немає глобальних папок для запису (Автоматизовано)
Іноді програмне забезпечення наполягає на встановленні в /System/Volumes/Data/System Каталог і має невідповідні дозволи на запис у всьому світі. Комп’ютери Mac із доступними для запису файлами в системі мають бути досліджені судово. Файл із відкритим дозволи на запис є ознакою, у кращому випадку, шахрайської програми. Це також може бути ознакою a компрометація комп’ютера та постійна присутність у системі.
Папки в /System/Volumes/Data/System не повинні бути доступними для всесвітнього запису. Аудит перевірка виключає downloadDir і блокує папки, які є частиною користувача Apple за замовчуванням шаблон.
Зміна дозволів на файли може порушити роботу програм, які покладаються на файли в Системна папка з уразливими дозволами.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/find /System/Volumes/Data/System -type d -perm -2 - \
/usr/bin/xargs
0
Виконайте команду в Терміналі для застосування налаштування:
IFS=$'\n' \
for sysPermissions in $( /usr/bin/sudo /usr/bin/find \
/System/Volumes/Data/System -type d -perm -2 2>/dev/null | /usr/bin/grep -vE \
"downloadDir|locks" ); do \
/bin/chmod -R o-w "$sysPermissions" \
done
📋 CIS Controls & Нормативні посилання
IG 1, 2, 3
IG 1, 2, 3
5.1.7 Переконайтеся, що в папці бібліотеки немає глобальних папок для запису (Автоматизовано)
Програмне забезпечення іноді наполягає на встановленні в /System/Volumes/Data/Library і має невідповідні дозволи на запис у всьому світі. Це програмне забезпечення може бути скомпрометовано, оскільки папка (папки) є загальнодоступною для запису через несанкціоновані дії.
Папки в /System/Volumes/Data/Library не мають бути доступними для всесвітнього запису. Аудит перевірка виключає папки, для яких Apple встановила закріплений біт. Ці папки є обов’язковими операційною системою для запуску та не слід змінювати. Деякі постачальники засобів безпеки використовують папку, доступну для запису, для свого інструменту розширення безпеки. Це буде вважатися таким, що відповідає вимогам, оскільки самі інструменти не дозволяють користувачеві писати їхні папки. Це суперечить стандартній практиці в системах POSIX. Вважається тут сумісний через додаткові елементи керування постачальника безпеки, які контролюються через галузеві стандартні пом’якшення.
Програми, які не дотримуються стандартних практик і мають доступні для запису файли /System/Volumes/Data/Library може не запускатися або працювати належним чином після виправлення виконано. Постачальник(ів) програмного забезпечення(ів) має бути повідомлено, щоб вони можуть оновити своє програмне забезпечення відповідно до стандартних практик. Організаціям доведеться приймати рішення щодо ризику щодо подальшої роботи цього програмного забезпечення.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo \
/usr/bin/find /Library -type d -perm -002 ! -perm -1000 ! -xattrname \
/usr/bin/wc -l | /usr/bin/xargs
0
/usr/bin/find /Library -type d -perm -002 ! -завивка -1000! -xattrname
com.apple.rootless 2>/dev/null
Виконайте команду в Терміналі для застосування налаштування:
/usr/bin/sudo IFS=$'\n' \
/bin/chmod -R o-w "$libPermissions"
📋 CIS Controls & Нормативні посилання
IG 1, 2, 3
IG 1, 2, 3
Потрібні інші розділи стандарту?
Перегляньте повний інтерактивний перелік усіх рекомендацій у головному хабі стандарту.
