Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 14709|Odgovoriti: 2

[Web] Nginx je po http_user_agent zaščiten pred DDOS

[Kopiraj povezavo]
Objavljeno na 20. 12. 2016 10:37:01 | | |

Frontend squid reverse proxy do nginx
Nginx je po http_user_agent zaščiten pred DDOS
Najprej pregledajte dnevnike dostopa, da ugotovite značilnosti sumljivih obiskov, ki so jih našli http_user_agent, in jih nato filtrirajte
"Mozilla/4.0 (združljiv; MSIE 5.01; Windows NT 5.0; MyIE 3.01)Nadzor predpomnilnika: brez shranjevanja, nujno ponovno validirati"
if ($http_user_agent ~ must-revalidate) {
return 503;
}
#这样就返回503错误
lokacija = / {
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, če je MSIE 5.01, ga preprosto vrzi na drugo mesto, na primer pokaži na www.qq.com, da vidiš, ali se lahko upre, haha
proxy_hide_header Nadzor predpomnilnika;
Na koncu se vrnite na Cache-Control in obiščite stran
Zdaj je povezava predpomnjena na front-end squid in aplikacijski strežnik ne bo sesul
#########################################################
Podroben opis parametrov modula za lokacijo v nginx
Nginx's Location lahko vsebuje naslednje ujemanja:
1. = Strogo ujemaj to poizvedbo. Če najdeš, prenehaj iskati.
2. ^~ Ujemaj predpono poti, če jo najdeš, prenehaj iskati.
3. ~ je redna tekma, občutljiva na velike črke   
4. ~* je ujemanje, ki ni občutljivo na velike črke
5. !~ in !~* sta neujemanja občutljiva na velika in velika črka

Ujemanje datotek in map
* -f in !-f se uporabljata za ugotavljanje, ali datoteka obstaja
* -d in !-d se uporabljata za ugotavljanje, ali imenik obstaja
* -e in !-e se uporabljata za določanje, ali datoteka ali mapa obstaja
* -x in !-x se uporabljata za določanje, ali je datoteka izvedljiva ali ne

Nekatere razpoložljive globalne spremenljivke
$args
$content_dolžina
$content_tip
$document_root
$document_uri
$host
$http_user_agent
$http_piškotek
$limit_rate
$request_datoteka telesa
$request_method
$remote_addr
$remote_port
$remote_uporabnik
$request_ime datoteke
$request_uri
$query_string
$scheme
$server_protokol
$server_addr
$server_ime
$server_port
$uri

Zastavica po prepisu je lahko:
zadnji
prekinitev
Preusmeritev
stalni

proxy_pass http://localhost:80;
proxy_set_header voditelj $host;
Po posredovanju lahko samodejno spremenite podatke o imenu domene




Prejšnji:C# rešitev za nezmožnost dostopa do sproščenih objektov
Naslednji:PowerShell spremeni več presledkov v en sam prostor, da odstrani odvečne presledke
 Najemodajalec| Objavljeno na 20. 12. 2016 10:37:25 |

Strežnik je prizadet s cc (napadalec uporablja proxy strežnik za generiranje legitimnih zahtevkov do gostitelja žrtve, implementacijo DDOS in prikrivanje, da se imenuje cc (ChallengeCollapsar). ) napadu, Nginx se lahko preprosto spopade z njim.

Ker je uporabniški agent napadalca CC običajno fiksn, uporabljamo nginx za presojo useragatet za obravnavo CC napadov.
V konfiguraciji strežnika nginx

(1) useragent je enak določeni lastnosti (neobčutljivo na velike in črke)
if ($http_user_agent ~* OliveHC3){
   return 403;
}
(2) useragent vsebuje določeno lastnost (ni občutljiva na velike in velike črke)
if ($http_user_agent ~* (*OliveHC3*)){
   return 403;
}
(3) useragent je prazna funkcija
if ($http_user_agent ~ ^$){
        return 403;
}


Na ta način se je napad vrnil na 403.
 Najemodajalec| Objavljeno na 20. 12. 2016 11:03:41 |

1. $remote_addr in $http_x_forwarded_for se uporabljata za beleženje IP naslova odjemalca;
2.$remote_user: Uporablja se za beleženje uporabniškega imena odjemalca;
3.$time_lokalno: Uporablja se za beleženje časa in časovnega pasu dostopa;
4.$request: URL in HTTP protokol za beleženje zahtev;
5.$status : Uporablja se za beleženje statusa zahteve; Uspeh je 200,
6.$body_bajtov_s ent: Zabeleži velikost vsebine glavnega telesa datoteke, poslane odjemalcu;
7.$http_referer: uporablja se za beleženje obiskov s povezave na tej strani;
8.$http_user_agent: Zabeleži relevantne informacije brskalnika odjemalca;
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com