Zum Inhalt springen
Planen wir gemeinsam die passende Software für Ihre Prozesse. Demo oder Angebot: +90 546 737 48 29

TR EN DE

DDoS- und Bot-Angriffe

DDoS (Distributed Denial of Service, verteilte Dienstblockade) zielt darauf ab, eine Website mit einer Flut von Anfragen aus sehr vielen Quellen so zu beschäftigen, dass sie echten Besuchern nicht mehr antworten kann. Dabei werden weder Daten gestohlen noch die Website verändert; das Ziel ist die Verfügbarkeit. Hinzu kommt eine alltägliche Tatsache: Ein erheblicher Teil des Datenverkehrs auf Websites stammt nicht von Menschen, sondern von automatisierten Programmen (Bots). Neben nützlichen Bots wie denen der Suchmaschinen gibt es auch solche, die Passwörter durchprobieren, Formulare ausfüllen, Inhalte kopieren oder nach Schwachstellen suchen.

Eine kleine Website kann einen großen Angriff nicht auf dem eigenen Server abfangen. Die Verteidigung beruht auf Schichten, die den Datenverkehr filtern, bevor er den Server erreicht, und darauf, dass die Website jede Anfrage mit geringem Aufwand beantworten kann. Diese Anleitung beschreibt die Anzeichen, die Vorbereitung und das Vorgehen während eines Angriffs.

Kurz gefasst

  • DDoS stiehlt keine Daten; das Ziel ist, die Website unerreichbar zu machen.
  • Der Datenverkehr sollte vor dem Server gefiltert werden: auf der Ebene von CDN und WAF.
  • Caching und Ratenbegrenzung verringern die Wirkung von Angriffen auf Anwendungsebene.
  • Die robots.txt ist keine Sicherheitsmaßnahme.
Auf dieser Seite

Begriffe und Verteidigungsschichten

  1. Unterscheiden Sie die Angriffsarten

    • Volumetrische Angriffe: Es wird so viel Datenverkehr gesendet, dass die Netzwerkanbindung ausgelastet ist. Dieser Verkehr muss im Netz des Hosting-Anbieters oder des CDN gefiltert werden, bevor er Ihren Server erreicht; mit einer Einstellung auf dem Server lässt er sich nicht aufhalten.
    • Angriffe auf Anwendungsebene: Anfragen, die wie normale Besucheranfragen aussehen, den Server aber viel kosten (Suche, Filter, Anmeldung, große Berichte), werden immer wieder gesendet. Schon mit wenig Datenverkehr können sie PHP und die Datenbank erschöpfen.
    • Schädliche Bots: Passwortversuche, unerwünschte Formulareinsendungen, Kopieren von Inhalten und Preisen, Schwachstellenscans. Einzeln wirken sie harmlos, in der Summe verbrauchen sie Ressourcen.
    Schema: Unterschiede zwischen volumetrischem Angriff, Angriff auf Anwendungsebene und schädlichem Bot-Traffic : Vergrößern
  2. Filtern Sie den Datenverkehr vor dem Server

    CDN-Dienste (Content Delivery Network) und WAF-Dienste (Web Application Firewall) stehen zwischen dem Besucher und Ihrem Server: Sie liefern statische Inhalte von ihren eigenen Servern aus, filtern verdächtige Anfragen und verbergen die tatsächliche IP-Adresse Ihres Servers. Cloudflare ist ein verbreitetes Beispiel für solche Dienste; viele Hosting-Anbieter bieten einen ähnlichen Schutz an.

    Schema: Besucher- und Bot-Traffic wird auf der Ebene von CDN und WAF gefiltert, nur saubere Anfragen erreichen den Server : Vergrößern
  3. Beantworten Sie jede Anfrage mit geringem Aufwand

    Ein Cache liefert eine fertige Kopie aus, statt dieselbe Seite bei jeder Anfrage neu zu erzeugen. Die Ratenbegrenzung beschränkt, wie viele Anfragen eine Quelle in einem bestimmten Zeitraum stellen darf. Zusammen verringern beide die Wirkung von Angriffen auf Anwendungsebene und von starkem Bot-Traffic erheblich.

    Schema: Verteidigungsschichten; CDN und WAF, Cache, Ratenbegrenzung, Formularschutz, Überwachung : Vergrößern
  4. Halten Sie einen Plan für den Ernstfall bereit

    Legen Sie im Voraus fest, wer während eines Angriffs wen anruft, welche Einstellungen aktiviert werden und über welchen Kanal die Kunden informiert werden. Ohne Plan vergeht die erste Stunde in Hektik.

    Ablaufdiagramm: im Angriffsfall prüfen, Anbieter anrufen, Schutz erhöhen, aufwendige Seiten einschränken, informieren, anschließend auswerten : Vergrößern

