Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 17464|Respuesta: 2

[Web] ngx_lua_waf es un cortafuegos de aplicaciones web basado en lua-nginx-module (openresty).

[Copiar enlace]
Publicado en 21/12/2016 16:51:51 | | | |

ngx_lua_waf

ngx_lua_waf es un cortafuegos de aplicaciones web basado en ngx_lua desarrollado cuando me uní por primera vez a Fun Travel.

El código es sencillo, y la intención original del desarrollo es usar simplicidad, alto rendimiento y ligereza.

Ahora es de código abierto y cumple con la licencia del MIT. Contiene nuestras reglas de filtrado. Si tienes alguna sugerencia o quieres hacer el fa, no dudes en mejorarlo conmigo.

Usos:
            
      
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


Instalación recomendada:

Se recomienda usar lujit2.1 para soporte de lua

ngx_lua si es una versión 0.9.2 o posterior, se recomienda cambiar la función de filtro normal a ngx.re.find, y la eficiencia de emparejamiento se multiplicará por tres veces.


Instrucciones de uso:

Se asume que la ruta de instalación nginx es: /usr/local/nginx/conf/

Descarga el ngx_lua_waf en el directorio de conferencia, descomprime y ponle el nombre waf

Añádelo en la sección http de nginx.conf

            

Configura el directorio de reglas WAF en config.lua (normalmente en el directorio waf/conf/)

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

Si el camino absoluto cambia, debe modificarse en consecuencia

Luego reinicia nginx


Detalles del perfil:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --directorio de almacenamiento de reglas
        Registro de ataques = "apagado"
        --Para habilitar el registro de información de ataque, necesitas configurar logdir
        logdir = "/usr/local/nginx/logs/hack/"
        --directorio de almacenamiento de registros, que debe ser creado por el propio usuario y requiere el permiso de escritura del usuario nginx
        UrlDeny="on"
        --si bloquear el acceso a la URL
        Redirect="on"
        --si redirigir tras la intercepción
        CookieMatch = "encendido"
        --Si bloquear ataques a cookies
        postMatch = "on"
        --si bloquear un ataque posterior
        whiteModule = "on"
        --si activar la lista blanca de URL
        black_fileExt={"php","jsp"}
        --Rellena el tipo de sufijo de archivo que no se puede subir
        ipWhitelist={"127.0.0.1"}
        --lista blanca de IP, múltiples IPs separadas por comas
        ipBlocklist={"1.0.0.1"}
        --lista negra de IP, múltiples IPs separadas por comas
        CCDeny="on"
        --Si se habilita la intercepción de ataques cc (requiere que el segmento HTTP de nginx.conf se incremente lua_shared_dict límite de 10 m; )
        CCrate = "100/60"
        --Configura la frecuencia de ataque de control de control en segundos.
        --Por defecto, la misma dirección IP solo puede solicitar la misma dirección 100 veces por minuto
        html=[[Por favor, vete~~]]
        --Contenido de advertencia, personalizable entre paréntesis
        Nota: No use comillas dobles para diferenciar las mayúsculas y mayúsculas

        
Comprueba si las normas están en vigor

Tras el despliegue, puedes probar el siguiente comando:        
  
      

Nota: Por defecto, la máquina no filtra en la lista blanca, y puedes ajustar la configuración de config.lua tú mismo


Las representaciones son las siguientes


Actualizaciones de las reglas:

Teniendo en cuenta el problema de caché de los regulares, las reglas dinámicas afectan al rendimiento, así que no uso cosas como diccionarios de memoria compartida ni Redis para la gestión dinámica.

Las actualizaciones de reglas pueden colocarse en otros servidores, y las reglas pueden actualizarse descargándolas regularmente a través de la tarea crontab, y la recarga nginx entrará en vigor. Para garantizar el alto rendimiento de NGX LUA WAF.

Solo graba el registro de filtros, no actives el filtrado, solo añade un -- comentario delante de check en el código, si necesitas filtrar, viceversa

Algunas notas:

        Las reglas de filtrado pueden ajustarse según tus necesidades bajo wafconf, y cada regla debe ser envuelta o dividida con |
        
                Las reglas ARGS obtienen parámetro para filtrar
                Las URLs son reglas que solo solicitan URLs filtradas en GET               
                Las publicaciones son una regla de filtrado solo en solicitudes de publicación               
                La lista blanca es una lista blanca, y las URLs que contiene coinciden para que no esté filtrada               
                user-agent es una regla de filtrado para user-agent
        

        El filtrado de Get y de publicaciones está activado por defecto; si necesitas activar el filtrado de cookies, edita la parte waf.lua cancelar - comentar
        
        El formato del nombre del archivo de registro es el siguiente: Nombre de Host Web _sec.log






Anterior:Powershell no carga archivos al programar directamente porque el script está prohibido
Próximo:CMD /C y cmd /k se explican en detalle
Publicado en 8/11/2017 15:23:22 |
Sí, lo aprendí
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com