Hulpartikel overzicht

Hulpartikel

Ik heb last van brute-force aanvallen op mijn VPS

Helaas zijn er op het Internet een groot aantal botnets actief welke continu alle IP(-ranges) scannen om te zien of ze een hit krijgen op poort 22 (SSH) en in sommige gevallen ook poort 21 (FTP). Omdat een dermate grote hoeveelheid IP's / computers zich hieraan schuldig maakt, kunnen wij deze niet blokkeren dan wel weigeren van ons netwerk.

Ook weten een groot deel van de gebruikers van die IP's überhaupt niet dat ze besmet zijn en deel van een botnet uitmaken. Daardoor zou het door ons blokkeren van dat IP later voor een hoop problemen kunnen zorgen (zoals het niet kunnen bereiken van websites binnen ons netwerk), wat wij uiteraard liever voorkomen.

bruteforce log van DirectAdmin

Voorbeeld van een brute-force monitor overzicht uit een DirectAdmin installatie

Wat kan ik tegen deze aanvallen doen?

  • Verander de poort waarop SSH luistert / actief is:
    Wanneer je via de console of via SSH inlogt op je VPS dan kun je met behulp van je favoriete editor (zoals vi of nano) het bestand /etc/ssh/sshd_config openen. In alle pre-installed images en bij gebruik van openSSH is dat het configuratiebestand van je SSH-server. Standaard zijn vrijwel alle regels "commented" zodat de default instellingen gebruikt worden. Wanneer je hier de # weghaalt voor "#Port 22" en 22 vervangt door een andere poort, kun je voortaan SSH-verbindingen opzetten via die poort. Kwaadwillenden zullen nog steeds poort 22 proberen, maar daar luistert de SSH-server niet langer op.

    Let er wel op dat je geen poort kiest die al door een ander bekend protocol in gebruik is! Sla de wijzigingen op en herstart sshd of de VPS in zijn geheel om de nieuwe instellingen actief te maken. Daarnaast kan het bij het kiezen van een hoge poort zoals bijvoorbeeld 12345 nog wel noodzakelijk zijn deze poort open te zetten in de firewall, doe dit dan ook eventueel nog voordat je SSH of de server herstart met de wijzigingen.

    Je kunt ditzelfde doen voor je FTP-server (al zijn daar aanzienlijk minder aanvallen op), alleen is het dan afhankelijk van de gebruikte FTP-server waar het betreffende configuratiebestand terug te vinden is. Voor PureFTPd is dit bijvoorbeeld /etc/pure-ftpd.conf, voor vsFTPd is dit /etc/vsftpd.conf.
     
  • Installeer een anti-bruteforce oplossing:
    Je kunt bijvoorbeeld kijken naar Fail2Ban of SSHguard. Voor Fail2Ban kun je onze handleiding gebruiken.

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.

1
xenmaster 24 november 2017 (#376)

Fail2ban is blijkbaar inmiddels compatible met firewalld. Alleen de Red Hat distributies (Red Hat, CentOS en Fedora) hebben standaard firewalld geïnstalleerd.

Het is een management tool en geen vervanging van iptables. De echte vervanging van iptables is nftables, maar firewalld gebruikt feitelijk iptables zelf.

Andere mogelijkheden zijn pam-shield wat ik zelf gebruik, helaas is het pakket slecht onderhouden en bevat het geen (systemd) opstart script wat wel nodig is om de block(rules) te laden na een herstart.

Echter pam-shield (libpam-shield) kan ook gebruik maken van ip routing blackholes, wat dus onafhankelijk van de firewall werkt. Het voordeel is dus dat de configuratie uiterst simpel is en dat je geen last hebt van andere firewalls. De hosts die jou steeds lopen te bestoken zien hun pakketjes gewoon verdwijnen in een zwart gat.

Libpam-shield is in elk geval beschikbaar voor Debian en Ubuntu.

Installatie is in principe niet moeilijker dan een startup commando toevoegen aan /etc/rc.local.

Het configuratie-bestand is verder doodsimpel. Je hebt dit in 5 minuten voor elkaar.

Voeg toe aan rc.local:

shield-purge -l | grep ip | awk '{print $2}' | while read i; do shield-trigger add $i; done

Verander in /etc/security/shield.conf "block unknown-users" in "block all-users" en je bent klaar.

Als je activiteit wilt zien in syslog, verander nog "debug off" in "debug on". De rest spreekt voorzich.

Kom je er niet uit?

Ontvang persoonlijke hulp van onze supporters

Neem contact op