Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Все факты начала и окончания работы пользователя фиксируется в журнале /var/log/auth.log на клиентской машине. Например:

панель
borderColor#c2e6ff
bgColor#e2f3ff
title/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».

панель
borderColor#c2e6ff
bgColor#e2f3ff
title/var/log/auth.log
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»  (выход).

Например:

панель
borderColor#c2e6ff
bgColor#e2f3ff
titleac-old:~# userlog

[u] 'Tue Feb 19 12:50:00 2013' '/bin/login' <26828,26778,0,2500,0>[s] exit("login","petrovich")

[u] 'Tue Feb 19 12:57:59 2013' '/usr/bin/fly-dm' <25927,3462,0,0,0> [s] exit("fly-dm","root")

[u] 'Tue Feb 19 13:14:52 2013' '/bin/login' <3796,3680,0,0,0> [s] auth("login","root")

[u] 'Tue Feb 19 13:15:33 2013' '/bin/login' <3865,3683,0,2500,0> [s] auth("login","petrovich")

[u] 'Tue Feb 19 13:15:39 2013' '/bin/login' <3865,3683,0,2500,0> [s] exit("login","petrovich")

[u] 'Tue Feb 19 13:19:53 2013' '/bin/login' <3992,3898,0,2500,0> [s] auth("login","petrovich")

[u] 'Tue Feb 19 13:20:13 2013' '/bin/login' <3992,3898,0,2500,0> [s] exit("login","petrovich")

[u] 'Tue Feb 19 13:20:23 2013' '/bin/login' <4070,4020,0,2500,0> [s] auth("login","petrovich")

[u] 'Tue Feb 19 13:20:31 2013' '/bin/login' <4070,4020,0,2500,0> [s] exit("login","petrovich")

[u] 'Tue Feb 19 13:27:48 2013' '/bin/login' <4212,4091,0,2500,0> [s] auth("login","petrovich")

[u] 'Tue Feb 19 13:27:54 2013' '/bin/login' <4212,4091,0,2500,0> [s] exit("login","petrovich")

[u] 'Tue Feb 19 13:33:51 2013' '/bin/login' <4327,4234,0,2500,0> [s] auth("login","petrovich")

[u] 'Tue Feb 19 13:33:55 2013' '/bin/login' <4327,4234,0,2500,0> [s] exit("login","petrovich")

[u] 'Tue Feb 19 13:39:49 2013' '/bin/login' <4440,4348,0,2500,0> [s] auth("login","petrovich")

[u] '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» обеспечивается регистрация всех событий в соответствии с требованиями документа «Руководящий документ. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации» ФСТЭК России, предъявляемых к средствам вычислительной техники третьего класса защищенности. Регистрация событий может быть проверена следующим образом: устанавливаем для пользователя (доменного) все возможные флаги аудита:

панель
borderColor#c2e6ff
bgColor#e2f3ff
borderStyledashed
titleac-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

Очищаем журнал событий на ЭВМ:

панель
borderColor#c6c6c6
bgColor#e8e8e8
 > /var/log/parsec/kernel.mlog

Выполняем вход в систему пользователем «petrovich». Смотрим журнал событий командой kernlog с фильтрацией по имени пользователя «petrovich»:

панель
borderColor#c2e6ff
bgColor#e2f3ff
titleac-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». Владелец файлов — сам пользователь:

панель
borderColor#c2e6ff
bgColor#e2f3ff
titledc-old:~# ls -l /ald_export_home/petrovich/ | grep test

drwxr-x--- 2 petrovich petrovich 4096 Фев 19 13:50 testdir

панель
borderColor#c2e6ff
bgColor#e2f3ff
titledc-old:~# ls -l /ald_export_home/petrovich/testdir/

итого 4

-rwxr----- 1 petrovich petrovich 5 Фев 19 13:50 testfile

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

панель
borderColor#c2e6ff
bgColor#e2f3ff
titledc-old:/ald_export_home/petrovich# getfaud testdir/

# file: testdir

o:ouc:ouc

default:o:ouc:ouc

панель
borderColor#c2e6ff
bgColor#e2f3ff
titledc-old:/ald_export_home/petrovich# getfaud testdir/testfile

# file: testdir/testfile

o:ouc:ouc

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

панель
borderColor#c2e6ff
bgColor#e2f3ff
title kernlog

чтение каталога:

[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» (изменение мандатных атрибутов).

панель
borderColor#c6c6c6
bgColor#e8e8e8

setfaud -s o:ocum:ocum testdir/testfile2

> /var/log/parsec/kernel.mlog

chmac 1:0 testdir/testfile2

панель
borderColor#c2e6ff
bgColor#e2f3ff
titledc-old:~# 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.

панель
borderColor#c2e6ff
bgColor#e2f3ff

[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 добавить в конец строку:


Информация
iconfalse
session optional pam_ald.so populate_krb5cc


Если на сервер должны заходить пользователи, то на нем так же внести эти изменения. После этого желательно перезагрузить машины.