Hoe SSH te beschermen met fail2ban op CentOS

Inhoudsopgave

Servers staan ​​niet op zichzelf en de meeste zijn geïnstalleerd en aangepast met alleen de meest elementaire SSH-configuratie die kwetsbaar kan zijn voor brute force-aanvallen.
De tool fail2ban biedt een manier om de server automatisch te beschermen tegen vermoedelijke aanvallen en schadelijke software.
Het programma scant de logbestanden en helpt bij het reageren op acties zoals herhaalde mislukte verbindingspogingen.
We beginnen met het installeren van fail2ban
Aangezien fail2ban niet beschikbaar is in CentOS, moeten we beginnen met het downloaden van de repository:
rpm- Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Vervolgens installeren we fail2ban vanaf de opdrachtregel met de volgende opdracht:
yum install fail2ban

We kopiëren het configuratiebestand
Het standaard fail2ban-configuratiebestand is de locatie in /etc/fail2ban/jail.conf. Er mag echter geen configuratiewerk aan dat bestand worden gedaan en in plaats daarvan moet er een lokale kopie worden gemaakt voor back-up.
cp / etc / fail2ban / jail.conf / etc / fail2ban / jail.local

Zodra het bestand is gekopieerd, kunnen we alle wijzigingen aanbrengen in het nieuwe jail.local-bestand. Veel van de mogelijke services die mogelijk bescherming nodig hebben, zijn in dit bestand al vooraf geconfigureerd. Elk is in zijn eigen sectie, geconfigureerd en uitgeschakeld.
Standaardinstellingen instellen op Jail.Local
Open het nieuwe fail2ban-configuratiebestand:
 vi / etc / fail2ban / jail.local 

Het eerste deel van de standaardinstellingen behandelt de basisregels die fail2ban zal volgen. Als u meer persoonlijke bescherming voor uw virtuele privéserver wilt configureren, kunt u de details van elke sectie aanpassen.
U kunt in de standaardsectie enkele details zien, zoals de volgende.
 [DEFAULT] # "Ignoreip" kan een IP-adres, een CIDR-masker of een DNS-host zijn. Fail2ban # Ban een string die overeenkomt met een adres in deze lijst niet. Meerdere adressen kunnen worden #define door een spatiescheidingsteken. negeerip = 127.0.0.1 # "Bantime" is het aantal seconden dat een host geen toegang heeft of verbannen is. bantime = 3600 # De tijd in seconden dat een host wordt geblokkeerd als deze een maximum aantal mislukte zoekopdrachten maakt. findtime = 600 # "Maxretry" is het aantal toegestane fouten voordat het wordt verbannen. maxretry = 3 

Voer uw IP-adres in op de persoonlijke negeerip-regel. U kunt elk adres scheiden met een spatie. IgnoreIP zal bepaalde IP-adressen op de whitelist zetten en ervoor zorgen dat ze niet uit je VPS worden weggelaten. Door uw adres op te nemen, zorgt u ervoor dat u uzelf niet per ongeluk verbant van uw eigen virtuele privéserver.
De volgende stap is om te beslissen over een bantijd, het aantal seconden dat een host van de server wordt geblokkeerd als deze een van de regels overtreedt. Dit is vooral handig in het geval van robots, die zodra de toegang is verboden, gewoon naar het volgende doelwit gaan. De standaard is 10 minuten, je kunt dit verhogen naar een uur als je wilt.
Maxretry is het aantal onjuiste toegangspogingen dat een host kan hebben voordat zijn toegangspogingen worden verbannen voor de duur van de blokkeringstijd.
Findtime verwijst naar de hoeveelheid tijd die een host heeft om de standaardwaarde in te voeren is 10 minuten, wat betekent dat als er een poging wordt gedaan om toegang te krijgen tot een host tot een server en dit mislukt, om in te loggen meer dan het maximale aantal pogingen 3 keer in de aangewezen 10 minuten, wordt uw IP geblokkeerd en heeft u geen toegang.
Configureer ssh - iptables sectie in Jail.Local
Het gedeelte met SSH-details bevindt zich net iets verder in de instellingen en is al geïnstalleerd en geactiveerd. Hoewel u in dit gedeelte geen wijzigingen hoeft aan te brengen, vindt u hieronder details over elke regel.
 [ssh - iptables] ingeschakeld = true filter = sshd action = iptables [naam = SSH, poort = ssh, protocol = tcp] sendmail-whois [naam = SSH, dest = root, [email protected]] logpath = / var / log / beveiligde maxretry = 5

Ingeschakeld verwijst eenvoudigweg naar het feit dat SSH-beveiliging is ingeschakeld. Je kunt het uitschakelen met het woord false.
Filter, dat je standaard gebruikt voor sshd, verwijst naar het configuratiebestand dat de regels bevat die fail2banuses gebruikt om overeenkomsten te vinden. De naam is een verkorte versie van de bestandsextensie. sshd verwijst bijvoorbeeld naar /etc/fail2ban/filter.d/sshd.conf
Actie, beschrijft de stappen die fail2ban zal nemen om een ​​overeenkomend IP-adres te verbieden. Net als het filteritem verwijst elke actie naar een bestand in de directory action.d. De standaard ban-actie, iptable is te vinden in /etc/fail2ban/action.d/iptables.conf
In iptables kun je fail2ban verder aanpassen. Als u bijvoorbeeld een niet-standaard poort gebruikt, kunt u het poortnummer tussen de haakjes wijzigen in de hoogte, zodat de zichtlijn dezelfde familie wordt:
bijvoorbeeld . iptables [naam = SSH, poort = 30000, protocol = tcp]
U kunt op deze regel ook het protocol wijzigen van TCP naar UDP, afhankelijk van welk protocol u door fail2ban wilt laten bewaken.
Als je een mailserver hebt geconfigureerd op je virtual private server, kan fail2ban je een e-mail sturen wanneer een IP-adres is verbannen. In het geval van bypass verwijst de sendmail-whois naar de acties die zich in / etc / fail2ban / action.d / sendmail-whois.conf bevinden.
log-pad verwijst naar de locatie van het logboek dat fail2ban zal volgen.
De maximale regel voor opnieuw proberen binnen de SSH-sectie heeft dezelfde definitie als de standaardoptie. Als er echter een service is ingeschakeld en u voor elk van hen specifieke waarden wilt hebben, kunt u hier het nieuwe maximale aantal opnieuw proberen voor SSH instellen.
Herstart fail2ban
Zorg er na het aanbrengen van wijzigingen in de fail2ban-configuratie altijd voor dat u fail2ban opnieuw start:
sudo herstart fail2ban-service

U kunt de regels zien die fail2ban in werking stelt in de IP-tabel:
iptables- L
Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave