Het Beveiligen van Uw Linux-Server met fail2ban

0
278
Fatmawati Achmad Zaenuri/Shutterstock

Met fail2ban, uw Linux-computer blokkeert automatisch IP-adressen die te veel van de verbinding. Het is self-regulering van de veiligheid! Wij laten u zien hoe om het te gebruiken.

Beveiliging Beveiliging

Hertogin van Windsor, Wallis Simpson, ooit beroemde uitspraak, “Je kunt nooit te rijk of te dun.” We hebben bijgewerkt deze voor onze moderne, onderling verbonden wereld: U kunt nooit te voorzichtig of te beveiligen.

Als uw computer binnenkomende verbindingsaanvragen, zoals het Secure Shell (SSH) – verbindingen, of fungeert als een web-of e-mailserver die u nodig hebt om het te beschermen tegen brute-force aanvallen en wachtwoord guessers.

Om dit te doen, moet u de monitor verbinding verzoeken dat niet te krijgen in een account. Als ze bij herhaling niet te verifiëren binnen een korte periode, moeten ze worden uitgesloten van verdere pogingen.

De enige manier waarop dit kan worden bereikt praktisch is voor het automatiseren van het gehele proces. Met een beetje simpele configuratie, fail2ban zal het beheer van het toezicht, verbod, en unbanning voor u.

fail2ban is geïntegreerd met de Linux firewall met iptables. Het dwingt het verbod op de verdachte IP-adressen door het toevoegen van regels op de firewall. Om deze uitleg overzichtelijk, we maken gebruik van iptables met een lege regelset.

Natuurlijk, als je je zorgen maakt over de beveiliging, kunt u waarschijnlijk een firewall geconfigureerd met een goed gevuld regelset. fail2ban voegt alleen maar toe en verwijdert zijn eigen regels—uw gewone firewall-functies onaangeroerd zal blijven.

We zien onze lege regelset met gebruik van dit commando:

sudo iptables -L

GERELATEERD: De Beginner ‘ s Guide to iptables de Linux Firewall

Het installeren van fail2ban

Het installeren van fail2ban is eenvoudig op alle distributies hebben we gebruikt om het onderzoek in dit artikel. Op Ubuntu 20.04, de opdracht is als volgt:

sudo apt-get install fail2ban

Op Fedora 32, type:

sudo dnf installeren fail2ban

Op Manjaro 20.0.1 we gebruik van pacman:

sudo pacman -Sy fail2ban

Het configureren van fail2ban

De fail2ban installatie bevat een standaard configuratie bestand met de naam de gevangenis.conf. Dit bestand wordt overschreven wanneer fail2ban is bijgewerkt, zo verliezen we onze wijzigingen indien wij aanpassingen maken aan dit bestand.

In plaats daarvan gaan we kopiëren de gevangenis.conf bestand aan, genaamd de gevangenis.lokale. Door onze configuratie wijzigingen in de gevangenis.lokale, zullen ze blijven bestaan over upgrades. Beide bestanden worden automatisch gelezen door fail2ban.

Dit is hoe het bestand te kopiëren:

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

Open nu het bestand in uw favoriete editor. We gebruiken gedit:

sudo gedit /etc/fail2ban/jail.lokale

Kijken We naar twee secties in het bestand: [STANDAARD] en [sshd]. Zorg om de werkelijke secties, hoewel. Deze labels verschijnen ook in de buurt van de top in een gedeelte dat beschrijft, maar dat is niet wat we willen.

U vindt de [STANDAARD] – sectie ergens rond regel 40. Het is een lang stuk met veel commentaar en uitleg.

Scroll naar beneden tot ongeveer de lijn 90, en je vindt de volgende vier instellingen die u moet weten over:

  • ignoreip: Een witte lijst van IP-adressen die nooit zal worden verboden. Ze hebben een permanente Get Out of Jail Free card. De localhost IP-adres (127.0.0.1) is in de standaard lijst, samen met de IPv6-equivalent (::1). Als er andere IP-adressen weet je nooit zou moeten worden verboden, ze toevoegen aan deze lijst, en zorg voor ruimte tussen elkaar.
  • duur: De duur van een IP-adres is verboden (de “m” staat voor minuten). Als u een waarde typt zonder een “m” of “h” (uren) zal worden behandeld als seconden. Een waarde van -1 wordt een permanent verbod op een IP-adres. Heel voorzichtig zijn niet om permanent te vergrendelen uit.
  • findtime: De hoeveelheid tijd die binnen die te veel mislukte pogingen zal resulteren in een IP-adres wordt verboden.
  • maxretry: De waarde voor “te veel mislukte pogingen.”

Als een verbinding van hetzelfde IP-adres maakt maxretry mislukte pogingen binnen de findtime periode, ze zijn verboden voor de duur van de duur. De enige uitzonderingen zijn de IP-adressen in de ignoreip lijst.

fail2ban zet de IP-adressen in de gevangenis voor een bepaalde periode van tijd. fail2ban ondersteunt veel verschillende gevangenissen, en elk vertegenwoordigt in het bezit van de instellingen gelden voor één type verbinding. Dit kunt u verschillende instellingen voor verschillende typen verbindingen. Of u kunt fail2ban monitor alleen een gekozen set van verbinding types.

U raadt het al in de [STANDAARD] – sectie naam, maar de instellingen die we hebben gekeken naar de standaardwaarden. Nu, laten we eens kijken naar de instellingen voor de SSH de gevangenis.

