Hoe zorg je er voor dat een heel land niet meer op je server of website kan komen.

Je herkent het vast wel, ineens is daar veel verkeer uit China, Rusland of Verenigde staten terwijl je eigenlijk alleen in Nederland diensten verkoopt. Als het heel veel verkeer is of als je dit verkeer helemaal wilt weren dan leg ik je hier uit hoe je dit kan aanpakken.

Iptables

Voor deze tutorial gebruik ik IPtables, dit is vaak al standaard aanwezig in een Debian of Ubuntu server. Het is een firewall op basis van ip adressen.  Om te zien of het geïnstalleerd is kan je via de console / terminal (ssh) inloggen en geef je daar het volgende commando.

iptables –version

Als je antwoord krijgt met een versie nummer dan is Iptables geïnstalleerd. Als je het volgende antwoord krijgt: “iptables: command not found” dan heb je geen iptables en kan je er voor kiezen om dit te installeren.

Hoe installeer je iptables op linux

Voor Debian en Ubuntu kan je het volgende installatie commando gebruiken

sudo apt-get install iptables

en voor CentOs en Fedora kan je dit commando gebruiken

sudo yum install iptables

 

Het blokkeren van een heel land in iptables.

  1. Log in als Root op je server
  2. download het zone bestand
    Dit is een bestand met alle ip adres blokken die binnen dat land worden gebruikt.  voor bijvoorbeeld rusland kan je het volgende zone bestand downloaden
    wget https://www.ipdeny.com/ipblocks/data/countries/ru.zone
  3. als je nu LS typt dan zie je een ru.zone bestand in je map staan.
  4. maak nu een nieuw bestand aan en plaats een code in dit nieuwe bestand.  Ik gebruik Vim maar je kan dit ook met nano doen.
    vim block_russia.sh druk daarna op enter en het bestand komt leeg naar voren met een notitie dat het op een nieuw bestand gaat.
  5. plak de volgende code in dat bestand.
    #!/bin/bash # Block Russian IP ranges from the downloaded file for ip in $(cat ru.zone); do iptables -A INPUT -s $ip -j DROP done
    Dit script loopt door alle entries heen binnen het zone bestand om de blokken zo toe te voegen aan de iptables regels. Anders moet je dit met de hand doen.
  6. sla op en sluit Vim    :wq en druk op enter.   dit staat voor :writequit  Schrijf en sluit.
  7. Verander de rechten voor dit nieuwe shell script zodat je dit kan uitvoeren
    chmod +x block_russia.sh
  8. voer het script uit.
    ./block_russia.sh
    dit kan een aantal minuten in beslag nemen en als je server veel verkeer heeft of een beetje onder vuur wordt genomen zoals bij mij het geval was dan gaat het niet snel.
    Als het script klaar is zal het done melden en dan moet de iptables service even opnieuw worden gestart.
  9. Herstart de iptables service:
    sudo service iptables restart
    sudo service iptables save
  10. Controleer de instellingen
    sudo iptables -L -v -nAls alles goed is gegaan dan krijg je een lange lijst waar bijvoorbeeld het volgende te zien is:

    iptables block country
    Blokkeer landen in iptables linux

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.