Astra Linux.Справка.Настройка аудита в Astra Linux — различия между версиями

Материал из ТХАБ.РФ
Перейти к: навигация, поиск
м
(Исправление ошибок форматирования.)
 
Строка 1: Строка 1:
 
== Настройка аудита в Astra Linux ==
 
== Настройка аудита в Astra Linux ==
  
Все факты начала и окончания работы пользователя фиксируется в журнале <big>/var/log/auth.log</big> на клиентской машине. Например:<br>
+
Все факты начала и окончания работы пользователя фиксируется в журнале <code>/var/log/auth.log</code> на клиентской машине.<br>
::<code>Feb 19 12:32:48 nd-nout fly-dm: :0[3421]: pam_unix(fly-dm:session): session opened for user ivanov by (uid=0)</code><br>
+
Например:<br>
Указанная запись содержит информацию о начале сессии для пользователя с учетной записью <big>«ivanov»</big>.
+
<code>Feb 19 12:32:48 nd-nout fly-dm: :0[3421]: pam_unix(fly-dm:session): session opened for user ivanov by (uid=0)</code><br>
::<code>Feb 19 13:15:38 ac-old login[3865]: pam_unix(login:session): session closed for user petrovich</code><br>
+
Указанная запись содержит информацию о начале сессии для пользователя с учетной записью <code>ivanov</code>.<br>
Указанная запись содержит информацию о завершении сессии для пользователя с учетной записью <big>«petrovich»</big>.
+
<code>Feb 19 13:15:38 ac-old login[3865]: pam_unix(login:session): session closed for user petrovich</code><br>
Кроме того, информация о начале и завершении работы пользователя попадает в журнал подсистемы безопасности parsec: <big>/var/log/parsec/user.mlog</big>, доступный для просмотра при помощи утилиты <big>«userlog»</big>. В журнале регистрируются события с типами <big>«auth» (вход)</big>, <big>«exit» (выход)</big>.  
+
Указанная запись содержит информацию о завершении сессии для пользователя с учетной записью <code>petrovich</code>.<br>
 +
Кроме того, информация о начале и завершении работы пользователя попадает в журнал подсистемы безопасности <b>parsec</b>: <code>/var/log/parsec/user.mlog</code>, доступный для просмотра при помощи утилиты <code>userlog</code>. В журнале регистрируются события с типами <code>auth</code> (вход), <code>exit</code> (выход).  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
Например:
 
Например:
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
::<code>ac-old:~# userlog
+
<code>ac-old:~# userlog<br>
::<code>[u] 'Tue Feb 19 12:50:00 2013' '/bin/login' <26828,26778,0,2500,0> [s] exit("login","petrovich")</code><br>
+
'Tue Feb 19 12:50:00 2013' '/bin/login' <26828,26778,0,2500,0> [s] exit("login","petrovich")<br>
::<code>[u] 'Tue Feb 19 12:57:59 2013' '/usr/bin/fly-dm' <25927,3462,0,0,0> [s] exit("fly-dm","root")</code><br>
+
'Tue Feb 19 12:57:59 2013' '/usr/bin/fly-dm' <25927,3462,0,0,0> [s] exit("fly-dm","root")<br>
::<code>[u] 'Tue Feb 19 13:14:52 2013' '/bin/login' <3796,3680,0,0,0> [s] auth("login","root")</code><br>
+
'Tue Feb 19 13:14:52 2013' '/bin/login' <3796,3680,0,0,0> [s] auth("login","root")<br>
::<code>[u] 'Tue Feb 19 13:15:33 2013' '/bin/login' <3865,3683,0,2500,0> [s] auth("login","petrovich")</code><br>
+
'Tue Feb 19 13:15:33 2013' '/bin/login' <3865,3683,0,2500,0> [s] auth("login","petrovich")<br>
::<code>[u] 'Tue Feb 19 13:15:39 2013' '/bin/login' <3865,3683,0,2500,0> [s] exit("login","petrovich")</code><br>
+
'Tue Feb 19 13:15:39 2013' '/bin/login' <3865,3683,0,2500,0> [s] exit("login","petrovich")<br>
::<code>[u] 'Tue Feb 19 13:19:53 2013' '/bin/login' <3992,3898,0,2500,0> [s] auth("login","petrovich")</code><br>
+
'Tue Feb 19 13:19:53 2013' '/bin/login' <3992,3898,0,2500,0> [s] auth("login","petrovich")<br>
::<code>[u] 'Tue Feb 19 13:20:13 2013' '/bin/login' <3992,3898,0,2500,0> [s] exit("login","petrovich")</code><br>
+
'Tue Feb 19 13:20:13 2013' '/bin/login' <3992,3898,0,2500,0> [s] exit("login","petrovich")<br>
::<code>[u] 'Tue Feb 19 13:20:23 2013' '/bin/login' <4070,4020,0,2500,0> [s] auth("login","petrovich")</code><br>
+
'Tue Feb 19 13:20:23 2013' '/bin/login' <4070,4020,0,2500,0> [s] auth("login","petrovich")<br>
::<code>[u] 'Tue Feb 19 13:20:31 2013' '/bin/login' <4070,4020,0,2500,0> [s] exit("login","petrovich")</code><br>
+
'Tue Feb 19 13:20:31 2013' '/bin/login' <4070,4020,0,2500,0> [s] exit("login","petrovich")<br>
::<code>[u] 'Tue Feb 19 13:27:48 2013' '/bin/login' <4212,4091,0,2500,0> [s] auth("login","petrovich")</code><br>
+
'Tue Feb 19 13:27:48 2013' '/bin/login' <4212,4091,0,2500,0> [s] auth("login","petrovich")<br>
::<code>[u] 'Tue Feb 19 13:27:54 2013' '/bin/login' <4212,4091,0,2500,0> [s] exit("login","petrovich")</code><br>
+
'Tue Feb 19 13:27:54 2013' '/bin/login' <4212,4091,0,2500,0> [s] exit("login","petrovich")<br>
::<code>[u] 'Tue Feb 19 13:33:51 2013' '/bin/login' <4327,4234,0,2500,0> [s] auth("login","petrovich")</code><br>
+
'Tue Feb 19 13:33:51 2013' '/bin/login' <4327,4234,0,2500,0> [s] auth("login","petrovich")<br>
::<code>[u] 'Tue Feb 19 13:33:55 2013' '/bin/login' <4327,4234,0,2500,0> [s] exit("login","petrovich")</code><br>
+
'Tue Feb 19 13:33:55 2013' '/bin/login' <4327,4234,0,2500,0> [s] exit("login","petrovich")<br>
::<code>[u] 'Tue Feb 19 13:39:49 2013' '/bin/login' <4440,4348,0,2500,0> [s] auth("login","petrovich")</code><br>
+
'Tue Feb 19 13:39:49 2013' '/bin/login' <4440,4348,0,2500,0> [s] auth("login","petrovich")<br>
::<code>[u] 'Tue Feb 19 13:39:53 2013' '/bin/login' <4440,4348,0,2500,0> [s] exit("login","petrovich")</code><br></div>
+
'Tue Feb 19 13:39:53 2013' '/bin/login' <4440,4348,0,2500,0> [s] exit("login","petrovich")<br></code>
 
</div>
 
</div>
Описание системы регистрации событий приведено в разделе 10 документа «Операционная система специального назначения «[[Astra Linux]] [http://astra-linux.com/index.php?option=com_content&view=section&layout=blog&id=7&Itemid=58 Special Edition]». Руководство
+
</div>
по КСЗ. Часть 1». Дополнительная информация приведена на страницах справочного руководства <big>«man»</big> для расширенной системы протоколирования, доступной по команде <big>«man parselog»</big>.
+
Описание системы регистрации событий приведено в разделе 10 документа «Операционная система специального назначения «[https://astralinux.ru/products/astra-linux-special-edition/ Astra Linux Special Edition]». Руководство
В операционной системе специального назначения «[[Astra Linux]] [http://astra-linux.com/index.php?option=com_content&view=section&layout=blog&id=7&Itemid=58 Special Edition]» обеспечивается регистрация всех событий в соответствии с требованиями документа
+
по КСЗ. Часть 1». Дополнительная информация приведена на страницах справочного руководства <code>man</code> для расширенной системы протоколирования, доступной по команде <code>man parselog</code>.<br>
«Руководящий      документ.      Средства    вычислительной  техники.    Защита  от несанкционированного доступа к информации. Показатели защищенности от
+
В операционной системе специального назначения «[https://astralinux.ru/products/astra-linux-special-edition/ Astra Linux Special Edition]» обеспечивается регистрация всех событий в соответствии с требованиями документа
несанкционированного доступа к информации» ФСТЭК России, предъявляемых к средствам вычислительной техники третьего класса защищенности.
+
«Руководящий      документ.      Средства    вычислительной  техники.    Защита  от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации» ФСТЭК России, предъявляемых к средствам вычислительной техники третьего класса защищенности.<br>
Регистрация событий может быть проверена следующим образом:
+
Регистрация событий может быть проверена следующим образом:<br>
устанавливаем для пользователя (доменного) все возможные флаги аудита:
+
устанавливаем для пользователя (доменного) все возможные флаги аудита:<br>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
Событие:
 
Событие:
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
::<code>dc-old:~# ald-admin user-aud-get petrovich</code><br>
+
<code>dc-old:~# ald-admin user-aud-get petrovich<br>
::<code>Audit policy user:petrovich</code><br>
+
Audit policy user:petrovich<br>
::<code>Audit success rules: ocxudntligarmphew</code><br>
+
Audit success rules: ocxudntligarmphew<br>
::<code>nr f flag</code><br>
+
nr f flag<br>
::<code>-- - ----</code><br>
+
-- - ----<br>
::<code>0 o open</code><br>
+
0 o open<br>
::<code>1 c create</code><br>
+
1 c create<br>
::<code>2 x exec</code><br>
+
2 x exec<br>
::<code>3 u delete</code><br>
+
3 u delete<br>
::<code>4 d chmod</code><br>
+
4 d chmod<br>
::<code>5 n chown</code><br>
+
5 n chown<br>
::<code>6 t mount</code><br>
+
6 t mount<br>
::<code>7 l module</code><br>
+
7 l module<br>
::<code>8 i uid</code><br>
+
8 i uid<br>
::<code>9 g gid</code><br>
+
9 g gid<br>
::<code>10 a audit</code><br>
+
10 a audit<br>
::<code>11 r acl</code><br>
+
11 r acl<br>
::<code>12 m mac</code><br>
+
12 m mac<br>
::<code>13 p cap</code><br>
+
13 p cap<br>
::<code>14 h chroot</code><br>
+
14 h chroot<br>
::<code>15 e rename</code><br>
+
15 e rename<br>
::<code>16 w net</code><br>
+
16 w net<br>
::<code>Audit fail rules: ocxudntligarmphew</code><br>
+
Audit fail rules: ocxudntligarmphew<br>
::<code>nr f flag</code><br>
+
nr f flag<br>
::<code>-- - ----</code><br>
+
-- - ----<br>
::<code>0 o open</code><br>
+
0 o open<br>
::<code>1 c create</code><br>
+
1 c create<br>
::<code>2 x exec</code><br>
+
2 x exec<br>
::<code>3 u delete</code><br>
+
3 u delete<br>
::<code>4 d chmod</code><br>
+
4 d chmod<br>
::<code>5 n chown</code><br>
+
5 n chown<br>
::<code>6 t mount</code><br>
+
6 t mount<br>
::<code>7 l module</code><br>
+
7 l module<br>
::<code>8 i uid</code><br>
+
8 i uid<br>
::<code>9 g gid</code><br>
+
9 g gid<br>
::<code>10 a audit</code><br>
+
10 a audit<br>
::<code>11 r acl</code><br>
+
11 r acl<br>
::<code>12 m mac</code><br>
+
12 m mac<br>
::<code>13 p cap</code><br>
+
13 p cap<br>
::<code>14 h chroot</code><br>
+
14 h chroot<br>
::<code>15 e rename</code><br>
+
15 e rename<br>
::<code>16 w net</code><br></div>
+
16 w net<br></code>
 
</div>
 
</div>
Очищаем журнал событий на ЭВМ:
+
</div>
::<code>ac-old:~# > /var/log/parsec/kernel.mlog</code><br>
+
Очищаем журнал событий на ЭВМ:<br>
Выполняем вход в систему пользователем <big>«petrovich»</big>. Смотрим журнал событий командой <big>kernlog</big> с фильтрацией по имени пользователя <big>«petrovich»</big>:
+
<code>ac-old:~# > /var/log/parsec/kernel.mlog</code><br>
 +
Выполняем вход в систему пользователем <code>petrovich</code>. Смотрим журнал событий командой <code>kernlog</code> с фильтрацией по имени пользователя <code>petrovich</code>:<br>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
Событие:
 
Событие:
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
::<code>ac-old:~# kernlog | grep "petrovich*"</code><br>
+
<code>ac-old:~# kernlog | grep "petrovich*"<br>
::<code>[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500>      [f] open("/ald_home/petrovich/.bash_profile",O_RDONLY) = -2 ENOENT (Нет такого файла иликаталога)</code><br>
+
[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500>      [f] open("/ald_home/petrovich/.bash_profile",O_RDONLY) = -2 ENOENT (Нет такого файла иликаталога)<br>
::<code>[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500>      [f] open("/ald_home/petrovich/.bash_login",O_RDONLY) = -2 ENOENT (Нет такого файла  или каталога)</code><br>
+
[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500>      [f] open("/ald_home/petrovich/.bash_login",O_RDONLY) = -2 ENOENT (Нет такого файла  или каталога)<br>
::<code>[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500>      [f] open("/ald_home/petrovich/.profile",O_RDONLY) = -2 ENOENT (Нет такого файла      или каталога)</code><br>
+
[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500>      [f] open("/ald_home/petrovich/.profile",O_RDONLY) = -2 ENOENT (Нет такого файла      или каталога)<br>
::<code>[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500>      [s] open("/ald_home/petrovich/.bash_history",O_RDONLY) = 3</code><br>
+
[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500>      [s] open("/ald_home/petrovich/.bash_history",O_RDONLY) = 3<br>
::<code>[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500>      [s] open("/ald_home/petrovich/.bash_history",O_RDONLY) = 3</code><br>
+
[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500>      [s] open("/ald_home/petrovich/.bash_history",O_RDONLY) = 3<br>
::<code>[p] 'Tue Feb 19 13:39:52 2013' '/bin/bash' <4450,4440,2500,2500,2500> [f] open("/ald_home/petrovich/.bash_logout",O_RDONLY) = -2 ENOENT (Нет такого файла или каталога)</code><br>
+
[p] 'Tue Feb 19 13:39:52 2013' '/bin/bash' <4450,4440,2500,2500,2500> [f] open("/ald_home/petrovich/.bash_logout",O_RDONLY) = -2 ENOENT (Нет такого файла или каталога)<br>
::<code>[p] 'Tue Feb 19 13:39:52 2013' '/bin/bash' <4450,4440,2500,2500,2500> [s] open("/ald_home/petrovich/.bash_history",O_WRONLY | O_APPEND) = 3</code><br>
+
[p] 'Tue Feb 19 13:39:52 2013' '/bin/bash' <4450,4440,2500,2500,2500> [s] open("/ald_home/petrovich/.bash_history",O_WRONLY | O_APPEND) = 3<br>
::<code>[p] 'Tue Feb 19 13:39:52 2013' '/bin/bash' <4450,4440,2500,2500,2500> [s] open("/ald_home/petrovich/.bash_history",O_RDONLY) = 3</code><br>
+
[p] 'Tue Feb 19 13:39:52 2013' '/bin/bash' <4450,4440,2500,2500,2500> [s] open("/ald_home/petrovich/.bash_history",O_RDONLY) = 3<br>
::<code>[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/ald_home/petrovich/mac/0/0") = 0</code><br>
+
[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/ald_home/petrovich/mac/0/0") = 0<br>
::<code>[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/ald_home/petrovich/mac") = 0</code><br>
+
[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/ald_home/petrovich/mac") = 0<br>
::<code>[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/ald_home/petrovich") = 0</code><br>
+
[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/ald_home/petrovich") = 0<br>
::<code>[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/var/private/mac/petrovich/0/0") = 0</code><br>
+
[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/var/private/mac/petrovich/0/0") = 0<br>
::<code>[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/var/private/mac/petrovich") = 0</code><br>
+
[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/var/private/mac/petrovich") = 0<br>
::<code>[p] 'Tue Feb 19 13:39:52 2013' '/usr/sbin/pmvarrun' <4453,4440,0,2500,0> [s] create("/var/run/pam_mount/petrovich",O_RDWR | O_CREAT,-rw-------) = 7</code><br>
+
[p] 'Tue Feb 19 13:39:52 2013' '/usr/sbin/pmvarrun' <4453,4440,0,2500,0> [s] create("/var/run/pam_mount/petrovich",O_RDWR | O_CREAT,-rw-------) = 7<br>
::<code>[p] 'Tue Feb 19 13:39:52 2013' '/usr/sbin/pmvarrun' <4453,4440,0,2500,0> [s] chown("/var/run/pam_mount/petrovich",2500,0) = 0</code><br>
+
[p] 'Tue Feb 19 13:39:52 2013' '/usr/sbin/pmvarrun' <4453,4440,0,2500,0> [s] chown("/var/run/pam_mount/petrovich",2500,0) = 0<br>
::<code>[p] 'Tue Feb 19 13:39:53 2013' '/sbin/umount.cifs' <4455,4454,0,2500,0> [s] umount("/ald_home/petrovich") = 0</code><br></div>
+
[p] 'Tue Feb 19 13:39:53 2013' '/sbin/umount.cifs' <4455,4454,0,2500,0> [s] umount("/ald_home/petrovich") = 0<br></code>
 
</div>
 
</div>
Имеется множество событий <big>«open» (открытие файла)</big>, <big>«mount» (монтирование и размонтирование)</big>, <big>«create» (создание объекта)</big>, <big>«chown» (изменение прав доступа пользователя)</big>.
+
</div>
В домашнем каталоге пользователя <big>«petrovich»</big> создаем каталог <big>«testdir»</big> и в нем файл <big>«testfile»</big>. Владелец файлов — сам пользователь:
+
Имеется множество событий <code>open</code> (открытие файла), <code>mount</code> (монтирование и размонтирование), <code>create</code> (создание объекта), <code>chown</code> (изменение прав доступа пользователя).<br>
 +
В домашнем каталоге пользователя <code>petrovich</code> создаем каталог <code>testdir</code> и в нем файл <code>testfile</code>. Владелец файлов — сам пользователь:
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
Событие:
 
Событие:
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
::<code>dc-old:~# ls -l /ald_export_home/petrovich/ | grep test</code><br>
+
<code>dc-old:~# ls -l /ald_export_home/petrovich/ | grep test<br>
::<code>drwxr-x--- 2 petrovich petrovich 4096 Фев 19 13:50 testdir</code><br>
+
drwxr-x--- 2 petrovich petrovich 4096 Фев 19 13:50 testdir<br>
::<code>dc-old:~# ls -l /ald_export_home/petrovich/testdir/</code><br>
+
dc-old:~# ls -l /ald_export_home/petrovich/testdir/<br>
::<code>итого 4</code><br>
+
итого 4<br>
::<code>-rwxr----- 1 petrovich petrovich 5 Фев 19 13:50 testfile</code><br>
+
-rwxr----- 1 petrovich petrovich 5 Фев 19 13:50 testfile<br></code>
::<code>Устанавливаем на данные файлы флаги аудита:</code><br>
+
::<code>dc-old:/ald_export_home/petrovich# getfaud testdir/</code><br>
+
::<code># file: testdir</code><br>
+
::<code>o:ouc:ouc</code><br>
+
::<code>default:o:ouc:ouc</code><br>
+
::<code>dc-old:/ald_export_home/petrovich# getfaud testdir/testfile</code><br>
+
::<code># file: testdir/testfile</code><br>
+
::<code>o:ouc:ouc</code><br></div>
+
 
</div>
 
</div>
После этого на ЭВМ пользователем <big>«petrovich»</big> удаляем <big>testdir/testfile</big>, создаем <big>testdir/testfile2</big>. На сервере в журнале <big>/var/log/parsec/kern.mlog</big> регистрируются события:
+
</div>
 +
Устанавливаем на данные файлы флаги аудита:<br>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
Событие:
 
Событие:
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
::<code>чтение каталога:</code><br>
+
<code>dc-old:/ald_export_home/petrovich# getfaud testdir/<br>
::<code>[f] 'Tue Feb 19 14:07:23 2013' '/usr/sbin/smbd' <6514,3024,0,0,2500> [s] open("/ald_export_home/petrovich/testdir",NO_PERMS | O_NONBLOCK | O_DIRECTORY) = 0</code><br>
+
&#35; file: testdir<br>
::<code>удаление файла:</code><br>
+
o:ouc:ouc<br>
::<code>[f] 'Tue Feb 19 14:07:25 2013' '/usr/sbin/smbd'                  <6514,3024,0,0,2500> [s] unlink("/ald_export_home/petrovich/testdir/testfile (deleted)") = 0</code><br>
+
default:o:ouc:ouc<br>
::<code>создание файла:</code><br>
+
dc-old:/ald_export_home/petrovich# getfaud testdir/testfile<br>
::<code>[f] 'Tue Feb 19 14:07:34 2013' '/usr/sbin/smbd' <6514,3024,0,0,2500> [s] create("/ald_export_home/petrovich/testdir/testfile2",-rw-r-----) = 0</code><br>
+
&#35; file: testdir/testfile<br>
::<code>[f] 'Tue Feb 19 14:07:34 2013' '/usr/sbin/smbd' <6514,3024,0,0,2500> [s] open("/ald_export_home/petrovich/testdir/testfile2",O_RDONLY | O_CREAT | O_NOFOLLOW) = 0</code><br>
+
o:ouc:ouc<br></code>
::<code>удаленное копирование:</code><br>
+
::<code>f]    'Tue    Feb    19    14:12:15    2013'    '/usr/bin/scp'  <6609,6606,0,0,0>  [s] create("/ald_export_home/petrovich/testdir/remote_cp",-rw-r--r--) = 0</code><br>
+
::<code>[f]    'Tue    Feb    19  14:12:15    2013'    '/usr/bin/scp'  <6609,6606,0,0,0>  [s] open("/ald_export_home/petrovich/testdir/remote_cp",O_RDONLY | O_CREAT) = 0</code><br></div>
+
 
</div>
 
</div>
При создании объектов внутри каталога, для которой отслеживаются соответствующие события <big>(«create»)</big>, создание любых объектов в ней регистрируется. При установке на файл мандатного уровня/категории регистрируется события <big>«chmac» (изменение мандатных атрибутов)</big>.
+
</div>
 +
После этого на ЭВМ пользователем <code>petrovich</code> удаляем <code>testdir/testfile</code>, создаем <code>testdir/testfile2</code>. На сервере в журнале <code>/var/log/parsec/kern.mlog</code> регистрируются события:<br>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
Событие:
 
Событие:
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
::<code>dc-old:/ald_export_home/petrovich# setfaud -s o:ocum:ocum testdir/testfile2</code><br>
+
<code>чтение каталога:<br>
::<code>dc-old:/ald_export_home/petrovich# > /var/log/parsec/kernel.mlog</code><br>
+
[f] 'Tue Feb 19 14:07:23 2013' '/usr/sbin/smbd' <6514,3024,0,0,2500> [s] open("/ald_export_home/petrovich/testdir",NO_PERMS | O_NONBLOCK | O_DIRECTORY) = 0<br>
::<code>dc-old:/ald_export_home/petrovich# chmac 1:0 testdir/testfile2</code><br>
+
удаление файла:<br>
::<code>dc-old:/ald_export_home/petrovich# kernlog</code><br>
+
[f] 'Tue Feb 19 14:07:25 2013' '/usr/sbin/smbd'                  <6514,3024,0,0,2500> [s] unlink("/ald_export_home/petrovich/testdir/testfile (deleted)") = 0<br>
::<code>[f]      'Tue  Feb    19  14:24:55      2013'      '/bin/bash'  <5891,5887,0,0,0>  [s] open("/ald_export_home/petrovich/testdir",NO_PERMS | O_NONBLOCK | O_DIRECTORY) = 0</code><br>
+
создание файла:<br>
::<code>[f] 'Tue Feb 19 14:24:56 2013' '/usr/sbin/chmac' <6914,5891,0,0,0> [s] parsec_chmac("/ald_export_home/petrovich/testdir/testfile2",{1,0x0},0) = 0</code><br></div>
+
[f] 'Tue Feb 19 14:07:34 2013' '/usr/sbin/smbd' <6514,3024,0,0,2500> [s] create("/ald_export_home/petrovich/testdir/testfile2",-rw-r-----) = 0<br>
 +
[f] 'Tue Feb 19 14:07:34 2013' '/usr/sbin/smbd' <6514,3024,0,0,2500> [s] open("/ald_export_home/petrovich/testdir/testfile2",O_RDONLY | O_CREAT | O_NOFOLLOW) = 0<br>
 +
удаленное копирование:<br>
 +
f]    'Tue    Feb    19    14:12:15    2013'    '/usr/bin/scp'  <6609,6606,0,0,0> [s] create("/ald_export_home/petrovich/testdir/remote_cp",-rw-r--r--) = 0<br>
 +
[f]    'Tue    Feb    19  14:12:15    2013'    '/usr/bin/scp'  <6609,6606,0,0,0>  [s] open("/ald_export_home/petrovich/testdir/remote_cp",O_RDONLY | O_CREAT) = 0<br></code>
 +
</div>
 +
</div>
 +
При создании объектов внутри каталога, для которого отслеживаются соответствующие события (<code>create</code>), создание любых объектов в нём регистрируется. При установке на файл мандатного уровня/категории регистрируется событие <code>chmac</code> (изменение мандатных атрибутов).<br>
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 +
Событие:
 +
<div class="mw-collapsible-content">
 +
<code>dc-old:/ald_export_home/petrovich# setfaud -s o:ocum:ocum testdir/testfile2<br>
 +
dc-old:/ald_export_home/petrovich# > /var/log/parsec/kernel.mlog<br>
 +
dc-old:/ald_export_home/petrovich# chmac 1:0 testdir/testfile2<br>
 +
dc-old:/ald_export_home/petrovich# kernlog<br>
 +
[f]      'Tue  Feb    19  14:24:55      2013'      '/bin/bash'  <5891,5887,0,0,0>  [s] open("/ald_export_home/petrovich/testdir",NO_PERMS | O_NONBLOCK | O_DIRECTORY) = 0<br>
 +
[f] 'Tue Feb 19 14:24:56 2013' '/usr/sbin/chmac' <6914,5891,0,0,0> [s] parsec_chmac("/ald_export_home/petrovich/testdir/testfile2",{1,0x0},0) = 0<br></code>
 +
</div>
 
</div>
 
</div>
 
Регистрация событий передачи по линиям и каналам связи является требованием документа ФСТЭК России «Руководящий документ. Автоматизированные системы. Защита
 
Регистрация событий передачи по линиям и каналам связи является требованием документа ФСТЭК России «Руководящий документ. Автоматизированные системы. Защита
от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации» и должна обеспечиваться конструктором АС.
+
от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации» и должна обеспечиваться конструктором АС.<br>
При этом операционная система специального назначения «[[Astra Linux]] [http://astra-linux.com/index.php?option=com_content&view=section&layout=blog&id=7&Itemid=58 Special Edition]» предоставляет возможность регистрации подобного класса. Далее приведен протокол работы пользователя при обмене по сети с использованием утилиты <big>ping</big>.
+
При этом операционная система специального назначения «[https://astralinux.ru/products/astra-linux-special-edition/ Astra Linux Special Edition]» предоставляет возможность регистрации подобного класса событий. Далее приведен протокол работы пользователя при обмене по сети с использованием утилиты <code>ping</code>.<br>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
 
Событие:
 
Событие:
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/bash' <6798,6795,2500,2500,0> [s] exec("/bin/ping") = 0</code><br>
+
<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/bash' <6798,6795,2500,2500,0> [s] exec("/bin/ping") = 0<br>
::<code>[p] 'Fri Feb 22 12:57:29                2013'    '/bin/ping'    <6798,6795,2500,2500,0>  [s] open("/etc/ld.so.cache",O_RDONLY) = 3</code><br>
+
[p] 'Fri Feb 22 12:57:29                2013'    '/bin/ping'    <6798,6795,2500,2500,0>  [s] open("/etc/ld.so.cache",O_RDONLY) = 3<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013'                    '/bin/ping'    <6798,6795,2500,2500,0>  [s] open("/lib/libresolv.so.2",O_RDONLY) = 3</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013'                    '/bin/ping'    <6798,6795,2500,2500,0>  [s] open("/lib/libresolv.so.2",O_RDONLY) = 3<br>
::<code>[p] 'Fri Feb 22 12:57:29                2013'    '/bin/ping'    <6798,6795,2500,2500,0>  [s] open("/lib/libc.so.6",O_RDONLY) = 3</code><br>
+
[p] 'Fri Feb 22 12:57:29                2013'    '/bin/ping'    <6798,6795,2500,2500,0>  [s] open("/lib/libc.so.6",O_RDONLY) = 3<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,0> [s] setuid(2500) = 0</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,0> [s] setuid(2500) = 0<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013'                '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/etc/resolv.conf",O_RDONLY) = 4</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013'                '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/etc/resolv.conf",O_RDONLY) = 4<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013'                '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/etc/resolv.conf",O_RDONLY) = 4</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013'                '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/etc/resolv.conf",O_RDONLY) = 4<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>                    [s] connect(SOCK_STREAM,{AF_UNIX,...},{AF_UNIX,/var/run/nscd/socket}) = 0</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>                    [s] connect(SOCK_STREAM,{AF_UNIX,...},{AF_UNIX,/var/run/nscd/socket}) = 0<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>                    [s] connect(SOCK_STREAM,{AF_UNIX,...},{AF_UNIX,/var/run/nscd/socket}) = 0</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>                    [s] connect(SOCK_STREAM,{AF_UNIX,...},{AF_UNIX,/var/run/nscd/socket}) = 0<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013'                '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/etc/nsswitch.conf",O_RDONLY) = 4</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013'                '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/etc/nsswitch.conf",O_RDONLY) = 4<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/ld.so.cache",O_RDONLY) = 4</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/ld.so.cache",O_RDONLY) = 4<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013'                '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/lib/libnss_files.so.2",O_RDONLY) = 4</</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013'                '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/lib/libnss_files.so.2",O_RDONLY) = 4</<br>
::<code>[p] 'Fri Feb 22 12:57:29            2013'    '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/etc/host.conf",O_RDONLY) = 4</code><br>
+
[p] 'Fri Feb 22 12:57:29            2013'    '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/etc/host.conf",O_RDONLY) = 4<br>
::<code>[p] 'Fri Feb 22 12:57:29            2013'    '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/etc/hosts",O_RDONLY) = 4</code><br>
+
[p] 'Fri Feb 22 12:57:29            2013'    '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/etc/hosts",O_RDONLY) = 4<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013'                '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/etc/ld.so.cache",O_RDONLY) = 4</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013'                '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/etc/ld.so.cache",O_RDONLY) = 4<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013'                '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/lib/libnss_dns.so.2",O_RDONLY) = 4</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013'                '/bin/ping'    <6798,6795,2500,2500,2500>  [s] open("/lib/libnss_dns.so.2",O_RDONLY) = 4<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>                    [s] connect(SOCK_DGRAM,{AF_INET,10.0.0.106:41209},{AF_INET,10.0.0.1:53}) = 0</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>                    [s] connect(SOCK_DGRAM,{AF_INET,10.0.0.106:41209},{AF_INET,10.0.0.1:53}) = 0<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>                    [s] sendmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:41209},{AF_INET,10.0.0.1:53}) = 29</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>                    [s] sendmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:41209},{AF_INET,10.0.0.1:53}) = 29<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] recvmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:41209},{AF_INET,10.0.0.1:53}) = 78</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] recvmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:41209},{AF_INET,10.0.0.1:53}) = 78<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] connect(SOCK_DGRAM,{AF_INET,10.0.0.106:48650},{AF_INET,10.0.0.1:1025}) = 0</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] connect(SOCK_DGRAM,{AF_INET,10.0.0.106:48650},{AF_INET,10.0.0.1:1025}) = 0<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] sendmsg(SOCK_RAW,{AF_INET,0.0.0.0:1},{AF_INET,10.0.0.1:0}) = 64</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] sendmsg(SOCK_RAW,{AF_INET,0.0.0.0:1},{AF_INET,10.0.0.1:0}) = 64<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] recvmsg(SOCK_RAW,{AF_INET,0.0.0.0:1},{AF_INET,10.0.0.1:0}) = 84</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] recvmsg(SOCK_RAW,{AF_INET,0.0.0.0:1},{AF_INET,10.0.0.1:0}) = 84<br>
::<code>[p] 'Fri Feb 22 12:57:29    2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/hosts",O_RDONLY) = 4</code><br>
+
[p] 'Fri Feb 22 12:57:29    2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/hosts",O_RDONLY) = 4<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] connect(SOCK_DGRAM,{AF_INET,10.0.0.106:44260},{AF_INET,10.0.0.1:53}) = 0</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] connect(SOCK_DGRAM,{AF_INET,10.0.0.106:44260},{AF_INET,10.0.0.1:53}) = 0<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] sendmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:44260},{AF_INET,10.0.0.1:53}) = 39</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] sendmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:44260},{AF_INET,10.0.0.1:53}) = 39<br>
::<code>[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] recvmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:44260},{AF_INET,10.0.0.1:53}) = 96</code><br>
+
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] recvmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:44260},{AF_INET,10.0.0.1:53}) = 96<br>
::<code>[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] sendmsg(SOCK_RAW,{AF_INET,0.0.0.0:1},{AF_INET,10.0.0.1:0}) = 64</code><br>
+
[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] sendmsg(SOCK_RAW,{AF_INET,0.0.0.0:1},{AF_INET,10.0.0.1:0}) = 64<br>
::<code>[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] recvmsg(SOCK_RAW,{AF_INET,0.0.0.0:1},{AF_INET,10.0.0.1:0}) = 84</code><br>
+
[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] recvmsg(SOCK_RAW,{AF_INET,0.0.0.0:1},{AF_INET,10.0.0.1:0}) = 84<br>
::<code>[p] 'Fri Feb 22 12:57:30    2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/hosts",O_RDONLY) = 4</code><br>
+
[p] 'Fri Feb 22 12:57:30    2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/hosts",O_RDONLY) = 4<br>
::<code>[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] connect(SOCK_DGRAM,{AF_INET,10.0.0.106:53774},{AF_INET,10.0.0.1:53}) = 0</code><br>
+
[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] connect(SOCK_DGRAM,{AF_INET,10.0.0.106:53774},{AF_INET,10.0.0.1:53}) = 0<br>
::<code>[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] sendmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:53774},{AF_INET,10.0.0.1:53}) = 39</code><br>
+
[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] sendmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:53774},{AF_INET,10.0.0.1:53}) = 39<br>
::<code>[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] recvmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:53774},{AF_INET,10.0.0.1:53}) = 96</code><br></div>
+
[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500>    [s] recvmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:53774},{AF_INET,10.0.0.1:53}) = 96<br></code>
 +
