Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 14709|Répondre: 2

[Web] nginx est protégé par DDOS selon http_user_agent

[Copié le lien]
Publié sur 20/12/2016 10:37:01 | | |

Proxy inverse frontend squid vers nginx
nginx est protégé par DDOS selon http_user_agent
D’abord, examinez les journaux d’accès pour identifier les caractéristiques des visites suspectes détectées http_user_agent, puis filtrez-les
« Mozilla/4.0 (compatible ; MSIE 5.01 ; Windows NT 5.0 ; MyIE 3.01) Contrôle du cache : no-store, doit revalider »
if ($http_user_agent ~ must-revalidate) {
retour 503 ;
}
#这样就返回503错误
Emplacement = / {
incluent 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, si c’est MSIE 5.01, il suffit de le lancer ailleurs, par exemple en pointant vers www.qq.com pour voir s’il résiste, haha
proxy_hide_header contrôle de cache ;
Enfin, retournez dans Contrôle de Cache et visitez la page
Le lien est maintenant mis en cache vers le squid front-end, et le serveur d’applications ne plante pas
#########################################################
Description détaillée des paramètres du module de localisation dans nginx
Nginx’s Location peut proposer les correspondances suivantes :
1. = Correspondre strictement cette requête. Si vous êtes trouvé, arrêtez de chercher.
2. ^~ Faites correspondre le préfixe du chemin, si trouvé, arrêtez la recherche.
3. ~ est une correspondance régulière sensible à la casse   
4. ~* est une correspondance insensible à la casse
5. !~ et !~* sont respectivement des incompatibilités sensibles à la casse et à la casse

Correspondance de fichiers et de répertoires
* -f et !-f sont utilisés pour déterminer si un fichier existe
* -d et !-d sont utilisés pour déterminer si un répertoire existe
* -e et !-e sont utilisés pour déterminer si un fichier ou un répertoire existe
* -x et !-x sont utilisés pour déterminer si un fichier est exécutable ou non

Certaines variables globales disponibles
$args
$content_longueur
$content_type
$document_racine
$document_uri
$host
$http_user_agent
$http_cookie
$limit_taux
$request_dossier_corps
$request_méthode
$remote_addr
$remote_port
$remote_utilisateur
$request_nom de fichier
$request_uri
$query_chaîne
$scheme
$server_protocole
$server_addr
$server_nom
$server_port
$uri

Le drapeau après réécriture peut être :
Dernier
Rupture
Redirection
permanent

proxy_pass http://localhost:80 ;
proxy_set_header Hôte $host ;
Vous pouvez automatiquement modifier les informations du nom de domaine après le transfert




Précédent:Solution de contournement en C# pour ne pas pouvoir accéder aux objets libérés
Prochain:PowerShell transforme plusieurs espaces en un seul espace pour éliminer les espaces excédentaires
 Propriétaire| Publié sur 20/12/2016 10:37:25 |

Le serveur est affecté par le cc (l’attaquant utilise le serveur proxy pour générer des requêtes légitimes à l’hôte victime, implémenter un DDOS, et le déguiser est appelé cc (ChallengeCollapsar). ) attaque, nginx peut simplement s’en occuper.

Comme l’useragent d’un attaquant CC est généralement fixe, nous utilisons nginx pour juger useragatet afin de gérer les attaques CC.
Dans la configuration serveur nginx

(1) useragent est égal à une certaine fonctionnalité (insensible à la majuscule)
if ($http_user_agent ~* OliveHC3){
   retour 403 ;
}
(2) useragent contient une certaine fonctionnalité (non sensible à la majuscule)
if ($http_user_agent ~* (*OliveHC3*)){
   retour 403 ;
}
(3) useragent est une fonctionnalité vide
if ($http_user_agent ~ ^$){
        retour 403 ;
}


Ainsi, l’attaque revint à 403.
 Propriétaire| Publié sur 20/12/2016 11:03:41 |

1. $remote_addr et $http_x_forwarded_for sont utilisés pour enregistrer l’adresse IP du client ;
2.$remote_user : Utilisé pour enregistrer le nom d’utilisateur client ;
3.$time_local : Utilisé pour enregistrer l’heure et le fuseau horaire d’accès ;
4.$request : URL et protocole HTTP utilisés pour enregistrer les requêtes ;
5.$status : Utilisé pour enregistrer le statut de la demande ; Le succès est 200,
6.$body_octets_s ent : Enregistre la taille du contenu principal du fichier envoyé au client ;
7.$http_referer : utilisé pour enregistrer les visites depuis le lien sur cette page ;
8.$http_user_agent : Enregistrer les informations pertinentes du navigateur client ;
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com