📒  Доверие и сигурност

Как да инсталираме Fail2ban и да конфигурираме Fail2ban в Linux сървъри

Как да инсталирате fail2ban и да го конфигурирате в Linux сървъри (ubuntu / debian), като използвате fail2ban conf и го конфигурирате в ubuntu и инсталирате fail2ban във вашия сървър.
Fail2ban наистина може да защити и да помогне на вашата сигурност в Linux сървърите, като следи за злонамерена дейност и подозрителна активност, като междувременно може да забранява и блокира IP адреси.
Важно е да знаете как да инсталирате fail2ban или да конфигурирате правилно fail2ban, за да работи гладко и безпроблемно във вашия сървър.

Изисквания:
Debian / Ubuntu
Други Linux (командите за конфигуриране ще бъдат различни)

ЗАБЕЛЕЖКА: Не можете да използвате fail2ban в споделен хостинг, ще трябва да използвате в нашия VPS хостинг или специализирани сървъри от Alexhost са най-добрите услуги, за да го използвате.

Какво е Fail2ban?

configure fail2ban

Fail2Ban е приложение за анализ на логове, което повишава сигурността на Linux сървърите, като следи логовете за злонамерена дейност и автоматично предприема действия за забрана или блокиране на IP адреси, свързани с подозрително поведение. Основната му цел е да защитава сървърите от различни видове атаки, особено такива, включващи опити за получаване на неоторизиран достъп чрез груба сила. Важно е да знаете как да инсталирате правилно fail2ban във вашия сървър.

Ето как работи Fail2Ban като цяло:

  1. Мониторинг на журналните файлове: Fail2Ban непрекъснато следи определени журнални файлове за модели, които показват потенциални заплахи за сигурността. Тези журнални файлове включват файлове, свързани с опити за удостоверяване, като например /var/log/auth.log за SSH или /var/log/apache2/error.log за Apache.
  2. Правила за филтриране: Fail2Ban използва предварително дефинирани или конфигурирани от потребителя правила за филтриране, за да идентифицира специфични модели в записите на дневника. Тези модели обикновено показват неуспешни опити за влизане, отгатване на парола или други подозрителни дейности.
  3. Съответстващи модели: Когато даден запис в дневника съвпада с предварително дефиниран модел, Fail2Ban го отчита като “неуспешен” или “съвпадащ” Филтрите са разработени така, че да разпознават често срещани модели на атаки, като например повтарящи се неуспешни опити за влизане от един и същ IP адрес.
  4. Действия за забрана: След определен брой съвпадащи записи (конфигуриран от настройката maxretry) Fail2Ban предприема действия за блокиране на нарушителя IP адрес. Продължителността на забраната се определя от настройката bantime. Тази временна забрана помага да се осуетят автоматизираните атаки, като затруднява достъпа на нападателите.
  5. Затвори: Fail2Ban организира конфигурациите си за наблюдение и забрана в единици, наречени “затвори” Всеки затвор съответства на конкретна услуга или набор от услуги. Например, може да има затвор за SSH, друг за Apache и т.н. Конфигурацията за всеки затвор, включително филтрите и настройките за забрана, се определя в конфигурационните файлове на Fail2Ban.
  6. Състояние и взаимодействие: Системните администратори могат да проверяват състоянието на Fail2Ban, да преглеждат забранените IP адреси и при необходимост ръчно да отменят забраната. Fail2Ban също така регистрира действията си, като предоставя на администраторите история на забранените IP адреси и съответните събития.

Чрез автоматичното забраняване на IP адреси, които проявяват злонамерено поведение, Fail2Ban помага за защитата на сървърите от атаки с груба сила, отгатване на пароли и други заплахи за сигурността. Това е ценен инструмент за повишаване на цялостната сигурност на Linux сървър. От съществено значение обаче е да конфигурирате Fail2Ban по подходящ начин за конкретната среда и редовно да преглеждате дневниците му, за да гарантирате правилната му функционалност.

### Стъпка 1: Как да инсталирате Fail2Ban

Отворете терминал на вашия сървър Ubuntu или Debian и изпълнете следните команди:

sudo apt update

sudo apt install fail2ban

### Стъпка 2: Конфигуриране на Fail2Ban

  1. Създайте копие на конфигурационния файл по подразбиране:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

  1. Отворете файла `jail.local` в текстов редактор. Можете да използвате `nano` или `vim`:

sudo nano /etc/fail2ban/jail.local

  1. Конфигурирайте основните настройки във файла `jail.local`. Ето някои често използвани опции:

bantime: Продължителност (в секунди) на забраната на даден IP адрес. По подразбиране е 10 минути (600 секунди).

findtime: Времевият прозорец (в секунди), в рамките на който трябва да настъпят определен брой неуспешни опити за забрана.

maxretry: Броят на неуспешните опити, разрешени преди забрана.

Пример:

[DEFAULT]

bantime = 600

findtime = 600

maxretry = 3

4. Настройте филтрите за конкретните услуги, които искате Fail2Ban да наблюдава. Филтрите се дефинират във файла `jail.local` в раздела `[<име на услуга>]`. Обичайните услуги включват SSH (`sshd`), Apache (`apache`) и Nginx (`nginx`).

Пример за SSH:

[sshd]

enabled = true

port = ssh

филтър = sshd

logpath = /var/log/auth.log

maxretry = 5

Забележка: Уверете се, че `port` и `logpath` отговарят на конкретната ви конфигурация.

  1. Запазете файла `jail.local` и излезте от текстовия редактор.

### Стъпка 3: Рестартиране на Fail2Ban

След като направите промени в конфигурацията, рестартирайте Fail2Ban, за да приложите новите настройки:

sudo systemctl restart fail2ban

### Стъпка 4: Проверка на състоянието на Fail2Ban

Можете да проверите състоянието на Fail2Ban с:

sudo fail2ban-client status

Това трябва да покаже информация за затворите и техния статус.

### Стъпка 5: Тестване на Fail2Ban

За да тествате дали Fail2Ban работи, умишлено генерирайте няколко неуспешни опита за влизане в наблюдаваната услуга (напр. SSH). След достигане на зададената стойност `maxretry` Fail2Ban трябва да забрани съответния IP адрес.

Не забравяйте да адаптирате тези инструкции в зависимост от конкретната конфигурация на системата и услугата в Ubuntu или Debian. Винаги вземайте предвид последиците за сигурността на вашите настройки и редовно преглеждайте логовете за неочаквано поведение.

Забележка: Докато конфигурирате fail2ban в сървъра си, не блокирайте порт 22, освен ако не сте сигурни какво правите, в такъв случай ще блокирате порт SSH по подразбиране.

Предупреждение: Fail2ban е отличен инструмент за защита на вашите линукс сървъри, но трябва да се конфигурира внимателно. За да избегнете забрана, направете бял списък на вашия IP адрес и други IP адреси, които смятате за важни. Използването на fail2ban и конфигурирането му без да е направено правилно може да доведе до загуба на връзката със сървъра ви, важно е да знаете как да инсталирате fail2ban на вашия сървър (Ubuntu, Debian, CentOS и т.н.).