Defensas contra ataques a su servidor web

De Wiki de la Comunidad Mandriva

Tabla de contenidos

[editar] Trucos anti Spam

Si tienes un blog que usa APXS (la versión modula de Apache incluida en Mandriva Linux), hay tres técnicas para bloquear spam usando Apache: Directivas apache, reglas .htaccess y mod_security.

[editar] Directivas Apache

Se puede definir una variable de entorno en Apache para bloquear el acceso a un atacante basándose en palabras clave contenidas en dicha variable.

Primero, tiene que añadir una línea que defina la variable de entorno basada en palabras clave:

SetEnvIfNoCase Referer ".*(keyword1|keyword2|keyword\.com|etc.).*" BadReferrer

Después hay que dar acceso a dicha variable de entorno:

#Site settings
<Directory "/var/www/html/directory">
    allow from all
    deny from env=BadReferrer
</Directory>

Ahora, cuando alguien quiera entrar en tu web usando una referencia que contenga una palabra clave prohibida, obtendrán un error de acceso 403.

[editar] Reglas .htaccess

Simplemente, añada líneas como las siguientes a un fichero .htaccess e inclúyalo en el directorio principal de la web.

RewriteCond %{HTTP_REFERER} ^(.*).keyword1(.*)$ [OR]
RewriteCond %{HTTP_REFERER} ^(.*).key(.*)-word(.*)$ [OR]
RewriteCond %{HTTP_REFERER} ^(.*)keyword2(.*) [OR]
RewriteCond %{HTTP_REFERER} ^(.*)keyword3.(.*) [OR]
RewriteCond %{HTTP_REFERER} ^(.*)keyword.com(.*) [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?keyword4.*$
RewriteRule .* http://www.thispagecannotbedisplayed.com/ [R,L]

[editar] mod_security

Este es un método comúnmente usado por su efectividad y por las posibilidades casi ilimitadas contra los visitantes problemáticos.

Añade una línea dentro del fichero /etc/httpd/conf.d/82_mod_security.conf como esta:

SecFilterSelective "HTTP_REFERER" "(keyword1|keyword2|key\.word\.3|etc)" "deny,log,status:403"

para prohibir el acceso. También puede cambiar "status:403" a "redirect:http://127.0.0.1" para redireccionarlo a la máquina local atacante. Incluso puede devolver el golpe redireccionando a una dirección sin sentido como 192.168.52.142 de manera que se vuelvan locos esperando un mensaje de "timeout".

También, para webs que sufren ataques especialmente serios, se les puede redireccionar a ellos mismos, dándoles de su propia medicina.

Para bloquear spam del tipo "comentarios", añada una línea como sigue:

SecFilterSelective "POST_PAYLOAD" "(keyword1|keyword2|key\.word\.3|etc)" "deny,log,status:403"
Herramientas personales
Ad (via La Vignette)
Looking for a job?