Das Prinzip des konventionellen Hochwasserangriffs
Wenn der zweite TCP-Handshake eine Halbverbindung herstellt, kann zu diesem Zeitpunkt ein Flutangriff gestartet werden
Das heißt, eine große Anzahl von Anfragen initiiert TCP-Verbindungen. Während des zweiten Handshakes stellt der Server diese Anfragen in die Halbverbindungswarteschlange. Da diese böswilligen angreifenden Clients den dritten Handshake nicht bestätigen, können diese Halbverbindungen nicht verarbeitet werden. Wenn Sie loslassen, wartet der Server bis zum Timeout. Zu diesem Zeitpunkt ist die Halbverbindungswarteschlange gefüllt und normale Anforderungsverbindungen können nicht beantwortet werden. Dies ist die Art und Weise eines Flutangriffs.
Wie man Überschwemmungsangriffe im Allgemeinen löst
Wenn der Syncookies-Modus aktiviert ist, berechnet der Server beim ersten Handshake und dann beim zweiten Handshake einen Hash-Wert (SHA1) basierend auf (Quelladresse, Quellport, Zieladresse, Zielport usw.) und einer Zufallszahl Die generierten Syncookies werden an den Client zurückgegeben. Wenn der Client den dritten Handshake bestätigt, sendet er die Syncookies an den Server. Wenn es übereinstimmt, wird eine TCP-Verbindung hergestellt gegründet.
Der Vorteil dieses Ansatzes: Wenn der Server keine Syncookies empfängt oder die empfangenen Syncookies nicht übereinstimmen, wird die TCP-Verbindung nicht aufgebaut. Und wenn Syncookies verwendet werden, verwaltet der Server die Halbverbindungswarteschlange nicht, das heißt, es gibt keinen Halbverbindungsstatus. Da für den Vergleich keine Halbverbindung erforderlich ist, wird die Halbverbindungswarteschlange vermieden gefüllt werden und der Empfang neuer Verbindungen verhindert wird.
Szenarien, die Syncookies nicht lösen können
Wenn eine große Anzahl von DDOS-Angriffen gestartet wird, wird auch die Syncookies-Methode gelähmt. Der Grund für die Lähmung liegt darin, dass die CPU eine große Anzahl von Syncookies berechnen muss, wodurch die CPU getötet wird. Da die Berechnung von Syncookies auch CPU-Leistung beansprucht, kann die CPU die große Menge an DDOS nicht verarbeiten. Derzeit besteht die einzige Möglichkeit darin, die Bandbreite zu erhöhen und eine feste Obergrenze zu konfigurieren.
Andere Lösungen
Erhöhen Sie die Halbverbindungswarteschlange und die Vollverbindungswarteschlange (diese Methode ist bei massiven Angriffen grundsätzlich wirkungslos).
Reduzieren Sie die Anzahl der SYN+ACK-Neuübertragungen (TCP ist auf Neuübertragungen angewiesen, um eine stabile Verbindung aufrechtzuerhalten). Das heißt, wenn es einen Flutangriff von einer großen Anzahl von Syn-Anfragen erhält, versucht der Server es erneut, wenn er bis dahin keine Antwort erhalten kann Reduzieren Sie die maximale Anzahl an Malen. Das wird Ihnen eine gewisse Erleichterung verschaffen
So überprüfen Sie, ob Sie von einer Überschwemmung angegriffen wurden