{"id":697,"date":"2012-09-18T00:28:17","date_gmt":"2012-09-17T22:28:17","guid":{"rendered":"http:\/\/diablo.craem.net\/wordpress\/?p=697"},"modified":"2012-09-18T00:28:17","modified_gmt":"2012-09-17T22:28:17","slug":"anadiendo-seguridad-con-iptables","status":"publish","type":"post","link":"https:\/\/diablo.craem.net\/?p=697","title":{"rendered":"A\u00f1adiendo seguridad con IPTABLES"},"content":{"rendered":"<p>Otra entrada que es un apunte.<br \/>\nEstos d\u00ed\u00adas, por cuestiones t\u00e9cnicas y de un proyecto donde estoy colaborando, he tenido que unir mi debian \/ asterisk a un grupo, mediante el software vpn TINC.<br \/>\nLa instalaci\u00f3n del tinc es sencilla y funciona muy bien, pero mi m\u00e1quina 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.<br \/>\nBien, tras analizar los puertos que debo dejar abiertos, me hice una lista:<br \/>\n &#8211; permitir tr\u00e1fico SIP\/UDP (5060 udp) &#8211; abierto<br \/>\n &#8211; permitir tr\u00e1fico RTP VoIP (udp 10000 .. 20000) &#8211; abierto<br \/>\n &#8211; permitir openLdap (en local) &#8211; abierto<br \/>\n &#8211; permitir SSH en mi redLocal (TCP 22)<br \/>\n &#8211; permitir MySQL en mi redLocal (TCP 3306)<br \/>\n &#8211; permitir TINC (655 tcp \/udp)<br \/>\n &#8211; permitir www (80 tcp)<br \/>\n &#8211; permitir dundi (4520 tcp\/udp)<br \/>\n &#8211; permitir tftp (udp 69)<br \/>\n &#8211; permitir syslog (udp 514)<br \/>\n &#8211; permitir icmp echo-reply<br \/>\n &#8211; permitir icmp unracheable<br \/>\n &#8211; permitir icmp echo-request<br \/>\n &#8211; permitir icmp unracheable<br \/>\n &#8211; permitir SMB en red Local<br \/>\nUna vez tenemos las reglas, vaciamos las reglas ip tables :<br \/>\n<code><br \/>\n# iptables -F<br \/>\n# iptables -X<br \/>\n<\/code><br \/>\nY ahora hacemos un copy&#038;paste de las reglas en la consola, quedando tal que:<br \/>\n<code><br \/>\n# permitimos tr\u00e1fico de loopback<br \/>\niptables -A INPUT -i lo -j ACCEPT<br \/>\niptables -A OUTPUT -o lo -j ACCEPT<br \/>\n# permitimos tipos de icmp<br \/>\niptables -A INPUT -i eth1 -p icmp --icmp-type destination-unreachable -j ACCEPT<br \/>\niptables -A INPUT -i eth1 -p icmp --icmp-type time-exceeded -j ACCEPT<br \/>\niptables -A INPUT -i eth1 -p icmp --icmp-type echo-reply -j ACCEPT<br \/>\niptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j ACCEPT<br \/>\n# permitimos icmp en interface PLN \/tinc<br \/>\niptables -A INPUT -i pln -p icmp --icmp-type destination-unreachable -j ACCEPT<br \/>\niptables -A INPUT -i pln -p icmp --icmp-type time-exceeded -j ACCEPT<br \/>\niptables -A INPUT -i pln -p icmp --icmp-type echo-reply -j ACCEPT<br \/>\niptables -A INPUT -i pln -p icmp --icmp-type echo-request -j ACCEPT<br \/>\n# reglas<br \/>\n#### reglas dundi ###<br \/>\niptables -A INPUT -p udp -m udp --dport 4520 -j ACCEPT<br \/>\niptables -A INPUT -p tcp --dport 4520 -j ACCEPT<br \/>\n# reglas sip, iax, rtp #<br \/>\niptables -A INPUT -p udp -m udp --dport 5060 -j ACCEPT<br \/>\niptables -A INPUT -p udp -m udp --dport 4569 -j ACCEPT<br \/>\niptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT<br \/>\n# reglas syslog #<br \/>\niptables -A INPUT -p udp -m udp --dport 514 -j ACCEPT<br \/>\n# reglas tftp #<br \/>\niptables -A INPUT -p udp -m udp --dport 69 -j ACCEPT<br \/>\n# reglas tinc #<br \/>\niptables -A INPUT -p udp -m udp --dport 655 -j ACCEPT<br \/>\niptables -A INPUT -p tcp --dport 655 -j ACCEPT<br \/>\n# reglas trafico www #<br \/>\niptables -A INPUT -p tcp --dport 80 -j ACCEPT<br \/>\n# reglas ssh #<br \/>\niptables -A INPUT -p tcp --dport 22 -s 192.168.2.0\/24 -j ACCEPT<br \/>\niptables -A INPUT -p tcp --dport 22 -s 127.0.0.0\/8 -j ACCEPT<br \/>\niptables -A INPUT -p tcp --dport 22 -j DROP<br \/>\n# reglas mysql<br \/>\niptables -A INPUT -p tcp --dport 3306 -s 192.168.2.0\/24 -j ACCEPT<br \/>\n# reglas ldap<br \/>\niptables -A INPUT -p tcp --dport 389 -s 192.168.2.0\/24 -j ACCEPT<br \/>\n# reglas SMB<br \/>\niptables -A INPUT -p udp --dport 137 -s 192.168.2.0\/24 -j ACCEPT<br \/>\niptables -A INPUT -p udp --dport 138 -s 192.168.2.0\/24 -j ACCEPT<br \/>\niptables -A INPUT -p tcp --dport 139 -s 192.168.2.0\/24 -j ACCEPT<br \/>\niptables -A INPUT -p tcp --dport 445 -s 192.168.2.0\/24 -j ACCEPT<br \/>\niptables -A INPUT -p udp --dport 445 -s 192.168.2.0\/24 -j ACCEPT<br \/>\n# el resto, rechazamos<br \/>\niptables -A INPUT -j REJECT<br \/>\n<\/code><br \/>\nY con esto, a\u00f1adimos un granito m\u00e1s de seguridad en nuestra red.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Otra entrada que es un apunte. Estos d\u00ed\u00adas, por cuestiones t\u00e9cnicas y de un proyecto donde estoy colaborando, he tenido que unir mi debian \/ asterisk a un grupo, mediante el software vpn TINC. La instalaci\u00f3n del tinc es sencilla y funciona muy bien, pero mi m\u00e1quina es completamente accesible desde el otro extremo de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,8],"tags":[28,58,93,165,192],"class_list":["post-697","post","type-post","status-publish","format-standard","hentry","category-linux","category-varios","tag-asterisk-2","tag-debian","tag-iptables","tag-rtp","tag-voip"],"_links":{"self":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts\/697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=697"}],"version-history":[{"count":0,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts\/697\/revisions"}],"wp:attachment":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}