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

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

[Ιστός] ngx_lua_waf είναι ένα τείχος προστασίας εφαρμογών ιστού που βασίζεται στο lua-nginx-module (openresty).

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 21/12/2016 4:51:51 μ.μ. | | | |

ngx_lua_waf

ngx_lua_waf είναι ένα τείχος προστασίας εφαρμογών ιστού που βασίζεται σε ngx_lua που αναπτύχθηκε όταν μπήκα για πρώτη φορά στο Fun Travel.

Ο κώδικας είναι απλός και η αρχική πρόθεση της ανάπτυξης είναι η χρήση απλότητας, υψηλής απόδοσης και ελαφρού βάρους.

Είναι πλέον ανοιχτού κώδικα και συμμορφώνεται με την άδεια MIT. Περιέχει τους κανόνες φιλτραρίσματος. Εάν έχετε οποιεσδήποτε προτάσεις ή θέλετε να κάνετε fa, μη διστάσετε να το βελτιώσετε μαζί μου.

Χρήσεις:
            
      
Αποτρέψτε επιθέσεις ιστού όπως SQL injection, τοπική συμπερίληψη, μερική υπερχείλιση, fuzzing testing, xss, SSRF κ.λπ
        Αποτρέψτε τη διαρροή αρχείων, όπως SVN/backup
        Αποτρέψτε επιθέσεις από εργαλεία προσομοίωσης ακραίων καταστάσεων όπως το ApacheBench
        Αποκλεισμός κοινών εργαλείων εισβολής σάρωσης, σαρωτών
        Αποκλεισμός ασυνήθιστων αιτημάτων δικτύου
        Αποκλεισμός της άδειας εκτέλεσης PHP του καταλόγου συνημμένων εικόνας
        Αποτρέψτε τις μεταφορτώσεις webshell


Προτεινόμενη εγκατάσταση:

Συνιστάται η χρήση του lujit2.1 για υποστήριξη lua

ngx_lua εάν πρόκειται για έκδοση 0.9.2 ή νεότερη, συνιστάται να αλλάξετε την κανονική λειτουργία φίλτρου σε ngx.re.find και η απόδοση αντιστοίχισης θα αυξηθεί κατά περίπου τρεις φορές.


Οδηγίες χρήσης:

Η διαδρομή εγκατάστασης του nginx υποτίθεται ότι είναι: /usr/local/nginx/conf/

Κατεβάστε το ngx_lua_waf στον κατάλογο conf και αποσυμπιέστε το και ονομάστε το waf

Προσθέστε το στην ενότητα http του nginx.conf

            

Διαμορφώστε τον κατάλογο κανόνων WAF στο config.lua (συνήθως στον κατάλογο waf/conf/)

        RulePath = "/usr/local/nginx/conf/waf/wafconf/"

Εάν η απόλυτη διαδρομή αλλάξει, πρέπει να τροποποιηθεί ανάλογα

Στη συνέχεια, επανεκκινήστε το nginx


Λεπτομέρειες προφίλ:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --Κατάλογος αποθήκευσης κανόνων
        attacklog = "απενεργοποιημένο"
        --Για να ενεργοποιήσετε την καταγραφή πληροφοριών επίθεσης, πρέπει να διαμορφώσετε το logdir
        logdir = "/usr/local/nginx/logs/hack/"
        --Κατάλογος αποθήκευσης καταγραφής, ο οποίος πρέπει να δημιουργηθεί από τον ίδιο τον χρήστη και απαιτεί την άδεια εγγραφής του χρήστη Nginx
        urlDeny="on"
        --εάν θα αποκλειστεί η πρόσβαση στη διεύθυνση URL
        Redirect="ενεργό"
        --αν θα γίνει ανακατεύθυνση μετά την αναχαίτιση
        CookieMatch = "ενεργό"
        --Εάν θα αποκλειστούν οι επιθέσεις cookie
        postMatch = "ενεργό"
        --αν θα μπλοκάρει μια επίθεση μετά
        whiteModule = "ενεργό"
        --αν θα ενεργοποιηθεί η λίστα επιτρεπόμενων διευθύνσεων URL
        black_fileExt={"php","jsp"}
        --Συμπληρώστε τον τύπο επιθήματος αρχείου που δεν επιτρέπεται να μεταφορτωθεί
        ipWhitelist={"127.0.0.1"}
        --Λίστα επιτρεπόμενων IP, πολλές IP διαχωρίζονται με κόμματα
        ipBlocklist={"1.0.0.1"}
        --Μαύρη λίστα IP, πολλές IP διαχωρίζονται με κόμματα
        CCDeny="ενεργό"
        --Εάν θα ενεργοποιηθεί η αναχαίτιση επιθέσεων cc (απαιτεί το τμήμα HTTP του nginx.conf να αυξηθεί lua_shared_dict όριο 10 μέτρα. )
        CCrate = "100/60"
        --Ρυθμίστε τη συχνότητα επίθεσης CC σε δευτερόλεπτα.
        --Από προεπιλογή, η ίδια διεύθυνση IP μπορεί να ζητήσει την ίδια διεύθυνση μόνο 100 φορές το λεπτό
        html=[[Παρακαλώ φύγετε~~]]
        --Προειδοποιητικό περιεχόμενο, προσαρμόσιμο σε παρένθεση
        Σημείωση: Μην χρησιμοποιείτε διπλά εισαγωγικά για διάκριση πεζών-κεφαλαίων

        
