Autor
|
Tema: Denegar acceso a todos los puertos menos uno en iptables (Leído 8,514 veces)
|
WHK
|
Hola, actualmente en CentOS para denegar el acceso a una ip via iptables lo hago así: # 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
|
Listo, funcionó # 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
|
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. sudo iptables -I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # despues agregar reglas, iptables -A 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
|
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
|
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
Mensajes: 36
I'm living in babylon!
|
|
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
|
|
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.
|
|
|
xv0
Desconectado
Mensajes: 1.027
|
No es mejor, establecer una politica DROP en INPUT y luego dejar paso a las direcciones y puertos convenientes? iptables -F iptables -X iptables -P INPUT DROP iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 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
|
No es mejor, establecer una politica DROP en INPUT y luego dejar paso a las direcciones y puertos convenientes? iptables -F iptables -X iptables -P INPUT DROP iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 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
|
|
|
|
xv0
Desconectado
Mensajes: 1.027
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Denegar Acceso a Archivo o Directorios [SUB]
.NET (C#, VB.NET, ASP)
|
Keyen Night
|
0
|
4,016
|
10 Agosto 2009, 02:31 am
por Keyen Night
|
|
|
Denegar acceso por ip
« 1 2 »
PHP
|
teudiss
|
12
|
7,131
|
17 Abril 2010, 21:52 pm
por fede_cp
|
|
|
Como puedo crear reglas con iptables para cerrar todos los puertos?
Redes
|
aixeiger
|
3
|
6,203
|
7 Diciembre 2012, 02:01 am
por dato000
|
|
|
iptables puertos redireccionado lan
GNU/Linux
|
fabiancorreo
|
1
|
2,555
|
1 Junio 2015, 19:49 pm
por xv0
|
|
|
Abrir puertos FTP con iptables
GNU/Linux
|
Drakaris
|
9
|
5,685
|
15 Noviembre 2019, 16:26 pm
por Drakaris
|
|