Сигурност

Как да настроите IPS (Fail2ban) за защита от различни атаки

Как да настроите IPS (Fail2ban) за защита от различни атаки

IPS или система за предотвратяване на проникване е технология, използвана в мрежовата сигурност за изследване на мрежовия трафик и предотвратяване на различни атаки чрез откриване на злонамерени входове. Освен че само открива злонамерени входове, както прави системата за откриване на проникване, тя също така предотвратява мрежата от злонамерени атаки. Той може да предотврати грубата сила на мрежата, DoS (отказ от обслужване), DDoS (разпределено отказване на услуга), експлойти, червеи, вируси и други често срещани атаки. IPS се поставят точно зад защитната стена и те могат да изпращат аларми, да пускат злонамерени пакети и да блокират нарушаващи IP адреси. В този урок ще използваме Fail2ban, който е софтуерен пакет за предотвратяване на проникване, за да добавим защитен слой срещу различни атаки на груба сила.

Как работи Fail2ban

Fail2ban чете регистрационните файлове (напр.ж. / var / log / apache / error_log) и получава нарушаващите IP адреси, които се опитват твърде много неуспешни пароли или търсят експлойти. По принцип Fail2ban актуализира правилата на защитната стена, за да блокира различни IP адреси на сървъра. Fail2ban предоставя и филтри, с помощта на които можем да използваме за конкретна услуга (напр.ж., apache, ssh и др.).

Инсталиране на Fail2ban

Fail2ban не е предварително инсталиран на Ubuntu, така че преди да го използвате, трябва да го инсталираме.

[имейл защитен]: ~ $ sudo apt-get update -y
[имейл защитен]: ~ $ sudo apt-get install fail2ban

След като инсталирате Fail2ban, стартирайте и активирайте услугата Fail2ban с помощта на командния ред.

[имейл защитен]: ~ $ sudo systemctl стартира fail2ban
[имейл защитен]: ~ $ sudo systemctl активира fail2ban


Сега проверете състоянието на услугата fail2ban, за да потвърдите дали тя е стартирала или не.

[имейл защитен]: ~ $ sudo systemctl статус fail2ban

Конфигуриране на Fail2ban за SSH

Можем да конфигурираме Fail2ban, като модифицираме / etc / fail2ban / jail.conf файл. Преди да го промените, направете резервно копие на този файл.

[имейл защитен]: ~ $ sudo cp / etc / fail2ban / jail.conf / etc / fail2ban / jail.местни

Сега ще конфигурираме Fail2ban, за да предотвратим sshd услугата от злонамерени входове. Отворете / etc / fail2ban / jail.локален файл в любимия ви редактор.

[имейл защитен]: ~ $ sudo nano / etc / fail2ban / jail.местни

Отидете на [по подразбиране] и въведете конфигурационните параметри в [по подразбиране] раздел.

[ПО ПОДРАЗБИРАНЕ]
ignoreip = 127.0.0.1/8 192.168.18.10/32
bantime = 300
maxretry = 2
findtime = 600

ignoreip е списъкът на cidr маска, ip адрес или DNS хост, разделен с интервал. Добавете своите надеждни IP адреси към този списък и тези IP адреси ще бъдат включени в белия списък и няма да бъдат блокирани от fail2ban, дори ако те извършат груба сила на сървъра.

бантим е времето, в което IP ще бъде блокиран след извършване на определено количество неуспешни опити към сървъра.

maxretry е броят на максималните неуспешни опити, след които IP се блокира от fail2ban за определен период от време.

време за намиране е времето, през което хостът прави maxretry неуспешни опити, той ще бъде блокиран.

След конфигуриране на горните параметри, сега ще конфигурираме услугата, за която ще се прилагат горните правила. По подразбиране Fail2ban има предварително дефинирани филтри за различни услуги, така че не е необходимо да въвеждаме конкретни записи за услуги. Активираме или деактивираме само различни услуги в конфигурационния файл. Отворете / etc / fail2ban / jail.локален файл в любимия ви редактор.

