LinuxParty
En este breve artículo se explica cómo se pueden bloquear los ataques más habituales, inyecciones SQL, inyecciones de archivos, correo no deseado y los agentes de usuario usados por los hackers y hoggers de sus vhosts nginx con algunas directivas de configuración simples. Esta configuración está lejos de ser completa, pero es un buen punto de partida. Usted tendrá que ver sus registros de intento de robos en los intentos y luego tratar de modificar / completar el conjunto de reglas.
No hay ninguna garantía de que esto funcionará para usted!
Modifique sus Vhosts nginx
El conjunto de reglas que uso aquí tiene que ser insertado en cada vhost nginx (dentro de un contenedor de servidor {}) donde desea utilizarlo. Por desgracia, no se puede utilizarse a nivel general debido a que la directiva set no está permitido en el interior del contenedor http {}.
server { [...] ## Block SQL injections set $block_sql_injections 0; if ($query_string ~ "union.*select.*\(") { set $block_sql_injections 1; } if ($query_string ~ "union.*all.*select.*") { set $block_sql_injections 1; } if ($query_string ~ "concat.*\(") { set $block_sql_injections 1; } if ($block_sql_injections = 1) { return 403; } ## Block file injections set $block_file_injections 0; if ($query_string ~ "[a-zA-Z0-9_]=http://") { set $block_file_injections 1; } if ($query_string ~ "[a-zA-Z0-9_]=(\.\.//?)+") { set $block_file_injections 1; } if ($query_string ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+") { set $block_file_injections 1; } if ($block_file_injections = 1) { return 403; } ## Block common exploits set $block_common_exploits 0; if ($query_string ~ "(<|%3C).*script.*(>|%3E)") { set $block_common_exploits 1; } if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") { set $block_common_exploits 1; } if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") { set $block_common_exploits 1; } if ($query_string ~ "proc/self/environ") { set $block_common_exploits 1; } if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)") { set $block_common_exploits 1; } if ($query_string ~ "base64_(en|de)code\(.*\)") { set $block_common_exploits 1; } if ($block_common_exploits = 1) { return 403; } ## Block spam set $block_spam 0; if ($query_string ~ "\b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b") { set $block_spam 1; } if ($query_string ~ "\b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b") { set $block_spam 1; } if ($query_string ~ "\b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b") { set $block_spam 1; } if ($query_string ~ "\b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b") { set $block_spam 1; } if ($block_spam = 1) { return 403; } ## Block user agents set $block_user_agents 0; # Don't disable wget if you need it to run cron jobs! #if ($http_user_agent ~ "Wget") { # set $block_user_agents 1; #} # Disable Akeeba Remote Control 2.5 and earlier if ($http_user_agent ~ "Indy Library") { set $block_user_agents 1; } # Common bandwidth hoggers and hacking tools. if ($http_user_agent ~ "libwww-perl") { set $block_user_agents 1; } if ($http_user_agent ~ "GetRight") { set $block_user_agents 1; } if ($http_user_agent ~ "GetWeb!") { set $block_user_agents 1; } if ($http_user_agent ~ "Go!Zilla") { set $block_user_agents 1; } if ($http_user_agent ~ "Download Demon") { set $block_user_agents 1; } if ($http_user_agent ~ "Go-Ahead-Got-It") { set $block_user_agents 1; } if ($http_user_agent ~ "TurnitinBot") { set $block_user_agents 1; } if ($http_user_agent ~ "GrabNet") { set $block_user_agents 1; } if ($block_user_agents = 1) { return 403; } [...] } |
Cada vez que una de las reglas coincide con una petición, un error 403 Forbidden se devuelve al cliente. He comentado la regla wget aquí porque esto también podría bloquear los trabajos del cron, que es bastante común entre las aplicaciones modernas CMS. Si su aplicación no utiliza wget, puede descomentar esa regla también.
No te olvides de recargar nginx:
/etc/init.d/nginx reload

-
Medicina.
- ¿Por qué una bacteria puede soportar una radiación que mataría a un ser humano?
- El papel revolucionario de la IA en la atención sanitaria
- Las muertes por cáncer están disminuyendo, pero puede haber un asterisco
- Descubre las Mejores Fuentes de Hierro para Tu Salud, y no son las Lentejas ni la Carne
- Milagroso tratamiento con células CAR-T: Paciente ve desaparecer sus tumores cancerígenos en un mes
- Investigadores han encontrado una manera de regenerar dientes
- Revertir el proceso de las canas podría ser posible. El peinar cabellos de plata, se va a acabar.
- El Coeficiente Intelectual de los estadounidenses ha disminuido rápidamente, lo que demuestra el 'efecto Flynn inverso'
- Un tratamiento para el "anticonceptivo masculino" detuvo el esperma en ratones, según un estudio
- Hace 10.000 años nadie tenía lo ojos azules
- Dispositivo ocular implantado para tratar la degeneración macular asociada a la edad
- El virus de Epstein-Barr puede ser la causa principal de la esclerosis múltiple
- ¿Por qué da hambre tomar ''cannabis''?
- Un estudio demuestra que el consumo de marihuana en los adolescentes se correlaciona con disminución de IQ
- Cannabis: la cantidad
Comentarios