Установка BFD (Brute Force Detection) від R-fx Networks

Я думаю будь-який системний адміністратор, а також власник виділеного сервера, рано чи пізно при прогляданні лігв сервера (а це потрібно робити періодично) виявляє в балці /var/log/secure приблизно такі рядки:

Jan 20 09:03:33 domain sshd[19713]: Failed password for root from: ffff: xxx. Xxx. Xxx. Xxx port 45596 ssh2jan 20 09:03:33 domain sshd[19714]: Failed password for root from: ffff: xxx. Xxx. Xxx. Xxx port 45597 ssh2jan 20 09:03:35 domain sshd[19698]: Failed password for root from: ffff: xxx. Xxx. Xxx. Xxx port 45577 ssh2

Що це означає?

А значить це не мало не багато, а спробу підбору пароля користувача root з ip адреси xxx. Xxx. Xxx. Xxx методом прямого перебору паролів. Такий тип спроби злому називається Brute Force. Існує безліч методик захисту від такої атаки, та і зрозуміло, що зазвичай пароль root містить ну дуже багато символів в собі (принаймні так повинно бути), але проте всетаки бажано забаніть ip адреса нашого наполегливого хакера Спочатку коротко зупинюся на декількох простих методиках захисту від атак типу Brute Force. Адже, як відомо, краще мати декілька менш сильних ліній захисту від хакерів, чим одну супер наворочену. На перше місце думаю можна поставити зміну порту за умовчанням для сервісу. Так дефолтний порт у сервісу ssh має номер 22, відповідно в основному до нього і намагаються підключитися наші ; хакери“. таким чином якщо змінити номер порту на якій-небудь 5118, то вірогідність того що хтось зацікавиться нашим сервером значно знизиться. На друге місце можна поставити оганіченіє кількості підключень до сервісу в секунду. Наприклад 1 раз в секунду. Таким чином швидкість автоматичного перебору паролів знижується на порядки. На третє місце можна поставити обмеження підключення по ip адресах. Для таких сервісів як ssh. Всі вищеперелічені зміни проводяться у в конфігах відповідних сервісів. Ну ось, короткий огляд закінчений, перейдемо до опису Brute Force Detection. Ми встановлюватимемо утиліту BFD від R-fx Networks, тому як для її роботи нам необхідний також встановлений APF. Що робить BFD? Він запускається по cron разів в десять хвилин і виконує перевірку файлів лігв /var/log/secure і /var/log/messages на предмет знаходження в них рядків, однозначно вказуючих на спробу перебору паролів. Після цього він заносить ip адресу атакуючого хоста, у файл /etc/apf/deny_hosts. Rules таким чином блокуючи цю ip адресу за допомогою фаєрвола APF. Також BFD може відправляти собщенія про спроби перебору паролів по електроной пошті. Отже приступимо до установки BFD. Йдемо на сайт R-fx Networks і гойдаємо останню версію BFD: cd /usr/local/srcwget R-fx. Ca/downloads/bfd-current. Tar. Gzраспаковиваєм: tar zxvf bfd-current. Tar. Gzпереходім в каталог bfd-0.9 і запускаємо інсталяцію пакету: cd bfd-0.9./install. Shпосле чого встановлюється пакет. При успішній установці він видає повідомлення: BFD installed. Встановлюється пакет в теку /usr/local/bfd/перейдем до налаштування. Відкриваємо конфігураційний файл bfd в улюбленому редакторові і правимо: vi /usr/local/bfd/conf. Bfdіщем рядок Alert_usr="0 ця змінна відповідає за відправку повідомлення про виявлення атаки по e-mailменяєм її на Alert_usr="1 Шукаємо Email_usr="root" і вводимо свою e-mail адресу. Наприклад Email_usr="імя_ящика@gmail. Com"сохраняємся і виходимо. Відкриваємо файл /usr/local/bfd/ignore. Hosts на редагування: vi /usr/local/bfd/ignore. Hostsв його забиваємо всі ip адреси нашого сервера, а також ip адреси машин з яких ми підключаємося до сервера. Робимо ми це для того, щоб випадково не заблокувати самих себе. Формат файлу простій: у кожному рядку - одна ip адреса. Зберігаємося і виходимо. Також корисно буде прописати ip адреси машин з яких ми підключаємося до сервера у файл /etc/apf/allow_hosts. Rulesчтоби вже гарантовано не потрапити в бан власного скрипта. Ну загалом і все. Тепрь наш сервер став захищеніший від атак виду Brute Force. Додам тільки що за умовчанням скрипт bfd запускається один раз в десять хвилин. На мій погляд це дуже великий проміжок часу. Думаю що його можна скоротити до однієї хвилини. Vi /etc/cron. D/bfdменяєм: Mailto=shell=/bin/sh*/10 * * * * root /usr/local/sbin/bfd -qнаMAILTO=SHELL=/bin/sh* * * * * root /usr/local/sbin/bfd -qсохраняємся. Виходимо. І даємо команду сервісу crond перечитати свої конфігиservice crond reloadвсе. Тепер наш сервер захищеніший від вторгнень.

Виділений сервер своїми руками. Dedicatesupport. Com

Ради, допомога, замітки по адмініструванню виділених серверів linux.

Схожі статті: