{"id":2569,"date":"2015-07-12T10:41:00","date_gmt":"2015-07-12T08:41:00","guid":{"rendered":"https:\/\/diocesanos.es\/blogs\/equipotic\/?p=2569"},"modified":"2015-07-10T12:47:08","modified_gmt":"2015-07-10T10:47:08","slug":"openssh-buenas-practicas","status":"publish","type":"post","link":"https:\/\/diocesanos.es\/blogs\/equipotic\/2015\/07\/12\/openssh-buenas-practicas\/","title":{"rendered":"OpenSSH: Buenas pr\u00e1cticas"},"content":{"rendered":"<p><b>OpenSSH<\/b> (<b>Open Secure Shell<\/b>) es un conjunto de aplicaciones que permiten realizar comunicaciones cifradas a trav\u00e9s de una red, usando el <a class=\"mw-redirect external\" title=\"Protocolo (inform\u00e1tica)\" href=\"https:\/\/es.wikipedia.org\/wiki\/Protocolo_%28inform%C3%A1tica%29\" target=\"_blank\" rel=\"nofollow\">protocolo<\/a> <a class=\"mw-redirect external\" title=\"SSH\" href=\"https:\/\/es.wikipedia.org\/wiki\/SSH\" target=\"_blank\" rel=\"nofollow\">SSH<\/a>. Fue creado como una alternativa libre y abierta al programa <a class=\"external\" title=\"Secure Shell\" href=\"https:\/\/es.wikipedia.org\/wiki\/Secure_Shell\" target=\"_blank\" rel=\"nofollow\">Secure Shell<\/a>, que es software propietario. \u00ab <a class=\"external\" href=\"https:\/\/es.wikipedia.org\/wiki\/OpenSSH\" target=\"_blank\" rel=\"nofollow\">Wikipedia<\/a>.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/openssh.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2570\" src=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/openssh-300x99.gif\" alt=\"openssh\" width=\"300\" height=\"99\" \/><\/a><\/p>\n<p>Puede que algunos usuarios piensan que las buenas pr\u00e1cticas solo deben ser aplicadas en los servidores y no es as\u00ed. Muchas distribuciones GNU\/Linux incluyen OpenSSH por defecto y hay algunas cosas que debemos tener en cuenta.<\/p>\n<p><!--more--><\/p>\n<h3>Seguridad<\/h3>\n<p>Estos son los 6 puntos m\u00e1s importantes a tener en cuenta a la hora de configurar SSH:<\/p>\n<ol>\n<li>Usar una contrase\u00f1a fuerte.<\/li>\n<li>Cambiar el puerto por defecto de SSH.<\/li>\n<li>Usar siempre la versi\u00f3n 2 del protocolo SSH.<\/li>\n<li>Desactivar el acceso como root.<\/li>\n<li>Limitar el acceso de los usuarios.<\/li>\n<li>Usar autenticaci\u00f3n mediante llaves.<\/li>\n<li>Otras opciones<\/li>\n<\/ol>\n<h4>Una contrase\u00f1a fuerte<\/h4>\n<p>Un buen password es aquel que contiene caracteres alfanum\u00e9ricos o especiales, espacios, may\u00fasculas y min\u00fasculas\u2026 etc. Ac\u00e1 en DesdeLinux hemos mostrado varios m\u00e9todos para generar buenas contrase\u00f1as. Pueden visitar <a href=\"http:\/\/blog.desdelinux.net\/makepasswd-genera-contrasenas-aleatorias-seguras-y-fiables\/\" target=\"_blank\">este art\u00edculo<\/a> y <a href=\"http:\/\/blog.desdelinux.net\/como-crear-contrasenas-seguras-con-pwgen\/\" target=\"_blank\">este otro<\/a>.<\/p>\n<h4>Cambiar el puerto por defecto<\/h4>\n<p>El puerto por defecto de SSH es el 22. Para cambiarlo lo \u00fanico que debemos hacer es editar el fichero\u00a0<em>\/etc\/ssh\/sshd_config<\/em>. Buscamos la l\u00ednea que dice:<\/p>\n<p><code>#Port 22<\/code><\/p>\n<p>la descomentamos y cambiamos el 22 por otro n\u00famero.. por ejemplo:<\/p>\n<p><code>Port 7022<\/code><\/p>\n<p>Para saber los puertos que no estamos usando en nuestro ordenador\/servidor podemos ejecutar en el terminal:<\/p>\n<p><code>$ netstat -ntap<\/code><\/p>\n<p>Ahora para acceder a nuestro ordenador o servidor debemos hacerlo con la opci\u00f3n -p de la siguiente forma:<\/p>\n<p><code>$ ssh -p 7022 usuario@servidor<\/code><\/p>\n<h3>Usar Protocolo 2<\/h3>\n<p>Para asegurarnos de que estamos usando la versi\u00f3n 2 del protocolo SSH, debemos editar el fichero <em>\/etc\/ssh\/sshd_config<\/em> y buscar la l\u00ednea que dice:<\/p>\n<pre># Protocol 2<\/pre>\n<p>Lo descomentamos y reiniciamos el servicio SSH.<\/p>\n<h3>No permitir acceso como Root<\/h3>\n<p>Para evitar que el usuario root pueda acceder de forma remota por SSH, buscamos en el fichero<em>\/etc\/ssh\/sshd_config<\/em>\u00a0la l\u00ednea:<\/p>\n<p><code>#PermitRootLogin no<\/code><\/p>\n<p>y la descomentamos. Creo que vale aclarar que antes de hacer esto debemos asegurarnos que nuestro usuario tenga los permisos necesarios para realizar tareas administrativas.<\/p>\n<h4>Limitar acceso por usuarios<\/h4>\n<p>Tampoco est\u00e1 de mas permitir el acceso v\u00eda SSH solo a determinados usuarios de confianza, por lo que volvemos al fichero\u00a0<em>\/etc\/ssh\/sshd_config<\/em> y a\u00f1adimos\u00a0la l\u00ednea:<\/p>\n<pre>AllowUsers elav usemoslinux kzkggaara<\/pre>\n<p>Donde evidentemente, los usuarios elav, usemoslinux y kzkggaara son los que podr\u00e1n acceder..<\/p>\n<h4>Usar autenticaci\u00f3n mediante llaves<\/h4>\n<p>Aunque este m\u00e9todo es el m\u00e1s recomendado, debemos tener especial cuidado pues accederemos al servidor sin poner la contrase\u00f1a. Esto significa que si un usuario logra entrar a nuestra sesi\u00f3n o nos roban el ordenador, podemos estar en problemas. No obstante, veamos como hacerlo.<\/p>\n<p>Lo primero es crear un par de llaves (p\u00fablica y privada):<\/p>\n<p><code>ssh-keygen -t rsa -b 4096<\/code><\/p>\n<p>Luego le pasamos nuestra llave al ordenador\/servidor:<\/p>\n<p><code>ssh-copy-id -i ~\/.ssh\/id_rsa.pub elav@200.8.200.7<\/code><\/p>\n<p>Por \u00faltimo tenemos que tener descomentada, en el fichero <em>\/etc\/ssh\/sshd_config<\/em> la l\u00ednea:<\/p>\n<p><code>AuthorizedKeysFile .ssh\/authorized_keys<\/code><\/p>\n<h3>Otras opciones<\/h3>\n<div class=\"alert-box info radius\" data-alert=\"\">Aporte de Yukiteru<\/div>\n<p>Podemos reducir el tiempo de espera en el que un usuario puede loguearse satisfactoriamente al sistema a 30 segundos<\/p>\n<p><code>LoginGraceTime 30<\/code><\/p>\n<p>Para evitar ataques a ssh por medio de TCP Spoofing, dejando activo el alive encriptado del lado de ssh por un m\u00e1ximo de 3 minutos, podemos activar estas 3 opciones.<\/p>\n<pre>TCPKeepAlive no\r\nClientAliveInterval 60\r\nClientAliveCountMax 3<\/pre>\n<p>Deshabilitar el uso de archivos rhosts o shosts, los cuales por razones de seguridad son instados a no utilizarse.<\/p>\n<pre>IgnoreRhosts yes\r\nIgnoreUserKnownHosts yes\r\nRhostsAuthentication no\r\nRhostsRSAAuthentication no<\/pre>\n<p>Chequear los permisos efectivos del usuario durante el login.<\/p>\n<p><code>StrictModes yes<\/code><\/p>\n<p>Activa la separaci\u00f3n de privilegios.<\/p>\n<p><code>UsePrivilegeSeparation yes<\/code><\/p>\n<h3>Conclusiones:<\/h3>\n<p>Haciendo estos pasos podremos a\u00f1adir un extra de seguridad a nuestros ordenadores y servidores, pero nunca debemos olvidar que hay un factor importante: <strong>lo que hay entre la silla y el teclado<\/strong>. Es por ello que les recomiendo la lectura de <strong><a href=\"http:\/\/blog.desdelinux.net\/pasos-para-asegurar-nuestro-vps\/\" target=\"_blank\">este art\u00edculo<\/a><\/strong>.<\/p>\n<p><em>Fuente: <a class=\"external\" href=\"https:\/\/www.howtoforge.com\/tutorial\/openssh-security-best-practices\/\" target=\"_blank\" rel=\"nofollow\">HowToForge<\/a><\/em><\/p>\n<p><em>Art\u00edculo original en <strong><a href=\"http:\/\/blog.desdelinux.net\/buenas-practicas-openssh\/\" target=\"_blank\">desdelinux.net<\/a><\/strong><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>OpenSSH (Open Secure Shell) es un conjunto de aplicaciones que permiten realizar comunicaciones cifradas a trav\u00e9s de una red, usando el protocolo SSH. Fue creado como una alternativa libre y abierta al programa Secure Shell, que es software propietario. \u00ab Wikipedia. Puede que algunos usuarios piensan que las buenas pr\u00e1cticas solo deben ser aplicadas en &hellip; <a href=\"https:\/\/diocesanos.es\/blogs\/equipotic\/2015\/07\/12\/openssh-buenas-practicas\/\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">OpenSSH: Buenas pr\u00e1cticas<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,47,151],"tags":[],"class_list":["post-2569","post","type-post","status-publish","format-standard","hentry","category-practicas","category-seguridad","category-trucos-2"],"_links":{"self":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts\/2569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/comments?post=2569"}],"version-history":[{"count":0,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts\/2569\/revisions"}],"wp:attachment":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/media?parent=2569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/categories?post=2569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/tags?post=2569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}