Advertisement

header ads

HABLEMOS DE IPTABLES EN TU RASPBERRY PI CON KALI LINUX

Antes de empezar este post quisiera aclarar que mi pagina web estará activar hasta que termine todos mis experimento con los servidores.



El otro día conversaba con la gente de la EKOSPACE y revisaron mi servidor que estaba protegido en muchos niveles y se me ocurrió comentarle sobre el tema de IPTABLES en el cual me explico sobre su función pero era un tema largo que llegue a casa y comencé a buscar sobre ese tema y hoy les comentare lo básico sobre esta herramienta.
Puedes encontrar más información en WIKIPEDIA AQUÍ

¿Qué es IPTABLES?

Iptables permite filtración de paquetes, traducción de direcciones de red y modificación del encabezado de los paquetes.
Dos de los más comunes usos de iptables son dar soporte para cortafuegos y NAT.
iptables trabaja en las tres capas.
capa 2: Enlace de datos (mac-addres)
capa 3: Red (Protocolo IP)
capa 4: Transporte (TCP/UDP/ICMP)

Ver la configuración actual

Para ver qué reglas ya están configuradas, utilice este comando:
iptables -L
La salida será similar a la siguiente:
 
 Chain INPUT (policy ACCEPT)
 target     prot opt source               destination

 Chain FORWARD (policy ACCEPT)
 target     prot opt source               destination

 Chain OUTPUT (policy ACCEPT)
 target     prot opt source               destination