</div>
 
</div>
 
</div>
В протоколе зафиксированы все факты отправки и приема сетевых пакетов, а также IP-адреса отправителя и получателя. Порядок настройки системы регистрации событий описан в разделе 10 документа «Операционная система специального назначения «[[Astra Linux]] [http://astra-linux.com/index.php?option=com_content&view=section&layout=blog&id=7&Itemid=58 Special Edition]». Руководство по КСЗ. Часть 1».
+
В протоколе зафиксированы все факты отправки и приема сетевых пакетов, а также IP-адреса отправителя и получателя. Порядок настройки системы регистрации событий описан в разделе 10 документа «Операционная система специального назначения «[https://astralinux.ru/products/astra-linux-special-edition/ Astra Linux Special Edition]». Руководство по КСЗ. Часть 1».<br>
 
+
<br>
Существует известная проблема в версии 1.2, когда на клиентскую машину заходит пользователь под <big>уровнем 0</big>, то аудит событий перестает работать корректно. Для исправления на каждой клиентской машине, где будут заходить пользователи в файле <big>/etc/pam.d/common-session</big> добавить в конец строку:<br>
+
Существует известная проблема в версии 1.2: когда на клиентскую машину заходит пользователь под <b>уровнем 0</b>, аудит событий перестает работать корректно. Для исправления на каждой клиентской машине, где будут заходить пользователи, в файле <code>/etc/pam.d/common-session</code> неоьбходимо добавить в конец строку:<br>
 
+
 
<code>session optional pam_ald.so populate_krb5cc</code><br>
 
<code>session optional pam_ald.so populate_krb5cc</code><br>
 
+
Если на сервер должны заходить пользователи, то на нем так же следует внести эти изменения.<br>
Если на сервер должны заходить пользователи, то на нем так же внести эти изменения.
+
После этого желательно перезагрузить машины.<br>
После этого желательно перезагрузить машины.
+
  
 
[[Категория:Astra Linux]]
 
[[Категория:Astra Linux]]
 
[[Категория:Как сделать]]
 
[[Категория:Как сделать]]
 
[[Категория:Справка]]
 
[[Категория:Справка]]

Текущая версия на 19:41, 13 декабря 2018

Настройка аудита в Astra Linux

Все факты начала и окончания работы пользователя фиксируется в журнале /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.
Feb 19 13:15:38 ac-old login[3865]: pam_unix(login:session): session closed for user petrovich
Указанная запись содержит информацию о завершении сессии для пользователя с учетной записью petrovich.
Кроме того, информация о начале и завершении работы пользователя попадает в журнал подсистемы безопасности parsec: /var/log/parsec/user.mlog, доступный для просмотра при помощи утилиты userlog. В журнале регистрируются события с типами auth (вход), exit (выход).

Например:

ac-old:~# userlog
'Tue Feb 19 12:50:00 2013' '/bin/login' <26828,26778,0,2500,0> [s] exit("login","petrovich")
'Tue Feb 19 12:57:59 2013' '/usr/bin/fly-dm' <25927,3462,0,0,0> [s] exit("fly-dm","root")
'Tue Feb 19 13:14:52 2013' '/bin/login' <3796,3680,0,0,0> [s] auth("login","root")
'Tue Feb 19 13:15:33 2013' '/bin/login' <3865,3683,0,2500,0> [s] auth("login","petrovich")
'Tue Feb 19 13:15:39 2013' '/bin/login' <3865,3683,0,2500,0> [s] exit("login","petrovich")
'Tue Feb 19 13:19:53 2013' '/bin/login' <3992,3898,0,2500,0> [s] auth("login","petrovich")
'Tue Feb 19 13:20:13 2013' '/bin/login' <3992,3898,0,2500,0> [s] exit("login","petrovich")
'Tue Feb 19 13:20:23 2013' '/bin/login' <4070,4020,0,2500,0> [s] auth("login","petrovich")
'Tue Feb 19 13:20:31 2013' '/bin/login' <4070,4020,0,2500,0> [s] exit("login","petrovich")
'Tue Feb 19 13:27:48 2013' '/bin/login' <4212,4091,0,2500,0> [s] auth("login","petrovich")
'Tue Feb 19 13:27:54 2013' '/bin/login' <4212,4091,0,2500,0> [s] exit("login","petrovich")
'Tue Feb 19 13:33:51 2013' '/bin/login' <4327,4234,0,2500,0> [s] auth("login","petrovich")
'Tue Feb 19 13:33:55 2013' '/bin/login' <4327,4234,0,2500,0> [s] exit("login","petrovich")
'Tue Feb 19 13:39:49 2013' '/bin/login' <4440,4348,0,2500,0> [s] auth("login","petrovich")
'Tue Feb 19 13:39:53 2013' '/bin/login' <4440,4348,0,2500,0> [s] exit("login","petrovich")

Описание системы регистрации событий приведено в разделе 10 документа «Операционная система специального назначения «Astra Linux Special Edition». Руководство по КСЗ. Часть 1». Дополнительная информация приведена на страницах справочного руководства man для расширенной системы протоколирования, доступной по команде man parselog.
В операционной системе специального назначения «Astra Linux Special Edition» обеспечивается регистрация всех событий в соответствии с требованиями документа «Руководящий документ. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации» ФСТЭК России, предъявляемых к средствам вычислительной техники третьего класса защищенности.
Регистрация событий может быть проверена следующим образом:
устанавливаем для пользователя (доменного) все возможные флаги аудита:

Событие:

dc-old:~# ald-admin user-aud-get petrovich
Audit policy user:petrovich
Audit success rules: ocxudntligarmphew
nr f flag
-- - ----
0 o open
1 c create
2 x exec
3 u delete
4 d chmod
5 n chown
6 t mount
7 l module
8 i uid
9 g gid
10 a audit
11 r acl
12 m mac
13 p cap
14 h chroot
15 e rename
16 w net
Audit fail rules: ocxudntligarmphew
nr f flag
-- - ----
0 o open
1 c create
2 x exec
3 u delete
4 d chmod
5 n chown
6 t mount
7 l module
8 i uid
9 g gid
10 a audit
11 r acl
12 m mac
13 p cap
14 h chroot
15 e rename
16 w net

Очищаем журнал событий на ЭВМ:
ac-old:~# > /var/log/parsec/kernel.mlog
Выполняем вход в систему пользователем petrovich. Смотрим журнал событий командой kernlog с фильтрацией по имени пользователя petrovich:

Событие:

ac-old:~# kernlog | grep "petrovich*"
[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500> [f] open("/ald_home/petrovich/.bash_profile",O_RDONLY) = -2 ENOENT (Нет такого файла иликаталога)
[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500> [f] open("/ald_home/petrovich/.bash_login",O_RDONLY) = -2 ENOENT (Нет такого файла или каталога)
[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500> [f] open("/ald_home/petrovich/.profile",O_RDONLY) = -2 ENOENT (Нет такого файла или каталога)
[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500> [s] open("/ald_home/petrovich/.bash_history",O_RDONLY) = 3
[p] 'Tue Feb 19 13:39:49 2013' '/bin/bash' <4450,4440,2500,2500,2500> [s] open("/ald_home/petrovich/.bash_history",O_RDONLY) = 3
[p] 'Tue Feb 19 13:39:52 2013' '/bin/bash' <4450,4440,2500,2500,2500> [f] open("/ald_home/petrovich/.bash_logout",O_RDONLY) = -2 ENOENT (Нет такого файла или каталога)
[p] 'Tue Feb 19 13:39:52 2013' '/bin/bash' <4450,4440,2500,2500,2500> [s] open("/ald_home/petrovich/.bash_history",O_WRONLY | O_APPEND) = 3
[p] 'Tue Feb 19 13:39:52 2013' '/bin/bash' <4450,4440,2500,2500,2500> [s] open("/ald_home/petrovich/.bash_history",O_RDONLY) = 3
[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/ald_home/petrovich/mac/0/0") = 0
[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/ald_home/petrovich/mac") = 0
[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/ald_home/petrovich") = 0
[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/var/private/mac/petrovich/0/0") = 0
[p] 'Tue Feb 19 13:39:52 2013' '/bin/login' <4440,4348,0,2500,0> [s] umount("/var/private/mac/petrovich") = 0
[p] 'Tue Feb 19 13:39:52 2013' '/usr/sbin/pmvarrun' <4453,4440,0,2500,0> [s] create("/var/run/pam_mount/petrovich",O_RDWR | O_CREAT,-rw-------) = 7
[p] 'Tue Feb 19 13:39:52 2013' '/usr/sbin/pmvarrun' <4453,4440,0,2500,0> [s] chown("/var/run/pam_mount/petrovich",2500,0) = 0
[p] 'Tue Feb 19 13:39:53 2013' '/sbin/umount.cifs' <4455,4454,0,2500,0> [s] umount("/ald_home/petrovich") = 0

Имеется множество событий open (открытие файла), mount (монтирование и размонтирование), create (создание объекта), chown (изменение прав доступа пользователя).
В домашнем каталоге пользователя petrovich создаем каталог testdir и в нем файл testfile. Владелец файлов — сам пользователь:

Событие:

dc-old:~# ls -l /ald_export_home/petrovich/ | grep test
drwxr-x--- 2 petrovich petrovich 4096 Фев 19 13:50 testdir
dc-old:~# ls -l /ald_export_home/petrovich/testdir/
итого 4
-rwxr----- 1 petrovich petrovich 5 Фев 19 13:50 testfile

Устанавливаем на данные файлы флаги аудита:

Событие:

dc-old:/ald_export_home/petrovich# getfaud testdir/
# file: testdir
o:ouc:ouc
default:o:ouc:ouc
dc-old:/ald_export_home/petrovich# getfaud testdir/testfile
# file: testdir/testfile
o:ouc:ouc

После этого на ЭВМ пользователем petrovich удаляем testdir/testfile, создаем testdir/testfile2. На сервере в журнале /var/log/parsec/kern.mlog регистрируются события:

Событие:

чтение каталога:
[f] 'Tue Feb 19 14:07:23 2013' '/usr/sbin/smbd' <6514,3024,0,0,2500> [s] open("/ald_export_home/petrovich/testdir",NO_PERMS | O_NONBLOCK | O_DIRECTORY) = 0
удаление файла:
[f] 'Tue Feb 19 14:07:25 2013' '/usr/sbin/smbd' <6514,3024,0,0,2500> [s] unlink("/ald_export_home/petrovich/testdir/testfile (deleted)") = 0
создание файла:
[f] 'Tue Feb 19 14:07:34 2013' '/usr/sbin/smbd' <6514,3024,0,0,2500> [s] create("/ald_export_home/petrovich/testdir/testfile2",-rw-r-----) = 0
[f] 'Tue Feb 19 14:07:34 2013' '/usr/sbin/smbd' <6514,3024,0,0,2500> [s] open("/ald_export_home/petrovich/testdir/testfile2",O_RDONLY | O_CREAT | O_NOFOLLOW) = 0
удаленное копирование:
f] 'Tue Feb 19 14:12:15 2013' '/usr/bin/scp' <6609,6606,0,0,0> [s] create("/ald_export_home/petrovich/testdir/remote_cp",-rw-r--r--) = 0
[f] 'Tue Feb 19 14:12:15 2013' '/usr/bin/scp' <6609,6606,0,0,0> [s] open("/ald_export_home/petrovich/testdir/remote_cp",O_RDONLY | O_CREAT) = 0

При создании объектов внутри каталога, для которого отслеживаются соответствующие события (create), создание любых объектов в нём регистрируется. При установке на файл мандатного уровня/категории регистрируется событие chmac (изменение мандатных атрибутов).

Событие:

dc-old:/ald_export_home/petrovich# setfaud -s o:ocum:ocum testdir/testfile2
dc-old:/ald_export_home/petrovich# > /var/log/parsec/kernel.mlog
dc-old:/ald_export_home/petrovich# chmac 1:0 testdir/testfile2
dc-old:/ald_export_home/petrovich# kernlog
[f] 'Tue Feb 19 14:24:55 2013' '/bin/bash' <5891,5887,0,0,0> [s] open("/ald_export_home/petrovich/testdir",NO_PERMS | O_NONBLOCK | O_DIRECTORY) = 0
[f] 'Tue Feb 19 14:24:56 2013' '/usr/sbin/chmac' <6914,5891,0,0,0> [s] parsec_chmac("/ald_export_home/petrovich/testdir/testfile2",{1,0x0},0) = 0

Регистрация событий передачи по линиям и каналам связи является требованием документа ФСТЭК России «Руководящий документ. Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации» и должна обеспечиваться конструктором АС.
При этом операционная система специального назначения «Astra Linux Special Edition» предоставляет возможность регистрации подобного класса событий. Далее приведен протокол работы пользователя при обмене по сети с использованием утилиты ping.

Событие:

[p] 'Fri Feb 22 12:57:29 2013' '/bin/bash' <6798,6795,2500,2500,0> [s] exec("/bin/ping") = 0
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,0> [s] open("/etc/ld.so.cache",O_RDONLY) = 3
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,0> [s] open("/lib/libresolv.so.2",O_RDONLY) = 3
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,0> [s] open("/lib/libc.so.6",O_RDONLY) = 3
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,0> [s] setuid(2500) = 0
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/resolv.conf",O_RDONLY) = 4
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/resolv.conf",O_RDONLY) = 4
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] connect(SOCK_STREAM,{AF_UNIX,...},{AF_UNIX,/var/run/nscd/socket}) = 0
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] connect(SOCK_STREAM,{AF_UNIX,...},{AF_UNIX,/var/run/nscd/socket}) = 0
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/nsswitch.conf",O_RDONLY) = 4
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/ld.so.cache",O_RDONLY) = 4
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/lib/libnss_files.so.2",O_RDONLY) = 4</
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/host.conf",O_RDONLY) = 4
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/hosts",O_RDONLY) = 4
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/ld.so.cache",O_RDONLY) = 4
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/lib/libnss_dns.so.2",O_RDONLY) = 4
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] connect(SOCK_DGRAM,{AF_INET,10.0.0.106:41209},{AF_INET,10.0.0.1:53}) = 0
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] sendmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:41209},{AF_INET,10.0.0.1:53}) = 29
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] recvmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:41209},{AF_INET,10.0.0.1:53}) = 78
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] connect(SOCK_DGRAM,{AF_INET,10.0.0.106:48650},{AF_INET,10.0.0.1:1025}) = 0
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] sendmsg(SOCK_RAW,{AF_INET,0.0.0.0:1},{AF_INET,10.0.0.1:0}) = 64
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] recvmsg(SOCK_RAW,{AF_INET,0.0.0.0:1},{AF_INET,10.0.0.1:0}) = 84
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/hosts",O_RDONLY) = 4
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] connect(SOCK_DGRAM,{AF_INET,10.0.0.106:44260},{AF_INET,10.0.0.1:53}) = 0
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] sendmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:44260},{AF_INET,10.0.0.1:53}) = 39
[p] 'Fri Feb 22 12:57:29 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] recvmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:44260},{AF_INET,10.0.0.1:53}) = 96
[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] sendmsg(SOCK_RAW,{AF_INET,0.0.0.0:1},{AF_INET,10.0.0.1:0}) = 64
[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] recvmsg(SOCK_RAW,{AF_INET,0.0.0.0:1},{AF_INET,10.0.0.1:0}) = 84
[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] open("/etc/hosts",O_RDONLY) = 4
[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] connect(SOCK_DGRAM,{AF_INET,10.0.0.106:53774},{AF_INET,10.0.0.1:53}) = 0
[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] sendmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:53774},{AF_INET,10.0.0.1:53}) = 39
[p] 'Fri Feb 22 12:57:30 2013' '/bin/ping' <6798,6795,2500,2500,2500> [s] recvmsg(SOCK_DGRAM,{AF_INET,10.0.0.106:53774},{AF_INET,10.0.0.1:53}) = 96

В протоколе зафиксированы все факты отправки и приема сетевых пакетов, а также IP-адреса отправителя и получателя. Порядок настройки системы регистрации событий описан в разделе 10 документа «Операционная система специального назначения «Astra Linux Special Edition». Руководство по КСЗ. Часть 1».

Существует известная проблема в версии 1.2: когда на клиентскую машину заходит пользователь под уровнем 0, аудит событий перестает работать корректно. Для исправления на каждой клиентской машине, где будут заходить пользователи, в файле /etc/pam.d/common-session неоьбходимо добавить в конец строку:
session optional pam_ald.so populate_krb5cc
Если на сервер должны заходить пользователи, то на нем так же следует внести эти изменения.
После этого желательно перезагрузить машины.