5.4-5.11 Безпека sudo, блокування root, банери та антивірус XProtect
Таймаут sudo в 0 секунд, вимкнення суперкористувача root, захист сесій та регулярні оновлення баз XProtect.
Рекомендацій: 8
macOS 26 Tahoe v1.1.0
5.4 Переконайтеся, що час очікування Sudo встановлено на нуль (Автоматизовано)
Команда sudo дозволяє користувачеві запускати програми від імені користувача root. Працюючи як root користувач надає користувачеві надзвичайно високий рівень конфігурації в системі. Цей елемент керування разом із елементом керування використання окремої позначки часу для кожного tty обмежує вікно, де неавторизований користувач, процес або зловмисник може використати законний облікові дані, дійсні довше, ніж потрібно.
Команда sudo залишається увімкненою як користувач root протягом п’яти хвилин перед закінченням часу очікування і повторний запит пароля. Це п’ятихвилинне вікно має бути усунено робить систему надзвичайно вразливою. Це особливо вірно, якщо експлойт має отримати вигоду доступ до системи, оскільки вони зможуть вносити зміни як користувач root.
Цей елемент керування має серйозний вплив, коли користувачам часто доводиться використовувати sudo. Це навіть більше вплив, коли користувачам доводиться використовувати sudo кілька разів у швидкій послідовності як частину нормальні робочі процеси. Організації з таким поширеним варіантом використання, ймовірно, знайдуть це контроль надто обтяжливий, і краще прийняти ризик не вимагати нульового пільгового періоду. У певному сенсі використання sudo -s, яке є небажаним, є кращим, ніж довга ласка період, оскільки таке використання дійсно змінює хеш, щоб показати, що це коренева оболонка, а не a звичайна оболонка, де команди sudo будуть реалізовані без пароля.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/sudo -V | /usr/bin/grep -c "Authentication timestamp \
/usr/bin/stat /etc/sudoers.d
1
Виконайте наведені нижче команди, щоб переконатися, що корінь є власником /etc/sudoers.d
папку, а це колесо є групою:
16777229 19662948 drwxr-xr-x 2 кореневе колесо 0 64 “7 червня 23:12:24 2022” “9 травня
17:30:48 2022” “7 червня 23:12:24 2022” “9 травня 17:30:48 2022” 4096 0 0
/etc/sudoers.d
Виконайте команду в Терміналі для застосування налаштування:
/usr/bin/sudo /usr/sbin/visudo -f /etc/sudoers.d/
папка sudoers.d, яка містить файл . тому не додавайте розширення файлу до файлу конфігурації.
Додайте рядок Defaults timestamp_timeout=0 до файлу конфігурації.
Якщо /etc/sudoers.d/ не належить root або в групі коліс, виконайте наступне, щоб змінити
право власності та група:
% /usr/bin/sudo /usr/sbin/chown -R root:wheel /etc/sudoers.d/
У попередніх ітераціях і версіях ОС тесту macOS Benchmark інструкцією було безпосередньо редагувати файл sudoers. Хоча це належним чином налаштує ОС, будь-яке оновлення поверне параметри до конфігурації за замовчуванням. Створення файлу конфігурації в папці /etc/sudoers.d/ не буде змінено під час оновлення ОС і збереже правильну конфігурацію.
📋 CIS Controls & Нормативні посилання
IG 1, 2, 3
IG 1, 2, 3
5.5 Переконайтеся, що для кожного комбінованого користувача/tty увімкнено окрему позначку часу (Автоматизовано)
Використання квитків tty гарантує, що користувач повинен ввести пароль sudo в кожному терміналі сесії. Для sudo версії 1.8 і вище, представленої в 10.12, значенням за замовчуванням є tty квитки для кожного інтерфейсу, щоб root-доступ був обмежений певним терміналом. За замовчуванням конфігурація може бути перезаписана або неправильно налаштована в попередніх версіях macOS.
У поєднанні з видаленням пільгового періоду очікування для sudo необхідно внести додаткові пом’якшення бути на місці, щоб зменшити можливість фонового процесу з використанням підвищених прав, коли користувач підіймається до root у явному контексті або tty. Щоб зменшити ризик підвищення привілеїв, слід застосувати додаткові засоби пом’якшення фонові процеси.
Цей елемент керування не повинен впливати на користувачів. У розробників або інсталяторів можуть виникнути проблеми, якщо фонові процеси створюються з іншими інтерфейсами, ніж у sudo виконано.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/sudo -V | /usr/bin/grep -c "Type of authentication
1
Виконайте команду в Терміналі для застосування налаштування:
/usr/bin/sudo /usr/sbin/visudo -f /etc/sudoers.d/
файл конфігурації або новий. Це залежатиме від уподобань вашої організації та
працює в будь-який спосіб.
У попередніх ітераціях і версіях ОС тесту macOS Benchmark інструкцією було безпосередньо редагувати файл sudoers. Хоча це належним чином налаштує ОС, будь-яке оновлення поверне параметри до конфігурації за замовчуванням. Створення файлу конфігурації в папці /etc/sudoers.d/ не буде змінено під час оновлення ОС і збереже правильну конфігурацію. З файлом конфігурації немає необхідності видаляти рядок Defaults !tty_tickets з налаштувань visudo. Файл конфігурації матиме прецедент. Тільки внутрішні – загальні
📋 CIS Controls & Нормативні посилання
IG 1, 2, 3
IG 1, 2, 3
5.6 Переконайтеся, що «кореневий» обліковий запис вимкнено (Автоматизовано)
Обліковий запис root — це обліковий запис суперкористувача, який має права доступу для виконання будь-яких дії та читання/запис у будь-який файл на комп’ютері. У деяких версіях Linux системний адміністратор зазвичай може використовувати обліковий запис root для виконання адміністративних завдань функції. Попередні версії тесту включали графічну перевірку для аудиту та виправлення, а також інша команда терміналу для виправлення. Після Під час ретельного тестування було виявлено, що якщо root було ввімкнено, йому можна було б надати a захищений маркер, який не було видалено під час попереднього виправлення. Щоб виправити це проблема, аудит було оновлено, щоб перевірити, чи root має безпечний маркер, навіть якщо root обліковий запис не ввімкнено. Виправлення також було оновлено, щоб видалити захист root маркер, а також оновлену команду для вимкнення користувача root.
Увімкнення та використання облікового запису root піддає систему ризику після будь-якого успішного використання або помилка під час використання кореневого облікового запису може мати необмежені привілеї доступу система. Використання команди sudo дозволяє користувачам виконувати функції як користувач root одночасно обмежуючи та захищаючи паролем привілеї доступу. За замовчуванням обліковий запис root не ввімкнено на комп’ютері з macOS. Адміністратор може підвищити привілеї за допомогою команда sudo (використовуйте -s або -i, щоб отримати кореневу оболонку).
Деяке застаріле програмне забезпечення POSIX може очікувати доступний обліковий запис root.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/dscl . -read /Users/root AuthenticationAuthority
No such key: AuthenticationAuthority
/usr/bin/grep root, щоб перевірити, чи root має безпечний маркер. Це не потрібно, оскільки
якщо root не має ключа AuthenticationAuthority, він не матиме захищеного
жетон.
Виконайте команду в Терміналі для застосування налаштування:
/usr/bin/sudo /usr/bin/fdesetup remove -user root 2>/dev/null \
/usr/bin/sudo /usr/bin/dscl /Local/Default delete /Users/root
Хоча це не обов’язково, кореневу оболонку також можна вимкнути, якщо ваша організація має це як занепокоєння. Процедура аудиту Метод терміналу: виконайте таку команду, щоб переконатися, що коренева оболонка вимкнена:
/usr/bin/dscl . -read /Users/root UserShell 2>&1 | /usr/bin/grep -c
"/usr/bin/false"
1 Процедура виправлення Термінал: виконайте таку команду, щоб вимкнути оболонку користувача root:
/usr/bin/dscl . -create /Users/root UserShell /usr/bin/false
Тільки внутрішні – загальні
📋 CIS Controls & Нормативні посилання
- https://github.com/usnistgov/macos_security/discussions/636
- https://github.com/usnistgov/macos_security/blob/main/rules/os/os_root_disable.
- yaml
IG 1, 2, 3
IG 1, 2, 3
5.7 Переконайтеся, що обліковий запис адміністратора не може ввійти в активний і заблокований сеанс іншого користувача (Автоматизовано)
macOS має привілей, який можна надати будь-якому користувачеві, який дозволить йому розблокувати сесії активних користувачів. Примітка. Для організацій, які використовують систему єдиного входу на платформу (PSSO), цей параметр може спричинити проблеми із синхронізацією з вашим PSSO. Перегляньте примітку в аудиті, щоб перевірити, чи є ви за допомогою PSSO.
Вимкнення можливості адміністратора та/або користувача входити в активний і інший користувач заблокований сеанс запобігає неавторизованим особам від перегляду потенційно чутливих та/або особиста інформація.
Хоча швидке перемикання користувачів є обхідним шляхом для деяких лабораторних середовищ, особливо там, де ще менше очікувань конфіденційності, ця зміна налаштувань може вплинути на деяких робочі процеси обслуговування.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/security authorizationdb read
власник сесії” { ++x } END { print x+0 }’;
1
% /usr/bin/sudo app-sso platform -s
Якщо ваш результат:
Час: 2025-06-27 13:28:59 +0000
Конфігурація пристрою:
(null)
Конфігурація входу:
(null)
Конфігурація користувача:
(null)
Ваша організація не використовує PSSO та потребує виправлення, якщо не відповідає вимогам
рекомендація.
Якщо команда виводить інформацію про конфігурацію, не застосовуйте виправлення.
Виконайте команду в Терміналі для застосування налаштування:
/usr/bin/sudo /usr/bin/security authorizationdb write \
/usr/bin/sudo /usr/bin/defaults write \
/Library/Preferences/com.apple.loginwindow screenUnlockMode -int 1
📋 CIS Controls & Нормативні посилання
- https://derflounder.wordpress.com/2014/02/16/managing-the-authorization-database-in-os-x-mavericks/
- https://www.jamf.com/jamf-nation/discussions/18195/system-login-screensaver
IG 1, 2, 3
IG 1, 2, 3
5.8 Переконайтеся, що банер вікна входу існує (Автоматизовано)
Попередження про банер у вікні входу інформує користувача, для якого зарезервовано систему лише дозволене використання. Це вимагає від користувача підтвердження того, що він був за потреби поінформовано про політику використання банера. Система розпізнає або формати .txt і .rtf.
Попередження про доступ може зменшити схильність випадкового зловмисника атакувати систему. Попередження про доступ також можуть допомогти в судовому переслідуванні зловмисника, довівши знання зловмисником приватного статусу системи, політики прийнятного використання та вимоги авторизації.
Користувачі повинні будуть клацнути вікно з текстом Login перед входом комп’ютер.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /bin/cat /Library/Security/PolicyBanner.* \
/usr/bin/stat -f %A /Library/Security/PolicyBanner.* \
/usr/bin/sudo /bin/cat /Library/Security/PolicyBanner.txt \
/usr/bin/sudo /bin/cat /Library/Security/PolicyBanner.rtf \
/usr/bin/sudo /bin/cat /Library/Security/PolicyBanner.* \
/usr/bin/sudo stat -f %A /Library/Security/PolicyBanner.*
система не відповідає вимогам.
Виконайте наступне, щоб перевірити дозволи для файлу банера політики:
Вихід має мати 4 як 3-ю цифру.
Якщо вихід є, банер політики не відображатиметься.
приклад:
Тестове повідомлення Центру безпеки в Інтернеті
{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf610
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx
6236\tx6803\pardirnatural\partightenfactor0
\f0\fs24 \cf0 Тестове повідомлення Центру безпеки в Інтернеті}
{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf610
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx
6236\tx6803\pardirnatural\partightenfactor0
\f0\fs24 \cf0 Центр перевірки безпеки в Інтернеті Повідомлення}Центр Інтернету
Тестове повідомлення безпеки
644
Виконайте команду в Терміналі для застосування налаштування:
/Library/Security/ folder, to include the required login window banner text. \
/usr/bin/sudo /bin/chmod o+r /Library/Security/PolicyBanner.txt \
/usr/bin/sudo /bin/chmod o+r /Library/Security/PolicyBanner.rtf
/usr/bin/sudo /bin/chmod o+rx /Library/Security/PolicyBanner.rtfd до
оновіть дозволи.
📋 CIS Controls & Нормативні посилання
IG 1, 2, 3
IG 1, 2, 3
5.9 Переконайтеся, що гостьова домашня папка не існує (Автоматизовано)
У попередніх двох елементах керування вхід до облікового запису гостя було вимкнено та доступ до гостей також було вимкнено. Немає потреби у старій домашній папці для гостей залишаються у файловій системі. Після видалення звичайних облікових записів користувачів ви маєте можливість щоб заархівувати його, залишити на місці або видалити. У випадку гостьової папки папка залишається на місці без опції GUI для його видалення. Якщо в якийсь момент у майбутньому Гість потрібен обліковий запис, його буде створено повторно. Наявність домашньої папки Guest може призводять до збою автоматизованих перевірок під час пошуку сумісних налаштувань у всіх користувачів папки, а також. Замість того, щоб ігнорувати подальше існування папки, це найкраще видалено.
Після вимкнення облікового запису гостя домашні папки непотрібні, і вони можуть бути використовується неналежним чином.
Обліковий запис «Гість» не повинен бути потрібним після його вимкнення, і він буде автоматично відновлюється, якщо обліковий запис гостя повторно ввімкнено
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /bin/ls /Users/ | /usr/bin/grep Guest
які містять у собі слово Гість, це не обов’язково є знахідкою.
Виконайте команду в Терміналі для застосування налаштування:
/usr/bin/sudo /bin/rm -R /Users/Guest
видалено. Якщо ви не впевнені, що папка Guest є застарілою папкою, то це ваша організація
слід дослідити, чому ця папка там. Також дослідіть, що міститься (або було
міститься) у ній перед видаленням папки.
📋 CIS Controls & Нормативні посилання
IG 1, 2, 3
IG 1, 2, 3
5.10 Переконайтеся, що XProtect запущено та оновлено (Автоматизовано)
XProtect — це рідна антивірусна технологія Apple на основі сигнатур. XProtect знаходить і блокує виконання відомого шкідливого програмного забезпечення. Існує багато AV і Endpoint Detection і інструменти відповіді (EDR), доступні для macOS. Рідний інструмент Apple шукає певне відоме шкідливе програмне забезпечення та повністю інтегрується в ОС. Не важливо які інші інструменти використовуються, XProtect має мати найновіші доступні підписи.
Apple створює сигнатури для відомого зловмисного програмного забезпечення, яке фактично впливає на комп’ютери Mac і таке інше знання слід використовувати.
Деякі організації можуть мати ефективні засоби захисту від зловмисного програмного забезпечення macOS, які є XProtect конфліктує з.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/xprotect status
Фонове сканування XProtect: увімкнено
Якщо XProtect вимкнено, а SIP увімкнено, має бути більш значний
перевірити цю систему та припустити, що вона якимось чином скомпрометована.
Щоб перевірити оновлення для XProtect, виконайте такі команди:
Перевірка % /usr/bin/sudo /usr/bin/xprotect
Результатом буде поточне оновлення: дата: з датою останньої версії та
версія: з номером версії, пр. Поточне оновлення: дата: 2025-07-01
19:55:44 +0000 версія: 5303. Перевірка функції перевірки може зайняти кілька хвилин
найновішу версію XProtect, тому чекайте 10+ хвилин, щоб запустити наступну
Команда є найкращою практикою для перевірки, чи XProtect працює з поточною версією.
Оновлення % /usr/bin/sudo /usr/bin/xprotect
Початок оновлення.
Оновлення не застосовано, уже оновлено
Виконайте команду в Терміналі для застосування налаштування:
/usr/bin/sudo /bin/launchctl load -w \
/Library/Apple/System/Library/LaunchDaemons/com.apple.XProtect.daemon.scan.pl \
/usr/bin/sudo /bin/launchctl load -w \
/Library/Apple/System/Library/LaunchDaemons/com.apple.XprotectFramework.Plugi \
/usr/bin/sudo /usr/bin/xprotect update
вимкнено. Якщо XProtect вимкнено, система може бути скомпрометована, і це необхідно
досліджено.
Щоб перевірити журнали XProtect Remediator, виконайте таку команду:
/usr/bin/sudo /usr/bin/log show --predicate 'subsystem ==
"com.apple.XProtectFramework.PluginAPI" AND category ==
"XPEvent.structured"' --info --last 1d' to check logs'
📋 CIS Controls & Нормативні посилання
- https://eclecticlight.co/2021/10/27/silently-updated-security-data-files-in-monterey/
- https://eclecticlight.co/2020/12/14/silently-updated-security-data-files-in-big-sur/
- https://eclecticlight.co/2019/10/17/security-data-files-how-theyve-changed-in-catalina/
- https://eclecticlight.co/2022/05/12/apple-has-pushed-an-update-to-xprotect-21/
- https://support.apple.com/guide/security/protecting-against-malware-sec469d47bd8/web
- https://eclecticlight.co/2023/06/12/malware-detection-and-remediation-by-xprotect-remediator/
IG 1, 2, 3
IG 1, 2, 3
IG 1, 2
IG 1, 2, 3
IG 1, 2, 3
5.11 Переконайтеся, що журналювання ввімкнено для Sudo (Автоматизовано)
Щоб належним чином контролювати використання команди sudo, реєструє події для будь-якого використання sudo має бути зафіксовано в єдиному журналі.
Apple додала журнал sudo як частину єдиного журналу в macOS 14.0 Sonoma. У macOS 15.0 Sequoia, тепер вимкнено за замовчуванням, але його слід увімкнути.
Конфіденційну дату (наприклад, конфіденційні дані, ідентифікаційну інформацію тощо) можна надіслати до єдиного журналу за допомогою sudo журналювання включено.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/sudo -V | /usr/bin/grep -c "Log when a command is
1
Виконайте команду в Терміналі для застосування налаштування:
/usr/bin/sudo /usr/sbin/visudo -f /etc/sudoers.d/
новий. Це залежатиме від уподобань вашої організації та працює в будь-якому випадку.
📋 CIS Controls & Нормативні посилання
IG 1, 2, 3
IG 1, 2, 3
Потрібні інші розділи стандарту?
Перегляньте повний інтерактивний перелік усіх рекомендацій у головному хабі стандарту.
