Использование аудита для отслеживания чтения и записи файлов

В статье объясняется, как можно контролировать некоторые события в AIX с помощью аудита, одной из главных функций безопасности в AIX, и как использовать аудит для контроля за операциями чтения и записи в файл. Также используются команды ls и istat для проверки временной метки файла.

Ашиш Найнвал, системный администратор, IBM

Ашиш Найнвал — специалист технической поддержки AIX по вопросам безопасности и системный администратор в IBM India Systems and Technology Lab. Два последних года он был одной из ключевых фигур в системе безопасности AIX. Ашиш также много занимался администрированием System p™ и имеет разнообразный опыт общения с клиентами. Связаться с ним можно по адресу anainwal@in.ibm.com.



30.06.2010

Введение

AIX® предоставляет простые способы проконтролировать время последнего доступа к файлу. Пример — команда ls. Но иногда нужно знать, кто (или какой процесс) получал доступ к файлу. Такая информация может понадобиться для отладки или контролирования важных файлов. Отслеживать сведения, связанные с операциями чтения и записи для файла, возможно с помощью аудита.

В AIX системы аудита предназначены для записи сведений, связанных с безопасностью и для предупреждения администраторов о дырах в безопасности. Вы можете настроить конфигурацию и файлы данных об объекте, которые используются подсистемой аудита, для контроля за любым интересующим вас файлом. Также можно использовать одну из возможностей аудита, а именно мониторинг в режиме реального времени, для отслеживания определённых процессов и файлов, которые произвольно изменяются неопознанными процессами.

Контроль

Всё, что нужно для контроля файлов — это обычная система AIX с правами администратора (root). Для команды audit разрешён доступ на исполнение для администратора (root) и пользователей группы audit. Пользователи должны входить в группу audit, чтобы иметь разрешение выполнять аудит в системе.

Обобщённая последовательность шагов для контролирования файлов:

  1. Настройка подсистемы аудита
  2. Вывод мониторинга

Настройка подсистемы аудита

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

В этом сценарии мы следим за файлом /home/test.txt. Чтобы настроить подсистему аудита, выполним следующие операции:

  1. В файле /etc/security/audit/objects создадим запись для /home/test.txt, используя следующий формат:
    /home/test.txt:
    	r = "S_NOTAUTH_READ"
    	w = "S_NOTAUTH_WRITE"

    S_NOTAUTH_READ и S_NOTAUTH_WRITE— это ключевые слова для контроля чтения и записи соответственно. Эти ключевые слова могут быть заменены любым другим ключевым словом, в зависимости от ваших требований.

    Также возможен контроль более чем одного файла с помощью того же ключевого слова, с помощью индивидуальных записей в файле /etc/security/audit/objects для каждого файла, который вы хотите контролировать, в таком же формате.

  2. В файле /etc/security/audit/config сделаем следующую запись в подсекции классов:
    classes:
    	abusers = S_NOTAUTH_READ, S_NOTAUTH_WRITE
  3. В файле /etc/security/audit/config добавим записи для всех пользователей:
    users:
    	root = general, abusers
    	user1=abusers
    	user2=abusers
    	.
    	.
    	.
    	userN=abusers

    Этот набор записей в файле гарантирует, что любая операция чтения или записи, применённая к файлу /home/test.txt любым пользователем из этого списка, будет проконтролирована и зафиксирована подсистемой аудита. Если запись для пользователя уже существует, то можно добавить запись для abusers, отделив ее от предыдущей с помощью запятой.

  4. 1.Аудит обеспечивает мониторинг данных в двух режимах:
    • Режим BIN: пишет события аудита в два периодически изменяющихся временных файла BIN и затем дописывает их в один файл контрольного журнала аудита.
    • Режим STREAM: пишет записи аудита в кольцевой буфер, который может быть прочитан файлом устройства /dev/audit.

    В нашем сценарии нет значительной разницы между двумя режимами, за исключением формата вывода. Для сбора данных возможно включить любой или сразу оба режима. Режимы могут быть включены и выключены изменением соответствующих записей в файле etc/security/audit/config. Пример ниже включает режим STREAM.

    start:
            bin mode = off
            stream mode = on

Указанные выше шаги гарантируют, что файл /home/test.txt состоит под наблюдением подсистемы аудита.

Мониторинг вывода

Чтобы производить мониторинг вывода, сначала запускаем подсистему аудита, выполнив команду:

# audit start

Сбор данных в режиме STREAM

Так как сбор данных включен в режиме STREAM, то можно начать сбор данных, выполнив команду:

# cat /etc/security/audit/streamcmds

