Управляем удаленными базами AIDE. Часть II – AIDEstart::Журнал СА 9.2005
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6144
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6857
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4140
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2978
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3781
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3789
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6283
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3134
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3434
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7246
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10616
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12336
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13969
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9100
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7053
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5362
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4594
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3402
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3129
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3379
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3000
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Управляем удаленными базами AIDE. Часть II – AIDEstart

Архив номеров / 2005 / Выпуск №9 (34) / Управляем удаленными базами AIDE. Часть II – AIDEstart

Рубрика: Безопасность /  Механизмы защиты   | Дополнительные материалы

РАШИД АЧИЛОВ

Управляем удаленными базами AIDE

Часть II – AIDEstart

Никто его не ждет, хотя постоянно готовится к нему. И вот он наступает – день, когда сервер взламывается и необходимо проверить, какие файлы подверглись изменениям. Заветная флэшка с данными контрольных сумм достается из сейфа. Как ей воспользоваться на взломанной машине, чтобы максимально обезопасить себя от фальсификации результата?

А зачем отдельный скрипт запуска?

Конечно, наилучшим решением была бы загрузка с LiveCD/Flash/другой системы, монтирование дисков сервера вручную и проверка их в полностью доверенной системе. Но неприятности тем и неприятны, что приходят как раз в тот момент, когда такая система, если она есть, неисправна, незакончена или просто физически отсутствует. Поэтому для запуска проверки непосредственно на недостоверной машине будет использовать AIDEStart.

AIDEstart – второй скрипт, предназначенный для управления удаленными базами AIDE. Его назначение – использовать сохраненные базы для проверки системы. При этом предполагается, что проверяемая машина недоверенная, то есть может содержать поврежденные и/или зараженные файлы. Поэтому дополнительно ко всему прочему AIDEstart минимально использует ее средства, говоря точнее, используется только ядро системы (/boot/kernel). Все остальные средства находятся на съемном носителе, предназначенном для хранения последнего поколения баз AIDE.

Дополнительно к последнему поколению носитель содержит полный комплект исполняемых файлов для выполнения проверки и всех вспомогательных операций: chown, chmod, ln и т. д. Все они сделаны статически собранными для того, чтобы исключить взаимодействие с libc.so. AIDEstart выполняет обычный комплект операций – инициализация базы, проверка, обновление базы. Если база обновлялась, то полученную обновленную базу необходимо перенести на Flash вручную, для чего предусмотрена опция командной строки «не размонтировать Flash по окончании работы».

Полный текст скрипта смотрите на сайте www.samag.ru, в разделе «Исходный код»). Он снабжен достаточно подробными комментариями, а наиболее важные и интересные моменты мы обсудим далее по ходу статьи.

Готовим носитель для AIDEStart

Для того чтобы Flash, содержащий базы, предварительно заполненный с помощью AIDEcontrol, можно было использовать c AIDEstart, его необходимо предварительно подготовить. Эти действия не выполняются AIDEControl, поскольку заранее неизвестно, будет ли использоваться AIDEStart для проверки или нет. Все действия по подготовке Flash необходимо проводить на доверенной машине, поскольку именно этот комплект исполняемых файлов будет считаться эталоном при запуске на недостоверной машине. Flash, заполненный с помощью AIDEControl, содержит каталоги с именами, совпадающими с именами машин в файле описания узлов. Дополнительно необходимо вручную создать каталоги bin и bin5, в которые поместить соответственно статически собранные для FreeBSD 4.x и для FreeBSD 5.x исполняемые файлы: Bzip2, AIDE, camcontrol, chown, chmod, cp, mv, less, rm, umount, а также собственно aidecontrol, aidestart и конфигурационный файл aidecontrol.conf.

Для того чтобы собрать все перечисленные выше исполняемые файлы, статически ищем их в дереве исходных текстов системы (или портов для AIDE), и добавляем в Makefile строчку:

LDADD += -static

после чего запускаем make. После завершения работы make в каталоге будет находится исполняемый файл, собранный статически, в чем можно убедиться таким образом:

# ldd chmod

ldd: chmod: not a dynamic executable

Местоположение нужных нам файлов:

  • /usr/src/bin/chmod
  • /usr/src/bin/cp
  • /usr/src/bin/mv
  • /usr/src/bin/rm
  • /usr/src/sbin/camcontrol
  • /usr/src/sbin/umount
  • /usr/src/usr.bin/bzip2
  • /usr/src/usr.bin/less
  • /usr/src/usr.sbin/chown

Опции командной строки и примеры запуска

Перед началом проверки нам нужно переписать конфигурационный файл aidecontrol.conf на его обычное место – /usr/local/etc/aidecontrol.conf. Это обычный текстовый файл, за него нечего бояться. Файл можно и не копировать, но тогда придется каждый раз указывать место его размещения.

