Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 14709|Antwort: 2

[Web] nginx ist laut http_user_agent DDOS-geschützt

[Link kopieren]
Veröffentlicht am 20.12.2016 10:37:01 | | |

Frontend Squid Reverse Proxy zu nginx
nginx ist laut http_user_agent DDOS-geschützt
Zuerst prüfen Sie die Zugangsprotokolle, um die Merkmale der http_user_agent festgestellten verdächtigen Besuche zu identifizieren, und filtern Sie sie dann
"Mozilla/4.0 (kompatibel; MSIE 5,01; Windows NT 5.0; MyIE 3.01)Cache-Control: no-store, muss-revalidate"
if ($http_user_agent ~ must-revalidate) {
Rückkehr 503;
}
#这样就返回503错误
Standort = / {
include: proxy.conf;
if ( $http_user_agent ~* "MSIE 5.01" ) {
proxy_pass http://www.qq.com;
#access_log /usr/local/nginx/logs/k.log main;
      }
proxy_pass http://windows.abc.com;
}
#判断一下user-Agent, wenn es MSIE 5.01 ist, wirf ihn einfach an einen anderen Ort, zum Beispiel indem du auf www.qq.com zeigst, um zu sehen, ob er widerstehen kann, haha
proxy_hide_header Cache-Kontrolle;
Gehe schließlich zurück zu Cache-Control und besuche die Seite
Jetzt wird der Link zum Frontend-Squid zwischengespeichert, und der Anwendungsserver stürzt nicht mehr ab
#########################################################
Detaillierte Beschreibung der Parameter des Standortmoduls in nginx
Nginx's Location kann folgende Übereinstimmungen haben:
1. = Diese Abfrage streng abstimmen. Wenn Sie gefunden werden, hören Sie auf zu suchen.
2. ^~ Gleiche das Präfix des Pfades ab, falls gefunden, stoppe die Suche.
3. ~ ist ein groß- und kleinschreibungssensitives reguläres Match   
4. ~* ist eine groß- und kleinschreibungslose Übereinstimmung
5. !~ und !~* sind sowohl klein- als auch kleinschreibungssensitive Fehlanpassungen

Datei- und Verzeichnisabgleich
* -f und !-f werden verwendet, um zu bestimmen, ob eine Datei existiert
* -d und !-d werden verwendet, um zu bestimmen, ob ein Verzeichnis existiert
* -e und !-e werden verwendet, um festzustellen, ob eine Datei oder ein Verzeichnis existiert
* -x und !-x werden verwendet, um zu bestimmen, ob eine Datei ausführbar ist oder nicht

Einige der verfügbaren globalen Variablen
$args
$content_Länge
$content_type
$document_root
$document_uri
$host
$http_user_agent
$http_cookie
$limit_rate
$request_body_file
$request_Methode
$remote_addr
$remote_port
$remote_user
$request_Dateiname
$request_uri
$query_string
$scheme
$server_Protokoll
$server_addr
$server_name
$server_port
$uri

Die Flagge nach der Umschreibung kann sein:
letzte
Pause
Weiterleitung
permanent sind

proxy_pass http://localhost:80;
proxy_set_header Moderator $host;
Sie können die Domain-Informationen nach der Weiterleitung automatisch ändern




Vorhergehend:C#-Workaround, um nicht auf freigelassene Objekte zugreifen zu können
Nächster:PowerShell verwandelt mehrere Leerzeichen in ein einziges Leerzeichen, um überschüssige Leerzeichen zu entfernen
 Vermieter| Veröffentlicht am 20.12.2016 10:37:25 |

Der Server ist von cc betroffen (der Angreifer nutzt den Proxy-Server, um legitime Anfragen an den Opfer-Host zu generieren, DDOS zu implementieren und es zu tarnen: cc (ChallengeCollapsar)). ) Angriff, kann Nginx damit einfach umgehen.

Da der Useragent eines CC-Angreifers in der Regel festgelegt ist, nutzen wir nginx, um useragatet für CC-Angriffe zu bewerten.
In der nginx-Serverkonfiguration

(1) Useragent ist gleich einer bestimmten Funktion (großschreibungsunsensitiv)
if ($http_user_agent ~* OliveHC3){
   Rückfahrt 403;
}
(2) Useragent enthält eine bestimmte Funktion (nicht hochschreibungssensitiv)
if ($http_user_agent ~* (*OliveHC3*)){
   Rückfahrt 403;
}
(3) Useragent ist eine leere Funktion
if ($http_user_agent ~ ^$){
        Rückfahrt 403;
}


Auf diese Weise kehrte der Angriff auf 403 zurück.
 Vermieter| Veröffentlicht am 20.12.2016 11:03:41 |

1. $remote_addr und $http_x_forwarded_for werden verwendet, um die IP-Adresse des Clients aufzuzeichnen;
2.$remote_user: Wird verwendet, um den Benutzernamen des Clients aufzuzeichnen;
3.$time_local: Wird verwendet, um die Zugriffszeit und -zeitzone aufzuzeichnen;
4.$request: URL- und HTTP-Protokoll zur Aufzeichnung von Anfragen;
5.$status : Wird verwendet, um den Status der Anfrage aufzuzeichnen; Erfolg ist 200,
6.$body_bytes_s ent: Zeichnet die Größe des Hauptinhalts der an den Client gesendeten Datei auf;
7.$http_referer: wird verwendet, um Besuche über den Link auf dieser Seite zu erfassen;
8.$http_user_agent: Erfassen Sie die relevanten Informationen des Client-Browsers;
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com