Теория
Для работы Auditd ядро должно быть скомпилировано с опциями AUDIT и AUDITSYSCALL.
$ grep AUDIT /boot/config-`uname -r`
# CONFIG_AUDIT_ARCH is not set
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_TREE=y
CONFIG_AUDIT_GENERIC=y
AUDIT отвечает за общую подсистему аудита в ядре Linux, которая также используется SELinux. AUDITSYSCALL отвечает за инфраструктуру аудита системных вызовов, которая также используется в SELinux.
Основные возможности системы аудита в ядре Linux:
- Минимальные накладные расходы как при активированном, так и при отключенном аудите.
- Фильтрация на уровне ядра для обеспечения минимальных затрат
- Использование Netlink в пользовательских приложениях
Монтаж
Установить Auditd для Debian/Ubuntu довольно просто: $sudo apt-get install auditd
для CentOS:
#yum install audit
Домашняя страница проекта: люди.
redhat.com/sgrubb/audit
Настройки
Файл конфигурации аудита — /etc/audit/auditd.conf. В каждой строке можно определить не более одной директивы.Имя директа и значение разделяются знаком равенства.
Большинство директив отвечают за настройку логирования и не требуют изменений.
Для получения подробной информации вы можете прочитать man Auditd.conf.
Правила аудита
Правила аудита содержатся в файле /etc/audit/audit.rules. Auditctl -l просмотреть список правил и Auditctl -D удалить все правилаАудит доступа к файлам
Основные аргументы в пользу правил аудита доступа к файлам:- -p [r|w|x|a] – фильтровать по типу доступа
- -w путь — путь к наблюдаемым файлам
sudo auditctl -w /sys/ -p ra
Запустим Skype и посмотрим результат:
sudo aureport -f
/sbin/audispd permissions should be 0750
File Report
===============================================
# date time file syscall success exe auid event
===============================================
1. 16.01.2011 22:42:04 /sys/class/video4linux/video0/dev 5 yes /usr/bin/skype -1 23
2. 16.01.2011 22:42:03 /sys/devices/system/cpu 5 yes /usr/bin/skype -1 22
3. 16.01.2011 22:42:04 /sys/class/video4linux/video0/device/modalias 5 yes /usr/bin/skype -1 24
4. 16.01.2011 22:42:04 /sys/class/dmi/id/sys_vendor 5 yes /usr/bin/skype -1 25
5. 16.01.2011 22:42:04 /sys/class/dmi/id/product_name 5 yes /usr/bin/skype -1 26
6. 16.01.2011 22:42:04 /sys/class/dmi/id/product_version 5 yes /usr/bin/skype -1 27
7. 16.01.2011 22:42:04 /sys/class/dmi/id/board_vendor 5 yes /usr/bin/skype -1 28
8. 16.01.2011 22:42:04 /sys/class/dmi/id/board_name 5 yes /usr/bin/skype -1 29
9. 16.01.2011 22:42:04 /sys/class/dmi/id/board_version 5 yes /usr/bin/skype -1 30
Аудит системных вызовов
Основные атрибуты:- -a list,action и -A list,action добавляют правило действия в конец (-A в начало) списка.
О доступных списках можно прочитать в man Auditctl. действия никогда не порождают событие, а всегда порождают событие.
- -S [имя или номер системного вызова|все] — наблюдаемые вызовы
- -F [n=v | н!=v | н в | н<=v | n> =в | н&в | n&=v] все виды фильтров
#auditctl -a exit,always -S open -F success=0
# touch /tmp/foo
# tail -1 /var/log/audit/audit.log
type=SYSCALL msg=audit(1295200915.069:14977): arch=c000003e syscall=2 success=no exit=-2 a0=7ff2f0ad4f60 a1=0 a2=7ff2f0d05010 a3=7fff56687650 items=1 ppid=1915 pid=16551 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=4294967295 comm="tail" exe="/usr/bin/tail" key=(null)
Узнать имя системного вызова по номеру можно из include/linux/unistd.h.
Теги: #linux #безопасность #auditd #Chulan
-
Покупки В Интернете: Что Следует Знать
19 Oct, 24 -
Как Интернет Может Помочь Учителю Музыки
19 Oct, 24 -
Вокруг Света На 32 Клавиатурах
19 Oct, 24 -
Мод Жесткого Диска Eee Pc 701
19 Oct, 24 -
Последний 12-Месячный Nfs
19 Oct, 24 -
В Европе Наблюдается Бум Интернет-Контента
19 Oct, 24