ail2ban
Існують готові до установки бінарні пакети для найбільш широко поширених дистрибутивів, таких як Debian, Ubuntu, SuSE, тому можна скористатися відповідним менеджером пакетів для установки Fail2ban. Fail2ban написаний на мові програмування Python, тому для роботи вимагає встановленої підсистеми інтерпретації та підтримки цієї мови. p align="justify"> Рекомендується, але не є обов'язковою вимогою, наявність у системі наступного програмного забезпечення: мережевий екран (підтримується iptables або shorewall), tcp-wrappers, команда обміну повідомленнями електронної пошти mail, система відслідковування змін у файлах на основі inotify (підтримується монітор Gamin).
2.2 Загальна структура та схема функціонування Fail2ban
З точки зору архітектури Fail2ban являє собою систему "клієнт-сервер". Серверна частина - fail2ban-server - це багатопотокова програма, яка прослуховує Unix-сокети, очікуючи надходження команд, і відправляє клієнту необхідну інформацію. Все це відбувається в режимі реального часу. Сам сервер не володіє жодною інформацією про поточний статус файлів конфігурації, тому при запуску знаходиться в стані "за замовчуванням", в якому не визначені жодні блокування та інші параметри. Клієнтська частина - fail2ban-client - є зовнішнім, інтерфейсним компонентом всієї описуваної підсистеми. Клієнт встановлює з'єднання через сокет сервера і посилає через нього команди для конфігурування сервера та виконання необхідних операцій. Клієнт може зчитувати і передавати вміст конфігураційних файлів або просто відправити на сервер одну команду, використовуючи для цього командний рядок shell-оболонки або власний інтерактивний режим, який активізується за допомогою ключа -i span> .
.3 Принципи конфігурування підсистеми Fail2ban
Набір файлів конфігурації може мати вигляд, показаний в лістингу 1. Структура каталогів і конфігураційних файлів отримана за допомогою стандартної утиліти tree. br/>
$ tree/etc/fail2ban// etc/fail2ban /??? action.d? ??? complain.conf? ??? dshield.conf? ??? hostsdeny.conf? ??? ipfilter.conf? ??? ipfw.conf? ??? iptables-allports.conf? ??? iptables.conf? ??? iptables-multiport.conf? ??? iptables-multiport-log.conf? ??? iptables-new.conf? ??? mail-buffered.conf? ??? mail.conf? ??? mail-whois.conf? ??? mail-whois-lines.conf? ??? mynetwatchman.conf? ??? sendmail-buffered.conf? ??? sendmail.conf? ??? sendmail-whois.conf? ??? sendmail-whois-lines.conf? ??? shorewall.conf??? fail2ban.conf??? filter.d? ??? apache-auth.conf? ??? apache-badbots.conf? ??? apache-nohome.conf? ??? apache-noscript.conf? ??? apache-overf...