Foro de elhacker.net

Seguridad Informática => Seguridad => Mensaje iniciado por: Skali en 19 Julio 2017, 07:42 am



Título: Es segura ésta configuración de iptables?
Publicado por: Skali en 19 Julio 2017, 07:42 am
Muy buenas! Estaba leyendo un artículo sobre como hacer un password cracker con 8 GPU's:

https://www.shellntel.com/blog/2017/2/8/how-to-build-a-8-gpu-password-cracker (https://www.shellntel.com/blog/2017/2/8/how-to-build-a-8-gpu-password-cracker)

y me puse a pensar que si llegara a crear uno de esos y quisiera conectarme a el remotamente, por ejemplo, a través de mi notebook desde cualquier lugar, y dejara por ejemplo un servidor ssh en el password cracker, pense en una regla de iptables para implemetnar sobre el password cracker que me pareció bastante segura, y me gustaría saber que piensan ustedes:

Código
  1. #Bloqueamos todo el tráfico entrante al puerto donde se encuentra el servidor SSH
  2. iptables -A INPUT -p tcp --dport 38787 -j DROP
  3. #Solo aceptamos el tráfico entrante al servidor SSH desde una mac que nosotros asignemos
  4. iptables -A INPUT -p tcp --dport 38787 -m mac --mac-source 01:23:45:67:89:01 -j ACCEPT
  5.  

Luego desde nuestra notebook o desde donde nos queremos conectar al password cracker, utilizamos:

Código
  1. #Cambiamos nuestra mac por la que asignamos en el firewall del password cracker
  2. macchanger -m 01:23:45:67:89:01
  3. #Nos conectamos con determinado usuario a la IP del password cracking especificando otro puerto distinto al 22.
  4. ssh usuario@ippasswordcracking -p 38787
  5.  

Entonces en conclusión yo veo muchas capas de seguridad, ya que para poder lograr una conexión al servidor SSH necesitaríamos varias cosas, entre ellas:
-Conocer la contraseña del usuario SSH.
-Conocer el nombre del usuario SSH (el user podría considerarse un segundo pass)
-Conocer la MAC desde la cual se puede conectar al servidor SSH (tercer pass)
-Conocer la IP del password cracker.
-Saber que el puerto donde se encuentra el servidor SSH es distinto al 22, ésto a través de nmap y un escaneo completo de puertos es sencillo darse cuenta si hay un servidor SSH abierto en algúno de los 65k de puertos existentes, pero de todas formas puede ser una pequeña medida extra de seguridad.

Me gustaría que me criticaran, o que añadieran reglas o modificaran las que utilicé. Obviamente lo único que muestro son las reglas para el trafico de entrada hacia el puerto con ssh, faltaría especificar una política restrictiva por defecto, y proteger a cada uno de los servicios, y no olvidar las reglas para el trafico de salida.

Saludos y gracias!



Título: Re: Es segura ésta configuración de iptables?
Publicado por: animanegra en 19 Julio 2017, 12:40 pm
A priori esa regla no te va a funcionar. En cuanto llegue a la primera regla dropeará el paquete no siguiendo a la regla siguiente. Por otro lado, si te quieres poder conectar desde cualqueir lugar no puedes poner un filtro asociado a la mac ya que la mac se queda en la red local, por lo que, cuando te conectes desde fuera la unica mac que va a ver tu ordenador será la del router que redirige los paquetes de fuera hacia dentro.

Las politicas de seguridad buenas, suelen pasar además por realizar una politica por defecto de dropeo y aceptar solo los paquetes de las direcciones que deseas aceptar de manera que cualquier trafico que no sea conocido se tire.

al jugar con las reglas lo primero que haría sería poner una politica de dropeo por defecto:

iptables -P INPUT DROP

y a partir de ahí jugar con el ACCEPT.

Si guieres que se acepte un paquete enviado desd fuera de un equipo concreto tendrás que hacerlo mediante algún valor a partir de la capa IP. Olvidate de poner filtros a nivel ethernet.
Hay gente que lo que hace al no poder jugar con la IP origen porque desea conectarse desde cualquier red es jugar con elementos como IPID o con valores en el PAYLOAD y utilizando filtros asociados a dichos valores y aceptar solo aquellas conexiones que las cumplan.

Igual una forma fácil de hacer medianamente seguro lo que propones es implementar un port knocking. Mirate un poco eso, se basa en que para usar un servicio antes tienes que knockear en la puerta en un orden determinado unos puertos concretos. Si no lo haces en dicho orden entonces el puerto a conectarte no se abre y no puedes realizar la conexión.

Otra forma de hacerlo sería simplemente permitir el acceso via ssh que te permite realizar control de accesos basándote en una password o clave y desde hay hacer un tunel ssh. Mirate tambien la forma de hacer tuneles via ssh.


Título: Re: Es segura ésta configuración de iptables?
Publicado por: Skali en 24 Julio 2017, 22:57 pm
Muchas gracias aminanegra! Excelente respuesta y recomendaciones. Tenés toda la razón con el tema de no filtrar por mac, ya que las mac origen y destino cambian salto a salto. Me había olvidado un poco de la capa de enlace, pero ahora que me corregís me cae la ficha. Y me resultó muy interesante lo del port knocking, es algo que voy a tener en cuenta para implementar. Saludos y gracias nuevamente!