3. Системне журналювання та аудит безпеки (Logging and Auditing)
Конфігурація Unified Logging System, журнали безпеки та періоди ротації журналів аудиту.
Рекомендацій: 6
macOS 26 Tahoe v1.1.0
3.1 Переконайтеся, що аудит безпеки ввімкнено (Автоматизовано)
Засіб аудиту macOS, auditd, отримує сповіщення від ядра, коли це певно виконуються системні виклики, такі як open, fork і exit. Ці сповіщення фіксуються і записується в журнал аудиту. Apple припинила підтримку auditd у macOS 11.0 Big Sur. У macOS 14.0 Sonoma це так більше не ввімкнено за замовчуванням, і пропонується використовувати програму, яка інтегрується за допомогою API EndpointSecurity. Ці програми сторонніх розробників і не вбудовані в macOS. Поки auditd не буде повністю видалено з macOS, найкраще використовувати двійковий файл спосіб збору журналів у macOS і єдиний, який є частиною ОС.
Журнали, створені auditd, можуть бути корисними під час розслідування інциденту безпеки, оскільки вони може допомогти виявити вразливу програму та дії зловмисника.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /bin/launchctl list | /usr/bin/grep -i auditd \
-
com.apple.auditd
Виконайте команду в Терміналі для застосування налаштування:
/usr/bin/sudo /bin/launchctl load -w \
/System/Library/LaunchDaemons/com.apple.auditd.plist \
/usr/bin/sudo /bin/cp /etc/security/audit_control.example \
/etc/security/audit_control
📋 CIS Controls & Нормативні посилання
IG 1, 2, 3
IG 1, 2
IG 1, 2
IG 1, 2, 3
3.2 Переконайтеся, що прапорці аудиту безпеки для подій, пов’язаних із користувачем, налаштовані відповідно до вимог локальної організації (Автоматизовано)
Аудит – це збір і збереження інформації про події, пов’язані з безпекою. Події, що підлягають перевірці, часто залежать від різних організаційних вимог.
Ведення контрольного журналу системної активності може допомогти виявити помилки конфігурації, усунути збої в роботі служби та проаналізувати компрометації чи атаки відбулися, почалися або збираються початися. Журнали аудиту необхідні для відстеження доказів у разі зламу системи чи мережі. Залежно від керівного органу, організації можуть мати дуже різні аудити вимоги. У цьому елементі керування ми вибрали мінімальний набір позначок перевірки, які повинні бути частиною будь-яких організаційних вимог. Прапори, вибрані нижче, можуть ні відповідати організаційним вимогам для користувачів цього еталонного тесту. Аудит перевірки запропонованих тут прапорів не впливатимуть на додаткові вибрані прапори.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/grep -e "^flags:" /etc/security/audit_control
•
aa – аудит усіх подій авторизації та автентифікації
•
ad – перевірка всіх адміністративних подій
•
-ex – аудит невдалого виконання програми
•
-fm – аудит невдалих подій модифікації атрибутів файлу
•
-fr – аудит невдалих дій читання, коли примусове виконання зупиняє читання файлу
•
-fw – аудит невдалих дій запису, коли примусове виконання зупинило запис файлу
•
lo – аудит усіх подій входу/виходу
Прапорець -all фіксуватиме всі невдалі події в усіх класах аудиту, і його можна використовувати
замінити окремі позначки для невдалих подій.
Виконайте команду в Терміналі для застосування налаштування:
Для налаштування обов\’язкових прапорців аудиту безпеки відредагуйте файл /etc/security/audit_control та додайте aa, ad, -ex, -fm, -fr, -fw, lo до рядка flags: (або використовуйте -all замість окремих прапорців помилок):
flags:lo,aa,ad,-all
Налаштування прапорів наразі базуються на вказівках, наданих NIST через інструкції з безпеки macOS, які вони надають у своєму репозиторії GitHub. Ви можете знайти ці вказівки тут. Тільки внутрішні – загальні
📋 CIS Controls & Нормативні посилання
- https://derflounder.wordpress.com/2012/01/30/openbsm-auditing-on-mac-os-x/
- https://www.scip.ch/en/?labs.20150108
- https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-171r2.pdf
- https://www.whitehouse.gov/wp-content/uploads/2021/08/M-21-31-Improving-the-Federal-Governments-Investigative-and-Remediation-Capabilities-Related-
- to-Cybersecurity-Incidents.pdf
- https://github.com/usnistgov/macos_security
IG 1
IG 1, 2, 3
IG 1, 2
IG 1, 2, 3
IG 1
3.3 Переконайтеся, що install.log зберігається протягом 365 або більше днів і не має максимального розміру (Автоматизовано)
macOS записує у файл інформацію про системні події /var/log/install.log і має настроювану політику збереження для цього файлу. За замовчуванням Налаштування журналювання обмежує розмір файлу журналів і максимальний розмір для всіх журналів. The за замовчуванням дозволяє помилковому додатку заповнювати файли журналів і не забезпечує достатній рівень збереження журналу. Тест рекомендує значення на основі стандартних випадків використання. The значення має відповідати місцевим вимогам організації. Значення за замовчуванням має обмеження на файл “all_max”, без посилання на мінімальне збереження, і менш точний аргумент обертання. Керування прапором all_max видалятиме старі записи журналу лише на основі розміру журналу файли. Розмір журналу може сильно відрізнятися залежно від того, наскільки детально встановлені програми їхні записи журналу. Рішення тут полягає в тому, щоб журнали поверталися на рік назад і залежно у програмах обмеження розміру може поставити під загрозу здатність зберігати цілий рік. Хоча цей контрольний тест не нараховує бали для позначки обертання, обертання за умовчанням є послідовним замість використання позначки часу. Аудитори можуть надавати перевагу міткам часу, щоб просто переглядати конкретні дати, коли потрібна інформація про події. Для отримання додаткової інформації перегляньте розділ «Ротація файлів» на сторінці довідки. чоловік асл.конф • Необхідно видалити рядок обмеження максимального розміру файлу “all_max=” • Необхідно додати “ttl=” до відповідного для організації збереження • Обертання має бути встановлено з часовими мітками “rotate=utc” або “rotate=local”
Архівування та зберігання install.log протягом принаймні року є корисним у разі інцидент, оскільки це дозволить користувачеві переглядати різні зміни в системі разом із дата і час, коли вони відбулися.
Без підтримки та безпеки системи файлів журналу криміналістика не може бути належним чином виконується.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/grep -i ttl /etc/asl/com.apple.install \
/usr/bin/sudo /usr/bin/grep -i all_max= /etc/asl/com.apple.install
Результати не повертаються.
Виконайте команду в Терміналі для застосування налаштування:
Для збереження журналів встановлення протягом щонайменше 365 днів відредагуйте конфігураційний файл /etc/asl/com.apple.install, встановіть параметр ttl не менше 365 та видаліть обмеження all_max=:
* file /var/log/install.log format=bsd mode=0640 rotate=seq ttl=365
📋 CIS Controls & Нормативні посилання
IG 1, 2, 3
IG 1, 2, 3
IG 1, 2
IG 1, 2
3.4 Переконайтеся, що журнали аудиту безпеки зберігаються протягом 30 днів (Автоматизовано)
Функція аудиту macOS містить важливу інформацію для дослідження безпеки або оперативні питання. Цей ресурс є повністю корисним, лише якщо він зберігається достатньо довго дозволити технічному персоналу знайти першопричину аномалій у записах. Утримування можна налаштувати відповідно до розміру та довговічності. Щоб зберегти стільки, скільки Рекомендовано використовувати наступне: expire-after:30d Ця рекомендація базується на мінімальній кількості днів, збережених для перегляду та розслідування. Коли сторонній інструмент використовується для дозволу віддаленого журналювання або зберігання та пересилання журналів, це додаткове джерело даних. Примітка. Якщо у вашій організації є проблеми з обмеженням пам’яті, ви можете додати значення пам’яті обмеження терміну дії після: на додаток до днів збереження. Наприклад: expire-after:30d АБО 5G або термін дії через: 30 днів АБО 10000M. Крім того, ваша організація також може подивитися які прапорці аудиту ввімкнено, і прийняти рішення про ризик щодо місії критичний.
Записи аудиту необхідно зберігати достатньо довго, щоб їх можна було переглядати за необхідності.
Рекомендовано зберігати журнали аудиту щонайменше 30 днів. Системи, які мають дуже мало вільного місця на диску, можуть виникнути проблеми зі збереженням достатньої кількості даних і слід звернути увагу на додавання ліміту пам’яті або доступ до того, які прапорці ввімкнено обговорюється в описі.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/bin/grep -e "^expire-after" /etc/security/audit_control
expire-after: має бути: ≥ 30dтакі самі вказівки (мінімум) для зберігання журналів за межами сайту. Ваш ліміт локальної пам’яті (або
часовий проміжок) може вийти з ладу, якщо в цьому випадку для них встановлено значення нижчі, але вони дотримуються вказівок.
Виконайте команду в Терміналі для застосування налаштування:
Для встановлення терміну зберігання журналів аудиту відредагуйте файл /etc/security/audit_control, встановивши директиву expire-after: на 30 днів або більше:
expire-after:30d
📋 CIS Controls & Нормативні посилання
IG 1, 2, 3
IG 1, 2, 3
IG 1, 2
IG 1, 2
3.5 Переконайтеся, що доступ до аудиторських записів контролюється (Автоматизовано)
Система аудиту в macOS записує важливу операційну інформацію та інформацію про безпеку, яка може бути як корисним для зловмисника, так і місцем для зловмисника, де він може спробувати обфускати небажані зміни, які були записані. У рамках глибокої оборони в Конфігурація /etc/security/audit_control і файли в /var/audit повинні бути належить лише root з колесом групи з правами лише на читання та без дозволу іншого доступу. Для цих файлів не слід використовувати ACL macOS. Типовою папкою для зберігання журналів є /var/audit, але її можна змінити. Це Рекомендація гарантує, що будь-який цільовий каталог має відповідний контроль доступу місце, навіть якщо цільовий каталог не є каталогом за замовчуванням /var/audit.
Записи аудиту не можна змінювати, окрім подій публікації системного демона. Записи можна переглядати або витяги маніпулювати, але авторитетні файли повинні бути захищений від несанкціонованих змін.
Цей елемент керування лише перевіряє конфігурацію за замовчуванням, щоб забезпечити небажаний доступ до записи аудиту недоступні.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /bin/ls -n /etc/security/audit_control | /usr/bin/awk \
'{s+=$3} END {print s}' \
/usr/bin/sudo /bin/ls -n /etc/security/audit_control | /usr/bin/awk \
'{s+=$4} END {print s}' \
/usr/bin/sudo /bin/ls -n /etc/security/audit_control | /usr/bin/awk '!/-r-- \
/usr/bin/sudo /bin/ls -n $(/usr/bin/grep '^dir' /etc/security/audit_control \
| /usr/bin/awk -F: '{print $2}') | /usr/bin/awk '{s+=$3} END {print s}' \
/usr/bin/sudo /bin/ls -n $(/usr/bin/grep '^dir' /etc/security/audit_control \
| /usr/bin/awk -F: '{print $2}') | /usr/bin/awk '{s+=$4} END {print s}' \
/usr/bin/sudo /bin/ls -n $(/usr/bin/grep '^dir' /etc/security/audit_control \
| /usr/bin/awk -F: '{print $2}') | /usr/bin/awk '!/-r--r----- \
|current|total/{print $1}' | /usr/bin/wc -l | /usr/bin/tr -d ' '
0
r—–|поточний|загальний/{print $1}’ | /usr/bin/wc -l | /usr/bin/tr -d ‘ ‘
0
0
0
0
Виконайте команду в Терміналі для застосування налаштування:
/usr/bin/sudo /usr/sbin/chown -R root:wheel /etc/security/audit_control \
/usr/bin/sudo /bin/chmod -R 700 /etc/security/audit_control \
/usr/bin/sudo /usr/sbin/chown -R root:wheel $(/usr/bin/sudo /usr/bin/grep \
'^dir' /etc/security/audit_control | /usr/bin/awk -F: '{print $2}') \
/usr/bin/sudo /bin/chmod -R 700 $(/usr/bin/grep '^dir' \
/etc/security/audit_control | /usr/bin/awk -F: '{print $2}')
Оскільки це типово, /etc/security/audit_control не існує. Якщо це
виправлення виконується без копіювання /etc/security/audit_control.example до
/etc/security/audit_control, то це може спричинити рекурсивну проблему з дозволами та
може спричинити непідтримуваний стан (небажані результати) та аномалії завантаження.
З довідкової сторінки ls -e Надрукувати список керування доступом (ACL), пов’язаний із файлом, якщо він є, у довгому (-l) виведенні. Додаткова інформація: https://www.techrepublic.com/blog/apple-in-the-enterprise/introduction-to-os-x-access-control-lists-acls/ http://ahaack.net/technology/OS-X-Access-Control-Lists-ACL.html
📋 CIS Controls & Нормативні посилання
IG 1, 2, 3
IG 1, 2, 3
3.6 Аудит інвентаризації програмного забезпечення (Вручну)
З появою Mac OS X 10.6.6 Apple додала нову програму App Store, який знаходиться в каталозі програм. Ця програма дозволяє користувачеві з адмін привілеї та обліковий запис Apple для перегляду онлайн-магазину додатків Apple, покупки (включаючи безкоштовні покупки) і встановлювати нові програми, оминаючи Enterprise засоби контролю інвентаризації програмного забезпечення. Будь-який користувач-адміністратор може інсталювати програмне забезпечення в /Applications каталог із завантажень з Інтернету, флеш-накопичувачів, оптичних носіїв, хмарних сховищ, або навіть двійкові файли електронною поштою. Навіть стандартні користувачі можуть запускати завантажені виконувані файли у свою домашню папку за замовчуванням. Джерело програмного забезпечення не настільки важливе, як послідовний аудит усього встановленого програмного забезпечення на відповідність і відповідність виправлень. Робочий стіл для одного користувача, де користувач, адміністратор і особа, яка затверджує програмне забезпечення всі однакові особи, ймовірно, не потребують перевірки інвентаризації програмного забезпечення для цього ступінь. Однак це корисно у випадку проблем зі стабільністю або зловмисного програмного забезпечення. Щомісяця перевіряйте системи та визначайте кількість неавторизованих штук програмне забезпечення, яке встановлено. Перевірте, чи знайдено несанкціоноване програмне забезпечення місяць, він видаляється з системи наступного. Експортуйте системну інформацію через вбудовану програму системної інформації або інше інструменти сторонніх розробників за організаційно визначеним графіком.
Частина комплексної ІТ-безпеки передбачає керування пристроями та гарантування того, що все програмне забезпечення авторизоване та виправлене. Перевірка оновлень macOS і програм відносно простий для кінцевого користувача, і його можна навіть оновлювати з мінімальними привілеями надійні джерела, якщо ввімкнено. Віддалений моніторинг стану виправлення програмного забезпечення підтримується через Apple, дуже добре підтримується програмами керування. ні Можливості Apple і сторонні рішення для керування виправленнями охоплюють усі місії- необхідне програмне забезпечення для більшості організацій. Повна видимість програмного забезпечення, наявного на система дозволяє керувати вразливістю та ризиками. P.S. Не забувайте про плагіни/розширення браузера для всього встановленого програмного забезпечення.
Виконайте команду в Терміналі для перевірки:
/usr/bin/sudo /usr/sbin/system_profiler SPApplicationsDataType
Виконайте команду в Терміналі для застосування налаштування:
Видаліть непотрібні, застарілі або несанкціоновані програми та пов\’язані з ними допоміжні службові компоненти (helpers/daemons) із системи.
📋 CIS Controls & Нормативні посилання
- https://support.apple.com/en-us/HT203001
- https://www.cisecurity.org/controls/inventory-and-control-of-software-assets/
IG 1, 2, 3
IG 1, 2, 3
Потрібні інші розділи стандарту?
Перегляньте повний інтерактивний перелік усіх рекомендацій у головному хабі стандарту.
