Añadiendo seguridad con IPTABLES

linux Varios

Otra entrada que es un apunte.
Estos dí­as, por cuestiones técnicas y de un proyecto donde estoy colaborando, he tenido que unir mi debian / asterisk a un grupo, mediante el software vpn TINC.
La instalación del tinc es sencilla y funciona muy bien, pero mi máquina es completamente accesible desde el otro extremo de la red. No es que no me fie, pero no suelo dejar mis equipos expuestos al exterior; manias personales.
Bien, tras analizar los puertos que debo dejar abiertos, me hice una lista:
– permitir tráfico SIP/UDP (5060 udp) – abierto
– permitir tráfico RTP VoIP (udp 10000 .. 20000) – abierto
– permitir openLdap (en local) – abierto
– permitir SSH en mi redLocal (TCP 22)
– permitir MySQL en mi redLocal (TCP 3306)
– permitir TINC (655 tcp /udp)
– permitir www (80 tcp)
– permitir dundi (4520 tcp/udp)
– permitir tftp (udp 69)
– permitir syslog (udp 514)
– permitir icmp echo-reply
– permitir icmp unracheable
– permitir icmp echo-request
– permitir icmp unracheable
– permitir SMB en red Local
Una vez tenemos las reglas, vaciamos las reglas ip tables :

# iptables -F
# iptables -X

Y ahora hacemos un copy&paste de las reglas en la consola, quedando tal que:

# permitimos tráfico de loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# permitimos tipos de icmp
iptables -A INPUT -i eth1 -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -i eth1 -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -i eth1 -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j ACCEPT
# permitimos icmp en interface PLN /tinc
iptables -A INPUT -i pln -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -i pln -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -i pln -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -i pln -p icmp --icmp-type echo-request -j ACCEPT
# reglas
#### reglas dundi ###
iptables -A INPUT -p udp -m udp --dport 4520 -j ACCEPT
iptables -A INPUT -p tcp --dport 4520 -j ACCEPT
# reglas sip, iax, rtp #
iptables -A INPUT -p udp -m udp --dport 5060 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 4569 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT
# reglas syslog #
iptables -A INPUT -p udp -m udp --dport 514 -j ACCEPT
# reglas tftp #
iptables -A INPUT -p udp -m udp --dport 69 -j ACCEPT
# reglas tinc #
iptables -A INPUT -p udp -m udp --dport 655 -j ACCEPT
iptables -A INPUT -p tcp --dport 655 -j ACCEPT
# reglas trafico www #
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# reglas ssh #
iptables -A INPUT -p tcp --dport 22 -s 192.168.2.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 127.0.0.0/8 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
# reglas mysql
iptables -A INPUT -p tcp --dport 3306 -s 192.168.2.0/24 -j ACCEPT
# reglas ldap
iptables -A INPUT -p tcp --dport 389 -s 192.168.2.0/24 -j ACCEPT
# reglas SMB
iptables -A INPUT -p udp --dport 137 -s 192.168.2.0/24 -j ACCEPT
iptables -A INPUT -p udp --dport 138 -s 192.168.2.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -s 192.168.2.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 445 -s 192.168.2.0/24 -j ACCEPT
iptables -A INPUT -p udp --dport 445 -s 192.168.2.0/24 -j ACCEPT
# el resto, rechazamos
iptables -A INPUT -j REJECT

Y con esto, añadimos un granito más de seguridad en nuestra red.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *