Hulpartikel overzicht

Hulpartikel

Fail2ban bruteforce beveiliging installeren en configureren

Fail2ban beschermt je VPS door IP's te bannen waarvandaan pogingen worden gedaan om je VPS binnen te dringen. Fail2ban scant de logbestanden van je VPS om te bepalen welke IP's gebannen worden (e.g. /var/log/apache/error_log). Er wordt gescand op te veel foutieve password-pogingen, zoeken naar exploits, etcetera.

Daarnaast is het ook mogelijk om automatisch een rapport naar jezelf en de eigenaar van het aanvallende IP te laten sturen. Fail2ban komt met filters voor verscheidene services (Apache, Courier, SSH, etcetera).


Fail2ban installeren

AlmaLinux

Stap 1

Update eerst je VPS:

sudo dnf -y update

 

Stap 2

Fail2ban is niet opgenomen in het officiële AlmaLinux package repository. Het is wel opgenomen in Extra Packages for Enterprise Linux (EPEL). Installeer dan ook eerst de laatste EPEL-release.

sudo dnf -y install epel-release

 

Stap 3

Installeer vervolgens Fail2ban met het commando:

sudo dnf -y install fail2ban

Krijg je een foutmelding? Update dan eerst nog een keer je VPS met 'sudo dnf -y update'


 

Stap 4

Vervolgens zorg je dat Fail2ban met je VPS automatisch start en zet je Fail2ban met onderstaande commando's aan:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Ga nu verder met de configuratie van Fail2ban.

CentOS

Stap 1

Update eerst je VPS:

sudo yum -y update

 

Stap 2

Fail2ban is niet opgenomen in het officiële CentOS package repository. Het is wel opgenomen in Extra Packages for Enterprise Linux (EPEL). Installeer dan ook eerst de laatste EPEL-release.

sudo yum -y install epel-release

 

Stap 3

Installeer vervolgens Fail2ban met het commando:

sudo yum -y install fail2ban

Krijg je een foutmelding? Update dan eerst nog een keer je VPS met 'sudo yum -y update'


 

Stap 4

Vervolgens zorg je dat Fail2ban met je VPS automatisch start en zet je Fail2ban met onderstaande commando's aan:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Ga nu verder met de configuratie van Fail2ban.

Ubuntu

Stap 1

Update eerst je VPS:

sudo apt -y update

 

Stap 2

Fail2ban is in tegenstelling tot CentOS standaard opgenomen in de officiële Ubuntu package repository. Je installeert Fail2ban met het commando:

sudo apt -y install fail2ban

 

Stap 3

Vervolgens zorg je dat Fail2ban met je VPS automatisch start en zet je Fail2ban met onderstaande commando's aan:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Ga vervolgens verder met de configuratie van Fail2ban.

Debian

Stap 1

Update eerst je VPS:

sudo apt -y update

 

Stap 2

Fail2ban is in tegenstelling tot CentOS standaard opgenomen in de officiële Debian package repository. Je installeert Fail2ban met het commando:

sudo apt -y install fail2ban

 

Stap 3

Vervolgens zorg je dat Fail2ban met je VPS automatisch start en zet je Fail2ban met onderstaande commando's aan:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Ga vervolgens verder met de configuratie van Fail2ban.

Fail2ban configureren

 

Standaard gebruikt Fail2ban /etc/fail2ban/jail.conf om vast te stellen welke acties het wanneer uitvoert. Eventuele aanpassingen die je in jail.conf maakt worden echter overschreven bij updates van Fail2ban. Dit is niet het geval bij het bestand /etc/fail2ban/jail.local. Daarnaast krijgt de inhoud van jail.local voorrang op die van jail.conf. Je gebruikt dan ook het bestand jail.local om een configuratie voor Fail2ban op te zetten.

Gebruik alleen de delen uit de configuratie hieronder die van toepassing zijn op jouw VPS! Gebruik je geen Exim, voeg dat deel dan niet toe. Hetzelfde geld voor het Postfix-deel. Het SASL-deel gebruik je alleen als je gebruikmaakt van onze mailservice.