Ελέγξτε εάν ισχύουν οι κανόνες

Μετά την ανάπτυξη, μπορείτε να δοκιμάσετε την ακόλουθη εντολή:        
  
      

Σημείωση: Από προεπιλογή, το μηχάνημα δεν φιλτράρει στη λίστα επιτρεπόμενων και μπορείτε να προσαρμόσετε τη διαμόρφωση config.lua μόνοι σας


Οι αποδόσεις είναι οι εξής


Ενημερώσεις κανόνων:

Λαμβάνοντας υπόψη το πρόβλημα της προσωρινής αποθήκευσης των κανονικών, οι δυναμικοί κανόνες επηρεάζουν την απόδοση, επομένως δεν χρησιμοποιώ πράγματα όπως λεξικά κοινόχρηστης μνήμης και redis για δυναμική διαχείριση.

Οι ενημερώσεις κανόνων μπορούν να τοποθετηθούν σε άλλους διακομιστές και οι κανόνες μπορούν να ενημερωθούν με τακτική λήψη τους μέσω της εργασίας crontab και η επαναφόρτωση nginx θα τεθεί σε ισχύ. Για να διασφαλιστεί η υψηλή απόδοση του NGX LUA WAF.

Καταγράψτε μόνο το αρχείο καταγραφής φίλτρου, μην ενεργοποιήσετε το φιλτράρισμα, απλώς προσθέστε ένα -- σχόλιο πριν από το check in του κώδικα, εάν χρειάζεται να φιλτράρετε, το αντίστροφο

Μερικές σημειώσεις:

        Οι κανόνες φιλτραρίσματος μπορούν να προσαρμοστούν ανάλογα με τις ανάγκες σας στο wafconf και κάθε κανόνας πρέπει να τυλιχτεί ή να χωριστεί με |
        
                Οι κανόνες args λαμβάνουν παράμετρο για φιλτράρισμα
                Τα URL είναι κανόνες που ζητούν μόνο URL φιλτραρισμένα στο GET               
                Η καταχώρηση είναι κανόνας φιλτραρίσματος μόνο σε αιτήματα καταχώρησης               
                Η λίστα επιτρεπόμενων είναι μια λίστα επιτρεπόμενων και οι διευθύνσεις URL σε αυτήν ταιριάζουν έτσι ώστε να μην φιλτράρεται               
                Το user-agent είναι ένας κανόνας φιλτραρίσματος για το user-agent
        

        Το φιλτράρισμα λήψης και ανάρτησης είναι ενεργοποιημένο από προεπιλογή, εάν πρέπει να ενεργοποιήσετε το φιλτράρισμα cookie, επεξεργαστείτε το τμήμα ακύρωσης waf.lua - σχόλιο
        
        Η μορφή του ονόματος του αρχείου καταγραφής είναι η εξής: Όνομα κεντρικού υπολογιστή Web _sec.log






Προηγούμενος:Το Powershell αποτυγχάνει να φορτώσει αρχεία κατά την απευθείας εκτέλεση δέσμης ενεργειών επειδή το σενάριο απαγορεύεται
Επόμενος:Τα cmd /c και cmd /k εξηγούνται λεπτομερώς
Δημοσιεύτηκε στις 8/11/2017 3:23:22 μ.μ. |
Ναι, έμαθα
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com