Virtual Server von Hosteurope unter DDoS, was soll ich machen?

Guten morgen

mein VServer ist in letzter Zeit immer wieder offline und muss den immer wieder neustarten. Ich habe ein Linux Virtual Server bei hosteurope. Wie finde ich die IP Adressen vom Angreifer und wie kann ich sie sperren??

Danke

Neuen Kommentar schreiben

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Profile picture for user Guest
Permanenter Link

Hey,

Die IP Adressen von dem Angreifer bekommst du entweder über netstat. (Das Tool zeigt dir die aktuellen Verbindungen)

netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 1 x.171.224.117 1 x.171.224.118 1 x.185.37.228 1 x.190.9.89 5 x.55.213.68 5 x.155.223.251 6 x.200.5.183 9 x.233.103.37 9 x.50.66.112 10 x.130.88.227

Mit awk kannst du dir alle IP Adressen von heute anzeigen, die einen Anfrage an deinen Server gestellt haben.
awk '/May\/2013/ {print $1};' /var/www/vhosts/DEINE-SEITE.DE/statistics/logs/access_log | sort | uniq -c | sort -rn | head -n 100

2514 x.7.216.178
367 x.55.213.68
255 x.247.249.87
200 x.173.251.219
196 x.0.47.67
188 x.69.113.2
182 x.50.66.112
153 x.228.20.186
137 x.91.245.85

Mit IPTables kannst du die IP Adresse 123.456.789.123 sperren.
iptables -I INPUT -s 123.456.789.123 -j DROP

Profile picture for user Guest
Permanenter Link

Ein anderer Ansatz wäre fail2ban zu installieren:

apt-get install fail2ban

In die /etc/fail2ban/jail.conf Datei folgendes hinzufügen:

[http-get-dos] enabled = true port = http,https filter = http-get-dos logpath = /var/www/vhosts/DEINE-SEITE/statistics/logs/access_log maxretry = 300 findtime = 120 bantime = 84600 action = iptables[name=HTTP, port=http, protocol=tcp]

Die IP wird für 24 Stunden gebannt, falls sie in 120 Sekunden 300 Anfragen sendet.

Man muss noch einen Filter erstelen. Dazu folgende Datei anlegen:
/etc/fail2ban/filter.d/http-get-dos.conf

[Definition]

failregex = ^ -.*GET
ignoreregex =

Der Filter matched alle GET Anfragen, hier könnte man mit Regulären Ausdrücken die Anfrage spezifizieren.

Suche

Neueste Kommentare

  • 4 weeks ago
    Transaction isolation level REPEATABLE-READ The recommended level for Drupal is "READ COMMITTED". (Drupal Status Report)

     Edit "/etc/my.cnf" ( under [mysqld] ):

    transaction_isolation="READ-COMMITTED"

    Restart MariaDB / MySQL:

  • 1 month ago
    Wget - Eine Webseite rekursive downloaden

    wget -U 'Mozilla/MyUserAgent' -P MyTempDir123 --wait=0.2 --random-wait -nd -r -x -l 4 -e robots=off --reject

  • 1 month ago
    Wget - Eine Webseite rekursive downloaden

    wget -U 'Mozilla/MyUserAgent2024' -P MyOutPutDirectory --wait=1 --random-wait -nd -r -l 2 -e robots=off --reject

  • 2 months 1 week ago
    CPU benchmarking with sysbench (single-threaded/all cores)

     

    # sysbench --threads="$(nproc)" cpu run

  • 2 months 1 week ago
    CPU benchmarking with sysbench (single-threaded/all cores)

    # sysbench --threads="$(nproc)" cpu run

  • 2 months 1 week ago
    Linux Autovervollständigung - bash autocomplete
    source ~/.bashrc

    Diese Lösung wird empfohlen aber hat bei mir nicht funktioniert.

    Welche Alternative gibt es?

  • 2 months 1 week ago
    PHP-CLI auf PHP8.2 umstellen (für Composer, Drush etc)

    ln -snf /opt/plesk/php/8.3/bin/php /etc/alternatives/php

  • 2 months 1 week ago
    Drush Update failed (require php >=8.2)

    In composer.json, update: 

     

  • 2 months 1 week ago
    Drupal: Anmeldung fehlgeschlagen Es hat mehr als 5 fehlerhafte Anmeldeversuche für dieses Benutzerkonto gegeben. Es ist vorübergehend gesperrt.
    drush sqlq "DELETE FROM flood"
  • 2 months 1 week ago
    Drupal SMTP + Gmail funktioniert nicht mehr (Passwort ist richtig); was ist die Lösung?