elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Sistemas Operativos
| |-+  GNU/Linux (Moderador: MinusFour)
| | |-+  Denegar acceso a todos los puertos menos uno en iptables
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Denegar acceso a todos los puertos menos uno en iptables  (Leído 5,809 veces)
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Denegar acceso a todos los puertos menos uno en iptables
« en: 9 Mayo 2015, 06:07 am »

Hola, actualmente en CentOS para denegar el acceso a una ip via iptables lo hago así:

Código:
# iptables -I INPUT -s 1.2.3.4 -j DROP && service iptables save

Pero, como hago para que esa ip quede bloqueada para todos los puertos excepto el 22? ya que si por algún error me autobaneo no quiero quedar sin acceso a mi propio servidor :-/ a pesar de que el baneo es temporal deberia esperar mucho antes de poder acceder.

Tampoco me sirve crear una regla que diga que si es mi ip entonces que no me banee ya que mi ip es dinámica a menos que entre via tunnel por otro servidor a modo de rescate pero no cuento con ese segundo servidor.

Por ahi vi una regla con el argumento --destination-port pero como le indico que son todos menos el 22?
Puedo crear una regla que prohiba todo el acceso y luego que permita el acceso a esa misma ip al puerto 22? (se me acaba de ocurrir xDDDD)


En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Denegar acceso a todos los puertos menos uno en iptables
« Respuesta #1 en: 9 Mayo 2015, 06:13 am »

Listo, funcionó :D

Código:
# iptables -I INPUT -p tcp -s 1.2.3.4 -j DROP && \
iptables -I INPUT -p tcp -s 1.2.3.4 --dport 22 -j ACCEPT && \
service iptables save


En línea

MinusFour
Moderador Global
***
Conectado Conectado

Mensajes: 5.420


I'm fourth.


Ver Perfil WWW
Re: Denegar acceso a todos los puertos menos uno en iptables
« Respuesta #2 en: 9 Mayo 2015, 06:34 am »

Mucho cuidado con el orden de las reglas, volver a insertar la regla con -I te puede dejar sin conexion. Lo mejor seria dejar la regla con el ACCEPT siempre al inicio y usar iptables -A para agregar la regla al final de la tabla. Tambien puedes dejar una regla para no cortar conexiones establecidas. De esta forma, mientres estes logueado por ssh no te tira.

Código
  1. sudo iptables -I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  2. # despues agregar reglas, iptables -A
  3. sudo iptables -A INPUT -s x.x.x -j DROP

Mucho cuidado tambien guardando las reglas de iptables. Si reinicias el sistema puedes resetear las reglas de iptables y puedes recuperar rapidamente la conexion. Tecnicamente no es tan riesgoso como cambiar la chain policy a DROP pero es igual de frustrante porque tendrias que obtener una nueva IP.
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Denegar acceso a todos los puertos menos uno en iptables
« Respuesta #3 en: 9 Mayo 2015, 06:36 am »

Gracias por el consejo, no sabía que estas reglas se eliminaban al reinicio del sistema, esto pasa a pesar de que guardo las reglas con service iptables save?
En línea

MinusFour
Moderador Global
***
Conectado Conectado

Mensajes: 5.420


I'm fourth.


Ver Perfil WWW
Re: Denegar acceso a todos los puertos menos uno en iptables
« Respuesta #4 en: 9 Mayo 2015, 14:23 pm »

Gracias por el consejo, no sabía que estas reglas se eliminaban al reinicio del sistema, esto pasa a pesar de que guardo las reglas con service iptables save?

No, si guardas las reglas de iptables, estas persisten a través de reinicios del sistema. Mi punto es que si te quedaste fuera del sistema por una regla de iptables puedes reiniciar el equipo remotamente y volver a conectarte sin problemas. Si guardas las reglas vas a tener que cambiar de ip, acceder al equipo físicamente o si es una instancia controlada por un servicio web usar una shell de rescate, reinstalar el sistema nuevamente, o levantar un ticket.