Stap 1

Maak eerst het bestand jail.local aan:

sudo nano /etc/fail2ban/jail.local

 

Stap 2

Voeg onderstaande code toe en pas de waardes aan naar eigen behoefte. Een toelichting van de opties vind je onder de code (tip: gebruik Putty en copy-paste de inhoud hieronder). Let vooral op dat je de banaction aanpast waar nodig (het voorbeeld beschrijft CentOS 7.4+, CentOS 8 en AlmaLinux).

Pas onderstaande gegevens (sender, destemail en ignoreip) aan naar je eigen gegevens en gebruik enkel de jails van software die je daadwerkelijk op je VPS gebruikt (e.g. Exim of Postfix, maar niet beide. Je kunt controleren welke je gebruikt op je VPS met het commando systemctl status exim / postfix).

Gebruik je onze VPS mailservice? Voeg dan het stukje onder '[sasl]' toe en zie stap 5 verder hieronder.

[DEFAULT]
# Ban for X amount of time
bantime = 604800
findtime = 3600
sender = fail2ban@voorbeeld.nl
destemail = admin@voorbeeld.nl
action = %(action_mwl)s 
banaction = iptables-multiport
maxretry = 3
ignoreip = jeipadres

[sshd]
enabled = true
port = ssh 
# vervang hierboven ssh door je ingestelde SSH poort nummer.

[exim]
enabled = true

filter = exim
logpath = /var/log/exim/mainlog
# gebruik je cPanel? Vervang dan bovenstaande regel door logpath = /var/log/exim_mainlog
# voor debian, gebruik je /var/log/exim4/mainlog

[postfix]
enabled = true
port = smtp, ssmtp
filter = postfix

failregex = \[<HOST>]: 535 Incorrect authentication data
logpath = /var/log/maillog

[dovecot]
enabled = true
port = pop3,pop3s,imap,imaps
filter = dovecot
logpath = /var/log/maillog

[sasl]
enabled = true
port = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s
filter = sasl
logpath = /var/log/maillog

Toelichting Fail2Ban jail.local configuratie

Fail2ban gebruikt zogeheten 'Jails'. Een jail kun je zien als de configuratie voor een specifiek stuk software op je VPS waarin je zaken definieert zoals welke service en poort er gebruikt wordt en welke log file gescand wordt door Fail2ban. Hierboven is bijvoorbeeld het stukje onder [Exim] een jail.

[Default]

  • bantime: Een bantime van 60 is 1 minuut, 3600 1 uur, 86400 1 dag en 604800 1 week, etcetera.
  • findtime: Hiermee defnieer je hoever in het verleden Fail2ban je logbestanden controleert. Standaard staat dit op 600 (10 minuten). Als een IP één aanval uitvoert iedere 10 minuten zou Fail2ban dit niet aanmerken omdat pas bij vijf aanvallen (zie maxretry) binnen 10 minuten actie ondernomen wordt.
  • sender (optioneel): Het e-mailadres dat notificaties van Fail2ban-acties verstuurt naar de aanvaller. Het configureren van een uitgaande mailserver en een mailadres op je VPS dat je hiervoor kunt gebruiken, valt buiten de scope van deze handleiding.
  • destemail (optioneel): Je eigen e-mailadres waar notificaties van Fail2ban-acties naar worden gestuurt. Het configureren van een uitgaande mail server en een mailadres op je VPS dat je hiervoor kunt gebruiken valt buiten de scope van deze handleiding.
  • action (optioneel): De defaultoptie %(action_)s bant het IP van de aanvaller. Daarnaast stuurt %(action_mwl)s een e-mailnotificatie inclusief WHOIS-data en logfile-data.
  • banaction: Met banaction geef je aan welke firewall je gebruikt. Ufw is bijvoorbeeld de standaard voor Ubuntu en Debian. Je kunt in jail.local firewalld of iptables als volgt specificeren:
    • firewalld: banaction = firewallcmd-ipset
      Let op: firewallcmd-ipset werkt niet meer vanaf CentOS 7.3 en nieuwer. Gebruik bij CentOS 7.3+ en AlmaLinux banaction = iptables-multiport
    • iptables: banaction = iptables-multiport
    • ufw: banaction = ufw
  • maxretry: Hier kun je het aantal maximale pogingen aangeven dat iemand mag doen (bijvoorbeeld foutieve aanmeldpogingen) voor de actie onder 'action' wordt uitgevoerd. Wij raden aan dit vrij laag te zetten, bijvoorbeeld op 3 en over minimaal een periode van 1 - 2 uur (onder findtime) in te stellen. Er zijn namelijk veel bots die niet meer dan +- 5 keer per +- 1.5 uur aanvallen.
  • sshd enabled: Hiermee worden ssh-verbindingspogingen gemonitord en IP's gebannen wanneer zij meer pogingen doen dan onder maxretry is gedefinieerd.
  • ignoreip: Geef hier je eigen IP op. Als je je wachtwoord vergeet, dan wordt je IP na het aantal pogingen onder 'maxretry' niet direct gebannen. Gebruik je onze TCP-monitoring? Voeg dan de IP's 87.253.155.102 en 80.69.67.10 ook toe.

[SSHD] (SSH server)

  • enabled: Schakelt de beveiliging in voor je SSH(D)-verbinding
  • port: Hier geef je op welke poort beveiligd wordt. Met de waarde 'ssh' vertel je Fail2ban de ingestelde SSH-poort te gebruiken.

[exim] (uitgaande mail)

  • enabled: Schakelt de beveiliging in voor je Exim-verbinding
  • filter: Geeft aan welk filter gebruikt wordt. Voor Exim is geen filter aanwezig en maak je apart aan in stap 3 en 4.
  • failregex: Dit zijn foutmeldingen waar de log gedefinieerd onder 'logpath' op doorzocht wordt.
  • logpath: Het logbestand dat Fail2ban doorzoekt. Let op: dit kan per systeem verschillen. cPanel en DirectAdmin gebruiken beide Exim en hanteren bijvoorbeeld verschillende locaties voor de mail log. Controleer deze dan ook van tevoren en pas die aan naar de daadwerkelijke locatie.

[postfix] (uitgaande mail)

  • enabled: Schakelt de beveiliging in voor je Postfix-verbinding
  • port: Hier geef je op welke poort beveiligd wordt. Met de waarde 'smtp, ssmtp' vertel je Fail2ban de ingestelde SMTP-poort te gebruiken.
  • filter: Geeft aan welk filter gebruikt wordt. Fail2ban komt met een aantal filters die in /etc/fail2ban/filter.d/ zijn opgenomen, waaronder het postfix fillter die hier aangeroepen wordt.
  • failregex: Dit zijn foutmeldingen waar de log gedefinieerd onder 'logpath' op doorzocht wordt.
  • logpath: Het logbestand dat Fail2ban doorzoekt.Let op: dit kan per systeem verschillen. Controleer deze dan ook van tevoren en pas die aan naar de daadwerkelijke locatie.

[dovecot] (inkomende mail)

  • enabled: Schakelt de beveiliging in voor je Dovecot-verbinding
  • port: Hier geef je op welke poort beveiligd wordt. Met de waarde 'pop3, pop3s, imap, imaps' vertel je Fail2ban de ingestelde pop3- en imap-poorten te beveiligen.
  • filter: Geeft aan welk filter gebruikt wordt. Fail2ban komt met een aantal filters die in /etc/fail2ban/filter.d/ zijn opgenomen. In dit geval wordt het meegeleverde dovecot filter gebruikt.
  • logpath: Het logbestand dat Fail2ban doorzoekt.

[SASL] (bij gebruik van relay, zoals onze VPS-mailservice)

  • enabled: Schakelt de beveiliging in voor SASL (authenticatie en data beveiligingssysstem in internet protocollen)..
  • port: Hier geef je op welke poort beveiligd wordt. Met de waarde 'smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s' vertel je Fail2ban de bijbehorende poorten te scannen op de meldingen in het logpath, zoals gefefinieerd in het (sasl) filter.
  • filter: Geeft aan welk filter gebruikt wordt, in dit geval het sasl-filter. Het sasl-filter is niet standaard aanwezig en maak je aan in stap 5 en 6.
  • logpath: Het logbestand dat Fail2ban doorzoekt.

 

Stap 3

Gebruik je Exim (e.g. bij onze DirectAdmin en cPanel images), dan breid je de bestaande Exim configuratie eerst uit. Zo niet, ga dan door naar stap 7.

sudo nano /etc/fail2ban/filter.d/exim.conf

 

Stap 4

Voeg onderstaande inhoud aan het failregex-deel toe en sla de wijzigingen op door achtereenvolgens op ctrl + x > y > enter te drukken:

\[<HOST>\]: 535 Incorrect authentication data

Het geheel zou er dan onder [Definition] ongeveer als volgt uit moeten zien:

[Definition]

