send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Mas seguridad en SSH

  • 1 Respuestas
  • 1953 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5311
  • Actividad:
    51.67%
  • Reputación 29
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Diciembre 11, 2014, 08:06:34 am »

Según Wikipedia:

Citar
SSH (Secure SHell) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un Servidor X arrancado.

Con unas pequeñas y sencillas pautas, podemos asegurar un servidor SSH, con la finalidad de evitar accesos no deseados. Nos vamos a centrar primero en el fichero de configuración del servicio, normalmente ubicado en:

Código: Text
  1. /etc/ssh/sshd_config

Cambiar el puerto de acceso (por defecto 22) por uno alternativo, por ejemplo el 1242 (debe ser superior a 1024:

Port 1242

Código: Text
  1. PermitRootLogin no

Utilizar autenticación mediante llaves públicas/privadas (SSH Public-Key / Private-Key Authentication). De este modo, y si deshabilitamos el acceso mediante autenticación con clave de acceso, solamente podrá acceder al sistema aquel equipo que tenga una llave autorizada en el servidor. La forma más rápida de crear una llave, es ejecutar el siguiente comando en el equipo que va a conectarse al servidor ssh:

Código: Text
  1. ssh-keygen -t rsa

Este comando generará una llave pública y una privada (no voy a detarllar ahora el uso del mismo, investigando encontraréis todas sus opciones), deberemos añadir el contenido de la llave pública en el servidor SSH, concretamente en el fichero authorized_keys del usuario con el que vayamos a conectar. Si fueramos a conectar como root, en el servidor destino añadiríamos el contenido al fichero:

Código: Text
  1. /root/.ssh/authorized_keys

De este modo accederíamos sin clave al servidor, pues nuestra llave pública SSH está autorizada en el servidor. Si quisieramos entonces permitir solamente el acceso por llave, y no por passwords, lo configuraríamos de tal forma:

Código: Text
  1. PubkeyAuthentication yes
  2. AuthorizedKeysFile .ssh/authorized_keys
  3. RSAAuthentication no
  4. PasswordAuthentication no
  5. UsePAM no
  6. KerberosAuthentication no
  7. GSSAPIAuthentication no

Por supuesto, si dejamos activa la autenticación a través de password, es encarecidamente necesario que no sea un password sencillo de averiguar.

En caso de permitir el acceso con password, es conveniente limitar el número de veces que un usuario puede introducir “incorrectamente” una clave, en este caso 5 veces:

Código: Text
  1. MaxAuthTries 5

Otra parte extremadamente importante, independiente del fichero de configuración SSH, es permitir el acceso SSH solamente a redes o ips conocidas. Para ello, utilizaremos los siguientes ficheros:

Código: Text
  1. /etc/hosts.deny
  2. /etc/hosts.allow

Lo más recomendable es prohibir el acceso SSH a cualquier IP o rango a través del fichero hosts.deny, y posteriormente permitir acceso a determinadas IPs/Rangos en el fichero hosts.allow:

Hosts.deny
Código: Text
  1.     $ cat /etc/hosts.deny
  2.     #
  3.     # hosts.denyThis file describes the names of the hosts which are
  4.     #*not* allowed to use the local INET services, as decided
  5.     #by the '/usr/sbin/tcpd' server.
  6.     #
  7.     # The portmap line is redundant, but it is left to remind you that
  8.     # the new secure portmap uses hosts.deny and hosts.allow. In particular
  9.     # you should know that NFS uses portmap!
  10.  
  11.     sshd: all

Hosts.allow
Código: Text
  1.     $ cat /etc/hosts.allow
  2.     #
  3.     # hosts.allow This file describes the names of the hosts which are
  4.     # allowed to use the local INET services, as decided
  5.     # by the '/usr/sbin/tcpd' server.
  6.     #
  7.     sshd: 93.42.132.43 86.34.22.122

Esto es básicamente lo principal a la hora de asegurar el servicio Espero les sirva en algún momento

Autor: NechuZ
« Última modificación: Diciembre 11, 2014, 08:08:05 am por ANTRAX »


Desconectado po6xsecpo

  • *
  • Underc0der
  • Mensajes: 45
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
  • Skype: po6xsecpo@gmail.com
« Respuesta #1 en: Diciembre 12, 2014, 04:56:13 pm »
Básico y puntual. Gracias.

 

¿Te gustó el post? COMPARTILO!



Medidas de Seguridad y "Hardening" en servidores SSH

Iniciado por Adastra

Respuestas: 8
Vistas: 5080
Último mensaje Septiembre 26, 2014, 11:56:04 pm
por Flanagans
[UNDERtip] Como empezar a identificar fallos de seguridad en aplicaciones web.

Iniciado por rollth

Respuestas: 0
Vistas: 2325
Último mensaje Octubre 24, 2016, 09:07:44 pm
por rollth
PenQ - Testeo de Seguridad Browser Bundle

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1599
Último mensaje Agosto 20, 2014, 11:01:36 am
por ANTRAX
Seguridad en CentOS (Apache) (Mod_qos)

Iniciado por ZanGetsu

Respuestas: 3
Vistas: 2502
Último mensaje Junio 24, 2013, 07:18:46 pm
por @NetFcruz
Libro de Seguridad Web

Iniciado por toshiruxd

Respuestas: 4
Vistas: 2690
Último mensaje Julio 17, 2017, 11:55:22 am
por Gonza2208