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

Άποψη: 18490|Απάντηση: 1

[Ιστός] Τείχος προστασίας εγκατάστασης CentOS nginx ngx_lua_waf

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 27/4/2018 1:29:43 μ.μ. | | | |
Μονάδα Nginx Lua Η Taobao ανέπτυξε τη μονάδα τρίτου κατασκευαστή nginx, η οποία μπορεί να ενσωματώσει τη γλώσσα lua στη διαμόρφωση nginx, έτσι ώστε η χρήση του lua να ενισχύει σημαντικά την ικανότητα του nginx. Το Nginx είναι γνωστό για τον υψηλό συγχρονισμό του, τα σενάρια lua είναι ελαφριά και ο συνδυασμός των δύο είναι τέλειος.

Διεύθυνση GitHub: https://github.com/loveshell/ngx_lua_waf

###用途:

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


Έκδοση συστήματος, εντολή lsb_release -a

Έκδοση LSB: :core-4.1-amd64:core-4.1-noarch
Αναγνωριστικό διανομέα: CentOS
Description:        CentOS Linux release 7.4.1708 (Core)
Release:        7.4.1708
Codename:        Core

Έκδοση LuaJIT

Το LuaJIT-2.0.5 είναι η πιο πρόσφατη σταθερή έκδοση

Έκδοση nginx (θα αποτύχει η εγκατάσταση, περισσότερα για αυτό αργότερα)

Έκδοση NGINX 1.4.4

Αρχικά, δημιουργήστε τον κατάλογο εγκατάστασης /alidata/server/lj2 με την ακόλουθη εντολή:

Εγκατάσταση του περιβάλλοντος Lua



--Ελέγξτε εάν η εγκατάσταση είναι επιτυχής

--Δημιουργήστε μαλακούς συνδέσμους

Αρχική παραγγελία:



Εφόσον έχουμε εγκαταστήσει το lua στο /alidata/server/lj2, εκτελέστε την ακόλουθη εντολή,Μην εκτελέσετε την παραπάνω εντολή, εκτελέστε την ακόλουθη εντολή



Εάν δεν δημιουργήσετε συμβολικό σύνδεσμο, ενδέχεται να προκύψει η ακόλουθη εξαίρεση: σφάλμα κατά τη φόρτωση κοινόχρηστων βιβλιοθηκών: libluajit-5.1.so.2: δεν είναι δυνατό το άνοιγμα του αρχείου κοινόχρηστου αντικειμένου: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος

Κατεβάστε ngx_devel_kit και αποσυμπιέστε το

Αρχική σελίδα έργου: https://github.com/simplresty/ngx_devel_kit


Κατεβάστε ngx_lua και αποσυμπιέστε το


Μεταγλώττιση και εγκατάσταση του nginx

Δημιουργήστε πρώτα αντίγραφα ασφαλείας του προηγούμενου αρχείου ngxin

Έχω εγκαταστήσει το nginx στο παρελθόν, εκτελώντας την εντολή nginx -V ως εξής:

Έκδοση nginx: nginx/1.4.4
κατασκευάστηκε από GCC 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
Η υποστήριξη TLS SNI ενεργοποιήθηκε
Διαμόρφωση ορισμάτων: --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_ Ενότητα

Δύο κατάλογοι ενοτήτων
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19


Λήψη και εκτέλεση στον κατάλογο nginx

--Προσθέστε μεταβλητή περιβάλλοντος για να πείτε στο nginx πού να βρει το luajit



Εάν δεν το προσθέσετε, το nginx θα αναφέρει το ακόλουθο σφάλμα κατά τη μεταγλώττιση:

./configure: error: ngx_http_lua_module απαιτεί τη βιβλιοθήκη Lua. Εάν αναφερθεί σφάλμα, εκτελέστε τις δύο παραπάνω προτάσεις!


συλλέγω
Σφάλμα: #error απαιτείται τουλάχιστον nginx 1.6.0 αλλά βρέθηκε παλαιότερη έκδοση


Η έκδοση nginx είναι πολύ χαμηλή, η ελάχιστη απαίτηση είναι 1.6.0, επομένως αναβαθμίστε την έκδοση nginx,Κατά την αναβάθμιση της έκδοσης nginx, μπορείτε πραγματικά να εγκαταστήσετε τη μονάδα lua-nginx και τη μονάδα ngx_devel_kit στη νέα έκδοση, η οποία δεν θα αναλυθεί εδώ, απλώς εκτελέστε την ακόλουθη εντολή με τη νέα έκδοση,

[Πραγματική μάχη] Το Nginx 1.4.4 αναβαθμίστηκε σε 1.14.0
http://www.itsvse.com/thread-4714-1-1.html
(Πηγή: Architect_Programmer)

Κατεβάστε ngx_lua_waf και αποσυμπιέστε το



Τροποποιήστε το αρχείο διαμόρφωσης nginx για να αλλάξετε τη διαδρομή σύμφωνα με την πραγματική κατάσταση

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


Μόλις προστεθεί,Επανεκκίνησα το nginx και έλαβα ένα σφάλμα 500Τέλος, διαπιστώθηκε ότι ο λόγος ήταν ότι το αρχείο config.lua επρόκειτο να τροποποιηθεί σε δύο σημεία:

RulePath και logdir για τροποποίηση ανάλογα με τη δική σας κατάσταση!

Δοκιμή

https://www.itsvse.com/forum.php?id=../etc/passwd








Προηγούμενος:[Πραγματική μάχη] Το Nginx 1.4.4 αναβαθμίστηκε σε 1.14.0
Επόμενος:Κρατήστε αρχείο με το τι μπορεί να πληρωθεί με πιστωτική κάρτα
Δημοσιεύτηκε στις 6/5/2018 2:18:47 μ.μ. |
Δεν πειράζει, ρίξε μια ματιά
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com