Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 14709|Atsakyti: 2

[Žiniatinklis] nginx yra apsaugotas DDOS pagal http_user_agent

[Kopijuoti nuorodą]
Paskelbta 2016-12-20 10:37:01 | | |

Frontend kalmarų atvirkštinis tarpinis serveris į nginx
nginx yra apsaugotas DDOS pagal http_user_agent
Pirmiausia peržiūrėkite prieigos žurnalus, kad nustatytumėte http_user_agent rastų įtartinų apsilankymų charakteristikas, tada juos filtruokite
"Mozilla/4.0 (suderinamas; MSIE 5.01; Windows NT 5.0; MyIE 3.01) Cache-Control: no-store, must-revalidate"
if ($http_user_agent ~ must-validate) {
grąžinti 503;
}
#这样就返回503错误
vieta = / {
įtraukti proxy.conf;
if ( $http_user_agent ~* "MSIE 5.01" ) {
proxy_pass http://www.qq.com;
#access_log /usr/local/nginx/logs/k.log pagrindinis;
      }
proxy_pass http://windows.abc.com;
}
#判断一下user agentas, jei tai MSIE 5.01, tiesiog mesti jį į kitą vietą, pavyzdžiui, nurodant į www.qq.com pamatyti, jei jis gali atsispirti, haha
proxy_hide_header talpyklos valdymas;
Galiausiai grįžkite į talpyklos valdymą ir apsilankykite puslapyje
Dabar nuoroda yra talpykloje į priekinį kalmarą, o programų serveris nesugestų
#########################################################
Išsamus vietos modulio parametrų aprašymas nginx
"Nginx" vieta gali turėti šias rungtynes:
1. = Griežtai atitikti šią užklausą. Jei randate, nustokite ieškoti.
2. ^~ Atitikti kelio priešdėlį, jei rastas, nustokite ieškoti.
3. ~ yra didžiosios ir mažosios raidės reguliarios rungtynės   
4. ~* yra didžiųjų ir mažųjų raidžių atitikmuo
5. !~ ir !~* yra atitinkamai didžiųjų ir mažųjų raidžių neatitikimai

Failų ir katalogų atitikimas
* -f ir !-f naudojami nustatyti, ar failas egzistuoja
* -d ir !-d naudojami norint nustatyti, ar katalogas egzistuoja
* -e ir !-e naudojami norint nustatyti, ar failas arba katalogas egzistuoja
* -x ir !-x naudojami norint nustatyti, ar failas yra vykdomas, ar ne

Kai kurie galimi visuotiniai kintamieji
$args
$content_ilgis
$content_tipas
$document_šaknis
$document_uri
$host
$http_vartotojo_agentas
$http_slapukas
$limit_norma
$request_kūno_failas
$request_metodas
$remote_addr
$remote_prievadas
$remote_vartotojas
$request_failo pavadinimas
$request_uri
$query_eilutė
$scheme
$server_protokolas
$server_addr
$server_vardas
$server_prievadas
$uri

Vėliava po perrašymo gali būti:
Paskutinis
pertrauka
Peradresavimas
nuolatinis

proxy_pass http://localhost:80;
proxy_set_header Host $host;
Galite automatiškai pakeisti domeno vardo informaciją po persiuntimo




Ankstesnis:C# sprendimas, kai negalima pasiekti atlaisvintų objektų
Kitą:"PowerShell" paverčia kelis tarpus į vieną erdvę, kad pašalintų perteklinius tarpus
 Savininkas| Paskelbta 2016-12-20 10:37:25 |

Serverį veikia cc (užpuolikas naudoja tarpinį serverį, kad generuotų teisėtas užklausas aukos pagrindiniam kompiuteriui, įdiegtų DDOS ir užmaskuotų jį vadinamu: cc (ChallengeCollapsar). ) ataka, nginx gali tiesiog su tuo susidoroti.

Kadangi CC užpuoliko vartotojo agentas paprastai yra fiksuotas, mes naudojame nginx, kad nuspręstume, kad useragatet tvarkytų CC atakas.
Nginx serverio konfigūracijoje

(1) "UserAgent" yra lygus tam tikrai funkcijai (didžiosios ir mažosios raidės neskiriamos)
if ($http_user_agent ~* OliveHC3){
   grąžinti 403;
}
(2) "UserAgent" turi tam tikrą funkciją (neskiria didžiųjų ir mažųjų raidžių)
if ($http_user_agent ~* (*OliveHC3*)){
   grąžinti 403;
}
(3) "UserAgent" yra tuščia funkcija
if ($http_user_agent ~ ^$){
        grąžinti 403;
}


Tokiu būdu puolimas grįžo į 403 m.
 Savininkas| Paskelbta 2016-12-20 11:03:41 |

1. $remote_addr ir $http_x_forwarded_for naudojami kliento IP adresui įrašyti;
2.$remote_user: naudojamas kliento vartotojo vardui įrašyti;
3.$time_local: naudojamas prieigos laikui ir laiko juostai įrašyti;
4.$request: URL ir HTTP protokolas, naudojami užklausoms įrašyti;
5.$status : Naudojamas užklausos būsenai įrašyti; Sėkmė yra 200,
6.$body_bytes_s ent: Įrašo klientui siunčiamo failo pagrindinio turinio dydį;
7.$http_referer: naudojamas apsilankymams iš nuorodos tame puslapyje įrašyti;
8.$http_user_agent: įrašyti atitinkamą kliento naršyklės informaciją;
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com