Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 14709|Válasz: 2

[Web] A nginx DDOS védett a http_user_agent szerint

[Linket másol]
Közzétéve 2016. 12. 20. 10:37:01 | | |

Frontend squid reverse proxy to nginx
A nginx DDOS védett a http_user_agent szerint
Először nézze át a hozzáférési naplókat, hogy azonosítsa a http_user_agent gyanús látogatások jellemzőit, majd szűrje meg azokat
"Mozilla/4.0 (kompatibilis; MSIE 5.01; Windows NT 5.0; MyIE 3.01)Cache-Control: no-store, must-revalidate"
if ($http_user_agent ~ must-revalidate) {
visszatérés 503;
}
#这样就返回503错误
hely = / {
include proxy.conf;
if ( $http_user_agent ~* "MSIE 5.01" ) {
proxy_pass http://www.qq.com;
#access_log /usr/local/nginx/logs/k.log fő;
      }
proxy_pass http://windows.abc.com;
}
#判断一下user-agent, ha MSIE 5.01-ről van szó, dobd el máshova, például mutatj www.qq.com-re, hogy ellenálljon-e, haha
proxy_hide_header Cache-Control;
Végül menj vissza a Cache-Control oldalra, és látogass el az oldalra
Most a link a front-end tintahal gyorsakörbe van mentve, és az alkalmazásszerver nem fog összeomlni
#########################################################
Részletes leírás a nginx helymodul paramétereiről
Nginx's Location a következő egyezéseket tartalmazhatja:
1. = Szigorúan egyeztesd ezt a lekérdezést. Ha megtalálod, hagyd abba a keresést.
2. ^~ Egyeztesd meg az útvonal előtagját, ha megtalálod, hagyd abba a keresést.
3. ~ egy kis- és nagybetűre érzékeny rendszeres egyezés   
4. ~* egy kisítés-érzékeny egyezés
5. !~ és !~* elő- és nagybetűérzékeny eltérések

Fájl- és könyvtárpárosítás
* -f és !-f arra használják, hogy megállapítsák, létezik-e fájl
* -d és !-d alapján meghatározzák, létezik-e könyvtár
* -e és !-e jeleket használnak annak meghatározására, hogy létezik-e fájl vagy könyvtár
* -x és !-x alapján meghatározzák, hogy egy fájl végrehajtható-e vagy sem

Néhány elérhető globális változó
$args
$content_hossz
$content_type
$document_root
$document_uri
$host
$http_user_agent
$http_süti
$limit_rate
$request_body_file
$request_módszer
$remote_addr
$remote_port
$remote_user
$request_fájlnév
$request_uri
$query_string
$scheme
$server_protokoll
$server_addr
$server_név
$server_port
$uri

Az átírás utáni zászló a következők lehet:
Utolsó
Szünet
Átirányítás
Állandó

proxy_pass http://localhost:80;
proxy_set_header Házigazda $host;
A domain név adatait automatikusan megváltoztathatod továbbítás után




Előző:C# megoldás arra, hogy nem lehet hozzáférni a felszabadított objektumokhoz
Következő:A PowerShell több teret egyetlen mezővé alakít, hogy eltávolítsa felesleges helyeket
 Háziúr| Közzétéve 2016. 12. 20. 10:37:25 |

A szervert a cc érinti (a támadó a proxy szervert használja arra, hogy legitim kéréseket generáljon az áldozat hosztolyannak, DDOS-t valósítson meg, és elrejti azt: cc (ChallengeCollapsar). ) támadás, a nginx egyszerűen meg tudja oldani.

Mivel egy CC támadó useragentje általában fix, a nginx-et használjuk arra, hogy megítéljük a useragatet a CC támadások kezelésére.
A nginx szerver konfigurációban

(1) a useragent egy bizonyos tulajdonsággal egyenlő (kis- és koszebilitás)
if ($http_user_agent ~* OliveHC3){
   vissza 403;
}
(2) a useragent tartalmaz egy bizonyos funkciót (nem kis- és nagybetűs érzékeny)
if ($http_user_agent ~* (*OliveHC3*)){
   vissza 403;
}
(3) a useragent egy üres funkció
if ($http_user_agent ~ ^$){
        vissza 403;
}


Így a támadás visszatért a 403-ashoz.
 Háziúr| Közzétéve 2016. 12. 20. 11:03:41 |

1. Az $remote_addr és a $http_x_forwarded_for az ügyfél IP-címének rögzítésére szolgál;
2.$remote_user: Az ügyfél felhasználónevének rögzítésére szolgál;
3.$time_local: A hozzáférési idő- és időzóna rögzítésére szolgál;
4.$request: URL és HTTP protokoll, amelyet a kérések rögzítésére használnak;
5.$status : A kérés státuszának rögzítésére szolgál; A siker 200,
6.$body_bytes_s ent: Rögzíti a fájl fő törzstartalmának méretét, amelyet az ügyfélnek küldenek;
7.$http_referer: az adott oldalon lévő linkről származó látogatások rögzítésére használják;
8.$http_user_agent: Rögzítse a kliens böngésző releváns adatait;
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com