Установка Aide на VPS
General, Linux, VPS | Комментировать запись
Вступление
Системные администраторы отвечают за установку и настройку программного обеспечения для поддержки сайтов. К сожалению, каждый доступный в интернете сайт является потенциальной мишенью для злоумышленников и хакеров, готовых потратить уйму времени на поиски уязвимостей системы с целью получить доступ к серверу. Чаще всего взломанный сервер используется для проведения атак на другие серверы; впоследствии IP пострадавшего сервера расценивается как источник нападения на другие (вероятно, более защищенные) системы.
К счастью, на сегодняшний день существует множество методик и инструментов безопасности, которые помогают отследить и определить все изменения на сервере. Один из наиболее популярных инструментов мониторинга систем Unix и Linux – Advanced Intrusion Detection Environment (или AIDE), созданный в 1999 году. Данное руководство описывает установку, настройку и основы работы с AIDE.
Основы безопасности сервера
Серверы на основе систем Unix и Linux являются надежной основой для установки, настройки и запуска программного обеспечения для поддержки сайтов. Отраслевые стандарты (как IEEE 828 и itSMF ITIL v3) дают представление о нормах сохранения и поддержки исходных данных и показателей системы и ее приложений, что очень важно для обеспечения безопасности сервера.
Данные стандарты настоятельно рекомендуется использовать различным финансовым службам и организациям, а именно крупным банкам, торговым фирмам и биржам.
В целом, каждый системный администратор, желающий обезопасить свой сервер, может обратиться к данным стандартам и создать надежную основу для сайта с помощью лучших методик DevOps. Запомните: запуская новый сервер Linux или Unix, начните с установки инструментов Aide или Tripwire.
1: Установите Aide с помощью yum
Первое, что нужно сделать – это запустить команду yum install aide, которая определит зависимости и выяснит, можно ли установить Aide.
[root@myserver ~]# yum install aide
Подтвердите данное действие, введя Y, чтобы продолжить установку:
Is this ok [y/N]: y
2: Запустите aide help и проверьте версию Aide
После завершения установки запустите aide –help, как показано ниже:
[root@myserver ~]# aide --help
Затем проверьте запущенную версию Aide. Запишите расположение файла /etc/aide.conf.
[root@myserver ~]# aide -v
Aide 0.13.1
Compiled with the following options:
WITH_MMAP
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_LSTAT64
WITH_READDIR64
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE "/etc/aide.conf"
Убедившись, что установка Aide была успешной, создайте первую базу данных.
3: Инициализируйте базу данных Aide
Чтобы инициализировать базу данных, запустите команду aide init, как показано ниже:
[root@myserver ~]# aide --init
Убедитесь, что база данных была создана:
[root@myserver ~]# cd /var/lib/aide
[root@myserver aide]# ls -lt
total 1488
-rw------- 1 root root 1520639 Dec 8 16:57 aide.db.new.gz
Исходную базу данных под названием aide.db.new.gz нужно переименовать в aide.db.gz во избежание ошибок.
4: Переименуйте БД с помощью команды mv
[root@myserver aide]# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
[root@myserver aide]# ls -lt
total 1488
-rw------- 1 root root 1520639 Dec 8 16:57 aide.db.gz
5: Не внося никаких изменений, запустите aide –check
[root@myserver aide]# aide --check
Затем нужно создать тестовый каталог /usr/sbin, чтобы убедиться, что Aide отслеживает изменения и сообщает о них.
6: Создайте тестовый файл
Теперь нужно использовать команду touch, которая создаст файл, необходимый для тестирования Aide (новый файл должен быть обнаружен во время проверки Aide)
[root@myserver aide]# touch /usr/sbin/mytestfile.txt
7: Запустите проверку Aide
[root@myserver aide]# aide --check
Просмотрев изменения, обнаруженные проверкой Aide, не стоит просить Aide выводить их снова, поскольку со временем отчеты об изменениях могут стать очень длинными. Более практично обновлять базу данных Aide после каждого просмотренного отчета, чтобы во время новой проверки уже известные изменения не выводились снова.
8: Создайте базу данных Aide для хранения предыдущих изменений
Теперь необходимо создать обновленную базу данных, хранящую ранее внесенные (и уже просмотренные) изменения, которые нужно игнорировать.
[root@myserver aide]# aide --update
Итак, новая база данных называется aide.db.new.gz:
[root@myserver aide]# ls -lt
total 2976
-rw------- 1 root root 1520708 Dec 8 17:13 aide.db.new.gz
-rw------- 1 root root 1520639 Dec 8 16:57 aide.db.gz
Теперь необходимо снова переименовать БД, чтобы aide использовал новую версию базы данных и сообщал только об изменениях, которые происходят с указанного в ней момента.
9: Используйте обновленную базу данных Aide
Рекомендуется хранить старую версию базы данных Aide (для этого ее нужно переименовать), чтобы иметь возможность при необходимости отследить все изменения системы. В конце концов, старые версии баз данных можно архивировать и удалять. Кроме того, необходимо использовать команду mv, чтобы переименовать новую базу данных Aide.
`[root@myserver aide]# mv aide.db.gz aide.db.gz-Dec082013`
`[root@myserver aide]# mv aide.db.new.gz aide.db.gz`
Эти процедуры очень просты, но со временем они могут стать весьма трудоемкими. Потому для обновления базы данных, а также для автоматического запуска проверок и отчетов aide необходимо написать скрипт.
10: Автоматизируйте работу Aide с помощью cron и sendmail
Используйте crontab, чтобы aide –check ежедневно запускалась и отправляла отчеты автоматически. Благодаря этому использование Aide станет намного продуктивнее.
`06 01 * * 0-6 /var/log/aide/chkaide.sh`
Вот простой пример скрипта, который можно запустить с помощью crontab, чтобы автоматизировать aide check и получать по почте последние 20 строк отчета (чего обычно вполне достаточно).
[root@myserver ~]# cat /var/log/aide/chaide.sh
#! /bin/sh
#chkaide.sh - Bob Aiello
MYDATE`date +%Y-%m-%d`
MYFILENAME"Aide-"$MYDATE.txt
/bin/echo "Aide check !! `date`" > /tmp/$MYFILENAME
/usr/sbin/aide --check > /tmp/myAide.txt
/bin/cat /tmp/myAide.txt|/bin/grep -v failed >> /tmp/$MYFILENAME
/bin/echo "**************************************" >> /tmp/$MYFILENAME
/usr/bin/tail -20 /tmp/myAide.txt >> /tmp/$MYFILENAME
/bin/echo "****************DONE******************" >> /tmp/$MYFILENAME
/bin/mail -s"$MYFILENAME `date`" bob.aiello@ieee.org < /tmp/$MYFILENAME
Заключительные действия
Кроме того, можно отредактировать файл /etc/aide.conf, чтобы использовать продвинутые настройки (как, например, включение в проверку или исключение из нее отдельных каталогов). Поскольку данный файл по умолчанию содержит наиболее общие настройки, редактировать его не обязательно.
Итоги
Вопросы защиты веб-сайтов и VPS требуют комплексного подхода к информационной безопасности, в том числе и отслеживания изменений исходных данных системы и приложений. Использование Aide – отличное начало; данный инструмент поможет не только отслеживать изменения состояния системы, но и определять несанкционированные изменения, внесенные по ошибке или с целью взломать сервер.
Tags: Advanced Intrusion Detection Environment, Aide, cron, Linux, sendmail, Unix, VPS