Módulo Lua nginx Taobao desarrolló un módulo de terceros nginx, que puede integrar el lenguaje lua en la configuración nginx, de modo que el uso de lua mejora enormemente la capacidad de nginx. nginx es conocido por su alta concurrencia, los scripts lua son ligeros y la combinación de ambos es perfecta.
Dirección de GitHub: https://github.com/loveshell/ngx_lua_waf
###用途:
- Prevenir ataques web como inyección SQL, inclusión local, desbordamiento parcial, pruebas de fuzzing, xss, SSRF, etc
- Evitar fugas de archivos como SVN/copia de seguridad
- Previene ataques con herramientas de pruebas de estrés como ApacheBench
- Bloquear herramientas comunes de hacking de escaneo, escáneres
- Bloquear solicitudes de red inusuales
- Bloquear el permiso de ejecución PHP del directorio adjunto de imágenes
- Evitar la subida de webshell
Versión del sistema, comando lsb_release -a
Versión LSB: :core-4.1-amd64:core-4.1-noarch ID del distribuidor: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
Versión LuaJIT
LuaJIT-2.0.5 es la última versión estable
Versión de nginx (no se instalará, hablaré de eso más adelante)
Versión NGINX 1.4.4
Primero, crea el directorio de instalación /alidata/server/lj2 con el siguiente comando:
Instalar el entorno Lua
--Comprueba si la instalación ha sido exitosa
--Crear enlaces blandos
Orden original:
Como tenemos lua instalado en /alidata/server/lj2, ejecuta el siguiente comando,No ejecutes el comando anterior, ejecuta el siguiente comando:
Si no creas un enlace simbólico, puede ocurrir la siguiente excepción: error al cargar bibliotecas compartidas: libluajit-5.1.so.2: no puede abrir archivo de objeto compartido: No existe dicho archivo ni directorio
Descarga ngx_devel_kit y descomprime
Página principal del proyecto: https://github.com/simplresty/ngx_devel_kit
Descárgate ngx_lua y descomprime
Recompilar e instalar nginx
Haz una copia de seguridad del archivo ngxin anterior primero
He instalado nginx antes, ejecutando el comando nginx -V de la siguiente manera:
Versión de Nginx: Nguinx/1.4.4 Construido por GCC 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) Soporte TLS SNI habilitado configurar argumentos: --usuario=www --grupo=www --prefijo=/alidata/server/nginx --con-http_stub_status_module --sin caché-http --con-http_ssl_module --con-http_gzip_static_ Módulo Dos catálogos de módulos
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19
Descárgate y ejecuta en el directorio nginx
--añadir variable de entorno para indicar a nginx dónde encontrar a Luajit
Si no lo añades, nginx informará del siguiente error al compilar:
./configure: error: ngx_http_lua_module requiere la biblioteca Lua. Si se reporta un error, ¡por favor ejecuta las dos frases anteriores!
compilar
Error: #error al menos nginx 1.6.0 es necesario, pero encontré una versión anterior
La versión de nginx es demasiado baja, el requisito mínimo es la 1.6.0, así que actualiza la versión de nginx,Al actualizar la versión nginx, puedes instalar el módulo lua-nginx y ngx_devel_kit módulo en la nueva versión, que no se detallará aquí, simplemente ejecuta el siguiente comando con la nueva versión,
Descárgate ngx_lua_waf y descomprime
Modifica el archivo de configuración nginx para cambiar la ruta según la situación real
Añádelo en la sección http de nginx.conf
Una vez añadido,Reinicié nginx y obtuve un error 500Finalmente, se descubrió que la razón era que el archivo config.lua debía modificarse en dos lugares:
¡RulePath y logdir para modificar según tu situación!
Prueba
https://www.itsvse.com/forum.php?id=../etc/passwd
|