Esto permite a cualquiera el acceso de lo que sea a donde sea.
Para proteger tu maquina y tu red hay que conocer a iptables. IPTABLES tiene tres tapas.
– La primera tabla: Es una tabla por default por lo general se enfoca en el filtrado de paquete, de detener, permitir o redireccionar.
Cada tabla tiene cadena diferente. Por ejemplo:
Cadena INPUT.
Cadena FORWARD.
Cadena OUTPUT.
Veamos la tabla NAT.
Para verlo tenemos que usar el siguiente comando:
iptables -t nat -L
otra tabla mejor y su nombre es mangle
iptables -t mangle -L
es más compleja y combina las dos tablas, ademas tiene muchas más funciones.
HAGAMOS UNA DEMOSTRACIÓN
Escaneamos con nmap para saber que nos dicen.
El resultado es que tenemos abierto nuestro puerto 22. Pero con nuestra herramienta iptables lo que vamos hacer es prevenir es cuidar nuestro puerto 22 SSH. El siguiente comando:
iptables -A INPUT -p tcp --dport 22 -j DROP
Colocamos iptables el comando de la herramienta -A Añadir al nombre de la cadena INPUT -p seria por el protocolo “TCP” –dport sera el puerto que usaremos para bloquear -j decisión y DROP
Y si lo llegamos a escanear nos daremos cuenta que estará filtrado nuestro puerto 22.
Para poder borrar la ejecución que hicieron lo pueden hacer con el siguiente comando.
iptables -F
Hagamos un RANGO DE PUERTOS con el siguiente comando
iptables -A INPUT -p tcp --dport 1:1024 -j DROP
Lo que dice es colocar iptables de la herramienta -A añadimos INPUT -p seleccionamos el protocolo tcp –dport seleccionamos desde 1 al 1024 -j decisión DROP
Lo que ha hecho es bloquear todo el trafico TCP 1 al 1024
HAGAMOS AHORA PERMITIR SOLO NOSOTROS ACCESO.Y lo que haremos es hacer que iptables niegue todo.
Siguiente comando
iptables -P INPUT DROP
iptables -P OUTPUT DROP
Esto lo que pasa es que hemos perdido acceso a la conexión de Internet entonces nmap no nos detecta.
Esto sucede porque los puertos ida y salida están bloqueados.
AHORA LO QUE HAREMOS ES REGENERAR EL TRAFICO SI ES QUE NOSOTROS QUEREMOS.
Con el siguiente comando.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
pero aun no tenemos Internet.
Corregiremos eso.
iptables -A OUTPUT -m state --state NEW,RELATED -j ACCEPT
Pero solo hemos permitido al acceso solo una vez un saludo pero no permitió seguir recibiendo.
iptables -A OUTPUT -m state --state NEW,RELATED -j ACCEPT
Pero veamos la linea de proyección
iptables -L --line-numbers
ahora modificaremos eso.
iptables -R OUTPUT 1 -m state --state NEW,ESTABLISHED -j ACCEPT
Y ahora tenemos internet.
Con la opción (-m) iptables es capaz de darle seguimiento al trafico aun este allá dejado el firewall mediante los flags del saludo 3 vías (3 way handshake) SYN,SYN-ACKL,ACK
Pero que pasa si lo escaneamos con NMAP. No muestra nada porque tu maquina esta protegida.
PARA PODER GUARDAR LOS DATOS MODIFICADO SERIA.
iptables-save > cread.txt
Si llegamos a borrar lo modificado podemos recuperar con el archivo .txt regenerar la configuración guardada.
iptables-restore < cread.txt
Y listo puedes recuperar la configuración anterior.
Ahora hagamos por default en iptables
iptables -A : Añadir
iptables -R : Remover
iptables -I : Insertar
iptables -z : Para resetear los contadores.
iptables -n : para crear una cadena nueva
iptables -x : para remover una cadena.
iptables -N LOGGIN
Inmediatamente nos crea una cadena nueva.
Ahora lo que haremos es usar el log
service rsyslog status
para verificar si esta corriendo.
Ahora que te he mostrado sobre las cadenas, veamos a ver un comando.
iptables -X INPUT -p tcp --dport 22 -j DROP
Esta bloqueando el trafico, no importa de donde venga ni hace donde vaya ya sea ssh lo va a tumbar. También puede usar otro comando que cumple la misma función como.
iptables -A INPUT -j DROP -p tcp --dport 22
Hagamos una inversion con el siguiente comando.
iptables -A INPUT -s 192.168.1.2 -j DROP
Lo que pasa es que si hacemos un ping al firewall no nos va a contestar.
Ahora hagamos tener acceso a una maquina que seria el administrador.
iptables -A INPUT ! -s 192.168.1.2 -j DROP
Y ahora vemos que tenemos conexión.
Ahora veamos si tu jefe te pide que bloquee los puertos del 1 al 5
iptables -A INPUT -p tcp --dport 1:5 -j DROP
Ahora vamos a ver con los puertos seleccionado.
iptables -A INPUT -m multiport -p tcp --dport 21,66,455 -j DROP
Ahora haremos con la MAC
iptables -A INPUT -m mac --mac-source (MAC) -j DROP
La mac sera de tu maquina que corre el servidor.
Ahora veremos los mensajes en la siguiente ruta
cd /var/log
tail messages
cat messages
Nos muestra toda la información.
Ahora veremos las evidencia de las conexiones
iptables -A INPUT -p icmp -j LOG
Si la victima usa un ping veremos lo que corre.
watch tail messages
Fijate que inmediatamente sale información del destino que se hace ese trafico.
Para ver las conexiones pero en la mejor manera.
iptables -A INPUT -icmp -j LOG --log-prefix "HACKINEDO PING"
Guardar las conexiones de los puertos
iptables -A INPUT -m multiport -p tcp --dport 21,22,23 -j LOG --log-prefix "INTENTO DE CONEXION"
Si alguien intenta ingresar al puerto ssh podrás capturarlo.
Para verlo con el texto seria
grep INTENTO messages
Para defiinir interfaces
iptables -A INPUT -i eth0 -j DROP
Para todas tus eth
iptables -A INPUT -i eth+ -j DROP
Bueno espero haberte ayudado con este pequeño tutorial y no te olvides de compartirlo con tus amigos.
GRACIAS

Publicar un comentario

0 Comentarios