Anzeichen: Woran erkennt man einen Angriff?

  • Die Website wird plötzlich sehr langsam oder liefert die Fehler 502, 503 oder 504; auf dem Server stoßen Prozessor, Arbeitsspeicher oder Datenbankverbindungen an ihre Grenzen.
  • Im Zugriffsprotokoll steht eine ungewöhnlich hohe Zahl von Anfragen an dieselbe Adresse, mit derselben Browserkennung (User-Agent) oder aus demselben IP-Block.
  • Der Datenverkehr steigt plötzlich aus Ländern oder zu Uhrzeiten an, aus denen bzw. zu denen Sie normalerweise keine Besucher haben.
  • Anfragen an eine einzelne Seite wie Suche, Filter oder Anmeldung machen den Großteil des gesamten Datenverkehrs aus.
  • Über das Kontaktformular gehen viele sinnlose Einsendungen ein; auf der Anmeldeseite häufen sich fehlgeschlagene Versuche.

Nicht jede Verlangsamung ist ein Angriff. Eine Werbeaktion, ein in sozialen Medien geteilter Beitrag oder ein intensiv crawlender Suchmaschinen-Bot können dasselbe Bild erzeugen. Sehen Sie in die Protokolle, bevor Sie entscheiden: An welche Adresse gehen die Anfragen, aus welchen Quellen kommen sie und wie häufig?

Worauf Sie bei CDN und WAF achten sollten

  • Schützen Sie Ihre tatsächliche IP-Adresse: Auch nach dem Wechsel zu einem CDN lässt sich die IP-Adresse des Servers über alte DNS-Einträge, E-Mail-Header oder Subdomains herausfinden. Nehmen Sie auf dem Server nach Möglichkeit nur Webanfragen aus den IP-Bereichen des CDN an.
  • Lesen Sie die echte Besucher-IP richtig aus: Hinter einem CDN enthält REMOTE_ADDR die Adresse des CDN. Lesen Sie die Besucheradresse aus dem Header, den das CDN weiterreicht, vertrauen Sie diesem Header aber nur, wenn die Anfrage tatsächlich vom CDN kommt; andernfalls kann jeder einen gefälschten Header senden.
  • Angriffsmodus: Viele Dienste bieten einen Modus, der Besuchern während eines Angriffs eine zusätzliche Prüfung anzeigt. Finden Sie vorab heraus, wo er eingeschaltet wird.
  • Formulieren Sie Regeln mit Augenmaß: Ländersperren oder strenge Bot-Regeln können auch echte Kunden und Suchmaschinen aussperren. Testen Sie Ihre Website nach einer Änderung aus verschiedenen Netzen.

Caching: die günstigste Verteidigung

Legen Sie für Bild-, Stil- und Skriptdateien einen langfristigen Browser- und CDN-Cache fest. Verwenden Sie für Seiten, die für alle gleich sind (Startseite, Produkt- und Blogseiten), einen Seitencache; so erreicht die Anfrage PHP und die Datenbank gar nicht erst.

.htaccess (Apache)
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/webp "access plus 90 days"
    ExpiresByType image/jpeg "access plus 90 days"
    ExpiresByType image/png  "access plus 90 days"
    ExpiresByType text/css   "access plus 30 days"
    ExpiresByType application/javascript "access plus 30 days"
</IfModule>
  • Nehmen Sie Seiten, die für angemeldete Benutzer individuell sind (Warenkorb, Konto), nicht in den Cache auf.
  • Begrenzen Sie auf Seiten, deren Ergebnisse unbegrenzt wachsen können (Suche, Filter), die Zahl der Einträge pro Seite und die Seitennummer.
  • Speichern Sie die Ergebnisse aufwendiger Abfragen im Cache, und sei es nur für kurze Zeit.

Ratenbegrenzung

Am wirksamsten ist die Ratenbegrenzung auf der Ebene von CDN, WAF oder Webserver, denn dort wird die Anfrage abgelehnt, bevor sie PHP erreicht. Suchen Sie in Ihrem Hosting-Panel oder in den CDN-Einstellungen nach der Option „Rate Limiting“. Auf Anwendungsebene ist es sinnvoll, für aufwendige oder missbrauchsanfällige Endpunkte wie Anmeldung, Registrierung, Passwort-Zurücksetzung, Kontaktformular und Suche eigene Grenzen festzulegen.

PHP
<?php
// Tabelle: istek_sayaci (anahtar VARCHAR(100), zaman DATETIME, INDEX(anahtar, zaman))
// Beispiel: Kontaktformular, pro IP höchstens 5 Einsendungen in 10 Minuten
function sinirAsildi(PDO $pdo, string $anahtar, int $azami, int $dakika): bool
{
    $sorgu = $pdo->prepare(
        'SELECT COUNT(*) FROM istek_sayaci WHERE anahtar = ? AND zaman > (NOW() - INTERVAL ? MINUTE)'
    );
    $sorgu->bindValue(1, $anahtar);
    $sorgu->bindValue(2, $dakika, PDO::PARAM_INT);
    $sorgu->execute();
    if ((int) $sorgu->fetchColumn() >= $azami) {
        return true;
    }
    $pdo->prepare('INSERT INTO istek_sayaci (anahtar, zaman) VALUES (?, NOW())')->execute([$anahtar]);
    return false;
}

$anahtar = 'iletisim:' . ($_SERVER['REMOTE_ADDR'] ?? '');
if (sinirAsildi($pdo, $anahtar, 5, 10)) {
    http_response_code(429);
    header('Retry-After: 600');
    echo 'Es wurden in kurzer Zeit zu viele Nachrichten gesendet. Bitte versuchen Sie es etwas später erneut.';
    return;
}

Wird die Grenze überschritten, sorgen die Antwort 429 Too Many Requests und der Header Retry-After dafür, dass gutwillige Clients wissen, wann sie es erneut versuchen können. Im Beispiel wird der Zähler in der Datenbank geführt; für stark besuchte Websites ist ein Speicher im Arbeitsspeicher (z. B. APCu oder Redis) besser geeignet.

Schädliche Bots eindämmen

  • Die robots.txt ist keine Sicherheitsmaßnahme. Sie weist nur Bots den Weg, die sich an die Regeln halten; schädliche Bots beachten sie nicht. Wer Adressen, die verborgen bleiben sollen, in diese Datei schreibt, macht sie obendrein für alle bekannt.
  • Schützen Sie Formulare: Ein unsichtbares Köderfeld (Honeypot), eine Prüfung der Absendezeit und bei Bedarf ein Captcha verringern automatische Formulareinsendungen.
  • Begrenzen Sie Anmeldeversuche: Siehe Login- und Sitzungssicherheit.
  • Schließen Sie ungenutzte Endpunkte: API-Adressen, die Sie nicht verwenden, und alte Skripte sind Ziele automatischer Scans.
  • Sperren Sie keine Suchmaschinen-Bots aus: Ob ein Bot tatsächlich zu der Suchmaschine gehört, als die er sich ausgibt, lässt sich mit den Prüfverfahren kontrollieren, die die Suchmaschinen veröffentlichen.

Ein einfaches Beispiel für ein Köderfeld:

PHP
<form method="post" action="iletisim-gonder">
    <!-- Für Menschen unsichtbares Feld: Bots füllen es meistens aus -->
    <div style="position:absolute;left:-9999px" aria-hidden="true">
        <label for="web_adresi">Dieses Feld bitte leer lassen</label>
        <input type="text" id="web_adresi" name="web_adresi" tabindex="-1" autocomplete="off">
    </div>
    <!-- ... die eigentlichen Felder ... -->
</form>
<?php
// Auf dem Server: Ist das Feld ausgefüllt, die Einsendung stillschweigend verwerfen
if (trim((string) ($_POST['web_adresi'] ?? '')) !== '') {
    http_response_code(200);
    echo 'Ihre Nachricht ist eingegangen.';
    return;
}

Was während eines Angriffs zu tun ist

  1. Prüfen Sie die Lage: Sehen Sie in die Protokolle und auf die Serverressourcen. Sind es wirklich massenhafte Anfragen, oder ist es ein Softwarefehler oder eine volle Festplatte?
  2. Rufen Sie Ihren Hosting-Anbieter an: Einen volumetrischen Angriff können nur er oder Ihr CDN filtern. Teilen Sie mit, wann der Angriff begonnen hat und welche Anzeichen Sie sehen.
  3. Erhöhen Sie den Schutz: Schalten Sie den Angriffsmodus des CDN oder der WAF ein; verschärfen Sie die Ratengrenzen.
  4. Schränken Sie aufwendige Seiten vorübergehend ein: Schalten Sie Seiten wie Suche, Filter oder Berichte ab oder geben Sie sie nur für angemeldete Benutzer frei.
  5. Informieren Sie Ihre Kunden: Geben Sie über einen Kanal außerhalb der Website, etwa soziale Medien oder E-Mail, eine kurze Information heraus.
  6. Gehen Sie nicht auf Zahlungsforderungen ein: Wer auf Nachrichten zahlt, die Geld für das Ende des Angriffs verlangen, hat keine Garantie, dass der Angriff aufhört. Melden Sie den Vorfall Ihrem Anbieter und bei Bedarf den zuständigen Behörden.
  7. Werten Sie den Vorfall anschließend aus: Welche Adressen wurden angegriffen, welche Maßnahme hat gewirkt? Richten Sie die dauerhaften Regeln danach aus.

Starker Datenverkehr wird manchmal genutzt, um einen anderen Angriff zu verdecken. Prüfen Sie nach dem Ende des Angriffs auch Dateiänderungen und Anmeldeprotokolle.

Checkliste

  • Der DDoS-Schutz und die Support-Hotline Ihres Hosting-Anbieters sind bekannt.
  • Ein CDN oder eine WAF ist im Einsatz; es ist klar, wie der Angriffsmodus eingeschaltet wird.
  • Die tatsächliche IP-Adresse des Servers ist nicht unnötig offengelegt.
  • Statische Dateien und öffentliche Seiten liegen im Cache.
  • Für die Endpunkte Anmeldung, Formulare und Suche gilt eine Ratengrenze.
  • Die Formulare haben ein Köderfeld oder ein Captcha.
  • Verfügbarkeitsüberwachung und Benachrichtigungen sind eingerichtet.
  • Es ist schriftlich festgehalten, wer im Angriffsfall was tut; der Kanal für die Kundeninformation steht fest.

Häufige Fragen

Kann auch eine kleine Website Ziel eines DDoS-Angriffs werden?

Ja. Manchmal sind Sie selbst das Ziel, manchmal eine andere Website, mit der Sie sich den Server teilen. Viel häufiger ist allerdings starker Bot-Traffic, der kein Angriff ist, aber dieselbe Wirkung hat.

Reicht es, die angreifenden IP-Adressen per .htaccess zu sperren?

Bei Bot-Traffic aus wenigen Quellen hilft das. Bei einem verteilten Angriff sind es sehr viele Quellen, die ständig wechseln; außerdem hat die Anfrage Ihren Server dann bereits erreicht. Die dauerhafte Lösung ist, den Datenverkehr vor dem Server zu filtern.

Ist meine Website mit einem CDN vollständig geschützt?

Nein. Ein CDN ist eine starke Schicht, lässt sich aber umgehen, wenn die tatsächliche Adresse des Servers bekannt ist, und aufwendige Seiten auf Anwendungsebene können weiterhin Probleme bereiten. Denken Sie es zusammen mit Caching und Ratenbegrenzung.

Kann ich schädliche Bots mit der robots.txt aussperren?

Nein. Die robots.txt ist nur eine Richtlinie für Bots, die sich an die Regeln halten; sie verhindert keinen Zugriff. Gesperrt wird auf der Ebene von Server, WAF oder Anwendung.

BYK Yazılım Support-Team
Diese Anleitung wird vom Support-Team von BYK Yazılım erstellt und regelmäßig überprüft. Letzte Aktualisierung: 04.10.2026.

Verwandte Anleitungen

Sehen wir uns Ihre Website gemeinsam an

BYK Yazılım entwickelt Unternehmenswebsites. Schreiben Sie uns, wenn Sie Fragen zu Ihrer Website haben.

Kontakt aufnehmen Unsere Leistung: Unternehmenswebsite