Установка PSAD на Ubuntu 12.04 LTS server
Простая пошаговая инструкция:
- Установка PSAD (Port Scan Attack Detector) на Ubuntu 12.04 LTS server и позже.
- psad - это три небольших сервиса, запускаемые на Linux машинах и анализирующие журнал iptables(или UFW) на предмет сканирования портов и подозрительного трафика.
- Начиная с версии 2.2 полностью поддерживается протокол IPv6.
Требования: Протестировано на Ubuntu 12.04 LTS server. Должно работать на большинстве Ubuntu/Debian основанных дистрибутивах.
Скачать и установить последнюю версию PSAD.
Скачайте с сайта CipherDyne PSAD последнюю версию source tar archive (на момент написания это версия 2.2.1). В командной строке выполните:
sudo su
mkdir /tmp/.psad
cd /tmp/.psad
wget http://www.cipherdyne.org/psad/download/psad-2.2.1.tar.gz
tar -zxvf psad-2.2.1.tar.gz
cd psad-2.2.1
./install.pl
cd /tmp
rm -R .psad
exit
Настройка PSAD.
В коммандной строке выполните:
vi /etc/psad/psad.conf
EMAIL_ADDRESSES - укажите ваш email адрес или несколько адресов через запятую. Для отправки почты должен быть установлен пакет mailutils с Internet mailКурсивное начертание.
HOSTNAME - устанавливается во время инсталяции - проверьте, так как нужен правильный FQDN.
ENABLE_AUTO_IDS - установите Y, если хотите, что бы при обнаружении угрозы PSAD блокировал IP адрес. По умолчанию N - будет отправляться только отчет на почту. Полезно для настройки и тестирования. Убедитесь, что на производственном сервере (production use) установлен Y.
ENABLE_AUTO_IDS_EMAILS - установите Y (по умолчанию), если хотите получать оповещения о срабатывании PSAD на почту.
ALERT_ALL - если установлено Y, то на почту будут приходить сообщения о всех новых пакетах с одного IP адреса. При N - только при достижении уровня безопасности.
EMAIL_ALERT_DANGER_LEVEL - посылать почтовые оповещения при достижении указанного уровня безопасности от 1 до 5. По умолчанию стоит 1 и PSAD может завалить ваш почтовый ящик избыточной информацией. Уровня 3, как правило, достаточно в большинстве случаев.
Что бы добавить localhost в исключения, откройте на редактирование файл:
vi /etc/psad/auto_dl
и вставьте строку:
127.0.0.1 0; # Ignore this IP.
Добавьте правила iptables LOG для IPv4 и IPv6.
Если вы используете iptables добавьте следующие правила:
iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG
ip6tables -A INPUT -j LOG
ip6tables -A FORWARD -j LOG
По умолчанию iptables пишет логи в /var/log/syslog, в то время как PSAD по умолчанию ищет записи iptables в /var/log/messages. Либо настройте дублирование записей iptables в /var/log/messages, либо укажите путь к syslog или другому файлу в параметре IPT_SYSLOG_FILE конфигурационного файла PSAD /etc/psad/psad.conf. Параметр ENABLE_SYSLOG_FILE должен быть выставлен в Y.
Если вы используйте штатный файрвол Ubuntu UFW, то в параметре IPT_SYSLOG_FILE конфигурационного файла PSAD /etc/psad/psad.conf достаточно указать путь к файлу журнала UFW /var/log/ufw.log. При этом в UFW должно быть включено журналирование не ниже уровня medium:
sudo ufw logging medium
sudo ufw reload
Перезагрузка и обновление PSAD.
Что бы перезагрузить, обновить сигнатуры PSAD выполните следующее:
psad -R
psad --sig-update
psad -H
Проверить состояние PSAD:
psad -S
Разблокировать все заблокированные IP адреса:
psad -F
Возможные проблемы.
PSAD присылает сообщения об ошибках:
[psad-error] Exceeded max disk utilization for /var/log/psad on localhost
[psad-fatal] Stopping psad on localhost
[psad-error] Could not reduce disk utilization on localhost
Дело в том, что в PSAD есть встроенный мониторинг свободного места на диске. И при достижении 95% заполнения он бьет тревогу и даже пытается очистить собственные логи. В конфигурационном файле /etc/psad/psad.conf за это отвечает параметр DISK_MAX_PERCENTAGE. По умолчанию установлено значение 95%, т.е. когда останется менее 5% свободного места на диске PSAD начнет присылать сообщения об ошибке. Можно увеличить это значение, например, до 99% или вовсе отключить проверку свободного места установив значение в 0.
Замените
DISK_MAX_PERCENTAGE 95;
на
DISK_MAX_PERCENTAGE 0;
И перезагрузите PSAD:
psad -R
При старте PSAD сообщает, что не существует pid процесса psadwatchd
psad: pid file /var/run/psad/psadwatchd.pid does not exist for psadwatchd on HOSTNAME Дело в том, что начиная с версии psad-2.2.3 (03/01/2014) используется upstart в связи с чем добавилась новая переменная 'ENABLE_PSADWATCHD' для управления процессом psadwatchd, который мониторит перезапуск psad. По умолчанию, теперь, psadwatchd не запускается, так как значение переменной установлено "N".
Источник: How to install PSAD Intrusion Detection on Ubuntu 12.04 LTS server