Foros del Web » Administración de Sistemas » Unix / Linux »

Revisión de la seguridad de la configuración de mi IPTABLES

Estas en el tema de Revisión de la seguridad de la configuración de mi IPTABLES en el foro de Unix / Linux en Foros del Web. Tengo una PC dedicada a Proxy/Gateway de una red LAN pequeña. Funciona con Debian 6. La configuración de las interfaces de red es la siguiente: ...
  #1 (permalink)  
Antiguo 18/06/2017, 15:27
 
Fecha de Ingreso: octubre-2007
Mensajes: 273
Antigüedad: 17 años, 1 mes
Puntos: 5
Revisión de la seguridad de la configuración de mi IPTABLES

Tengo una PC dedicada a Proxy/Gateway de una red LAN pequeña. Funciona con Debian 6. La configuración de las interfaces de red es la siguiente:

LAN ------------- eth0 (192.168.0.1) |___| eth1 (192.168.1.2) --------- (192.168.1.1)ADSL

EN esa PC corre el servicio SQUID3 por el Puerto 8080 para los clientes de la LAN.

Los clientes de la LAN pueden acceder a un servidor JABBER fuera de la red en la dirección IP 2XX.XXX.XXX.XXX que escucha en el puerto 5222.

Actualmente estas son las reglas del iptables:
Código BASH:
Ver original
  1. *filter
  2. :FORWARD DROP [0:0]
  3. :INPUT DROP [0:0]
  4. :OUTPUT ACCEPT [0:0]
  5. -A INPUT -j LOG --log-prefix "iptables"
  6. #-A OUTPUT -j LOG --log-prefix "iptables"
  7. -A FORWARD -j LOG --log-prefix "iptables"
  8. # Accept traffic from internal interfaces
  9. -A INPUT ! -i eth0 -j ACCEPT
  10. # Accept traffic with the ACK flag set
  11. -A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT
  12. # Allow incoming data that is part of a connection we established
  13. -A INPUT -m state --state ESTABLISHED -j ACCEPT
  14. # Allow data that is related to existing connections
  15. -A INPUT -m state --state RELATED -j ACCEPT
  16. # Accept responses to DNS queries
  17. -A INPUT -p udp -m udp -i eth0 --dport 1024:65535 --sport 53 -j ACCEPT
  18. # REJECT ACCESS TO 192.168.1.0/24 FROM eth0
  19. -A INPUT -s 192.168.0.0/24 -d 192.168.1.0/24 -i eth0 -j DROP
  20. # REJECT responses to our ping
  21. -A INPUT -p icmp -m icmp ! -i eth0 --icmp-type echo-reply -j DROP
  22. # Accept notifications of unreachable hosts
  23. -A INPUT -p icmp -m icmp ! -i eth0 --icmp-type destination-unreachable -j DROP
  24. # Accept notifications to reduce sending speed
  25. -A INPUT -p icmp -m icmp ! -i eth0 --icmp-type source-quench -j DROP
  26. # Accept notifications of lost packets
  27. -A INPUT -p icmp -m icmp ! -i eth0 --icmp-type time-exceeded -j DROP
  28. # Accept notifications of protocol problems
  29. -A INPUT -p icmp -m icmp ! -i eth0 --icmp-type parameter-problem -j DROP
  30. # Allow connections to our IDENT server  
  31. ##-A INPUT -p tcp -m tcp -i eth0 --dport auth -j ACCEPT
  32. # DROP Respond to pings
  33. -A INPUT -p icmp -m icmp ! -i eth0 --icmp-type echo-request -j DROP
  34. # Allow connections to our SQUID server
  35. -A INPUT -p tcp -m tcp -i eth0 --dport 8080 -j ACCEPT
  36. #JABBER
  37. -A INPUT -p tcp -m tcp -i eth0 --dport 5222 -j ACCEPT
  38. -A INPUT -j DROP
  39. COMMIT
  40. *mangle
  41. :PREROUTING ACCEPT [0:0]
  42. :INPUT ACCEPT [0:0]
  43. :FORWARD ACCEPT [0:0]
  44. :OUTPUT ACCEPT [0:0]
  45. :POSTROUTING ACCEPT [0:0]
  46. COMMIT
  47. *nat
  48. :PREROUTING ACCEPT [0:0]
  49. :POSTROUTING ACCEPT [0:0]
  50. :OUTPUT ACCEPT [0:0]
  51. COMMIT

Las reglas del firewall se cargan durante el post-up de eth0.

La redirección al JABBER la hago con XINETD:
Código BASH:
Ver original
  1. service jabber
  2. {
  3.     port = 5222
  4.     socket_type = stream
  5.     protocol = tcp
  6.     bind = eth0
  7.     redirect = 2XX.XXX.XXX.XXX 5222
  8.     type = UNLISTED
  9.     wait = no
  10.     disable = no
  11.     access_time = 07:00-17:00
  12.     per_source = 1
  13.     log_type = SYSLOG daemon info
  14.     log_on_failure = HOST
  15.     log_on_success = HOST DURATION EXIT
  16. }

Cualquier otro servicio deberá estar denegado solo se permitirá navegación web, el proxy deberá encargarse de todas las peticiones, es decir no hace falta que pasen peticiones DNS, ni de otro tipo a la red externa.

Quisiera saber si la redirección del servicio JABBER se puede hacer con el mismo IPTABLES y mejorar las reglas del firewall. No se cuán bien configurado esté.

Leyendo un poco, he visto que si la política inicial se establece en DROP, no es necesario bloquear nada más, simplemente declarar explícitamente qué se desea ACEPTAR, y el paquete que no cumpla con ninguna de las reglas declaradas en la cadena *filter automáticamente, se le aplica el DROP. Por tanto tenía algunas reglas que no hacían falta (de todos modos al final de la cadena mantengo la regla -A INPUT -j DROP)
En cualquier caso, aun tengo la duda en cuanto al acceso al jabber externo a la red local, de si es posible permitierlo mediante reglas de iptables y no utilizar Xinetd.

Última edición por X_fran; 01/07/2017 a las 17:12 Razón: mejorando la cadena *filter

Etiquetas: iptables, proxy, red, seguridad, seguridad-y-redes
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:59.