Modul nginx lua Taobao mengembangkan modul pihak ketiga nginx, yang dapat menyematkan bahasa lua ke dalam konfigurasi nginx, sehingga penggunaan lua sangat meningkatkan kemampuan nginx. nginx dikenal dengan konkurensinya yang tinggi, skrip lua ringan, dan kombinasi keduanya sempurna.
Alamat GitHub: https://github.com/loveshell/ngx_lua_waf
###用途:
- Mencegah serangan web seperti injeksi SQL, inklusi lokal, luapan parsial, pengujian fuzzing, xss, SSRF, dll
- Mencegah kebocoran file seperti SVN/cadangan
- Cegah serangan dari alat pengujian stres seperti ApacheBench
- Blokir alat peretasan pemindaian umum, pemindai
- Memblokir permintaan jaringan yang tidak biasa
- Blokir izin eksekusi PHP dari direktori lampiran gambar
- Mencegah unggahan webshell
Versi sistem, perintah lsb_release -a
Versi LSB: : core-4.1-amd64: core-4.1-noarch ID Distributor: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
Versi LuaJIT
LuaJIT-2.0.5 adalah versi stabil terbaru
Versi nginx (akan gagal diinstal, lebih lanjut tentang itu nanti)
Versi nginx 1.4.4
Pertama, buat direktori instalasi /alidata/server/lj2 dengan perintah berikut:
Instal lingkungan Lua
--Periksa apakah instalasi berhasil
--Buat soft link
Pesanan asli:
Karena kita telah menginstal lua di bawah /alidata/server/lj2, jalankan perintah berikut,Jangan jalankan perintah di atas, jalankan perintah berikut:
Jika Anda tidak membuat symlink, pengecualian berikut mungkin terjadi: kesalahan saat memuat pustaka bersama: libluajit-5.1.so.2: tidak dapat membuka file objek bersama: Tidak ada file atau direktori seperti itu
Unduh ngx_devel_kit dan unzip
Beranda Proyek: https://github.com/simplresty/ngx_devel_kit
Unduh ngx_lua dan unzip
Kompilasi ulang dan instal nginx
Cadangkan file ngxin sebelumnya terlebih dahulu
Saya telah menginstal nginx sebelumnya, menjalankan perintah nginx -V sebagai berikut:
Versi nginx: nginx/1.4.4 dibangun oleh gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) Dukungan TLS SNI diaktifkan konfigurasikan argumen: --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_ modul Katalog dua modul
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19
Unduh dan jalankan di direktori nginx
--add variabel lingkungan untuk memberi tahu nginx di mana menemukan luajit
Jika Anda tidak menambahkannya, nginx akan melaporkan kesalahan berikut saat mengkompilasi:
./configure: error: ngx_http_lua_module memerlukan library Lua. Jika kesalahan dilaporkan, silakan jalankan dua kalimat di atas!
Mengkompilasi
Kesalahan: #error setidaknya nginx 1.6.0 diperlukan tetapi menemukan versi yang lebih lama
versi nginx terlalu rendah, persyaratan minimum adalah 1.6.0, jadi tingkatkan versi nginx,Saat memutakhirkan versi nginx, Anda benar-benar dapat menginstal modul lua-nginx dan modul ngx_devel_kit ke dalam versi baru, yang tidak akan dirinci di sini, cukup jalankan perintah berikut dengan versi baru,
Unduh ngx_lua_waf dan unzip
Ubah file konfigurasi nginx untuk mengubah jalur sesuai dengan situasi aktual
Tambahkan di bagian http nginx.conf
Setelah ditambahkan,Saya memulai ulang nginx dan mendapat kesalahan 500Akhirnya, ditemukan bahwa alasannya adalah bahwa file config.lua harus dimodifikasi di dua tempat:
RulePath dan logdir untuk dimodifikasi sesuai dengan situasi Anda sendiri!
Ujian
https://www.itsvse.com/forum.php?id=../etc/passwd
|