20221031 Extra security op de Pi

Missie:

Installeer en set up van Fail2Ban op de Raspberry Pi.

In deze Raspberry Pi Fail2ban tutorial laat ik zien hoe de Fail2ban-software op uw Raspberry Pi wordt gezet en hoe je het configureert.
Fail2ban is een cruciaal stukje software als het gaat om het verbeteren van de beveiliging van de Raspberry Pi. Het is vooral handig als de Raspberry Pi publiek toegankelijk is via internet, omdat het een actieve en lerende vorm van verdediging is.
Voor degenen die niet weten wat Fail2ban is, het is een stukje software dat probeert kwaadaardige verbindingen met je apparaat te blokkeren. Het is belangrijk als je SSH toegang hebt of een webserver die publiek toegankelijk is.
Fail2ban werkt door uw logbestanden voortdurend te scannen en te zoeken naar tekenen van mogelijke aanvallen. Deze omvatten aanvallen zoals te veel wachtwoordfouten, scannen op exploits en nog veel meer. Zodra het ongebruikelijke activiteit vindt, werkt het automatisch uw firewall bij om dat IP-adres te verbieden.

fail2ban.png

Stap 1 - Breng het besturingssysteem op de laatste stand.

Open een terminal venster en type de volgende commando’s:

						sudo apt update
sudo apt upgrade

Stap 2 - Installeren en configuratie van Fail2Ban.

Zodra het systeem klaar is met updaten, kunnen we nu de Fail2Ban installeren.
Voer de volgende opdracht in een terminal venster uit om Fail2Ban te installeren.

sudo apt install fail2ban

Tijdens het installatieproces genereert fail2ban een bestand met de naam jail.conf.
We moeten een kopie van dit bestand maken en het dan jail.local noemen.
Fail2ban zal dit bestand automatisch detecteren en in de configuratie ervoor laden.
Laten we het bestand kopiëren door de volgende opdracht uit te voeren in een terminal venster van de Raspberry Pi.

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

Stap 3 - Fail2Ban instellen voor SSH.

Laten we nu doorgaan en het bestand openen dat we zojuist hebben gekopieerd en de standaardconfiguratie bekijken waarmee Fail2ban wordt geladen.
Open het bestand met behulp van de nano-editor door de volgende opdracht op uw Raspberry Pi uit te voeren.

						sudo nano /etc/fail2ban/jail.local
					

Binnen het geopende bestand zoek je naar de string [sshd] met de volgende opdracht: Ctrl+W dan voer je [sshd] in. De editor springt dan naar het gedeelte waar [ssh] is gevonden en laat het volgende zien:

						[sshd]
						 
						port    = ssh
						logpath = %(sshd_log)s
						backend = %(sshd_backend)s
					

We gaan deze sectie inschakelen door er twee regels aan toe te voegen direct na [sshd].

						enabled = true
						filter = sshd
					

De eerste regel schakelt het Fail2Ban proces in voor de gespecificeerde poort.
De tweede regel geeft Fail2Ban de opdracht om het /etc/fail2ban/filter.d/sshd.conf bestand te gebruiken om verbindingen naar de SSH poort te filteren.

Naast dat we het kunnen inschakelen en het filter kunnen instellen, kunnen we ook wijzigen wat Fail2ban moet doen wanneer iemand de filters activeert.
Om de ban-actie in te stellen, kunt je de volgende regel gebruiken. In ons voorbeeld dat we hieronder hebben, zullen we de actie iptables-multiport gebruiken.
Deze actie verbiedt de gebruiker die het filter heeft geactiveerd en beperkt de toegang tot poorten op het apparaat.

banaction = iptables-multiport

Je kunt aanvullende acties vinden door de map /etc/fail2ban/action.d/ te bekijken, hoewel je meestal een aanvaller op alle poorten wilt blokkeren.

Naast dat je de banactie kunt instellen, kun je ook het aantal pogingen instellen dat een gebruiker krijgt voordat ze worden verbannen en hoe lang ze moeten worden verbannen.
Om dit te doen kunnen we de volgende twee waarden gebruiken, we hebben enkele voorbeeldwaarden ingesteld die we hieronder zullen uitleggen.

						bantime = -1
						maxretry = 3
					

De eerste regel hierboven bantime = -1 stelt in hoe lang je wilt dat de gebruiker wordt verbannen. Deze waarde moet in seconden zijn, bijvoorbeeld 1800 seconden verbiedt de gebruiker voor 30 minuten.
Als je de gebruiker voor onbepaalde tijd wilt verbannen, kun je deze waarde instellen op -1 zoals we hebben in ons voorbeeld hierboven.

De tweede regel maxretry = 3 bepaalt hoeveel pogingen de gebruiker krijgt voordat de banactie wordt uitgevoerd. In ons voorbeeld hebben we dit ingesteld op 3, wat betekent dat de gebruiker drie kansen heeft voordat ze op alle poorten de toegang tot het apparaat worden ontzegd.

Als je eenmaal klaar bent met het configureren van de [sshd]-sectie met een ban-actie, ban-tijd, max. nieuwe pogingen, evenals het inschakelen en het instellen van het filter, zou je in moeten eindigen met iets zoals we hieronder hebben.

						[sshd]
						enabled = true
						filter = sshd
						port = ssh
						banaction = iptables-multiport
						bantime = -1
						maxretry = 3
						logpath = %(sshd_log)s
						backend = %(sshd_backend)s
					

Als je tevreden bent met de inhoud, dan bewaar je het bestand met de volgende opdracht reeks: <Ctrl-X> gevolgd door <Y> en dan <Enter>.

Je zou nu de Raspberry Pi Fail2ban succesvol moeten hebben draaien. Om ervoor te zorgen dat de Fail2ban-software de wijzigingen op de Raspberry Pi laadt, moet je de volgende opdracht invoeren binnen een terminal venster.

sudo service fail2ban restart

Stap 4 - Fail2Ban instellen voor webservers.

Je kunt een Apache- of Nginx-webserver ook beschermen met Fail2Ban. De opzet lijkt erg op wat we deden voor SSH. We gaan er hier beneden snel doorheen en een voorbeeld voor Apache doornemen. Als je bescherming voor Apache tegen slechte bots wilt inschakelen, moet je het lokale jailbestand openen.

sudo nano /etc/fail2ban/jail.local

Zoek naar de entry: [apache-badbots] met de toets combinatie Ctrl+W dan voer je [apache-badbots] in. De editor springt dan naar het gedeelte waar [apache-badbots] is gevonden .

Direct onder de header [apache-badbots] voeg je het volgende toe:

						enabled = true
						filter = apache-badbots
					

De filternaam is meestal dezelfde naam als de module, tenzij je een aangepast configuratiebestand gebruikt. [apache-badbots] hebben dus een filternaam van apache-badbots. Je kunt alle filterconfiguratiebestanden in de volgende map vinden, gebruik ls om alle bestanden weer te geven.

ls /etc/fail2ban/filter.d/

Als je tevreden bent met de inhoud van jail.local, dan bewaar je het bestand met de volgende opdracht reeks: <Ctrl-X> gevolgd door <Y> en dan <Enter>.

Dan Fail2Ban herstarten en doe dit steeds nadat je een wijziging hebt doorgevoerd.

sudo service fail2ban restart
Back to top