[имейл защитен]: ~ $ sudo nano / etc / fail2ban / jail.местни

Намери [sshd] във файла и въведете следните параметри в раздела.

[sshd]
enable = true
порт = ssh
филтър = sshd
logpath = / var / log / auth.дневник
maxretry = 3

активиран определя дали тази услуга е защитена от fail2ban или не. Ако разрешеното е вярно, тогава услугата е защитена; в противен случай не е защитен.

пристанище дефинира сервизния порт.

филтър се отнася до конфигурационния файл, който ще използва fail2ban. По подразбиране ще използва / etc / fail2ban / filter.d / sshd.conf файл за ssh услуга.

logpath определя пътя към регистрационните файлове, fail2ban ще наблюдава, за да защити услугата от различни атаки. За услугата ssh регистрационните файлове за удостоверяване могат да бъдат намерени на / var / log / auth.log, така че fail2ban ще наблюдава този регистрационен файл и ще актуализира защитната стена, като открие неуспешни опити за влизане.

maxretry определя броя на неуспешните опити за влизане, преди да бъде блокиран от fail2ban.

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

[имейл защитен]: ~ $ sudo systemctl рестартирайте fail2ban.обслужване
[имейл защитен]: ~ $ sudo systemctl статус fail2ban.обслужване

Тестване на Fail2ban

Конфигурирахме fail2ban, за да защитим нашата система срещу груби атаки срещу ssh услуга. Сега ще направим неуспешни опити за влизане в нашата система от друга система, за да проверим дали fail2ban работи или не. След като направим някои неуспешни опити за влизане сега, ще проверим дневниците fail2ban.

[имейл защитен]: ~ $ cat / var / log / fail2ban.дневник

Виждаме, че след неуспешни опити за влизане, IP е блокиран от fail2ban.

Можем да получим списък на всички услуги, за които е разрешен fail2ban, като използваме следната команда.

[имейл защитен]: ~ $ sudo fail2ban-client status


Горната фигура показва, че сме активирали fail2ban само за sshd услуга. Можем да получим допълнителна информация за sshd услугата, като посочим името на услугата в горната команда.

[имейл защитен]: ~ $ sudo fail2ban-client status sshd

Fail2ban автоматично забранява забранения IP адрес след bantime, но можем да забраним всеки IP по всяко време с помощта на командния ред. Това ще даде повече контрол над fail2ban. Използвайте следната команда, за да забраните IP адреса.

[имейл защитен]: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43.35

Ако се опитате да дебанирате IP адрес, който не е блокиран от fail2ban, той просто ще ви каже, че IP не е блокиран.

[имейл защитен]: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43.35

Заключение

За системния администратор или инженера по сигурността е голямо предизвикателство да поддържа сигурността на сървърите. Ако вашият сървър е защитен с парола, а не от двойка публичен и частен ключ, тогава вашият сървър е по-уязвим за нападатели с груба сила. Те могат да влязат във вашата система, като прилагат различни комбинации от пароли. Fail2ban е инструмент, който може да ограничи нападателите да стартират различни видове атаки, включително атаки с груба сила и DDoS атаки на вашия сървър. В този урок обсъдихме как бихме могли да използваме Fail2ban, за да защитим нашия сървър от различни атаки. Можем да използваме Fail2ban и за защита на други услуги като apache, nginx и др.

Най-добрите емулатори на игрови конзоли за Linux
Тази статия ще изброи популярния софтуер за емулация на игрова конзола, наличен за Linux. Емулацията е слой за софтуерна съвместимост, който емулира х...
Най-добрите дистрибуции на Linux за игри през 2021 г
Операционната система Linux е изминала дълъг път от първоначалния си, прост, базиран на сървъра външен вид. Тази операционна система се подобри неимов...
Как да заснемете и поточно предадете игралната си сесия на Linux
В миналото играта на игри се смяташе само за хоби, но с течение на времето игралната индустрия отбеляза огромен ръст по отношение на технологиите и бр...