Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 14709|Risposta: 2

[Web] nginx è protetto da DDOS secondo http_user_agent

[Copiato link]
Pubblicato su 20/12/2016 10:37:01 | | |

Proxy inverso frontend squid a nginx
nginx è protetto da DDOS secondo http_user_agent
Per prima cosa, rivedere i log degli accessi per identificare le caratteristiche delle visite sospette riscontrate http_user_agent, poi filtrarle
"Mozilla/4.0 (compatibile; MSIE 5.01; Windows NT 5.0; MyIE 3.01)Controllo della cache: no-store, deve rivalidare"
if ($http_user_agent ~ must-revalidate) {
ritorno 503;
}
#这样就返回503错误
Posizione = / {
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-agente, se è MSIE 5.01, basta lanciarlo altrove, ad esempio indicando www.qq.com per vedere se resiste, haha
proxy_hide_header Controllo della cache;
Infine, torna su Cache-Control e visita la pagina
Ora il collegamento viene memorizzato nella cache al front-end squid, e il server applicativo non si blocca
#########################################################
Descrizione dettagliata dei parametri del modulo di localizzazione in nginx
La Location di Nginx può avere le seguenti corrispondenti:
1. = Confronta rigorosamente questa query. Se lo trovi, smetti di cercare.
2. ^~ Abbina il prefisso del percorso, se trovato, smetti di cercare.
3. ~ è una corrispondenza regolare a maiuscole e minuscole   
4. ~* è una corrispondenza indistinta alla maiuscola
5. !~ e !~* sono rispettivamente discorrispondenze a maiuscole e insensibili a maiuscole

Abbinamento file e directory
* -f e !-f sono usati per determinare se un file esiste
* -d e !-d sono usati per determinare se esiste una directory
* -e e !-e vengono usati per determinare se esiste un file o una directory
* -x e !-x vengono usati per determinare se un file è eseguibile o meno

Alcune delle variabili globali disponibili
$args
$content_lunghezza
$content_type
$document_radice
$document_uri
$host
$http_user_agent
$http_cookie
$limit_rate
$request_file_corpo_
$request_metodo
$remote_addr
$remote_port
$remote_utente
$request_nome file
$request_uri
$query_stringa
$scheme
$server_protocollo
$server_addr
$server_nome
$server_port
$uri

Il flag dopo la riscrittura può essere:
Ultimo
Pausa
reindirizzamento
Permanente

proxy_pass http://localhost:80;
proxy_set_header Conduttore $host;
Puoi cambiare automaticamente le informazioni del nome di dominio dopo aver inoltrato




Precedente:Soluzione in C# per l'impossibilità di accedere agli oggetti liberati
Prossimo:PowerShell trasforma più spazi in un unico spazio per rimuovere spazi in eccesso
 Padrone di casa| Pubblicato su 20/12/2016 10:37:25 |

Il server è influenzato da cc (l'attaccante usa il proxy server per generare richieste legittime all'host vittima, implementare DDOS e mascherare il dispositivo è chiamato: cc (ChallengeCollapsar). ) attacco, nginx può semplicemente gestirlo.

Poiché l'useragent di un attaccante CC è generalmente fisso, usiamo nginx per giudicare useragatet e gestire attacchi CC.
Nella configurazione del server nginx

(1) useragent è uguale a una certa caratteristica (insensibile alla maiuscolo)
if ($http_user_agent ~* OliveHC3){
   ritorno 403;
}
(2) useragent contiene una certa caratteristica (non distinta dalla maiuscoloscola)
if ($http_user_agent ~* (*OliveHC3*)){
   ritorno 403;
}
(3) useragent è una funzione vuota
if ($http_user_agent ~ ^$){
        ritorno 403;
}


In questo modo, l'attacco tornò al 403.
 Padrone di casa| Pubblicato su 20/12/2016 11:03:41 |

1. $remote_addr e $http_x_forwarded_for vengono usati per registrare l'indirizzo IP del client;
2.$remote_user: Usato per registrare il nome utente del client;
3.$time_local: Utilizzato per registrare l'ora e il fuso orario di accesso;
4.$request: URL e protocollo HTTP utilizzati per registrare le richieste;
5.$status : Utilizzato per registrare lo stato della richiesta; Il successo è 200,
6.$body_bytes_s ent: Registra la dimensione del contenuto principale del corpo del file inviato al client;
7.$http_referer: usato per registrare le visite dal link su quella pagina;
8.$http_user_agent: Registra le informazioni rilevanti del browser client;
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com