La mayoría de los plugins de WordPress requieren PHP y MySQL lo cual puede generar consumo excesivo e innecesario de recursos en su estrategia de seguridad general. Implementando una solución .htaccess como el 6G Firewall, el código se ejecuta sin invocar la memoria y los recursos necesarios para PHP, MySQL, etc. Eso le da un mejor rendimiento mientras ahorra recursos de servidor para tráfico legítimo.
6G Firewall es una manera fácil y rentable de proteger tu web contra hackers
Ayuda a protegerse basuras nefastas como ataques XSS, inyecciones SQL / PHP , envenenamiento de caché, división de respuestas, exploits de doble cabecera y más.
Hay muchas soluciones de seguridad disponibles para las webs, pero ninguna proporciona la simplicidad, flexibilidad y rendimiento del firewall 6G.
Este firewall está muy refinado y muy probado con el fin de minimizar los falsos positivos. Protege tu sitio contra una gran variedad de solicitudes de ULRs maliciosas, bots malos, referencias de spam y otros ataques. El bloqueo de este tráfico mejora la seguridad de tu página web, reduce la carga del servidor y conserva los recursos.
No necesita configuración. También es de código abierto, fácil de usar y totalmente gratuito, Proporcionando una fuerte protección para cualquier sitio web con Apache.
[toc]
¿Cómo funciona el 6G Firewall?
El 6G Firewall es una lista negra potente y bien optimizada que comprueba todas las solicitudes URI contra un conjunto de directivas .htaccess cuidadosamente construidas. Esto a nivel de servidor y sin consumir recursos de las aplicaciones que se ejecutan en la web.
Al igual que otros firewalls y listas negras de Apache , el 6G opera a nivel de servidor. Básicamente, agregas el código 6G al archivo raíz de .htaccess de tu sitio web y luego siéntate y relájate mientras 6G hace su magia. Esa es la belleza de la misma: no hay configuración necesaria.
Sólo tiene que añadir el código y ya está.
Una vez implementado, 6G analiza cada solicitud HTTP hecha en su sitio. Compara aspectos clave de cada solicitud con un conjunto cuidadosamente formulado de patrones y expresiones. Así que si alguien o algo dispara un partido, inmediatamente son bloqueados, silenciosamente detrás de las escenas (a través de la respuesta 403 Forbidden). Así que los visitantes legítimos pueden seguir navegando por su sitio con total confianza, mientras que los malos están ocupados con el 6G.
Requisitos
Antes de instalar 6G, asegúrese de que su configuración cumple los requisitos:
- Apache versión 2.2 o superior.
- .htaccess activados en su servidor.
Si no está seguro acerca de cualquiera de estos requisitos, pregunte a su proveedor de alojamiento web. Aquí hay un tutorial que explica cómo crear un archivo .htaccess en su máquina local .
Alternativa de WordPress para 6G Firewall
Si su sitio no cumple con los requisitos, puedes usar el siguiente plugin:
- BBQ: Block Bad Queries (plugin gratuito)
El código del 6G Firewall
El 6G Firewall / Blacklist consta de las siguientes secciones:
# 6G:[QUERY STRING]
# 6G:[REQUEST METHOD]
# 6G:[REFERRER]
# 6G:[REQUEST STRING]
# 6G:[USER AGENT]
# 6G:[IP ADDRESS]
Cada una de estas secciones funciona independientemente de las otras, de tal manera que podría, por ejemplo, omitir toda la cadena de consulta y bloques de direcciones IP y las secciones restantes seguirían funcionando bien.
Este código está formateado para su implementación en el archivo raíz de su sitio .htaccess
.
# 6G FIREWALL/BLACKLIST # @ https://perishablepress.com/6g/ # 6G:[QUERY STRINGS] <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{QUERY_STRING} (eval\() [NC,OR] RewriteCond %{QUERY_STRING} (127\.0\.0\.1) [NC,OR] RewriteCond %{QUERY_STRING} ([a-z0-9]{2000,}) [NC,OR] RewriteCond %{QUERY_STRING} (javascript:)(.*)(;) [NC,OR] RewriteCond %{QUERY_STRING} (base64_encode)(.*)(\() [NC,OR] RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|\[|%) [NC,OR] RewriteCond %{QUERY_STRING} (<|%3C)(.*)script(.*)(>|%3) [NC,OR] RewriteCond %{QUERY_STRING} (\\|\.\.\.|\.\./|~|`|<|>|\|) [NC,OR] RewriteCond %{QUERY_STRING} (boot\.ini|etc/passwd|self/environ) [NC,OR] RewriteCond %{QUERY_STRING} (thumbs?(_editor|open)?|tim(thumb)?)\.php [NC,OR] RewriteCond %{QUERY_STRING} (\'|\")(.*)(drop|insert|md5|select|union) [NC] RewriteRule .* - [F] </IfModule> # 6G:[REQUEST METHOD] <IfModule mod_rewrite.c> RewriteCond %{REQUEST_METHOD} ^(connect|debug|move|put|trace|track) [NC] RewriteRule .* - [F] </IfModule> # 6G:[REFERRERS] <IfModule mod_rewrite.c> RewriteCond %{HTTP_REFERER} ([a-z0-9]{2000,}) [NC,OR] RewriteCond %{HTTP_REFERER} (semalt.com|todaperfeita) [NC] RewriteRule .* - [F] </IfModule> # 6G:[REQUEST STRINGS] <IfModule mod_alias.c> RedirectMatch 403 (?i)([a-z0-9]{2000,}) RedirectMatch 403 (?i)(https?|ftp|php):/ RedirectMatch 403 (?i)(base64_encode)(.*)(\() RedirectMatch 403 (?i)(=\\\'|=\\%27|/\\\'/?)\. RedirectMatch 403 (?i)/(\$(\&)?|\*|\"|\.|,|&|&?)/?$ RedirectMatch 403 (?i)(\{0\}|\(/\(|\.\.\.|\+\+\+|\\\"\\\") RedirectMatch 403 (?i)(~|`|<|>|:|;|,|%|\\|\s|\{|\}|\[|\]|\|) RedirectMatch 403 (?i)/(=|\$&|_mm|cgi-|etc/passwd|muieblack) RedirectMatch 403 (?i)(&pws=0|_vti_|\(null\)|\{\$itemURL\}|echo(.*)kae|etc/passwd|eval\(|self/environ) RedirectMatch 403 (?i)\.(aspx?|bash|bak?|cfg|cgi|dll|exe|git|hg|ini|jsp|log|mdb|out|sql|svn|swp|tar|rar|rdf)$ RedirectMatch 403 (?i)/(^$|(wp-)?config|mobiquo|phpinfo|shell|sqlpatch|thumb|thumb_editor|thumbopen|timthumb|webshell)\.php </IfModule> # 6G:[USER AGENTS] <IfModule mod_setenvif.c> SetEnvIfNoCase User-Agent ([a-z0-9]{2000,}) bad_bot SetEnvIfNoCase User-Agent (archive.org|binlar|casper|checkpriv|choppy|clshttp|cmsworld|diavol|dotbot|extract|feedfinder|flicky|g00g1e|harvest|heritrix|httrack|kmccrew|loader|miner|nikto|nutch|planetwork|postrank|purebot|pycurl|python|seekerspider|siclab|skygrid|sqlmap|sucker|turnit|vikspider|winhttp|xxxyy|youda|zmeu|zune) bad_bot # Apache < 2.3 <IfModule !mod_authz_core.c> Order Allow,Deny Allow from all Deny from env=bad_bot </IfModule> # Apache >= 2.3 <IfModule mod_authz_core.c> <RequireAll> Require all Granted Require not env bad_bot </RequireAll> </IfModule> </IfModule> # 6G:[BAD IPS] <Limit GET HEAD OPTIONS POST PUT> Order Allow,Deny Allow from All # uncomment/edit/repeat next line to block IPs # Deny from 123.456.789 </Limit>
Para implementar: incluya la 6G Blacklist completa en el archivo raíz .htaccess de su sitio. Recuerde hacer una copia de seguridad de su archivo .htaccess original antes de realizar cualquier cambio.
Instalación del código de 6G Firewall
Si está ejecutando WordPress y está instalado en su propio directorio, puede que necesite mover las reglas QUERY STRING al archivo .htaccess que se encuentra en la raíz de ese directorio. Así, por ejemplo, si WordPress se instala en un subdirectorio llamado «blackmothsuperrainbow», 6G se incluiría de la siguiente manera:
- El archivo .htaccess contenido en el
/blackmothsuperrainbow/
directorio incluye las reglas QUERY STRING - El archivo .htaccess contenido en el directorio raíz del sitio contiene todo lo demás
Además, en algunos casos puede ser necesario colocar las reglas QUERY STRING antes de cualquier regla de WordPress. La mejor manera de determinar si esto es necesario es hacer la siguiente petición (nota: reemplazar example.com
con su propio nombre de dominio):
https://example.com/?eval(
Después de hacer esa petición, si obtienes una respuesta Error 403, entonces estás bien. Si recibe un error 404 u otra cosa, asegúrese de que las reglas de QUERY STRING se incluyen como se indicó anteriormente.
Bloqueo de IPs
El 6G Firewall incluye una sección para bloquear direcciones IP. Esto es para proporcionar una forma conveniente para los administradores para bloquear los visitantes no deseados / bots. Pero tenga en cuenta que negar el acceso basado en IP es una estrategia temporal , la más adecuada para bloquear rápidamente amenazas específicas.
TimThumb
6G Firewall bloquea las solicitudes del script / plugin de TimThumb con las siguientes reglas:
Por lo tanto, si está ejecutando TimThumb en su sitio, comente o elimine las siguientes reglas:
# RewriteCond %{QUERY_STRING} (thumbs?(_editor|open)?|tim(thumb)?)\.php [NC,OR]
...
# RedirectMatch 403 (?i)/(^$|(wp-)?config|mobiquo|phpinfo|shell|sqlpatch|thumb|thumb_editor|thumbopen|timthumb|webshell)\.php
Al agregar un símbolo de hash #
al principio de cualquier línea en su archivo. Htaccess, efectivamente convertir la línea en un comentario que es ignorado por Apache. Alternativamente, para la RedirectMatch
línea, puede eliminar todas las cadenas relacionadas con «thumb» mientras mantiene activadas las demás.
Tipos de archivo
Para ayudar a proteger su sitio contra amenazas, el 6G bloquea solicitudes para tipos específicos de archivos. Estos archivos se especifican en la sección Pedir cadenas de la 6G, que comienza con asp|bash|cfg
. 99% del tiempo, estos tipos de archivo no se solicitan a través de HTTP, y son totalmente seguros para bloquear. Aún así, es posible que desee examinar la lista y asegurarse de que no está bloqueando los tipos de archivo que son requeridos por su sitio.
CGI
Si estás haciendo algo con CGI como de /cgi-bin/
, quita el cgi-
de esta línea:RedirectMatch 403 (?i)/(=|\$&|_mm|cgi-|etc/passwd|muieblack)
¿Funciona 6G con WordPress?
El 6G funciona maravillosamente con WordPress y debería ayudar a cualquier sitio con tecnología Apache a conservar el ancho de banda y los recursos del servidor mientras protege contra la actividad maliciosa.
Dicho esto, WordPress es el gran jugador en estos días, por lo que la mayoría de las pruebas se sintoniza a esa plataforma en particular. Si está instalando 6G en cualquier otro CMS. Por favor tenga en cuenta y tómese el tiempo para probar todas sus páginas.
Solución de problemas
Si encuentra errores o no carga los recursos después de instalar 6G Firewall, elimine todo el bloque de código y restaure el archivo original .htaccess.
Error del Servidor
Si obtiene un error de servidor después de instalar 6G Firewall, compruebe que su sitio cumple con los requisitos.