En fin, hay formas de recuperar el sistema. Mi punto es que si no estas seguro que las reglas te van a limitar el acceso completamente, es mejor que no las guardes.
En línea

yum-kax

Desconectado Desconectado

Mensajes: 36


I'm living in babylon!


Ver Perfil
Re:
« Respuesta #5 en: 9 Mayo 2015, 16:08 pm »

WHK, jaja tu forma de plantear la duda y responderte me hizo acordar a esto..

http://www.rubberduckdebugging.com/

No es solo para programación, sino mas bien es un debugging de ideas!
Te recomiendo tenerlo frente a tu pc en todo momento! :)
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re:
« Respuesta #6 en: 9 Mayo 2015, 16:21 pm »

WHK, jaja tu forma de plantear la duda y responderte me hizo acordar a esto..

http://www.rubberduckdebugging.com/

No es solo para programación, sino mas bien es un debugging de ideas!
Te recomiendo tenerlo frente a tu pc en todo momento! :)

excelente! XD
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
cpu2


Desconectado Desconectado

Mensajes: 995


Ver Perfil
Re: Denegar acceso a todos los puertos menos uno en iptables
« Respuesta #7 en: 9 Mayo 2015, 19:49 pm »

No es mejor, establecer una politica DROP en INPUT y luego dejar paso a las direcciones y puertos convenientes?

Código
  1. iptables -F
  2. iptables -X
  3. iptables -P INPUT DROP
  4.  
  5. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  6.  
  7. iptables -A INPUT -p tcp -s 1.2.3.4 --dport 22 --syn -m state --state NEW -j ACCEPT

Un saludo.
En línea

MinusFour
Moderador Global
***
Conectado Conectado

Mensajes: 5.420


I'm fourth.


Ver Perfil WWW
Re: Denegar acceso a todos los puertos menos uno en iptables
« Respuesta #8 en: 10 Mayo 2015, 02:31 am »

No es mejor, establecer una politica DROP en INPUT y luego dejar paso a las direcciones y puertos convenientes?

Código
  1. iptables -F
  2. iptables -X
  3. iptables -P INPUT DROP
  4.  
  5. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  6.  
  7. iptables -A INPUT -p tcp -s 1.2.3.4 --dport 22 --syn -m state --state NEW -j ACCEPT

Un saludo.


El objetivo parece ser denegar a algunos, no permitir a algunos.
En línea

cpu2


Desconectado Desconectado

Mensajes: 995


Ver Perfil
Re: Denegar acceso a todos los puertos menos uno en iptables
« Respuesta #9 en: 10 Mayo 2015, 03:03 am »

Lo se, simplemente dije esto porque seguro que tiene una politica en ACCEPT, desde mi punto de vista y desde el de mucha gente, es mucho mejor tener una politica en DROP, para lo que el quiere hacer.

No colocar un DROP a 1.2.3.4 y luego crear otra con un ACCEPT y el puerto.

Solo dije una recomendacion ya se que el problema no va de eso, la proxima no digo nada.

Un saludo.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Denegar Acceso a Archivo o Directorios [SUB]
.NET (C#, VB.NET, ASP)
Keyen Night 0 2,797 Último mensaje 10 Agosto 2009, 02:31 am
por Keyen Night
Denegar acceso por ip « 1 2 »
PHP
teudiss 12 5,518 Último mensaje 17 Abril 2010, 21:52 pm
por fede_cp
Como puedo crear reglas con iptables para cerrar todos los puertos?
Redes
aixeiger 3 5,134 Último mensaje 7 Diciembre 2012, 02:01 am
por dato000
iptables puertos redireccionado lan
GNU/Linux
fabiancorreo 1 1,578 Último mensaje 1 Junio 2015, 19:49 pm
por cpu2
Abrir puertos FTP con iptables
GNU/Linux
Drakaris 9 2,346 Último mensaje 15 Noviembre 2019, 16:26 pm
por Drakaris
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines