Zoeken op website

Fail2Ban installeren om SSH op CentOS/RHEL 8 te beschermen


Fail2ban is een gratis, open source en veelgebruikte tool voor inbraakpreventie die logbestanden scant op IP-adressen die kwaadaardige tekenen vertonen, zoals te veel wachtwoordfouten, en nog veel meer, en deze verbiedt (updates firewall regels om de IP-adressen te weigeren). Standaard wordt het geleverd met filters voor verschillende services, waaronder sshd.

Lees ook: Initiële serverconfiguratie met CentOS/RHEL 8

In dit artikel leggen we uit hoe je fail2ban installeert en configureert om SSH te beschermen en de SSH serverbeveiliging te verbeteren tegen brute force-aanvallen op CentOS/RHEL 8.

Fail2ban installeren op CentOS/RHEL 8

Het fail2ban-pakket bevindt zich niet in de officiële repository's, maar is wel beschikbaar in de EPEL-repository. Nadat u zich bij uw systeem heeft aangemeld, opent u een opdrachtregelinterface en schakelt u vervolgens de EPEL-repository op uw systeem in, zoals weergegeven.

dnf install epel-release
OR
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Installeer daarna het Fail2ban pakket door de volgende opdracht uit te voeren.

dnf install fail2ban

Fail2ban configureren om SSH te beschermen

De fail2ban configuratiebestanden bevinden zich in de map /etc/fail2ban/ en filters worden opgeslagen in de map /etc/fail2ban/filter.d/ map (het filterbestand voor sshd is /etc/fail2ban/filter.d/sshd.conf).

Het globale configuratiebestand voor de fail2ban-server is /etc/fail2ban/jail.conf, het wordt echter niet aanbevolen om dit bestand rechtstreeks te wijzigen, omdat het waarschijnlijk zal worden overschreven of verbeterd in het geval van een pakket upgraden in de toekomst.

Als alternatief wordt aanbevolen om uw configuraties aan te maken en toe te voegen in een jail.local bestand of aparte .conf bestanden onder /etc/fail2ban/jail. d/ map. Houd er rekening mee dat de configuratieparameters die in jail.local zijn ingesteld, alles wat in jail.conf is gedefinieerd, zullen overschrijven.

Voor dit artikel zullen we een apart bestand maken met de naam jail.local in de map /etc/fail2ban/, zoals weergegeven.

vi /etc/fail2ban/jail.local

Zodra het bestand geopend is, kopieert en plakt u de volgende configuratie erin. De [DEFAULT] sectie bevat globale opties en [sshd] bevat parameters voor de sshd jail.


[DEFAULT] 
ignoreip = 192.168.56.2/24
bantime  = 21600
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd

[sshd] 
enabled = true

Laten we de opties in de bovenstaande configuratie kort toelichten:

  • ignoreip: specificeert de lijst met IP-adressen of hostnamen die niet moeten worden uitgesloten.
  • bantime: specificeerde het aantal seconden waarvoor een host verbannen is (d.w.z. effectieve verbanningsduur).
  • maxretry: specificeert het aantal mislukkingen voordat een host wordt verbannen.
  • findtime: fail2ban zal een host verbannen als deze “maxretry” heeft gegenereerd tijdens de laatste “findtime” seconden.
  • banactie: verbodsactie.
  • backend: specificeert de backend die wordt gebruikt om logbestandwijzigingen op te halen.

De bovenstaande configuratie betekent dus dat als een IP 3 keer is mislukt in de afgelopen 5 minuten, het voor 6 uur moet worden verbannen en de IP-adres 192.168.56.2.

Start en schakel vervolgens de service fail2ban voorlopig in en controleer of deze actief is met behulp van de volgende systemctl-opdracht.

systemctl start fail2ban
systemctl enable fail2ban
systemctl status fail2ban

Monitoring van mislukte en verboden IP-adressen met behulp van fail2ban-client

Nadat u fail2ban hebt geconfigureerd om sshd te beveiligen, kunt u mislukte en verboden IP-adressen controleren met behulp van de fail2ban-client. Voer de volgende opdracht uit om de huidige status van de fail2ban-server te bekijken.

fail2ban-client status

Om de sshd-gevangenis te controleren, voer je uit.

fail2ban-client status sshd

Om een IP-adres in fail2ban (in alle gevangenissen en databases) te deblokkeren, voert u de volgende opdracht uit.

fail2ban-client unban 192.168.56.1

Lees de volgende manpagina's voor meer informatie over fail2ban.

man jail.conf
man fail2ban-client

Dat vat deze gids samen! Als u vragen of gedachten heeft die u over dit onderwerp wilt delen, aarzel dan niet om ons te bereiken via het onderstaande feedbackformulier.