Verbeter de beveiliging van Ubuntu Server door toevoeging van een inbraakdetectiesysteem. Daarvoor wilt u zich waarschijnlijk wenden tot Fail2ban. Fail2ban controleert specifieke logbestanden (te vinden in de /var/log directory) voor mislukte inlogpogingen of geautomatiseerde aanvallen. Wanneer Fail2ban een poging tot compromittering van een IP-adres detecteert, blokkeert het het IP-adres (door een nieuwe keten toe te voegen aan het iptables-beveiligingssysteem) om toegang te krijgen tot de server. Om Fail2ban te installeren, hebt u shell-toegang nodig op elke ondersteunde versie van Ubuntu Server, met een account met sudo-rechten die de installatie van nieuwe softwarepakketten mogelijk maken.
Hoe Fail2ban te installeren
Installeer Fail2ban met Apt. Het is het beste om de installatie uit te voeren op een vers bijgewerkt serverplatform en als de kernelversie wordt bijgewerkt, start u de server opnieuw op voordat u Fail2ban installeert. Nadat de installatie is voltooid, start en schakel je Fail2ban in met de volgende twee opdrachten: sudo systemctl start fail2ban
sudo systemctl fail2ban inschakelen
type=”code”> Fail2ban draait nu op het systeem en is klaar om geconfigureerd te worden.
Configureer Fail2ban
Fail2ban is geconfigureerd met jails. Een jail definieert hoe een dienst controleert en hoe snel actie moet worden ondernomen tegen aanvallen. Uit de doos is het systeem al veilig. Het is echter ook zeer flexibel. Het hoofdconfiguratiebestand is: /etc/fail2ban/jail.conf. Bewerk dat bestand niet. Maak in plaats daarvan een nieuw bestand met de bestandsextensie .local. Fail2ban leest altijd eerst .conf-bestanden en daarna .local-bestanden. Elke configuratie die in het .local-bestand wordt gelezen, heeft voorrang op vergelijkbare configuraties in het .conf-bestand.
Voorbeeldconfiguratie
Stel dat u een aangepaste jail wilt maken voor de Secure Shell-daemon die:
- Controleer /var/log/auth.log.
- Gebruik het standaard fail2ban sshd-filter.
- Stel de SSH-poort in op 22.
- Stel de maximale herkansing in op 3.
De ssh-aanpassingen in de .local-jail zullen alle vergelijkbare configuraties in het hoofdconfiguratiebestand, jail.conf, overschrijven (de standaard maximale hernieuwde poging in jail.conf is bijvoorbeeld ingesteld op 5). Als een persoon (of bot) drie keer een SSH-inlogpoging mislukt, wordt het oorspronkelijke IP-adres verbannen met deze jail. Om dit te configureren, geeft u de opdracht: sudo nano /etc/fail2ban/jail.local
type=”code”> Plak in dit nieuwe bestand de volgende inhoud:
[sshd]
ingeschakeld = waar
poort = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
type=”code”> Sla het bestand op en sluit het, start vervolgens Fail2ban opnieuw met het commando: sudo systemctl restart fail2ban
type=”code”>
Test Fail2ban
Om Fail2ban te testen, gaat u naar een andere machine met een ander IP-adres en start u een Secure Shell-sessie op de server, waarbij u telkens het gebruikerswachtwoord verkeerd invoert. Na de derde mislukte aanmelding wordt dat gebruikersaccount verbannen.
Zelfs als u probeert terug te SSH naar de server vanaf hetzelfde IP-adres, wordt de toegang nog steeds geweigerd.
Een IP-adres deblokkeren
Unban een IP met de opdracht fail2ban-client (die samen met fail2ban is geïnstalleerd) als volgt: sudo fail2ban-client set sshd unbanip 192.168.1.100
type=”code”>