AIDEStart распознает следующие опции командной строки:

  • -h – краткая справка по опциям (без примеров).
  • -i – инициализировать базы AIDE (выполняется команда aide init).
  • -c – проверить систему по последней базе (выполняется команда aide --check).
  • -u – обновить последнюю базу данных (выполняется команда aide --update).
  • -m – сравнить базы данных (выполняется команда aide compare).
  • -f – указывает имя и путь к конфигурационному файлу (по умолчанию /usr/local/etc/aidecontrol.conf).
  • -n – не размонтировать Flash после окончания работы. Эта опция предназначена для команд, изменяющих базу. AIDEStart сам не копирует созданную/обновленную базу с компьютера на Flash, и это сделано намеренно. Вы сами должны решить, стоит ли заменять последнюю копию базы на Flash, на новую или нет.
  • -5 – скрипт запускается на FreeBSD 5.x (по умолчанию предполагается 4.x).

Таким образом:

# aidestart -i

инициализирует базу по умолчанию (/var/db/aide/aide.db, если в конфигурационном файле не указано иное).

# aidestart -u -n

проверит систему по последней базе с ее одновременным обновлением, выведет отчет с помощью less и переименует «новую» базу (aide.db.new) в «старую» (aide.db). После выполнения этой операции Flash не будет размонтирована для возможной перезаписи «старой» базы.

# aidestart -m -f /tmp/blabla.conf -5

сравнит «старую» базу, загруженную с Flash, и «новую» (aide.db.new), созданную, возможно, в другое время, используя конфигурационный файл /tmp/blabla.conf и учитывая то, что запускаться скрипт будет на FreeBSD 5.x.

Загрузка базы AIDE для проверки

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

loadbase()

{

  $aidepath/rm -f $adbnam

  $aidepath/cp $aidebase/$adbnam.bz2 $adbnam.bz2

  $aidepath/chown $abowner:$abgroup $adbnam.bz2

  $aidepath/chmod $abmode $adbnam.bz2

  $aidepath/bzip2 -d -q $adbnam.bz2

}

Выполнение операции

Перед тем как скопировать базу с Flash-диска, скрипт проверяет параметр starthost из конфигурационного файла – его значение должно быть установлено равным тому имени, что было задано для данного компьютера в файле описания узлов, использованного в AIDEcontrol. Если значение параметра не изменено (а по умолчанию оно равно «SETHERE--»), скрипт прекращает работу.

Затем скрипт пытается смонтировать Flash с последним поколением баз. Для этого должны быть выполнены все необходимые настройки, описанные в [1]. Если все сделано правильно, Flash должен монтироваться сразу же после установки. Это очень просто проверить – достаточно вставить Flash, и он должен смонтироваться в точку /mnt/umass (или любую другую, заданную в /etc/fstab). Так же, как и в AIDEStart, монтирование происходит в бесконечном цикле ожидания – пока нужное устройство не найдено среди смонтированных, можно будет увидеть только запрос на установку Flash.

После успешного монтирования Flash выполняется запрошенная операция. Для операции инициализации базы загрузка с Flash не производится, иначе последняя база загружается с Flash в стандартное расположение и выполняется соответствующая операция. После выполнения операции можно просмотреть отчет (он отображается автоматически с помощью less), после чего «новая» база будет переименована в «старую» (для init или update), у нее будет изменен владелец и права доступа на указанные в конфигурационном файле.

Последнее, что сделает скрипт, – это размонтирует Flash, если не задан ключ, запрещающий это. Перед тем как размонтировать, в /tmp будут сброшены исполняемые файлы umount и camcontrol, потому что Flash будет недоступна, а пользоваться недоверенными исполняемыми файлами нельзя. Сброшенные umount и camcontrol размонтируют Flash и остановят устройство (скрипт анализирует список устройств и выбирает то, которое было на нужной нам точке монтирования). Остановка устройства нужна главным образом для того, чтобы погасить индикатор готовности на Flash, хотя это работает не на всех устройствах. После чего и собственно umount и camcontrol будут тоже удалены.

Возможные ошибки

Наиболее сложной частью здесь является настройка USB для того, чтобы монтирование Flash происходило автоматически. Об этом подробно рассказано в [1].

Если монтирование Flash проходит успешно, то ошибиться практически негде. Единственная возможность – указать неверные пути в aidecontrol.conf. Пожалуйста, проверьте правильность написания, существования и наличия прав на данные каталоги (Кто сказал, что root может все? Попробуйте-ка удалить каталог с атрибутом schg при kern.securelevel=2 и выше).

Заключение

Так все-таки можно обойтись без данного скрипта или нет? Конечно, можно, если все выполняемые здесь операции делать руками, помнить правильную последовательность и не ошибаться в ней. Данный скрипт – всего лишь «малая механизация» для того, чтобы освободить свою память для решения более важных задач. Ну и, разумеется, не следует оставлять Flash с базами где попало, в том числе и в рабочем столе. Например, я постоянно ношу ее при себе.

Литература:

  1. Ачилов Р. Управляем удаленными базами AIDE. – Журнал «Системный администратор», №8, август 2005 г. – 48-53 с (http://www.samag.ru/cgi-bin/go.pl?q=articles;n=08.2005;a=05).

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru