Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 14709|Απάντηση: 2

[Ιστός] Το nginx προστατεύεται από DDOS σύμφωνα με http_user_agent

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 20/12/2016 10:37:01 π.μ. | | |

Frontend squid αντίστροφος διακομιστής μεσολάβησης σε nginx
Το nginx προστατεύεται από DDOS σύμφωνα με http_user_agent
Αρχικά, ελέγξτε τα αρχεία καταγραφής πρόσβασης για να προσδιορίσετε τα χαρακτηριστικά των ύποπτων επισκέψεων που εντοπίστηκαν http_user_agent και, στη συνέχεια, φιλτράρετέ τα
"Mozilla/4.0 (συμβατό; MSIE 5.01; Windows NT 5.0; MyIE 3.01) Cache-Control: χωρίς αποθήκευση, πρέπει να επανεπικυρωθεί"
if ($http_user_agent ~ must-revalidate) {
επιστροφή 503;
}
#这样就返回503错误
τοποθεσία = / {
συμπεριλάβετε το 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, αν είναι MSIE 5.01, απλώς πετάξτε το σε άλλο μέρος, όπως δείχνοντας www.qq.com για να δείτε αν μπορεί να αντισταθεί, χαχα
proxy_hide_header Έλεγχος προσωρινής μνήμης.
Τέλος, επιστρέψτε στο Cache-Control και επισκεφτείτε τη σελίδα
Τώρα ο σύνδεσμος αποθηκεύεται προσωρινά στο καλαμάρι του front-end και ο διακομιστής εφαρμογών δεν θα διακοπεί
#########################################################
Λεπτομερής περιγραφή των παραμέτρων της μονάδας τοποθεσίας στο nginx
Η τοποθεσία του Nginx μπορεί να έχει τις ακόλουθες αντιστοιχίσεις:
1. = Αντιστοιχίστε αυστηρά αυτό το ερώτημα. Εάν βρεθεί, σταματήστε την αναζήτηση.
2. ^~ Αντιστοιχίστε το πρόθεμα της διαδρομής, εάν βρεθεί, σταματήστε την αναζήτηση.
3. ~ είναι ένας κανονικός αγώνας με διάκριση πεζών-κεφαλαίων   
4. Το ~* είναι ένα ταίριασμα χωρίς διάκριση πεζών-κεφαλαίων
5. Τα !~ και !~* είναι αναντιστοιχίες με διάκριση πεζών-κεφαλαίων και χωρίς διάκριση πεζών-κεφαλαίων, αντίστοιχα

Αντιστοίχιση αρχείων και καταλόγου
* Τα -f και !-f χρησιμοποιούνται για να προσδιοριστεί εάν υπάρχει ένα αρχείο
* Τα -d και !-d χρησιμοποιούνται για να προσδιοριστεί εάν υπάρχει κατάλογος
* Τα -e και !-e χρησιμοποιούνται για να προσδιορίσουν εάν υπάρχει ένα αρχείο ή ένας κατάλογος
* Τα -x και !-x χρησιμοποιούνται για να προσδιοριστεί εάν ένα αρχείο είναι εκτελέσιμο ή όχι

Μερικές από τις διαθέσιμες καθολικές μεταβλητές
$args
$content_μήκος
$content_τύπος
$document_ρίζα
$document_uri
$host
$http_πράκτορας_χρήστη
$http_μπισκότο
$limit_rate
$request_body_file
$request_μέθοδος
$remote_addr
$remote_θύρα
$remote_χρήστης
$request_όνομα_αρχείου
$request_uri
$query_συμβολοσειρά
$scheme
$server_πρωτόκολλο
$server_addr
$server_όνομα
$server_θύρα
$uri

Η σημαία μετά την επανεγγραφή μπορεί να είναι:
τελευταίος
Διάλειμμα
ανακατεύθυνση
μόνιμος

proxy_pass http://localhost:80;
proxy_set_header Host $host.
Μπορείτε να αλλάξετε αυτόματα τις πληροφορίες του ονόματος τομέα μετά την προώθηση




Προηγούμενος:Λύση C# για την αδυναμία πρόσβασης σε απελευθερωμένα αντικείμενα
Επόμενος:Το PowerShell μετατρέπει πολλούς χώρους σε έναν ενιαίο χώρο για να αφαιρέσει τους περιττούς χώρους
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 20/12/2016 10:37:25 π.μ. |

Ο διακομιστής επηρεάζεται από cc (ο εισβολέας χρησιμοποιεί τον διακομιστή μεσολάβησης για να δημιουργήσει νόμιμα αιτήματα στον κεντρικό υπολογιστή του θύματος, να εφαρμόσει DDOS και να το μεταμφιέσει ονομάζεται: cc (ChallengeCollapsar). ) επίθεση, το nginx μπορεί απλά να το αντιμετωπίσει.

Επειδή το useragent ενός εισβολέα CC είναι γενικά σταθερό, χρησιμοποιούμε το nginx για να κρίνουμε το useragatet για να χειριστούμε επιθέσεις CC.
Στη διαμόρφωση διακομιστή nginx

(1) Το UserAgent ισούται με ένα συγκεκριμένο χαρακτηριστικό (χωρίς διάκριση πεζών-κεφαλαίων)
if ($http_user_agent ~* OliveHC3){
   επιστροφή 403;
}
(2) Το UserAgent περιέχει ένα συγκεκριμένο χαρακτηριστικό (χωρίς διάκριση πεζών-κεφαλαίων)
if ($http_user_agent ~* (*OliveHC3*)){
   επιστροφή 403;
}
(3) Το UserAgent είναι ένα κενό χαρακτηριστικό
αν ($http_user_agent ~ ^$){
        επιστροφή 403;
}


Με αυτόν τον τρόπο, η επίθεση επέστρεψε στους 403.
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 20/12/2016 11:03:41 π.μ. |

1. Τα $remote_addr και $http_x_forwarded_for χρησιμοποιούνται για την καταγραφή της διεύθυνσης IP του πελάτη.
2.$remote_user: Χρησιμοποιείται για την καταγραφή του ονόματος χρήστη πελάτη.
3.$time_local: Χρησιμοποιείται για την καταγραφή της ώρας και της ζώνης ώρας πρόσβασης.
4.$request: Πρωτόκολλο URL και HTTP που χρησιμοποιούνται για την καταγραφή αιτημάτων.
5.$status : Χρησιμοποιείται για την καταγραφή της κατάστασης του αιτήματος. Η επιτυχία είναι 200,
6.$body_bytes_s ent: Καταγράφει το μέγεθος του κύριου περιεχομένου του αρχείου που αποστέλλεται στον πελάτη.
7.$http_referer: χρησιμοποιείται για την καταγραφή επισκέψεων από τον σύνδεσμο σε αυτήν τη σελίδα.
8.$http_user_agent: Καταγράψτε τις σχετικές πληροφορίες του προγράμματος περιήγησης πελάτη.
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com