Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 14709|Antwoord: 2

[Web] nginx is volgens http_user_agent DDOS-beschermd

[Link kopiëren]
Geplaatst op 20-12-2016 10:37:01 | | |

Frontend squid reverse proxy naar nginx
nginx is volgens http_user_agent DDOS-beschermd
Bekijk eerst de toegangslogboeken om de kenmerken van de verdachte bezoeken die http_user_agent zijn gevonden te identificeren, en filter deze vervolgens
"Mozilla/4.0 (compatibel; MSIE 5.01; Windows NT 5.0; MyIE 3.01)Cache-Control: no-store, must-revalidate"
if ($http_user_agent ~ must-revalidate) {
terug 503;
}
#这样就返回503错误
locatie = / {
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, als het MSIE 5.01 is, gooi het dan gewoon naar een andere plek, bijvoorbeeld door naar www.qq.com te wijzen om te zien of het kan weerstaan, haha
proxy_hide_header Cache-controle;
Ga tenslotte terug naar Cache-Control en bezoek de pagina
Nu wordt de link gecachet naar de front-end squid, en crasht de applicatieserver niet meer
#########################################################
Gedetailleerde beschrijving van de parameters van de locatiemodule in nginx
Nginx's Location kan de volgende matches hebben:
1. = Strikt overeenkomen met deze vraag. Als je het vindt, stop dan met zoeken.
2. ^~ Match het voorvoegsel van het pad, als gevonden, stop met zoeken.
3. ~ is een hoofdlettergevoelig regulier match   
4. ~* is een hoofdletter-ongevoelige match
5. !~ en !~* zijn respectievelijk hoofdlettergevoelige en hoofdletter-ongevoelige mismatches

Bestands- en directorymatching
* -f en !-f worden gebruikt om te bepalen of er een bestand bestaat
* -d en !-d worden gebruikt om te bepalen of er een directory bestaat
* -e en !-e worden gebruikt om te bepalen of er een bestand of map bestaat
* -x en !-x worden gebruikt om te bepalen of een bestand uitvoerbaar is of niet

Enkele van de beschikbare globale variabelen
$args
$content_lengte
$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_bestandsnaam
$request_uri
$query_string
$scheme
$server_protocol
$server_addr
$server_name
$server_port
$uri

De vlag na herschrijving kan zijn:
Laatste
Pauze
Omleiding
Permanent

proxy_pass http://localhost:80;
proxy_set_header Host $host;
Je kunt de domeinnaaminformatie automatisch wijzigen na het doorsturen




Vorig:C#-oplossing voor het niet kunnen bereiken van vrijgemaakte objecten
Volgend:PowerShell zet meerdere ruimtes om in één ruimte om overtollige ruimtes te verwijderen
 Huisbaas| Geplaatst op 20-12-2016 10:37:25 |

De server wordt beïnvloed door cc (de aanvaller gebruikt de proxyserver om legitieme verzoeken te genereren naar de slachtofferhost, DDOS te implementeren en te vermommen; het wordt cc genoemd (ChallengeCollapsar). ) aanval, kan Nginx er gewoon mee omgaan.

Omdat de useragent van een CC-aanvaller meestal vaststaat, gebruiken we nginx om useragatet te beoordelen voor CC-aanvallen.
In de nginx-serverconfiguratie

(1) useragent gelijk is aan een bepaalde eigenschap (hoofdletters ongevoelig)
if ($http_user_agent ~* OliveHC3){
   terugkeren 403;
}
(2) useragent bevat een bepaalde functie (niet hoofdlettergevoelig)
if ($http_user_agent ~* (*OliveHC3*)){
   terugkeren 403;
}
(3) useragent is een lege functie
als ($http_user_agent ~ ^$){
        terugkeren 403;
}


Op deze manier keerde de aanval terug naar 403.
 Huisbaas| Geplaatst op 20-12-2016 11:03:41 |

1. $remote_addr en $http_x_forwarded_for worden gebruikt om het IP-adres van de client vast te leggen;
2.$remote_user: Gebruikt om de gebruikersnaam van de client op te nemen;
3.$time_local: Gebruikt om de toegangstijd en tijdzone vast te leggen;
4.$request: URL- en HTTP-protocol gebruikt om verzoeken op te nemen;
5.$status : Gebruikt om de status van het verzoek vast te leggen; Succes is 200,
6.$body_bytes_s ent: Registreert de grootte van de hoofdinhoud van het bestand dat naar de client wordt gestuurd;
7.$http_referer: gebruikt om bezoeken vast te leggen via de link op die pagina;
8.$http_user_agent: Registreer de relevante informatie van de clientbrowser;
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com