Аудит операционной системы linux

Настройка и аудит системы Linux с помощью auditd

Для проведения аудита на серверах под управлением Linux-систем используют демон auditd. Он предназначен для комплексной проверки операционной системы Linux, например, для регистрации различных событий, анализа действий программ и предоставления информации администратору по заданным шаблонам. Также auditd проверяет операционную систему на ошибки: при необходимости активируется служба оповещения, которая высылает администратору предупреждения и сообщения.

Расскажем о том, как использовать auditd. В качестве примера используется сервер с ОС Ubuntu Server 18.04.

Установка

По умолчанию auditd не интегрирован в операционную систему. Установим его штатными средствами:

Важно! Если серверная платформа находится под управлением CentOS, устанавливать ничего не нужно — демон интегрирован в ОС.

Конфигурирование

Системные параметры хранятся в двух файлах. Первый называется auditd.conf и содержит настройки сервиса аудита, второй называется audit.rules. Audit.conf отвечает за сервис auditd по направлению какие события он записывает и в каком моменте времени. Второй файл содержит в себе правила и фильтры, используемые auditd при выполнении операций. В него администраторы вносят изменения, добавляют новые правила, а также правят текущие шаблоны или удаляют устаревшие.

Для просмотра установленных шаблонов используем следующий флаг:

Если настройки не выполнялись, то таблица будет пустой.

Важно! Удаление правил производится через ключ D.

Для активации мониторинга за конкретным файлом прописываем следующий синтаксис в терминале:

  • name_file — имя файла, за которым ведется наблюдение со стороны сервиса auditd;
  • permission — права на доступ.

Поле принимает четыре значения:

  • R — права на чтение;
  • W — разрешается изменять;
  • X — используется для исполняемых файлов, сервис запускает его от своего имени;
  • A — изменить атрибуты объекта.
Читайте также:  Rename files and folders in linux

Дополнительные ключи, которые идут совместно с командой, расшифровываются следующим образом:

–a: обозначает для демона auditctl список (task, exit, user или exclude) и действие (never или always). Пара перечисляется через запятую.
–F: задает путь к файлу и предоставляет права на поиск.

Если требуется найти определенное событие или объект, используем команду ausearch с ключом –f. Допустим, необходимо просмотреть информацию о том, кто и когда использовал объект /etc/passwd. Прописываем:

В ответ администратор получит число, которое в дальнейшем можно использовать для получения подробной информации о системном вызове. Прописываем в терминале:

  • arch — архитектура операционной системы;
  • number — числовое значение, полученное через команду uname.

Теперь вернемся к началу раздела. Зная, что такое системный вызов, администраторы использует команду auditctl для получения подробной информации о запускаемых приложениях и активных действиях по учетному имени.

Просмотр логов

Условия заданы, аудит проведен, а как же просмотреть результат? Для этого доступна команда aureport. Собранная информация хранится в директории /var/log/audit/, а файлы имеют расширение .log. Общий вид:

  • option задает ключи, по которым происходит выборка информации;
  • –if указывает на файл, по которому работает фильтр.

Наиболее часто встречается фильтр по датам. За это отвечают опции –start и –end, после которых следует указание даты и точного времени. К примеру:

Другой пример — просмотр всех отчетов, которые хранятся в каталоге:

Если нужна сводка событий, произошедших в ОС, добавляем в конце флаг –summary.

Последний востребованный вариант — просмотр «неудачных» операций. К таким относятся неудачный вход в ОС, блокировки и т.д. Посмотреть их можно следующим образом:

Источник

Основы аудита. Настраиваем журналирование важных событий в Linux

Под­систе­ма ауди­та Linux поз­воля­ет на осно­ве пред­варитель­но нас­тро­енных пра­вил отсле­живать зна­чимую информа­цию о безопас­ности опе­раци­онной сис­темы, соз­дает записи жур­нала для даль­нейше­го рас­сле­дова­ния наруше­ний полити­ки. Сегод­ня мы пос­мотрим поб­лиже на этот важ­ный и для хакера, и для адми­на эле­мент сис­темы безопас­ности.

Читайте также:  Linux which ports are blocked

С помощью ауди­та мож­но реали­зовать жур­налиро­вание для сле­дующих событий:

  • дос­туп к объ­ектам фай­ловой сис­темы;
  • вы­пол­нение сис­темных вызовов;
  • за­пуск поль­зователь­ских команд;
  • ло­гины поль­зовате­лей;
  • дей­ствия с учет­ными запися­ми и при­виле­гиями.

В этой статье я рас­ска­жу, как устро­ена под­систе­ма ауди­та, как ей управлять, а так­же как получить жур­нал ауди­та всех инте­ресу­ющих тебя событий.

Под­систе­ма ауди­та в Linux сос­тоит из двух групп ком­понен­тов: в прос­транс­тве ядра это kauditd, а в поль­зователь­ском — auditd.

В общем виде схе­ма работы под­систе­мы ауди­та выг­лядит сле­дующим обра­зом.

Яд­ро, при­нимая сис­темные вызовы из user space, про­пус­кает их через филь­тры user , task , filesystem , exclude и exit .

  • Филь­тр user исполь­зует­ся для филь­тра­ции (исклю­чения) событий, про­исхо­дящих в поль­зователь­ском прос­транс­тве до отправ­ки в auditd. Прак­тичес­ки никог­да не исполь­зует­ся.
  • Филь­тр task при­меня­ется для сис­темных вызовов fork( ) и clone( ) .
  • Филь­тр filesystem исполь­зует­ся для исклю­чения событий для кон­крет­ной фай­ловой сис­темы.
  • Филь­тр exclude зада­ет исклю­чения для событий.
  • Филь­тр exit про­ходят все сис­темные вызовы. Обыч­но нас­тра­ивают имен­но этот филь­тр.

Че­рез netlink( 7) сооб­щения отправ­ляют­ся из kauditd в auditd. При получе­нии событий, демон auditd записы­вает их в лог (по умол­чанию / var/ log/ audit/ audit. log ).

Нас­тра­ивая филь­тры с помощью ути­литы auditctl, мы можем управлять потоком событий, который хотим получать. С помощью ути­лит ausearch, aureport, aulast удоб­но прос­матри­вать жур­нал ауди­та.

Да­вай теперь уста­новим и нас­тро­им все под­систе­мы ауди­та. Уста­нов­ка край­не прос­та и не вызыва­ет никаких слож­ностей:

Ста­тус работы под­систе­мы ауди­та мож­но получить так:

$ sudo auditctl -s
enabled 1
failure 1
pid 885
rate_limit 0
backlog_limit 8192
lost 0
backlog 0
backlog_wait_time 60000
loginuid_immutable 0 unlocked

Для тес­та есть воз­можность отпра­вить тек­сто­вое сооб­щение в под­систе­му ауди­та и убе­дить­ся, что соот­ветс­тву­ющее событие попало в жур­нал ауди­та.

Читайте также:  Linux не монтируется автоматически

$ sudo auditctl -m helloaudit
$ sudo ausearch -m USER
—-
type=USER msg=audit(08/31/2021 19:20:11.160:330699) : pid=305708 uid=root auid=andrey ses=5 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg=’text=helloaudit exe=/usr/sbin/auditctl hostname=rhel.ipa.localdomain addr=? terminal=pts/0 res=success’

Нас­трой­ки демона auditd пред­став­лены в фай­ле / etc/ audit/ auditd. conf . Кон­фиг по умол­чанию рабочий и не тре­бует изме­нений, оставля­ем его как есть.

Раз­берем­ся теперь, как управлять филь­тра­ми kauditd. Все нас­трой­ки филь­тров груп­пиру­ются в фай­лы пра­вил. Фор­мат пра­вил ана­логи­чен син­такси­су кон­соль­ной прог­раммы auditctl. Демон auditd заг­ружа­ет эти пра­вила пос­ледова­тель­но при стар­те сис­темы либо вруч­ную по коман­де пользователя.

info

Важ­ный момент: что­бы наши пра­вила при­меня­лись пос­ле перезаг­рузки, необ­ходимо записать их в файл, в каталог / etc/ audit/ rules. d/ .

При­меры пра­вил ты можешь най­ти в катало­ге / usr/ share/ audit/ sample-rules/ . Пра­вила ауди­та быва­ют сле­дующих типов:

  1. Уп­равля­ющие пра­вила нас­тра­ивают сис­тему ауди­та и поведе­ние аген­та. Все воз­можные опции перечис­лены в мане auditctl( 8) .
  2. Пра­вила фай­ловой сис­темы необ­ходимы для наб­людения за фай­лом или катало­гом, дос­туп к которым мы хотим кон­тро­лиро­вать. Фор­мат пра­вила сле­дующий:

Важ­но отме­тить, что пра­вила сис­темных вызовов зна­читель­но вли­яют на про­изво­дитель­ность сис­темы в целом. Ста­рай­ся сок­ратить их количес­тво и объ­еди­няй пра­вила, где это воз­можно.

В качес­тве тре­ниров­ки соз­дадим пра­вило ауди­та для регис­тра­ции изме­нения фай­ла / etc/ passwd .

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Источник

Оцените статью
Adblock
detector