Инструменты «СКАНЕР-ВС»: Аудит ОС Astra Linux
Инструмент «Аудит ОС Astra Linux» предназначен для аудита настроек комплекса средств защиты ОС специального назначения «Astra Linux Special Edition» по требованиям безопасности.
Инструмент запускается из веб-интерфейса «Аудит ОС Astra Linux» или из подменю стартера приложений. Для запуска инструмента необходимо выполнить следующие действия:
- запустить подменю стартера приложений;
- выбрать вкладку «Поиск уязвимостей»;
- выбрать инструмент «Аудит ОС Astra Linux» .
После запуска откроется окно терминала
Работа с инструментом
Для запуска процесса аудита, необходимо запустить скрипт на проверяемой рабочей станции. Для этого в терминале необходимо прописать команду, в которой указаны пользователь и IP-адрес тестируемой рабочей станции и нажать клавишу «Enter». Дополнительно можно указать папку для сохранения отчета. На рисунке 3 показан пример команды запуска скрипта на рабочей станции с IP-адресом 192.168.5.76 под учетной записью пользователя echelon и указанной папкой / для сохранения отчета.
В терминале будет отображено сообщение о подтверждении проведения аудита на рабочей станции, указанной в команде 4. Необходимо ввести в терминале «yes» и нажать клавишу «Enter».
Для начала аудита необходимо указать пароль пользователя, указанного в команде 5. Если аудит ОС Astra Linux проводится на рабочей станции впервые, пароль будет запрошен дважды. Нужно ввести в терминале пароль и нажать клавишу «Enter».
Astra linux аудит событий
Очищаем журнал событий на ЭВМ:
Выполняем вход в систему пользователем «AstraLinux». Смотрим журнал событий командой kernlog с фильтрацией по имени пользователя «AstraLinux»:
ac-old:~# kernlog | grep «AstraLinux*»
[p] ‘Tue Feb 19 13:39:49 2013’ ‘/bin/bash’ [f] open(«/ald_home/AstraLinux/.bash_profile»,O_RDONLY) = -2 ENOENT (Нет такого файла иликаталога)
[p] ‘Tue Feb 19 13:39:49 2013’ ‘/bin/bash’ [f] open(«/ald_home/AstraLinux/.bash_login»,O_RDONLY) = -2 ENOENT (Нет такого файла или каталога)
[p] ‘Tue Feb 19 13:39:49 2013’ ‘/bin/bash’ [f] open(«/ald_home/AstraLinux/.profile»,O_RDONLY) = -2 ENOENT (Нет такого файла или каталога)
[p] ‘Tue Feb 19 13:39:49 2013’ ‘/bin/bash’ [s] open(«/ald_home/AstraLinux/.bash_history»,O_RDONLY) = 3
[p] ‘Tue Feb 19 13:39:49 2013’ ‘/bin/bash’ [s] open(«/ald_home/AstraLinux/.bash_history»,O_RDONLY) = 3
[p] ‘Tue Feb 19 13:39:52 2013’ ‘/bin/bash’ [f] open(«/ald_home/AstraLinux/.bash_logout»,O_RDONLY) = -2 ENOENT (Нет такого файла или каталога)
[p] ‘Tue Feb 19 13:39:52 2013’ ‘/bin/bash’ [s] open(«/ald_home/AstraLinux/.bash_history»,O_WRONLY | O_APPEND) = 3
[p] ‘Tue Feb 19 13:39:52 2013’ ‘/bin/bash’ [s] open(«/ald_home/AstraLinux/.bash_history»,O_RDONLY) = 3
[p] ‘Tue Feb 19 13:39:52 2013’ ‘/bin/login’ [s] umount(«/ald_home/AstraLinux/mac/0/0») = 0
[p] ‘Tue Feb 19 13:39:52 2013’ ‘/bin/login’ [s] umount(«/ald_home/AstraLinux/mac») = 0
[p] ‘Tue Feb 19 13:39:52 2013’ ‘/bin/login’ [s] umount(«/ald_home/AstraLinux») = 0
[p] ‘Tue Feb 19 13:39:52 2013’ ‘/bin/login’ [s] umount(«/var/private/mac/AstraLinux/0/0») = 0
[p] ‘Tue Feb 19 13:39:52 2013’ ‘/bin/login’ [s] umount(«/var/private/mac/AstraLinux») = 0
[p] ‘Tue Feb 19 13:39:52 2013’ ‘/usr/sbin/pmvarrun’ [s] create(«/var/run/pam_mount/AstraLinux»,O_RDWR | O_CREAT,-rw——-) = 7
[p] ‘Tue Feb 19 13:39:52 2013’ ‘/usr/sbin/pmvarrun’ [s] chown(«/var/run/pam_mount/AstraLinux»,2500,0) = 0
[p] ‘Tue Feb 19 13:39:53 2013’ ‘/sbin/umount.cifs’ [s] umount(«/ald_home/AstraLinux») = 0
Имеется множество событий «open» (открытие файла), «mount» (монтирование и размонтирование), «create» (создание объекта), «chown» (изменение прав доступа пользователя). В домашнем каталоге пользователя «AstraLinux» создаем каталог «testdir» и в нем файл «testfile». Владелец файлов — сам пользователь:
dc-old:~# ls -l /ald_export_home/AstraLinux/ | grep test
drwxr-x— 2 AstraLinux AstraLinux 4096 Фев 19 13:50 testdir
dc-old:~# ls -l /ald_export_home/AstraLinux/testdir/
-rwxr—— 1 AstraLinux AstraLinux 5 Фев 19 13:50 testfile
Устанавливаем на данные файлы флаги аудита:
dc-old:/ald_export_home/AstraLinux# getfaud testdir/
dc-old:/ald_export_home/AstraLinux# getfaud testdir/testfile
После этого на ЭВМ пользователем «AstraLinux» удаляем testdir/testfile, создаем testdir/testfile2. На сервере в журнале /var/log/parsec/kern.mlog регистрируются события:
[f] ‘Tue Feb 19 14:07:23 2013’ ‘/usr/sbin/smbd’ [s] open(«/ald_export_home/AstraLinux/testdir»,NO_PERMS | O_NONBLOCK | O_DIRECTORY) = 0
[f] ‘Tue Feb 19 14:07:25 2013’ ‘/usr/sbin/smbd’ [s] unlink(«/ald_export_home/AstraLinux/testdir/testfile (deleted)») = 0
[f] ‘Tue Feb 19 14:07:34 2013’ ‘/usr/sbin/smbd’ [s] create(«/ald_export_home/AstraLinux/testdir/testfile2»,-rw-r——) = 0
[f] ‘Tue Feb 19 14:07:34 2013’ ‘/usr/sbin/smbd’ [s] open(«/ald_export_home/AstraLinux/testdir/testfile2»,O_RDONLY | O_CREAT | O_NOFOLLOW) = 0
[f] ‘Tue Feb 19 14:12:15 2013’ ‘/usr/bin/scp’ [s] create(«/ald_export_home/AstraLinux/testdir/remote_cp»,-rw-r—r—) = 0
[f] ‘Tue Feb 19 14:12:15 2013’ ‘/usr/bin/scp’ [s] open(«/ald_export_home/AstraLinux/testdir/remote_cp»,O_RDONLY | O_CREAT) = 0
При создании объектов внутри каталога, для которой отслеживаются соответствующие события («create»), создание любых объектов в ней регистрируется. При установке на файл мандатного уровня/категории регистрируется события «chmac» (изменение мандатных атрибутов).
setfaud -s o:ocum:ocum testdir/testfile2
chmac 1:0 testdir/testfile2
[f] ‘Tue Feb 19 14:24:55 2013’ ‘/bin/bash’ [s] open(«/ald_export_home/AstraLinux/testdir»,NO_PERMS | O_NONBLOCK | O_DIRECTORY) = 0
[f] ‘Tue Feb 19 14:24:56 2013’ ‘/usr/sbin/chmac’ [s] parsec_chmac(«/ald_export_home/AstraLinux/testdir/testfile2»,,0) = 0
Регистрация событий передачи по линиям и каналам связи является требованием документа ФСТЭК России «Руководящий документ. Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации» и должна обеспечиваться конструктором АС. При этом операционная система специального назначения «Astra Linux Special Edition» предоставляет возможность регистрации подобного класса. Далее приведен протокол работы пользователя при обмене по сети с использованием утилиты ping.
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/bash’ [s] exec(«/bin/ping») = 0
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] open(«/etc/ld.so.cache»,O_RDONLY) = 3
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] open(«/lib/libresolv.so.2»,O_RDONLY) = 3
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] open(«/lib/libc.so.6»,O_RDONLY) = 3
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] setuid(2500) = 0
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] open(«/etc/resolv.conf»,O_RDONLY) = 4
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] open(«/etc/resolv.conf»,O_RDONLY) = 4
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] open(«/etc/nsswitch.conf»,O_RDONLY) = 4
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] open(«/etc/ld.so.cache»,O_RDONLY) = 4
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] open(«/lib/libnss_files.so.2»,O_RDONLY) = 4
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] open(«/etc/host.conf»,O_RDONLY) = 4
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] open(«/etc/hosts»,O_RDONLY) = 4
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] open(«/etc/ld.so.cache»,O_RDONLY) = 4
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] open(«/lib/libnss_dns.so.2»,O_RDONLY) = 4
[p] ‘Fri Feb 22 12:57:29 2013’ ‘/bin/ping’ [s] open(«/etc/hosts»,O_RDONLY) = 4
[p] ‘Fri Feb 22 12:57:30 2013’ ‘/bin/ping’ [s] open(«/etc/hosts»,O_RDONLY) = 4
В протоколе зафиксированы все факты отправки и приема сетевых пакетов, а также IP-адреса отправителя и получателя. Порядок настройки системы регистрации событий описан в разделе 10 документа «Операционная система специального назначения «Astra Linux Special Edition». Руководство по КСЗ. Часть 1».
Существует известная проблема в версии 1.2, когда на клиентскую машину заходит пользователь под уровнем 0, то аудит событий перестает работать корректно. Для исправления на каждой клиентской машине, где будут заходить пользователи в файле /etc/pam.d/common-session добавить в конец строку:
session optional pam_ald.so populate_krb5cc
Если на сервер должны заходить пользователи, то на нем так же внести эти изменения. После этого желательно перезагрузить машины.
Настройка аудита
Все факты начала и окончания работы пользователя фиксируется в журнале /var/log/auth.log на клиентской машине. Например:
Feb 19 12:32:48 nd-nout fly-dm: :0[3421]: pam_unix(fly-dm:session): session opened for user ivanov by (uid=0)
Указанная запись содержит информацию о начале сессии для пользователя с учетной записью « ivanov ».
Указанная запись содержит информацию о завершении сессии для пользователя с учетной записью « petrovich ».
Кроме того, информация о начале и завершении работы пользователя попадает в журнал подсистемы безопасности parsec: /var/log/parsec/user.mlog , доступный для просмотра при помощи утилиты « userlog ». В журнале регистрируются события с типами « auth » (вход), « exit » (выход).
[u] ‘Tue Feb 19 12:50:00 2013’ ‘/bin/login’ [s] exit(«login»,»petrovich»)
[u] ‘Tue Feb 19 12:57:59 2013’ ‘/usr/bin/fly-dm’ [s] exit(«fly-dm»,»root»)
[u] ‘Tue Feb 19 13:14:52 2013’ ‘/bin/login’ [s] auth(«login»,»root»)
[u] ‘Tue Feb 19 13:15:33 2013’ ‘/bin/login’ [s] auth(«login»,»petrovich»)
[u] ‘Tue Feb 19 13:15:39 2013’ ‘/bin/login’ [s] exit(«login»,»petrovich»)
[u] ‘Tue Feb 19 13:19:53 2013’ ‘/bin/login’ [s] auth(«login»,»petrovich»)
[u] ‘Tue Feb 19 13:20:13 2013’ ‘/bin/login’ [s] exit(«login»,»petrovich»)
[u] ‘Tue Feb 19 13:20:23 2013’ ‘/bin/login’ [s] auth(«login»,»petrovich»)
[u] ‘Tue Feb 19 13:20:31 2013’ ‘/bin/login’ [s] exit(«login»,»petrovich»)
[u] ‘Tue Feb 19 13:27:48 2013’ ‘/bin/login’ [s] auth(«login»,»petrovich»)
[u] ‘Tue Feb 19 13:27:54 2013’ ‘/bin/login’ [s] exit(«login»,»petrovich»)
[u] ‘Tue Feb 19 13:33:51 2013’ ‘/bin/login’ [s] auth(«login»,»petrovich»)
[u] ‘Tue Feb 19 13:33:55 2013’ ‘/bin/login’ [s] exit(«login»,»petrovich»)
[u] ‘Tue Feb 19 13:39:49 2013’ ‘/bin/login’ [s] auth(«login»,»petrovich»)
[u] ‘Tue Feb 19 13:39:53 2013’ ‘/bin/login’ [s] exit(«login»,»petrovich»)
Описание системы регистрации событий приведено в разделе 10 документа «Операционная система специального назначения «Astra Linux Special Edition». Руководство по КСЗ. Часть 1». Дополнительная информация приведена на страницах справочного руководства « man » для расширенной системы протоколирования, доступной по команде « man parselog ». В операционной системе специального назначения «Astra Linux Special Edition» обеспечивается регистрация всех событий в соответствии с требованиями документа «Руководящий документ. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации» ФСТЭК России, предъявляемых к средствам вычислительной техники третьего класса защищенности. Регистрация событий может быть проверена следующим образом: устанавливаем для пользователя (доменного) все возможные флаги аудита:
Audit policy user:petrovich
Audit success rules: ocxudntligarmphew