GERELATEERD: Hoe om Tekst te Bewerken Bestanden Grafisch op Linux Met kde

Het configureren van een Gevangenis

Gevangenissen kunt u verbinding in en uit fail2ban de monitoring. Als de instellingen niet overeenkomen met die u wilt toepassen op de gevangenis, kunt u specifieke waarden voor de duur van een, findtime, en maxretry.

Scroll naar beneden om over de lijn 280, en je zult zien dat de [sshd] sectie.

Hier kunt u de waarden instellen voor de SSH verbinding gevangenis. Om deze gevangenis in de monitoring en het verbieden, moeten we de volgende regel te typen:

enabled = true

We hebben ook deze regel:

maxretry = 3

De standaard instelling is vijf, maar we willen meer oppassen met het gebruik van SSH verbindingen. We lieten het aan drie, en dan opgeslagen en het dossier gesloten.

We toegevoegde deze gevangenis te fail2ban de monitoring -, en stond een van de standaardinstellingen. Een gevangenis kan gebruik maken van een combinatie van standaard en de gevangenis-specifieke instellingen.

Het inschakelen van fail2ban

Zo ver, we hebben geïnstalleerd fail2ban en geconfigureerd. Nu, wij hebben om te kunnen draaien als een auto-start-dienst. Dan moeten we om te testen om ervoor te zorgen dat het werkt zoals verwacht.

Voor het inschakelen van fail2ban als een service, gebruiken we de opdracht systemctl:

sudo systemctl enable fail2ban

We gebruiken het ook om de service te starten:

sudo systemctl start fail2ban

We kunnen de status van de service via systemctl ook:

sudo systemctl status fail2ban.service

Alles ziet er goed uit—wij hebben het groene licht, dus alles is goed.

Laten we eens kijken als fail2ban is het ermee eens:

sudo fail2ban-client status

Dit is een afspiegeling van wat we de set-up. Wij hebben ingeschakeld een enkele gevangenis, genaamd [sshd]. Als we de naam van de gevangenis met onze vorige opdracht, kunnen we een dieper kijkje nemen op:

sudo fail2ban-client status sshd

Dit geeft een overzicht van het aantal storingen en verboden IP-adressen. Natuurlijk, alle statistieken zijn nul is op het moment.

Het Testen Van Onze Gevangenis

Op een andere computer, maken wij een SSH-verbinding voor onze test machine en doelbewust typefout in het wachtwoord. Je krijgt drie pogingen om het wachtwoord te krijgen recht op elke poging.

De maxretry waarde trigger na drie mislukte pogingen, niet drie mislukte wachtwoord pogingen. Dus, we moeten typt u een onjuist wachtwoord drie keer te mislukken poging één.

We zullen daarna nog een poging tot verbinding en typ het wachtwoord verkeerd nog drie keer. Het eerste onjuiste wachtwoord poging van de derde verbinding aanvraag moet leiden tot fail2ban.

Na de eerste onjuiste wachtwoord op de derde verbinding verzoek, krijgen we niet een reactie van het externe apparaat. We krijgen geen uitleg; we gewoon de koude schouder.

U moet druk op Ctrl+C om terug te keren naar de opdrachtprompt. Als we proberen een keer, krijgen we een ander antwoord:

ssh dave@ubuntu20-04.local

Eerder, het foutbericht “Permission denied.” Deze keer, de verbinding is ronduit geweigerd. We persona non grata. We zijn verboden.

Laten we eens kijken naar de details van de [sshd] gevangenis opnieuw:

sudo fail2ban-client status sshd

Er waren drie fouten, en een IP-adres (192.168.4.25) werd verboden.

Zoals we eerder vermeld, fail2ban dwingt verboden door het toevoegen van regels voor de firewall. Laten we nog eens kijken naar de regelset (was leeg):

sudo iptables -L

Een regel is toegevoegd aan de INGANG beleid, het verzenden van SSH verkeer naar de f2b-sshd keten. De regel in de f2b-sshd keten verwerpt SSH verbindingen toe van 192.168.4.25. We hadden het niet wijzigen van de standaardinstelling voor de duur, dus, in 10 minuten, wordt het IP-adres zal worden unbanned en kunnen nieuwe aansluiting aanvragen.

Als u een langere ban duur (aantal uren), maar u wilt toestaan dat een IP-adres aan een andere verbinding aanvraag eerder in te voeren, kunt u voorwaardelijke vrijlating vroeg.

Wij typ het volgende om dit te doen:

sudo fail2ban-client ingesteld sshd unbanip 192.168.5.25

Op onze externe computer, als we een andere SSH-verbinding de aanvraag en het juiste wachtwoord typt, zullen we het toegestaan om te verbinden:

ssh dave@ubuntu20-04.local

Simpel en Effectief

Eenvoudiger is het meestal beter, en fail2ban is een elegante oplossing voor een lastig probleem. Het duurt heel weinig configuratie en legt nauwelijks overhead—voor u of uw computer.

LEES VERDER

  • “Kan Je iPhone Gehackt Worden?
  • “Hoe Je Facebook Foto’ s en Video van Google Foto ‘ s
  • “Het Maken van een Aangepaste Zoom Achtergrond
  • “Hoe om te Zoeken in Sms-Berichten op de iPhone of iPad
  • “Het Beheren van Uw LinkedIn-Privacy Instellingen