failregex = ^%(pid)s %(host_info)ssender verify fail for <\S+>: (?:Unknown user|Unrouteable address|all relevant MX records point to non-existent hosts)\s*$
            ^%(pid)s \w+ authenticator failed for (?:[^\[\( ]* )?(?:\(\S*\) )?\[\](?::\d+)?(?: I=\[\S+\](:\d+)?)?: 535 Incorrect authentication data( \(set_id=.*\)|: \d+ Time\(s\))?\s*$
            ^%(pid)s %(host_info)srejected RCPT [^@]+@\S+: (?:relay not permitted|Sender verify failed|Unknown user|Unrouteable address)\s*$
            ^%(pid)s SMTP protocol synchronization error \([^)]*\): rejected (?:connection from|"\S+") %(host_info)s(?:next )?input=".*"\s*$
            ^%(pid)s SMTP call from \S+ %(host_info)sdropped: too many nonmail commands \(last was "\S+"\)\s*$
            ^%(pid)s SMTP protocol error in "AUTH \S*(?: \S*)?" %(host_info)sAUTH command used when not advertised\s*$
            ^%(pid)s no MAIL in SMTP connection from (?:[^\[\( ]* )?(?:\(\S*\) )?%(host_info)sD=\d\S+s(?: C=\S*)?\s*$
            ^%(pid)s (?:[\w\-]+ )?SMTP connection from (?:[^\[\( ]* )?(?:\(\S*\) )?%(host_info)sclosed by DROP in ACL\s*$
            \[<HOST>\]: 535 Incorrect authentication data

ignoreregex =

 

Stap 5

Gebruik je de VPS mailservice, maak dan nog een configuratiebestand aan voor de SASL jail. Zo niet, ga dan door naar stap 7.

sudo nano /etc/fail2ban/filter.d/sasl.conf

 

Stap 6

Voeg onderstaande inhoud aan het bestand toe en sla de wijzigingen op door achtereenvolgens op ctrl + x > y > entete drukken:

# Fail2Ban configuration file
#
# $Revision$

[Definition]

# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P[\w\-.^_]+)
# Values:  TEXT
#
failregex = (?i): warning: [-._\w]+\[<HOST>\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(: [A-Za-z0-9+/ ]*)?$

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =

Stap 7

Herstart Fail2ban om de wijzigingen te verwerken:

sudo systemctl restart fail2ban

Geavanceerd / optioneel: oplopende Fail2ban-bantijd

Om te voorkomen dat Fail2ban erg fanatiek optreed en permanent een legitieme gebruiker blokkeert die even niet op zijn wachtwoord komt, is het mogelijk om als alternatief in te stellen om eerst een uur te blokkeren, vervolgens een dag, een week, etcetera.

 

Stap 1

Maak eerst het bestand /etc/fail2ban/filter.d/f2b-repeat.conf aan:

sudo nano /etc/fail2ban/filter.d/f2b-repeat.conf

 

Stap 2

Voeg de volgende inhoud toe:

[INCLUDES]
before = common.conf
[Definition]
failregex = \]\s+ban\s+<HOST>
ignoreregex = \[f2b-repeat.*\]\s+ban\s+<HOST>

 

Stap 3

Voeg in je jail.local bestand tussen de '[Default]' en '[SSHD]' passage de '[f2b-repeat]' passages uit het voorbeeld hieronder toe. Let op dat je in jouw configuratie in de [DEFAULT] passage alleen de bantime en findtime aanpast (optioneel ook de maxretry) maar verder niets:

[DEFAULT]
# Ban for X amount of time
bantime = 3600
findtime = 86400
sender = fail2ban@voorbeeld.nl
destemail = admin@voorbeeld.nl
action = %(action_mwl)s 
banaction = iptables-multiport
maxretry = 3
ignoreip = jeipadres

[f2b-repeat2]
enabled = true

filter = f2b-repeat
bantime = 86400
findtime = 604800
logpath = /var/log/fail2ban.log
maxretry = 3

[f2b-repeat3]
enabled = true

filter = f2b-repeat
bantime = 604800
findtime = 2592000
logpath = /var/log/fail2ban.log
maxretry = 3

[f2b-repeat4]
enabled = true

filter = f2b-repeat
bantime = 2592000
findtime = 15552000
logpath = /var/log/fail2ban.log
maxretry = 3

Je verhoogt de findtime zodat Fail2ban verder terugkijkt bij nieuwe pogingen. Zo zorg je ervoor dat Fail2ban herhalende aanvangers herkent, maar ook steeds strenger controleert.


 

Stap 4

Geef je zoals hierboven de directory van het logbestand van Fail2ban op, dan zal Fail2ban niet starten. Dit kun je oplossen door eerst het Fail2ban.log-bestand aan te maken:

sudo touch /var/log/fail2ban.log

 

Stap 5

Vervolgens kun je Fail2ban (her)starten:

sudo systemctl restart fail2ban

Geavanceerd / optioneel: extra filters / jails

Fail2ban komt met een aantal filters/jails die je terugvindt in /etc/fail2ban/filter.d/ :

 

Stap 1

Bekijk de standaard filters/jails met:

ls /etc/fail2ban/filter.d/

Je ziet een overzicht zoals hieronder:

fail 2 ban jails overview

Kies de naam van het filter dat je wilt gebruiken, bijvoorbeeld apache-auth.conf


 

Stap 2

Open je jail opnieuw:

sudo nano /etc/fail2ban/jail.local

 

Stap 3

Je voegt nu het filter jail toe aan met de volgende syntax:

[jailname]
enabled = true
filter = jailname
logpath = /var/log/jelogbestand
  • [jailname]: Vervang deze naam door een naam naar keuze zodat je deze eenvoudig herkent als je de status van Fail2ban controleert.
  • enabled: Moet altijd true zijn, anders staat je jail niet aan.
  • filter: Geef hier de naam op van de jail die je gekozen hebt. Heb je bijvoorbeeld bij Stap 1 apache-auth.conf uitgekozen, vul hier dan apache-auth in.
  • logpath: Hier geef je op welk bestand Fail2ban scant om te zoeken naar aanvallen op je VPS.

Aanvullende tips en commando's:

De status van Fail2ban controleer je met het commando:

sudo fail2ban-client status

De logs van Fail2ban bekijk je met een van de volgende commando's:

sudo nano /var/log/fail2ban.log
sudo vi /var/log/fail2ban.log
sudo cat /var/log/fail2ban.log

Wil je controleren of Fail2ban nog aan staat, gebruik dan:

sudo systemctl status fail2ban

Je herstart Fail2ban na een wijziging met:

sudo systemctl restart fail2ban

Handmatig bannen / unbannen

Handmatig bannen

Als iemand heel geduldig is en één keer per uur probeert in te loggen, kun je er ook voor kiezen zijn/haar IP handmatig te bannen. Kies hiervoor eerst een jail, die je terugziet in de output van het commando:

sudo fail2ban-client status

Gebruik daarna het volgende commando om een IP te bannen, waarbij je 'JAIL' vervangt door de gekozen jail en xxx.xxx.xxx.xxx door het aanvallende IP-adres:

sudo fail2ban-client -vvv set JAIL banip xxx.xxx.xxx.xxx

Handmatig unbannen

Het kan gebeuren dat iemand onbedoelt geband wordt, bijvoorbeeld na meerdere keren een verkeerd wachtwoord te hebben opgegeven voor het verbinden via SSH (gebruik de VPS-console als je zelf geband bent). Je kunt in dat geval een IP-adres weer unbannen met het commando:

sudo fail2ban-client set JAIL unbanip xxx.xxx.xxx.xxx

Vervang 'JAIL' door de jail waar het IP-adres voor geband is en xxx.xxx.xxx.xxx door het aanvallende IP-adres.

Weet je niet zeker in welke jail het IP-adres is opgenomen? Bekijk dan je fail2ban log, bijvoorbeeld met het commando:

sudo nano /var/log/fail2ban.log

Zoek het specifieke IP-adres in het geopende logbestand door achtereenvolgens ctrl + w (whereis in nano) in te drukken en daarna het IP-adres op te geven waar je op wil zoeken.


 

De installatie en configuratie van Fail2ban op je VPS is hiermee voltooid. Je VPS is nu beveiligd tegen bruteforce-aanvallen!

    Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.

    Wil je dit artikel met andere gebruikers bespreken, laat dan vooral een bericht achter onder 'Reacties'.

    Heb je ook een goed idee?

    Stuur jouw idee in! Met genoeg stemmen komt jouw idee op onze wishlist!

    Heeft dit artikel je geholpen?

    Maak een account aan of log in om een beoordeling achter te laten.

    Reacties

    Maak een account aan of log in om een reactie te plaatsen.

    0
    leyla20 10 december 2021 (#7021)

    @bermpje, ook voor AlmaLinux 8 moet je Defintion schrijven i.p.v. DEFINITION @transip misschien even aanpassen/toevoegen, want steeds meer mensen zullen gaan overstappen.

    0
    flextravel 5 november 2021 (#6797)

    @bermpje, @janboeijink, Dat geldt dus ook voor Apache. Met hoofdletters start het filter niet Rob

    0
    Matthijs van Beek Admin 3 november 2021 (#6784)

    @harryfreda,

    Dat klopt, maar nu is het met uitzondering van de bantime en findtime sowieso niet de bedoeling dat je het [DEFAULT] blok uit die stap overneemt. Dat kon inderdaad duidelijker en we hebben deze stap zojuist hier ook op aangepast ter verduidelijking.

    0
    harryfreda 3 november 2021 (#6781)

    @Matthijs van Beek, Heel fijn Matthijs, maar geldt dat ook niet voor stap 3 onder "Geavanceerd / optioneel: oplopende Fail2ban-bantijd"?

    0
    Matthijs van Beek Admin 3 november 2021 (#6775)

    @harryfreda,

    Bedankt voor je feedback! We hebben zojuist het artikel hierop aangepast. Iptables-multiport is nu ook de gebruikte oplossing voor centos 8, AlmaLinux en Rocky Linux.

    0
    harryfreda 27 oktober 2021 (#6739)

    Onder Fail2ban configureren, Stap 2 (invullen jail.local) wordt 'banaction = firewallcmd-ipset' gebruikt. Sinds een eerdere update van CentOS 7 werkte de ip-blokkade niet meer. Wel leek het te werken omdat ik ip-blokkade emails kreeg. Echter de Brute Force Monitor van DirectAdmin meldde vele duizenden failed logins. Na wijziging van de banactie naar 'banaction = iptables-multiport' werkt de ip-blokkadefunctie wel. Zoekwerk op internet leverde op dat met de update naar CentOS 7.3 en hoger het commando 'firewallcmd-ipset' niet meer zou werken. Mijn verzoek is dit onder "Fail2ban configureren", "Stap 2" in de toelichting te vermelden of het commando in het zwarte vlak te wijzigen van 'banaction = firewallcmd-ipset' naar 'banaction = iptables-multiport'.

    1
    bermpje 28 mei 2021 (#5890)

    @hostmasterexpofree,

    In het filter moet je een kleine aanpassing maken, daarna werkt het (CentOS8).

    [DEFINITION]

    moet zijn

    [Definition]

    1
    peterfokkinga 7 mei 2020 (#4377)

    Als je TCP monitoring van TransIP gebruikt dan is het handig om 87.253.155.102 80.69.67.10 aan je "ignoreip" toe te voegen, anders wordt de monitoring gebanned (iig voor SMTP).

    En in Debian staat de Exim logfile in /var/log/exim4/mainlog (exim4 ipv exim)

    0
    hostmasterexpofree 3 mei 2020 (#4363)

    het script voor f2b-repeat.conf hierboven werkt niet (CentOS/Directadmin),
    Bijgevoegd de errors in fail2ban.log. (als ik de regels voor repeat vervolgens
    verwijder uit jail.local dan werkt het weer en worden diverse bans weer restored)

    2020-05-03 13:38:13,873 fail2ban.jail [15368]: INFO Creating new jail 'f2b-repeat2'
    2020-05-03 13:38:13,874 fail2ban.jail [15368]: INFO Jail 'f2b-repeat2' uses poller {}
    2020-05-03 13:38:13,875 fail2ban.jail [15368]: INFO Initiated 'polling' backend
    2020-05-03 13:38:13,875 fail2ban.transmitter [15368]: WARNING Command ['server-stream' .....
    2020-05-03 13:38:13,877 fail2ban [15368]: ERROR NOK: ("int() argument must be a string or a number, not 'NoneType'",)

    0
    Matthijs van Beek Admin 11 december 2019 (#3874)

    @egatepassionforresults,

    De Plesk-versie gebruikt inderdaad iptables, specifiek de iptables-multiport actie. Een snelle manier om dan te kijken welke IP's geband worden / of Fail2Ban aanstaat is om in Plesk onder Tools & Settings > IP Address Banning te kijken. Als Fail2Ban aan staat, zul je dan de optie 'Switch Off IP Address Banning' zien (in plaats van 'Switch On IP Address Banning).

    0
    egatepassionforresults 11 december 2019 (#3873)

    Ik gebruik de versie van Plesk. :-) Wat ik inmiddels ontdekt heb is dat deze volledig gebruik maakt van IPTABLES en niet meer van firewalld. Omdat de VPS firewall gebruik maakt van firewalld werkt het dus niet meer... Bijvoorbeeld in de SSHD jail staat: action = iptables[name=ssh, port=ssh]

    0
    Matthijs van Beek Admin 11 december 2019 (#3871)

    @egatepassionforresults,

    banaction = firewallcmd-ipset klopt inderdaad nog. Firewall-cmd --list-all zal je ook geen banned IP's laten zien. Je kunt hiervoor het beste in de Fail2Ban log kijken (e.g. cat /var/log/fail2ban.log). Voor Plesk kun je trouwens ook de in Plesk ingebouwde versie van Fail2Ban gebruiken, zie https://www.transip.nl/knowledgebase/artikel/759-plesk-tutorial-series-vps-beveiligen/

    0
    egatepassionforresults 11 december 2019 (#3870)

    Klopt deze config nog voor firewalld: banaction = firewallcmd-ipset Ik zie met firewall-cmd --list-all geen rules die van fail2ban afkomstig kunnen zijn. Hoe kan ik checken dat fail2ban daadwerkelijk firewall rules aanmaakt?

    0
    Matthijs van Beek Admin 18 september 2019 (#3531)

    @neograph734,

    Goed gespot! Ten tijde van het schrijven van dit artikel werd het exim-filter niet mee geinstalleerd met Fail2Ban. Dat was later wel het geval en daarom waren onlangs stap 4 en 5 aangepast, maar uiteraard moest dat ook aangepast worden in stap 3. Bij deze hebben wij het artikel hierop aangepast.

    0
    neograph734 17 september 2019 (#3530)

    Het voelt heel tegenstrijdig om voor exim eerst het filter exim_auth op te geven in configuratie stap 2:

    [exim]
    enabled = true
    filter = exim_auth
    logpath = /var/log/exim/mainlog
    # gebruik je cPanel? Vervang dan bovenstaande regel door logpath = /var/log/exim_mainlog

    Om vervolgens in stap 3 het /etc/fail2ban/filter.d/exim.conf filter aan te passen. Dit filter wordt dan toch helemaal niet gebruikt en fail2ban laadt alleen /etc/fail2ban/filter.d/exim_auth.conf in?

    0
    Matthijs van Beek Admin 21 mei 2019 (#3108)

    @janboeijink,

    Dat was inderdaad een slordige oversight en hebben wij zojuist aangepast. Nogmaals bedankt voor je feedback!

    0
    janboeijink 21 mei 2019 (#3107)

    @Matthijs van Beek,

    De toelichting bij jail.local is slordig knip- en plakwerk. Zo lees ik:

    • [postfix] (uitgaande mail)

    • enabled: Schakelt de beveiliging in voor je Exim-verbinding

    Idem bij dovecot en SASL. Of de rest wel klopt kan ik niet beoordelen.

    NB. Lastig kopieren omdat er een Javascript aan de uitklaptekst hangt.

    0
    Matthijs van Beek Admin 17 mei 2019 (#3086)

    @janboeijink,

    Goed gespot! Wij hebben de inleiding lichtjes aangepast om iets duidelijker te zijn.

    1
    janboeijink 16 mei 2019 (#3081)

    In de inleiding van "Fail2ban configureren" lees ik: "Dit is het het geval bij jail.local." Ik neem aan dat dit moet zijn "Dit is niet het geval bij jail.local."

    0
    Marinus Verhoeven Admin 8 mei 2019 (#3055)

    @hippeet Goed gezien! Wij gaan dit wijzigen. Dank je voor je feedback.

    0
    hippeet 6 mei 2019 (#3043)

    Bij geavanceerd punt 4 staat:

    Geef je zoals hierboven de directory van het logbestand van Fail2ban op, dan zal Fail2ban niet starten. Dit kun je oplossen door eerst het Fail2ban.log-bestand aan te maken:

    sudo echo " " >> /var/log/fail2ban.conf

    Het lijkt mij dat het voorbeeld commando moet zijn:

    sudo echo " " >> /var/log/fail2ban.log

    Dus met de extensie "log" i.p.v. "conf".

    0
    Matthijs van Beek Admin 18 juli 2018 (#1626)

    @zorgvooroverdracht

    Het deel van de Exim log heeft een kleine update gehad. Het probleem zou met de aangegeven Exim-configuratie niet nogmaals moeten voorkomen. Overigens kan een te grote logfile ook problemen veroorzaken.

    0
    zorgvooroverdracht 15 juli 2018 (#1603)

    In de fail2ban.log file zie ik staan: No 'host' group in '[]: 535 Incorrect authentication data' 2018-07-15 15:44:51,813 fail2ban.transmitter [3986]: WARNING Command ['set', 'exim', 'addfailregex', '\[\]: 535 Incorrect authentication data'] has failed. Received RegexException("No 'host' group in '\[\]: 535 Incorrect authentication data'",)

    Zo te zien iets met Exim authenticatie, welke authenticatie gaat dit exact om?

    Overigens staat er bij jail.local voor postfix, dovecot en sasl: logpath = /var/log/maillog moet dat niet mail.log zijn?

    Kom je er niet uit?

    Ontvang persoonlijke hulp van onze supporters

    Neem contact op