martes, 14 de mayo de 2013

.Htaccess y sus Configuraciones


En el siguiente articulo veremos un poco de .htaccess, que es ?, bueno este es un archivo oculto que nuestro servidor Apache utiliza para tener unas cuantas reglas sobre archivos, directorios u otras configuraciones particulares. No es novedad que muchos de los webmasters saben que es y para que sirve, pero también es verdad que hay muchos que no lo saben o que omiten este tema. 

Una pregunta típica seria, que podemos hacer con este fichero, pues bien es a lo que venimos, con este archivo podemos ayudar a optimizar nuestras url, controlar el trafico, denegar el servicio a algunas ips o wesites que no sean de nuestro agrado (dos), documentos de errores (403 error, 404, etc) y otros que iremos viendo en el transcurso del articulo. 

Una regla de bastante ayuda para un sitio web seria lo relacionado con ataques de Inyección Sql, Escaneo de nuestro website, Xss, Lfi, Rfi entre otros...

Para eso usaremos lo siguiente: 

Options +FollowSymLinks
 
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^(-|\.|') [OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)(<|>|%3C|%3E)(.*) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget)(.*) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)(libwww-perl|libwwwperl|snoopy|curl|wget|winhttp|python|nikto|scan|clshttp|archiver|loader|email|harvest|fetch|extract|grab|miner|suck|reaper|leach)(.*) [NC,OR]

RewriteCond %{REQUEST_URI} ^(/,|/;|/<|/>|/'|/`|/%2C|/%3C|/%3E|/%27|/////) [NC,OR]
RewriteCond %{HTTP_REFERER} ^(.*)(|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|<|>|'|%3C|%3E|%26%23|%27|%60)(.*) [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)(|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|%3C|%3E|%27|%26%23|%60)(.*) [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)('|-|<|>|,|/|\\|\.a|\.c|\.t|\.d|\.p|\.i|\.e|\.j)(.*) [NC,OR]
RewriteCond %{HTTP_COOKIE} ^(.*)(<|>|'|%3C|%3E|%27)(.*) [NC]

Con esto evitamos  escaneos y cualquier intento de manipulación malintencionada 
de la URL. 

Si en determinado caso deseáramos manejar los errores de apache, mas bien re dirigirlos a un documento que nosotros tengamos, va la siguiente regla: 

ErrorDocument 401 /error401.html
ErrorDocument 403 /error403.html
ErrorDocument 404 /error404.html


(Esto muestra que ante cualquiera de esos errores se redirigira a website.com/error404.html)

Bloquear el acceso de determinadas direcciones IP a nuestro servidor.

order deny,allow 
deny from 202.54.122.33 
deny from 8.70.44.53 
deny from web.com
allow from all

En determinados casos podemos necesitar que un website creado, ya sea para una empresa propia o en nuestro trabajo, solo admita la entrada a usuarios de un Area Local Lan, para esto podremos asignar la siguiente regla: 

order deny,allow 
deny from all 
allow from 192.168.0.0/24

(en donde va la ip 192.168.0.0 / 24, el 24 puede ser cambiado a cuantos ordenadores Lan tengamos disponibles, en este caso si entrara un Lan con ip 192.168.0.25, no se le admitiría el acceso por el /24)

No permitir acceso al .htaccess 

order allow,deny
deny from all

Evitar que se liste el contenido de los directorios 

Options All -Indexes

Denegar el acceso a robots

RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR]
RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR]
RewriteCond %{HTTP_USER_AGENT} ^attach [OR]
RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xenu [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus

Redireccionar a los robots a otra web 
 
RewriteRule ^.*$ http://www.otraweb.com [R,L]

Protegerse contra los ataques DOS limitando el tamaño de subida de archivos 
 
LimitRequestBody 10240000

Bueno, espero y les sea de ayuda estas pocas configuraciones, navegando por webs podemos encontrarnos con muchas, que nos pueden ser de mucha utilidad a la hora de asegurar nuestros websites de las muchas amenazas que existe hoy en dia, un saludo ! 
Share:

0 comentarios:

Publicar un comentario

FOLLOWME


Translate

Followers