{"id":609,"date":"2019-10-22T12:26:59","date_gmt":"2019-10-22T10:26:59","guid":{"rendered":"https:\/\/www.tiraquelibras.com\/blog\/?p=609"},"modified":"2021-02-02T11:10:40","modified_gmt":"2021-02-02T10:10:40","slug":"servidor-de-correo-configuracion-iptables-y-carga-al-inicio-parte-2-15","status":"publish","type":"post","link":"https:\/\/blog.tiraquelibras.com\/?p=609","title":{"rendered":"Servidor de correo &#8211; Configuraci\u00f3n IPTABLES y carga al inicio (parte 2)"},"content":{"rendered":"<p>Esta es una entrada dentro de la serie para la instalaci\u00f3n de un servidor de correo completo. \u00cdndice completo de contenidos pincha <a href=\"https:\/\/blog.tiraquelibras.com\/?p=601\" class=\"external external_icon\" rel=\"nofollow\" target=\"_blank\">aqu\u00ed<\/a>.<\/p>\n<hr \/>\n<p>Lo primero que vamos a hacer es configurar el Firewall con IPTABLES para permitir los puertos necesarios para ir instalando y probando el servicio. Tambi\u00e9n vamos a agregar esta configuraci\u00f3n al inicio del sistema, para que ante un reinicio no tengamos que volver a configurar estos filtros. <span style=\"text-decoration: underline;\">Estas configuraciones se realizar\u00e1n en tr\u00e1fico entrante, quedando el tr\u00e1fico saliente abierto hacia Internet.<\/span><\/p>\n<p>El servicio POP\/IMAP lo vamos a configurar para que Dovecot haga \u00fanicamente uso de los puertos seguros, 993 y 995, en lugar de los no seguros, 110 y 143. Para ello haremos uso de certificados digitales SSL, como veremos m\u00e1s adelante. Esto debemos de tenerlo en cuenta para abrir los puertos correspondientes para el servicio de lectura de los buzones.<\/p>\n<p>Adem\u00e1s abriremos otros puertos adicionales para el sistema de monitorizaci\u00f3n, instalaci\u00f3n de paquetes, servidor web y SIEVE.<\/p>\n<p>Las conexiones al resto de puertos ser\u00e1n rechazados en tr\u00e1fico entrante.<\/p>\n<hr \/>\n<h1>Listado de puertos<\/h1>\n<ul>\n<li>22<\/li>\n<li>25<\/li>\n<li>465<\/li>\n<li>587<\/li>\n<li>993<\/li>\n<li>995<\/li>\n<li>80<\/li>\n<li>443<\/li>\n<li>4190<\/li>\n<li>62812<\/li>\n<\/ul>\n<hr \/>\n<h1>Comandos<\/h1>\n<p>Comandos utilizados, ojo en las reglas para el puerto SSH 22 y Monit 62812, cambia las cadenas X.X.X.X por la IP origen desde la que te conectar\u00e1s al puerto SSH y acceder\u00e1s al sistema de monitorizaci\u00f3n y administraci\u00f3n del servicor, <span style=\"color: #ff0000;\"><strong>nunca deben de estar expuestos a todo Internet<\/strong><\/span>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">iptables -A INPUT -i lo -j ACCEPT\r\niptables -A INPUT -p tcp -m tcp --dport 22 -s X.X.X.X -j ACCEPT # Recomendado cambiar el puerto SSH.\r\niptables -A INPUT   -p tcp -m tcp --dport 25 -j ACCEPT\r\niptables -A INPUT   -p tcp -m tcp --dport 465 -j ACCEPT\r\niptables -A INPUT   -p tcp -m tcp --dport 587 -j ACCEPT\r\niptables -A INPUT   -p tcp -m tcp --dport 995 -j ACCEPT\r\niptables -A INPUT   -p tcp -m tcp --dport 993 -j ACCEPT\r\niptables -A INPUT  -p tcp -m tcp --dport 80 -j ACCEPT\r\niptables -A INPUT  -p tcp -m tcp --dport 443 -j ACCEPT\r\niptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Para evitar problemas con la instalaci\u00f3n de paquetes\r\niptables -A INPUT -p tcp --dport 4190 -j ACCEPT # SIEVE\r\niptables -A INPUT  -p tcp -m tcp --dport 62812 -s X.X.X.X   -j ACCEPT # Cambia la cadena X.X.X.X por la IP desde la que te conectar\u00e1s al sistema de monitorizaci\u00f3n y administraci\u00f3n del servidor.\r\niptables -P INPUT DROP # Conexiones al resto de puertos recahzadas<\/pre>\n<p>Si ejecutamos el comando <em><strong>iptables -L -n -v<\/strong><\/em> veremos todas estas reglas cargadas en el Firewall:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Chain INPUT (policy DROP 27381 packets, 1390K bytes)\r\n pkts bytes target     prot opt in     out     source               destination\r\n 470K   69M ACCEPT     all  --  lo     *       0.0.0.0\/0            0.0.0.0\/0\r\n 1817  114K ACCEPT     tcp  --  *      *       X.X.X.X\/32            0.0.0.0\/0            tcp dpt:22\r\n39174 2588K ACCEPT     tcp  --  *      *       0.0.0.0\/0            0.0.0.0\/0            tcp dpt:25\r\n30338 1289K ACCEPT     tcp  --  *      *       0.0.0.0\/0            0.0.0.0\/0            tcp dpt:465\r\n29615 1201K ACCEPT     tcp  --  *      *       0.0.0.0\/0            0.0.0.0\/0            tcp dpt:587\r\n29273 1190K ACCEPT     tcp  --  *      *       0.0.0.0\/0            0.0.0.0\/0            tcp dpt:995\r\n 102K 8478K ACCEPT     tcp  --  *      *       0.0.0.0\/0            0.0.0.0\/0            tcp dpt:993\r\n53547 3495K ACCEPT     tcp  --  *      *       0.0.0.0\/0            0.0.0.0\/0            tcp dpt:80\r\n49335 3176K ACCEPT     tcp  --  *      *       0.0.0.0\/0            0.0.0.0\/0            tcp dpt:443\r\n80903  103M ACCEPT     all  --  *      *       0.0.0.0\/0            0.0.0.0\/0            state RELATED,ESTABLISHED\r\n    7   328 ACCEPT     tcp  --  *      *       0.0.0.0\/0            0.0.0.0\/0            tcp dpt:4190\r\n   10   600 ACCEPT     tcp  --  *      *       X.X.X.X\/32         0.0.0.0\/0            tcp dpt:62812\r\n\r\nChain FORWARD (policy ACCEPT 0 packets, 0 bytes)\r\n pkts bytes target     prot opt in     out     source               destination\r\n\r\nChain OUTPUT (policy ACCEPT 118K packets, 22M bytes)\r\n pkts bytes target     prot opt in     out     source               destination\r\n<\/pre>\n<hr \/>\n<h1>Cargar reglas al inicio<\/h1>\n<p>Ahora configuramos las reglas para que se carguen al inicio del sistema. Ejecutamos los siguientes comandos:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">iptables-save &gt; \/etc\/iptables.up.rules\r\n\r\ntouch \/etc\/network\/if-pre-up.d\/iptables\r\n\r\nchmod +x \/etc\/network\/if-pre-up.d\/iptables\r\n\r\necho '#!\/bin\/sh' &gt;&gt; \/etc\/network\/if-pre-up.d\/iptables\r\n\r\necho '\/sbin\/iptables-restore &lt; \/etc\/iptables.up.rules' &gt;&gt; \/etc\/network\/if-pre-up.d\/iptables<\/pre>\n<p>Reiniciamos el sistema y comprobamos que las reglas est\u00e1n cargadas ejecutando el comando <em><strong>iptables -L -n -v<\/strong><\/em>, de lo contrario ser\u00eda necesario revisar el motivo del fallo.<\/p>\n<hr \/>\n<p>\u00cdndice general pincha <a href=\"https:\/\/blog.tiraquelibras.com\/?p=601\" class=\"external external_icon\" rel=\"nofollow\" target=\"_blank\">aqu\u00ed<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esta es una entrada dentro de la serie para la instalaci\u00f3n de un servidor de correo completo. \u00cdndice completo de contenidos pincha aqu\u00ed. Lo primero<span class=\"read-more-link\"><a class=\"read-more\" href=\"https:\/\/blog.tiraquelibras.com\/?p=609\">Read More<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":611,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,10,22],"tags":[56,55],"class_list":["post-609","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ciberseguridad","category-sistemas","category-ti","tag-firewall","tag-iptables"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/posts\/609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=609"}],"version-history":[{"count":0,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/posts\/609\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/media\/611"}],"wp:attachment":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}