Как да конфигурирам fail2ban, за да защитя вашия Apache HTTP сървър

Codeby web-security - нов курс от Codeby Security School

Представяме на вашето внимание нов курс от екипа Кодът - "Тестване на проникване на уеб приложения от нулата". Обща теория, Подготовка на работната среда, Пасивно размиване и пръстови отпечатъци, Активно размиване, Уязвимости, След експлоатация, Инструменти, Социално инженерство и др. Повече информация .

В този урок ще демонстрирам Как да конфигурирам fail2ban за защита на Apache HTTP сървър. Предполагам, че вече имате инсталиран Apache HTTP сървър и fail2ban. Може да ви интересува и инструкцията „Как да защитя SSH сървър от груби атаки (груба сила) с помощта на fail2ban“.

Какво е затвор Fail2ban

Нека се спрем малко на подробностите за затворите за fail2ban. Jail дефинира специфични за приложението политики, за които fail2ban задейства задействане на действие, предназначено да защити приложението. fail2ban се предлага с няколко предварително дефинирани затвори в /etc/fail2ban/jail.conf за популярни приложения като Apache, Dovecot, Lighttpd, MySQL, Postfix, SSH и т.н. Всеки затвор разчита на филтри, различни за всяко приложение (намерени в /etc/fail2ban/fileter.d), за да идентифицира често срещаните атаки. Нека разгледаме един от примерите за затвора: SSH затвор.

Конфигурацията на SSH затвора се определя от няколко параметъра:

  • [ssh]: името на затвора в квадратни скоби.
  • активиран: активиран ли е затворът.
  • пристанище: номер на порта, който трябва да бъде защитен (може да е номер или добре познато име).
  • филтър: правило за анализиране на дневника за откриване на атака.
  • logpath: регистрационният файл за проверка.
  • максретри: максимален брой грешки преди забрана.
  • бананция: действие за забрана.

Всеки даден параметър в конфигурацията на затвора ще замени съответния параметър по подразбиране, определен от конфигурационните файлове fail2ban. И обратно, всеки липсващ параметър ще бъде взет от стойността по подразбиране, дефинирана в раздела [DEFAULT].

Предварително дефинираните регистрационни филтри са в /etc/fail2ban/filter.d, а наличните действия са в /etc/fail2ban/action.d.

конфигурирам

Ако искате да презапишете default2 по подразбиране или да зададете персонализирани затвори, можете да го направите във файла /etc/fail2ban/jail.local. За този урок ще използвам /etc/fail2ban/jail.local.

Активиране на предварително дефинирани затвори за Apache

Инсталацията по подразбиране fail2ban предлага няколко предварително дефинирани затвори и филтри за HTTP сървъра на Apache. Ще използвам тези вградени затвори на Apache. Поради малки разлики в конфигурацията между Debian и Red Hat, позволете ми да прегледам конфигурацията за затвор fail2ban за тях отделно.

Paranoid - Курс от Codeby School School

Представяме на вашето внимание курс от екипа codeby - „Набор от мерки за защита на лични данни, анонимност в Интернет и не само“ Повече информация .

Активиране на затворите Apache на Debian или Ubuntu

За да активирате предварително дефинираните затвори на Apache в системи, базирани на Debian, създайте /etc/fail2ban/jail.local, както е показано по-долу.

Тъй като нито един от затворите по-горе не дефинира действие, всички тези затвори ще изпълнят действието по подразбиране, когато задейства спусъка. За действието по подразбиране вижте параметъра "banaction" в раздела [DEFAULT] на /etc/fail2ban/jail.conf.

След като активирате затворите, трябва да рестартирате fail2ban, за да изтеглите затворите.

Активиране на затворите Apache на CentOS/RHEL или Fedora

За да активирате предварително дефинираните затвори на Apache в системи, базирани на Red Hat, създайте /etc/fail2ban/jail.local, както е показано по-долу.

След като активирате затворите, трябва да рестартирате fail2ban, за да заредите нови затвори в fail2ban.

На Fedora или CentOS/RHEL 7:

На CentOS/RHEL 6:

Проверка и управление на състояния и забрани на Fail2ban

След като затворите бъдат активирани, можете да наблюдавате текущото състояние на забраните в помощната програма за команден ред fail2ban-client.

За да видите списъка на активните затвори:

За да видите състоянието на конкретен затвор (включително списъка със забранени IP адреси):

fail2ban

Заключение

Този урок обяснява как работят затворите за неуспешен достъп и как да защитите HTTP сървър на Apache с помощта на вградените затвори на Apache. В зависимост от средата, вида на уеб услугите, които имате, и вашите нужди от сигурност, може да се наложи да адаптирате съществуващите затвори или да напишете свои собствени затвори и филтри за регистрация. Разгледайте официалната страница на outfail2ban в Github за по-актуални примери за затвори и филтри.

Използвате ли fail2ban в някой от вашите продукти? Споделете своя опит.

Безопасна сделка с поръчителя Codeby