martes, 9 de abril de 2013

Protección de directorios y paneles de control

Una de las tareas imprescindibles es proteger nuestro servidor web de los diferentes ataques existentes, uno de ellos es el ataque a fuerza bruta de nuestros directorios web.

Bruteforcing

Esta técnica  realiza una comparación por cada directorio y archivo base contra los directorios y archivos de nuestro servidor web. Dicho de otra forma, el bruteforce tiene un registro de los directorios mas importantes y de archivos de configuración, con base a esto ataca nuestro servidor en busca de ellos.

Para evitarlo necesitamos cambiar el nombre al panel de control y escribir uno que sea "propio" o que no sea lógico,  una máscara que se puede usar es agregar un _ antes de la carpeta.

Indexeo de Bots

Últimamente es lo que se utiliza muy amenudo, dorkear un poco para que nos despliegue dónde está e cPanel, sí es que Google lo ha indexeado. Esta técnica se puede evitar con facilidad, pero el remedio nos puede dar en la madre, así que trataremos de evitar que nos dé en la madre. Podremos usar el fichero robots.txt, pero revelaríamos la ubicación de nuestro cPanel, así que lo colocaremos lejos de raíz /xxx/yyy/_M0np4nn34ud3c0n7r0l3/, así que quedaría así el fichero robots.txt

Código:

User-agent: *
Disallow: /xxx/
Disallow: /otro_Fichero/
Disallow: /otro_fichero/

Conserven este fichero, porque más tarde haremos uso de él. Cabe mencionar que deberán de tener los suficientes conocimientos para implementar estos módulos y funciones del Apache, sinceramente no soy yo el que usa robots.txt, es problema del administrador del sistema.

Contenido de...
Evitaremos cosas extrañas como estas: http://starbase.jpl.nasa.gov/ que nos puede costar la vida. Primero que nada trataremos de poner un archivo index en todas las carpetas y que haga redirección al index de la web, sí no les apetece podríamos especificar archivos index y especificar nuestro error 404. Esto se puede hacer en .htaccess, simplemente ponemos lo siguiente:

Código:
# Definición de los archivos
DirectoryIndex index.html index.php
# Definición de nuestro error 404 personalizado
ErrorDocument 404 /xxx.php
Así nos evitaremos esto, pronto veremos más profundizado el .htacces, nos pasamos al siguiente

Web Crawling


Este es un método bastante difícil de evitar, lo que hace básicamente este es rastrear todos tus archivos, así dejándote en plena humillación y todos tus intentos por protegerlo, se habrán ido a la basura. Éste no es lo mismo que las técnicas convencionales, es algo diferente, aunque llegaría siendo convencional, da igual, trataremos de evitarlo a como de lugar. Por ello necesitaremos ACAP version +1, para incluirlo en nuestros ficheros robots. Con esto podremos evitar el crawling, si es posible que nunca se haga. Bueno, tendremos que hacer casi lo mismo que con el Disallow, sólo que de esta manera:
Código:

ACAP-crawler: *
ACAP-disallow-crawl: /xxx/
ACAP-disallow-crawl: /otro_Fichero/
ACAP-disallow-crawl: /
También existe otra manera, que es la de configurar Apache, pero eso ... ya no es divertido

Punto final, alerta roja, consiguieron la ruta

Sí alguien realmente bueno en lo que hace consiguió acceso a la ruta dónde tenemos nuestro cPanel, aún no te pongas a rezar, queda una manera de evitarlo. Utilicemos los errores 404 falsos, y una restricción de IP desde .htaccess, ¿es eso posible o me fume una hierba bastante fuerte?, sí es posible, tarde un tiempo en poder hallar la manera de hacerlo, pero al final es bastante fácil.

Cómo sabemos un error 404 significa que se realizó una conexión al servidor, pero no se encontró el fichero requerido, muchas veces la gente cree que lo podrá hacer con unas bonitas lineas de PHP, pero eso no es lo correcto, si nos ponemos a analizar bien la regla que cubre a los errores 404 no se completa, como resultado, nos estaríamos auto-jodiendo, porque además de que es bypasseable esto alerta más al atacante. Muchos creen que pueden hacer esto:
Código:


$ip=$_SERVER['REMOTE_ADDR'];
if($ip!=="xxx.xxx.xx.x") {
header("HTTP/1.1 404 Not Found");
// o mucho peor, intentaran un
// header("Location: /404/index.php");
exit();
}
else {
....


Diré que los que hacen eso son unos tontos, porque no comprenden bien, creo que toman demasiada cerveza, lo correcto sería dejar así nuestro .htaccess

Código:

# Definición de los archivos
DirectoryIndex index.html index.php
# Definición de nuestro error 404 personalizado
ErrorDocument 404 /xxx.php
#Empieza la definicion de nuestras reglas
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !XXX\.XXX\.XX\.X
RewriteRule (.*) http://www.chambo.com/404/index.php

Fuente:http://www.hackxcrack.es/forum/index.php?topic=6824.0

No hay comentarios:

Publicar un comentario