Эта команда обеспечивает следующую информацию:

/usr/sbin/auditstream | auditpr > /audit/stream.out &

Результаты аудита записываются в файл /audit/stream.out, который может наблюдаться в реальном времени для контролирования операций чтения и записи.

Типичный вывод выглядит так, как показано в листинге 1.

Листинг 1. Файл вывода — сбор данных в режиме STREAM
# tail -f /audit/stream.out

event           	login    status       time     command
--------------- 	-------- -------- 	   --------- 	     ---------
S_NOTAUTH_READ  	root     OK          Thu May 24 14:07:05 2007 	cat
S_NOTAUTH_READ  	root     OK          Thu May 24 14:07:05 2007 	cat
FILE_Unlink    	root     OK          Thu May 24 14:07:09 2007		vi
S_NOTAUTH_READ  	root     OK          Thu May 24 14:07:09 2007 	vi
S_NOTAUTH_READ  	root     OK          Thu May 24 14:07:09 2007 	vi
S_NOTAUTH_READ  	root     OK          Thu May 24 14:07:09 2007 	vi
S_NOTAUTH_WRITE 	root     OK          Thu May 24 14:07:13 2007 	vi
FILE_Unlink     	root     OK          Thu May 24 14:07:13 2007 	vi
FILE_Unlink    	root     OK          Thu May 24 14:07:20 2007 	vi
S_NOTAUTH_READ  	ash      OK          Thu May 24 14:09:39 2007 	cat
S_NOTAUTH_READ  	ash      OK          Thu May 24 14:09:39 2007 	cat

Интерпретация выходного файла простая. Например, следующая строка

S_NOTAUTH_WRITE 	root     OK          Thu May 24 14:07:13 2007 	vi

показывает, что операция записи в файл была осуществлена администратором (root) во вторник 24 мая 2007 года в 14:07:13.

Сбор данных в режиме BIN

Если включен сбор данных в режиме BIN, то можно начать сбор данных, выполнив следующую команду:

# /usr/sbin/auditpr -v < /audit/trail > /audit.out

Эта команда записывает результаты аудита в файл /audit.out, который также может наблюдаться в реальном времени.

Типичный вывод выглядит так, как показано в листинге 2.

Листинг 2. Файл вывода — сбор данных в двоичном режиме
# vi /audit.out
"/audit.out" 30 lines, 2012 characters
event           login    status        time                        command
--------       -------- -----------   -------------              --------------
S_NOTAUTH_READ   root      OK          Thu May 24 15:07:27 2007   cat
        <tail format undefined>
S_NOTAUTH_READ   root      OK          Thu May 24 15:07:27 2007   cat
        <tail format undefined>
FILE_Unlink      root      OK          Thu May 24 15:07:32 2007    vi
        filename /var/tmp/Ex21778
S_NOTAUTH_READ  root      OK          Thu May 24 15:07:32 2007	    vi
        <tail format undefined>
S_NOTAUTH_READ   root     OK          Thu May 24 15:07:32 2007	    vi
        <tail format undefined>
S_NOTAUTH_READ  root     OK           Thu May 24 15:07:32 2007     vi
        <tail format undefined>
S_NOTAUTH_WRITE root     OK           Thu May 24 15:07:37 2007     vi
        <ail format undefined>
FILE_Unlink     root     OK           Thu May 24 15:07:37 2007	    vi

Мы можем наблюдать за файлами вывода и следить за операциями чтения и записи в наших файлах.

Ресурсы

  • Примите участие в обсуждении материала на форуме.
  • IBM Redbooks: прочитайте документ "Отчётность и аудит в AIX 5L" и узнайте, как настроить, обслуживать и диагностировать продвинутые функции для ведения аудита и отчётности в системах AIX 5L™.
  • Оригинал статьи Use auditing to track reads and writes in a file.(EN)
  • AIX и UNIX:(EN) зона разработчиков AIX и UNIX (developerWorks) предоставляет море информации о всех аспектах администрирования AIX-систем и расширяет горизонты ваших знаний о UNIX.
  • New to AIX and UNIX?: посетите страничку «New to AIX and UNIX» чтобы узнать больше о AIX и UNIX.
  • AIX Wiki: откройте для себя среду сотрудничества для обмена технической информацией по AIX.
  • developerWorks technical events and webcasts: будьте в курсе текущих технических событий и онлайн-конференций developerWorks.
  • Podcasts: настройтесь и идите в ногу с техническими экспертами IBM.(EN)

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=AIX и UNIX
ArticleID=498662
ArticleTitle=Использование аудита для отслеживания чтения и записи файлов
publish-date=06302010