Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 14709|Svar: 2

[Web] nginx är DDOS-skyddat enligt http_user_agent

[Kopiera länk]
Publicerad på 2016-12-20 10:37:01 | | |

Frontend squid reverse proxy till nginx
nginx är DDOS-skyddat enligt http_user_agent
Först, granska åtkomstloggarna för att identifiera egenskaperna hos de misstänkta besöken som hittats http_user_agent, och filtrera sedan bort dem
"Mozilla/4.0 (kompatibel; MSIE 5.01; Windows NT 5.0; MyIE 3.01)Cache-Control: no-store, must-revalidate"
If ($http_user_agent ~ must-revalidate) {
Återvända 503;
}
#这样就返回503错误
Plats = / {
inkludera 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, om det är MSIE 5.01, kasta den bara till en annan plats, till exempel genom att peka på www.qq.com för att se om den kan motstå, haha
proxy_hide_header Cache-kontroll;
Gå slutligen tillbaka till Cache-Control och besök sidan
Nu är länken cachad till frontend-squiden, och applikationsservern kraschar inte
#########################################################
Detaljerad beskrivning av parametrarna för platsmodulen i nginx
Nginx's Location kan ha följande matchningar:
1. = Strikt matcha denna fråga. Om du hittas, sluta leta.
2. ^~ Matcha prefixet för vägen, om du hittas, sluta söka.
3. ~ är en regelbunden matchning med stor och avgörande   
4. ~* är en case insensitiv match
5. !~ och !~* är mellanlägeskänsliga respektive mellanlägeskänsliga mismatcher

Fil- och katalogmatchning
* -f och !-f används för att avgöra om en fil finns
* -d och !-d används för att avgöra om en katalog existerar
* -e och !-e används för att avgöra om en fil eller katalog existerar
* -x och !-x används för att avgöra om en fil är körbar eller inte

Några av de tillgängliga globala variablerna
$args
$content_längd
$content_type
$document_root
$document_uri
$host
$http_user_agent
$http_cookie
$limit_rate
$request_body_file
$request_metoden
$remote_addr
$remote_port
$remote_user
$request_filnamn
$request_uri
$query_sträng
$scheme
$server_protokoll
$server_addr
$server_name
$server_port
$uri

Flaggan efter omskrivning kan vara:
Sista
Bryt
Omdirigering
Permanent

proxy_pass http://localhost:80;
proxy_set_header Programledare $host;
Du kan automatiskt ändra domännamnsinformationen efter vidarebefordran




Föregående:C#-lösning för att inte kunna komma åt frigjorda objekt
Nästa:PowerShell omvandlar flera mellanrum till ett enda mellanrum för att ta bort överflödiga mellanrum
 Hyresvärd| Publicerad på 2016-12-20 10:37:25 |

Servern påverkas av cc (angriparen använder proxyservern för att generera legitima förfrågningar till offrets värd, implementera DDOS och förklä sig, det kallas: cc (ChallengeCollapsar). ) attack, kan Nginx helt enkelt hantera det.

Eftersom användaragenten för en CC-angripare vanligtvis är fast, använder vi nginx för att bedöma useragatet för att hantera CC-attacker.
I nginx-serverkonfigurationen

(1) useragent är lika med en viss funktion (kasuskänslig)
if ($http_user_agent ~* OliveHC3){
   retur 403;
}
(2) useragent innehåller en viss funktion (inte kasuskänslig)
if ($http_user_agent ~* (*OliveHC3*)){
   retur 403;
}
(3) useragent är en tom funktion
om ($http_user_agent ~ ^$){
        retur 403;
}


På så sätt återgick anfallet till 403.
 Hyresvärd| Publicerad på 2016-12-20 11:03:41 |

1. $remote_addr och $http_x_forwarded_for används för att registrera klientens IP-adress;
2.$remote_user: Används för att registrera klientens användarnamn;
3.$time_local: Används för att registrera åtkomsttid och tidszon;
4.$request: URL och HTTP-protokoll som används för att spela in förfrågningar;
5.$status : Används för att registrera statusen på begäran; Framgång är 200,
6.$body_bytes_s ent: Registrerar storleken på huvudinnehållet i filen som skickas till klienten;
7.$http_referer: används för att registrera besök från länken på den sidan;
8.$http_user_agent: Registrera relevant information i klientwebbläsaren;
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com