| clanfssq • PM |
Jul 23, 2017 10:46 AM
|
|
|FS|Tosko
Posts: 3 |
SSH
Muy buenas, hoy voy a postear entre otras cosas una rápida y simple teorÃa sobre un protocolo fundamental que un servidor basado en Linux/Ubuntu (en nuestro caso) debe llevar. Antes de nada quiero decir que de momento no conoceréis mucha terminologÃa que utilizaré aquÃ, pues estoy empezando con los post de teorÃa y a veces tengo que utilizar términos que aún no he explicado, pero tiempo al tiempo, iré haciendo post con sus respectivas explicaciones y me encargaré de hacer hiperenlaces de aquellos téminos y/o palabras que voy a ir utilizando. También decir que este post ha sido desarrollado por mÃ, tomando leves referencias pero no es un copy paste por lo cual no publicaré ninguna fuente de información a no ser que la requiera. Vamos al tema ... Es muy importante conocer un mÃnimo de este protocolo a la hora de querer administrar y trabajar un servidor, pues como he dicho es una herramienta fundamental que nos va a permitir acceder al servidor y trabajar en el mismo de forma remota como ya veremos a lo largo de este post. Bien, cuando nosotros alquilamos un servidor o un VPS, nuestra necesidad primordial es utilizar un "mecanismo" para administrarlo, dicho mecanismo se basará en una administración remota. Debida la importancia de los datos que se tratan en estas conexiones nos interesa contar con un protocolo que nos ofrezca seguridad, esta caracterÃstica nos la proporciona el protocolo SSH (Secure Shell), probablemente el más utilizado en la actualidad. Destacar que existen dos versiones de SSH, desde la aparición de este protocolo se permitÃa trabajar con alternativas de sesiones interactivas como Telnet, Rlogin, etc. (que hoy dÃa se utilizan en algunos casos) pero se descubrió que a causa de esto el protocolo tenÃa una vulnerabilidad que permitÃa a los hackers introducir información y datos en los flujos cifrados. Fué entonces cuando se lanzó en 1997 la versión 2 de ssh que incorpora el protocolo SFTP(Secure File Transfer Protocol – Protocolo Seguro de Transferencia de Archivos) que proporciona la funcionalidad necesaria para la transferencia y manipulación de archivos de forma "segura" y segura entre comillas porque como bien dice mi profesor de telecomunicaciones la completa seguridad en internet no existe. Importante: Recordar que SSH utiliza por defecto el puerto 22 del servidor. Comandos destinados al tratamiento del servicio: Comando de instalación: ________• apt-get install openssh-server Comando señal de inicio de servicio: _____• sudo /etc/init.d/ssh start Comando señal de stop de servicio:____• sudo /etc/init.d/ssh stop Comando señal de restart de servicio:____• sudo /etc/init.d/ssh restart Archivo de modificación principal:______• etc->ssh->sshd_config Utilizando un editor de texto: _______• nano etc->ssh->sshd_config -> Equivale al sÃmbolo / ... utilizar / Configuración básica del protocolo orientada a la seguridad: Existen muchos tipos de ataques realizados por Hackers informáticos, un ataque común de un hacker con conocimientos medios es el llamado Ataque de Fuerza Bruta, para que entendáis básicamente consiste en probar claves de acceso generadas comunmente por un script constantemente, lo que conlleva un tiempo importante dependiendo de lo larga y variada que sea la clave de acceso. Por ello es recomendable establecer claves con cierta complejidad, números, letras, mayúsculas, minúsculas y sÃmbolos. - ¿Qué otros métodos de seguridad existen en base a este protocolo? Bien, sabiendo la ubicación del archivo de configuración citado anteriormente podremos hallar y modificar varios parámetros entre los que se encuentran... - Cambiar el puerto por defecto (22): port "valorQueSeQuieraDar" Cuando un hacker lanza un ataque lo suele hacer sobre este puerto. Si le cambiamos el número del puerto, el servicio no responderá al puerto por defecto y habremos puesto una nueva traba a quien intente conseguir nuestra información. - Deshabilitar el acceso de Root: PermitRootLogin no Todo servidor tiene asignado un usuario root que tiene privilegios para hacer cualquier tipo de acción sobre la máquina. Una buena práctica para mejorar la seguridad es impedir el acceso al servidor por medio de este usuario root y obligar al acceso por medio de alguno de los usuarios que hayamos creado y que no tienen privilegio root. Una vez logueados con nuestro usuario, podremos convertirnos en usuario root por medio del comando “sudoâ€. - Deshablitar el uso del protocolo 1 de SSH: Protocol 2 Como he explicado antes existen dos versiones de SSH, ambas pueden estar hablitadas a la vez pero conociendo las ventajas del protocolo dos y las vulnerabilidades del uno no hay mucho más que discutir. - Limitamos el número de intentos a la hora de establecer conexión: MaxAuthTries 3 Si recordáis lo que acabo de explicar sobre los ataques de fuerza bruta entenderéis el por qué de limitar el número máximo de intentos de conexión, se suele dar un valor de 3, pues cuando nos intentamos conectar puede existir un fallo humano a la hora de logearse y escribir un usuario o contraseña, pues asà tendremos 3 intentos antes de que se cierre la conexión. En cambio es un buen método limitar dichos intentos para que en caso de ser un ataque basado en fuerza bruta (muchos intentos con diferentes claves) evitarÃamos que el script del atacante consiga dar con la clave de nuestro servidor. - Limitamos el tiempo de espera de conexión: LoginGraceTiem 20 Se basa en la misma explicación que arriba pero en vez de número de intentos variarÃamos el tiempo a realizar intentos. - Asignar una dirección IP para la conexión de un usuario: AllowUser usuario@direcciónIP - Asignar usuarios que tendrán acceso vÃa SSH: AllowUser usuario1 usuario2 etc.. Esto es todo por el momento, cualquier duda, comentario, etc. no dudes en escribirlo por aquà abajo. Gracias por leer y a seguir aprendiendo, Salu2. PD: Recordar que podeÃs hacer una votación múltiple en este tema y rectificar en caso de cambiar de oponión, me servirá de gran ayuda para seguir haciendo post de teorÃa a los cuales le estoy dedicando y dedicaré muchas horas dependiendo de vuestra opinión.
Last edited by: clanfssq Jul 23, 2017 11:03 AM
|