Sshguard
Материал из Gentoo Linux Wiki
- Вернуться в раздел безопасность
Содержание |
[править] Введение
sshguard предназначен для предотвращения атаки перебором на SSH сервер. (ssh brute-force preventing)
[править] Описание
sshguard отслеживает активность журнала системы и блокирует адрес атакующего с помощью фаервола. sshguard может обрабатывать журналы различныx форматов:
- syslog
- syslog-ng
- metalog
- multilog
- raw
Обладает поддержкой таких функций, как:
- белые списки адресов
- ipv6
- определение имени адреса
[править] Установка
В данный момент в portage находится версия 1.0, которая считается стабильной. Версия 1.1beta3 -development. Т.к. в последней версии есть поддержка metalog, его и установим. Читаем статью Portage_Overlay и берём отсюда [1] нужные нам файлы. Должны получить такую структуру
| Code: Список файлов |
/usr/local/portage/app-admin/sshguard/files/sshguard.init /usr/local/portage/app-admin/sshguard/files/sshguard.confd /usr/local/portage/app-admin/sshguard/sshguard-1.1_beta3.ebuild |
| Code: Переходим в директорию и создаём манифест файл |
cd /usr/local/portage/app-admin/sshguard/ ebuild sshguard-1.1_beta3.ebuild digest |
| Code: Для x86 |
echo "app-admin/sshguard ~x86" >> /etc/portage/package.keywords |
Устанавливаем emerge sshguard
[править] Настройка
После установки в системе появится инитскрипт /etc/init.d/sshguard , файл конфигурации /etc/conf.d/sshguard. Для использования с metalog
| Файл: /etc/conf.d/sshguard для работы с metalog |
#Logfile for sshguard to examine. SSHGUARD_LOGFILE="/var/log/sshd/current" |
Теперь добавим правила iptables
| Code: Правила iptables |
iptables -N sshguard iptables -A INPUT -p tcp --dport 22 -j sshguard #если нужна поддержка IPv6 ip6tables -N sshguard ip6tables -A INPUT -p tcp --dport 22 -j sshguard |
[править] Запуск
| Code: Запуск |
/etc/init.d/sshguard start #или rc-config start sshguard |
После этого можно добавить в стандартный уровень запуска: rc-update add sshguard default
[править] Пример работы программы
Для примера, вывод программы запущенной вручную в терминале.
Started successfully [(a,p,s)=(4, 420, 1200)], now ready to scan. Matched IP address 64.105.218.165 Matched IP address 64.105.218.165 Matched IP address 64.105.218.165 Matched IP address 64.105.218.165 Blocking 64.105.218.165: 4 failures over 9 seconds. Setting environment: SSHG_ADDR=64.105.218.165;SSHG_ADDRKIND=4;SSHG_SERVICE=10. Run command "case $SSHG_ADDRKIND in 4) exec /sbin/iptables -A sshguard -s $SSHG_ADDR -j DROP ;; 6) exec /sbin/ip6tables -A sshguard -s $SSHG_ADDR -j DROP ;; *) exit -2 ;; esac": exited 0. Releasing 64.105.218.165 after 542 seconds. Setting environment: SSHG_ADDR=64.105.218.165;SSHG_ADDRKIND=4;SSHG_SERVICE=10. Run command "case $SSHG_ADDRKIND in 4) exec /sbin/iptables -D sshguard -s $SSHG_ADDR -j DROP ;; 6) exec /sbin/ip6tables -D sshguard -s $SSHG_ADDR -j DROP ;; *) exit -2 ;; esac": exited 0.
