Як налаштувати Fail2Ban на CentOS

Знайомство з Fail2Ban

За замовчуванням клієнт підключається до SSH за допомогою порту 22. Оскільки це добре відомий порт, конфігурація за замовчуванням вразлива для багатьох атак грубої сили. Fail2Ban — це рішення для автоматичного захисту сервера від цих атак. Програма працює у фоновому режимі, сканує файли журналів, щоб визначити, які IP-адреси атакують, і автоматично забороняє їм доступ до SSH.

Встановлення Fail2Ban

У цьому підручнику ми встановимо Fail2Ban на CentOS 6 через репозиторій EPEL. Виконайте наступні команди.

yum install epel-release
yum install fail2ban

Пояснення

  • yum install epel-release: Встановлює репозиторій EPEL (додаткові пакети для Enterprise Linux).
  • yum install fail2ban: Встановлює Fail2Ban із репозиторію EPEL.

Налаштування параметрів Fail2Ban

Відкрийте файл конфігурації Fail2Ban.

nano /etc/fail2ban/jail.conf

У файлі ви побачите деякі параметри, як показано нижче. Налаштуйте будь-які значення відповідно до ваших потреб.

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1

# "bantime" is the number of seconds that a host is banned.
bantime = 600

# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 600

# "maxretry" is the number of failures before a host get banned.
maxretry = 3

Пояснення

  • ignoreip: не блокуйте хости, які відповідають адресі в цьому списку. За допомогою роздільника пробілу можна визначити декілька адрес. Напишіть свою особисту IP у цьому рядку.
  • bantime: кількість секунд, протягом яких хост блокується.
  • findtime: Хост заборонений, якщо він створив maxretryпід час останнього findtime.
  • maxretry: кількість збоїв перед блокуванням хоста.

Налаштування Fail2Ban для захисту SSH

Спочатку нам потрібно створити файл конфігурації.

nano /etc/fail2ban/jail.local

Скопіюйте рядки нижче та вставте їх у файл.

[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
#           sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com]
logpath  = /var/log/secure
maxretry = 5
  • enabled: активувати захист. Якщо ви хочете вимкнути його, змініть значення на false.
  • filter: За замовчуванням для нього встановлено значення sshd, яке посилається на файл /etc/fail2ban/filter.d/sshd.conf.
  • action: Fail2Ban забанить IP , що відповідає фільтру /etc/fail2ban/action.d/iptables.conf. Якщо ви раніше змінювали порт SSH, перейдіть port=sshна новий порт, наприклад port=2222. Якщо ви використовуєте порт 22, вам не потрібно буде змінювати значення.
  • logpath: шлях до файлу журналу, який використовує Fail2Ban.
  • maxretry: максимальна кількість невдалих спроб входу.

Запуск служби Fail2Ban

Виконайте ці дві команди нижче, щоб запустити службу Fail2Ban:

chkconfig --level 23 fail2ban on
service fail2ban start

Нарешті, перевірте, iptablesчи є до нього правила, додані Fail2Ban.

iptables -L

Результат буде схожим на цей результат.

Chain INPUT (policy ACCEPT)
target prot opt source destination
f2b-SSH tcp -- anywhere anywhere tcp dpt:EtherNet/IP-1

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain f2b-SSH (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

Як відстежити невдалі спроби входу

Ви можете використовувати цю команду, щоб перевірити, чи не були спроби входу на ваш сервер (можливі атаки).

cat /var/log/secure | grep 'Failed password'

Результат буде схожий на ці рядки.

Dec  6 22:47:12 vultr sshd[7942]: Failed password for root from 43.229.53.67 port 23021 ssh2
Dec  6 22:47:15 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:16 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:18 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:31 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:34 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:36 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:39 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:41 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:43 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:47 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2
Dec  6 22:47:49 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2

Щоб переглянути, які IP-адреси були заборонені, скористайтеся такою командою.

iptables -L -n

Щоб видалити IP-адресу зі списку заборонених, виконайте таку команду. Змініть banned_ipIP-адресу, яку ви хочете розбанити.

iptables -D f2b-SSH -s banned_ip -j DROP

Залишити коментар

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше