wake-up-neo.net

Vermeidung von Ausfallzeiten nach DOS und IP-Änderungen

Ich habe eine kleine Firma, die Webseiten entwirft, programmiert und pflegt. Ich hosten meine Websites in einem gemeinsamen Hosting-Plan (cpanel). Ich habe vor 2 Tagen eine E-Mail erhalten, dass ein DOS-Angriff stattgefunden hat und der Provider hat die IP-Adresse geändert. Ich musste dann die Nameserver-IP ändern und auf die DNS-Weitergabe warten. Dies dauerte fast zwei Arbeitstage, in denen meine Kunden keinen Zugriff auf ihre E-Mails oder Website hatten. Die Ausfallzeiten wirken sich auch kurzfristig auf die Websites aus (Ranking usw.). Also konnte ich nur sitzen und warten, ohne irgendetwas tun zu können, während meine Kunden mich wütend anriefen (ich beschuldige sie nicht).

Meine Fragen sind also:

  • Ist es die richtige Antwort für das Hosting-Unternehmen, die IP zu ändern, wenn ein DOS-Angriff auftritt? Ich habe von einer Firma gewechselt, die früher die Server in ähnlichen Situationen heruntergefahren hat (!)
  • Was kann ich tun, um mich dagegen zu verteidigen? Obwohl ein kleines Unternehmen, hatte ich bis jetzt einen hervorragenden Ruf. Ich möchte nicht, dass das noch einmal passiert.

Der Wechsel zu einem dedizierten Server ändert nichts, wenn die IP-Adresse bei einem DOS-Angriff geändert wird. Eine andere Option, die ich gefunden habe, ist das Failover-DNS, bei dem alle Sites auf einen zweiten Server gespiegelt werden müssen (doppelte Kosten), und ich habe nicht die besten Informationen zu dieser Vorgehensweise gelesen. Gibt es noch andere Alternativen?

3
electrique

Wenn es sich um ein kleines/mittleres Unternehmen mit begrenzter Bandbreite (<1-10 Gbit/s) handelt, ist das Ändern des IP-Adresspools die beste, billigere und schnellere Option.

Nur Carrier, CDN-Anbieter oder große Unternehmen können DoS-Angriffe mit anderen Lösungen abwehren (und die Bandbreite ist für sie kein Problem).

In Bezug auf die DNS-Weitergabe benötigen Whois-Register sehr viel Zeit. DNS-Einträge können schnell geändert werden und werden so schnell weitergegeben, wie ihr TTL abläuft.

Dies ist ein Beispiel für TTL Cache:

[email protected]:~$ Dig +nocmd +noall +answer www.google.com
www.google.com.     72  IN  A   216.58.201.132
[email protected]:~$ Dig +nocmd +noall +answer www.google.com @216.239.32.10
www.google.com.     300 IN  A   74.125.206.147
www.google.com.     300 IN  A   74.125.206.104
www.google.com.     300 IN  A   74.125.206.103
www.google.com.     300 IN  A   74.125.206.99
www.google.com.     300 IN  A   74.125.206.106
www.google.com.     300 IN  A   74.125.206.105

Wenn ich nach einer DNS-Auflösung suche, beantwortet mir mein ISP-DNS eine IP mit einem TTL von 72 Sekunden. Um zu wissen, was der TTL ist, müssen Sie einen DNS-Server nach dieser Domain fragen (216.239.32.10 ist eine davon). In Google haben die Einträge eine TTL von 300 Sekunden, sodass sie ihre IP-Adresse ändern können und die Laufzeit höchstens 5 Minuten beträgt.

Die Verwendung eines Backup-DNS-Servers in einem anderen Netzwerk würde die Situation lösen.

Es gibt kostenlose sekundäre DNS-Anbieter, die Sie verwenden können. Ich benutze Twisted4Life seit einigen Jahren, aber Sie können BuddyNS auch überprüfen oder "freie sekundäre DNS" in jeder Suchmaschine suchen.

Und wenn Sie von kostenlosen sekundären DNS-Servern sprechen, können Sie CloudFlare auch als kostenlosen DNS-Server sowie als CDN verwenden, die Ihre statischen Inhalte zwischenspeichert (oder nicht, Sie können diese Funktionalität deaktivieren).

1
OscarGarcia

Ist es die richtige Antwort für das Hosting-Unternehmen, die IP zu ändern, wenn ein DOS-Angriff auftritt? Ich habe von einer Firma gewechselt, die früher die Server in ähnlichen Situationen heruntergefahren hat

Ich kann nicht sehen, dass Sie mit einer Änderung der IP-Adresse einen Vorteil erzielen, da 1, eine Änderung der IP-Adresse dazu führt, dass Ihre Website erst dann bereit ist, wenn der Domain-Name TTL abläuft. Dies kann mehrere Tage dauern. und 2, ernsthafte Hacker scannen jede einzelne IP im Internet nach Systemen, die ein leichtes Ziel für Angriffe sein können. Je nach Angriff ist es möglicherweise besser, den Server herunterzufahren.

Was kann ich tun, um mich dagegen zu verteidigen? Obwohl ein kleines Unternehmen, hatte ich bis jetzt einen hervorragenden Ruf. Ich möchte nicht, dass das noch einmal passiert.

Überprüfen Sie Ihre Systemressourcen und Websites.

Stellen Sie sicher, dass die Webserver-Software effizient ausgeführt wird

Stellen Sie sicher, dass auf Ihrem Webserver keine zu hohe Zeitlimiteinstellung festgelegt ist und dass Ihre auf Ihrem Server ausgeführten Skripts nicht verzögert werden (führen Sie beispielsweise kein Skript aus, das eine Endlosschleife enthält).

In Apache sind nur x offene Slots für die Verarbeitung von Skripten verfügbar. Sobald alle diese Steckplätze belegt sind, müssen weitere Verbindungen zu Apache warten, bis ein Steckplatz freigegeben ist. Slots werden freigegeben, sobald entweder eine Zeitüberschreitung auftritt oder das letzte Byte eines Ergebnisses (HTML-Seite oder Bild oder Rohcode usw.) gesendet wird.

Der Wert für x ist wichtig. Wenn die Einstellung zu niedrig ist, warten Gäste möglicherweise länger als gewöhnlich auf die Auslieferung einer Seite, insbesondere wenn ein Gast eine Datei mit einer Größe von mehreren Gigabyte herunterlädt. Denken Sie daran, dass jede angeforderte Ressource einen Serversteckplatz belegt. Für eine typische Seite bedeutet dies, dass für jeweils etwa 200 Millisekunden 3 Slots gleichzeitig verwendet werden können. Ein Platz für das HTML, ein Platz für das Website-Symbol (favicon.ico?) Und ein Platz für ein Bild auf der Seite.

Wenn x zu hoch eingestellt ist, kann das Gefühl von DOS noch stärker auftreten, da dann ein Auslagerungsspeicher (Speicher aus dem langsameren Speicherplatz: der Festplatte) erforderlich ist, da das System währenddessen nicht über genügend RAM verfügt versuchen, Anfragen zu bearbeiten.

Ports maximieren

Es gibt nur so viele Ports, die ein Server gleichzeitig offen haben kann. Einige Server sind so konfiguriert, dass sie eine sehr begrenzte Anzahl von Ports öffnen. Erhöhen Sie die Reichweite so weit wie möglich, ohne dass sich die von anderen System-Daemons verwendeten Ports überschneiden. Ich habe einen Server mit WHM/cpanel und habe meinen Portbereich auf 5000-65535 eingestellt.

Am Wichtigsten

Achte auf deine Skripte und achte auf dein Timimg.

Wenn Sie eine Seite erstellen, rufen Sie webpagetest.org auf und führen Sie die URL durch. Wählen Sie die Einstellung für die native Verbindung unter Verbindungsgeschwindigkeit. Wenn die Zeit bis zum ersten Byte mehr als 400 ms vom entferntesten Punkt Ihres Servers entfernt ist und das Remote-Gerät nicht mobil ist, haben Sie Probleme.

Überprüfen Sie auch, wie gesagt, alle Ihre Skripte auf Ihrem Server. Stellen Sie sicher, dass keiner von ihnen eine Endlosschleife ausführt oder anderweitig Ressourcen verbraucht. Überprüfen Sie auch die Server-Überschreibungsdateien (z. B. .htaccess, wenn Sie Apache verwenden) auf böswillige Inhalte.

Alles sichern

Zum Schluss alles sichern. Verschließen Sie Ports (indem Sie Anfragen ablegen), die die Welt nicht verdient. Ich habe den MySQL-Port geschlossen (nur für den Fall, dass sich jemand wundert, warum ihr Gesicht rot wird, wenn ich endlos versuche, auf meinen MySQL-Server zuzugreifen).

Der einzige Port, auf den alle Benutzer Zugriff haben sollten, ist Port 80, der Webserver-Port.

Öffnen Sie andere Ports nur bei Bedarf. Und auf jeden Fall Port 22 und 23 schließen, da Hacker diese Ports als Standard-Back-End-Shell-Zugriffsports kennen. Verwenden Sie einen anderen Port, wenn Sie Shell-Zugriff benötigen.

0
Mike