Consello interesante para mellorar a seguridade SSH

Nesta ocasión veremos a consello curto e sinxelo iso axudaranos a mellorar seguridade das nosas conexións remotas con SSH.


OpenSSH, que é o paquete subministrado polos sistemas GNU / Linux para xestionar conexións SSH, ten unha gran variedade de opcións. Lectura do libro SSH O Shell seguro e nas páxinas de man atopei a opción -F, que indica ao cliente SSH que use un ficheiro de configuración diferente ao atopado por defecto no directorio / etc / ssh.

Como empregamos esta opción?

A continuación:

ssh -F / path / to_your / configuration / file user @ ip / host

Por exemplo, se temos un ficheiro de configuración personalizado chamado my_config no escritorio e queremos conectarnos co usuario Carlos ao ordenador coa IP 192.168.1.258, entón usariamos o comando do seguinte xeito:

ssh -F ~ / Desktop / my_config carlos@192.168.1.258

Como axuda a seguridade da conexión?

Lembre que un atacante que se atopa dentro do noso sistema tentará inmediatamente obter privilexios de administrador se aínda non os ten, polo que sería bastante doado executar ssh para conectarse ao resto das máquinas da rede. Para evitalo, podemos configurar o ficheiro / etc / ssh / ssh_config con valores incorrectos e, cando queiramos conectarnos a través de SSH, usaremos o ficheiro de configuración que gardaremos nun lugar que só nós coñecemos (incluso nun dispositivo externo). dispositivo de almacenamento), é dicir, teriamos seguridade pola escuridade. Deste xeito, o atacante quedaría desconcertado ao descubrir que non se pode conectar usando SSH e que intenta facer as conexións segundo o especificado no ficheiro de configuración predeterminado, polo que lle será algo difícil darse conta do que está a suceder, e complicaremos moito o traballo.

Isto engadiuse para cambiar o porto de escoita do servidor SSH, desactivar SSH1, especificar que usuarios poden conectarse ao servidor, permitir explícitamente que IP ou rango de IP poden conectarse ao servidor e outros consellos que podemos atopar en http://www.techtear.com/2007/04/08/trucos-y-consejos-para-asegurar-ssh-en-linux permitirannos aumentar a seguridade das nosas conexións SSH.

Todo o descrito anteriormente pódese facer nunha liña. Para o meu gusto, sería bastante tedioso ter que escribir unha liña grande con varias opcións cada vez que intentamos iniciar sesión mediante SSH nun ordenador remoto, por exemplo, o seguinte sería unha mostra do que che estou dicindo:

ssh -p 1056 -c blowfish -C -l carlos -q -i eu mesmo 192.168.1.258

-p Especifica o porto para conectarse no host remoto.
-c Especifica como se debe cifrar a sesión.
-C Indica que a sesión debe comprimirse.
-l Indica o usuario co que iniciar sesión no host remoto.
-q Indica que se suprimen as mensaxes de diagnóstico.
-i Indica o ficheiro a identificar con (clave privada)

Tamén debemos lembrar que poderiamos utilizar o historial do terminal para evitar ter que escribir todo o comando cada vez que o necesitamos, algo que un atacante tamén podería aproveitar, polo que non o recomendaría, polo menos no uso de Conexións SSH.

Aínda que o problema de seguridade non é a única vantaxe desta opción, podo pensar noutras, como ter un ficheiro de configuración para cada servidor ao que nos queremos conectar, polo que evitaremos escribir as opcións cada vez que queiramos facer unha conexión a un servidor SSH cunha configuración específica.

Usar a opción -F pode ser moi útil no caso de que teña varios servidores con configuración diferente. Se non, haberá que recordar todas as opcións, o que é practicamente imposible. A solución sería ter un ficheiro de configuración perfectamente preparado segundo os requirimentos de cada servidor, facilitando e garantindo o acceso a eses servidores.

Nesta ligazón http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config Podes saber como editar o ficheiro de configuración do cliente SSH.

Lembre, este é só un consello máis dos centos que podemos atopar para garantir SSH, polo que se desexa ter conexións remotas seguras, debe combinar as posibilidades que nos ofrece OpenSSH.

Iso é todo polo de agora, espero que esta información che sirva de algo e agarde por outra publicación sobre seguridade SSH a próxima semana.

Nota: se queres ler o libro "SSH The Secure Shell", asegúrate de consultar as páxinas do manual da versión que instalaches, xa que o libro está bastante atrasado en canto ás opcións compatibles con OpenSSH.

Grazas Izkalotl pola contribución.
Interesado en fai unha contribución?

O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

9 comentarios, deixa os teus

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.

  1.   HacKan & CuBa co. dixo

    que? Creo que se refire a outra publicación, porque non entendo o que menciona. Esta publicación dá un pequeno consello para aplicar cando se establece a conexión cun ordenador, non se refire a cambiar ningunha configuración da mesma nin a resolver nada se alguén consegue entrar. A idea é facer segura a comunicación entre ordenadores, obviando os parámetros predeterminados que poden non ofrecer o nivel de seguridade adecuado.
    O golpe de porto é interesante para restrinxir os ataques (non os evita por completo, pero fai o que fai), aínda que me resulta un pouco incómodo o seu uso ... Non teño moita experiencia con el.
    Hai varios programas que escanean os rexistros para bloquear o acceso por ip cando se detectan inicios de sesión incorrectos.
    O máis seguro é usar o inicio de sesión sen contrasinal usando ficheiros clave.

    Saúdos!

  2.   HacKan & CuBa co. dixo

    que? Creo que se refire a outra publicación, porque non entendo o que menciona. Esta publicación dá un pequeno consello para aplicar cando se establece a conexión cun ordenador, non se refire a cambiar ningunha configuración da mesma nin a resolver nada se alguén consegue entrar. A idea é facer segura a comunicación entre ordenadores, obviando os parámetros predeterminados que poden non ofrecer o nivel de seguridade adecuado.
    O golpe de porto é interesante para restrinxir os ataques (non os evita por completo, pero fai o que fai), aínda que me resulta un pouco incómodo o seu uso ... Non teño moita experiencia con el.
    Hai varios programas que escanean os rexistros para bloquear o acceso por ip cando se detectan inicios de sesión incorrectos.
    O máis seguro é usar o inicio de sesión sen contrasinal usando ficheiros clave.

    Saúdos!

  3.   HacKan & CuBa co. dixo

    Tamén ssh buscará a configuración predeterminada do usuario en ~ / .ssh / config
    A menos que o demonio estea configurado para non facelo, pero por defecto si.
    É importante ter en conta o algoritmo empregado para hash, coa opción -m; Recomendo hmac-sha2-512, hmac-sha2-256, hmac-ripemd160 porque ofrecen a mellor seguridade. Teña coidado, porque por defecto usa MD5 (ou sha1 con sorte) !! son esas cousas que non se entenden ....
    De todos os xeitos, unha boa idea sería executalo con:
    ssh -p PORT -c aes256-ctr -m hmac-sha2-512 -C IP
    con -c especifica o algoritmo de cifrado empregado, onde o ctr (modo contador) é o máis recomendable (aes256-ctr e aes196-ctr), e se non o cbc (encadeamento de bloques cifrados): aes256-cbc, aes192- cbc , blowfish-cbc, cast128-cbc

    Saúdos!

  4.   HacKan & CuBa co. dixo

    Tamén ssh buscará a configuración predeterminada do usuario en ~ / .ssh / config
    A menos que o demonio estea configurado para non facelo, pero por defecto si.
    É importante ter en conta o algoritmo empregado para hash, coa opción -m; Recomendo hmac-sha2-512, hmac-sha2-256, hmac-ripemd160 porque ofrecen a mellor seguridade. Teña coidado, porque por defecto usa MD5 (ou sha1 con sorte) !! son esas cousas que non se entenden ....
    De todos os xeitos, unha boa idea sería executalo con:
    ssh -p PORT -c aes256-ctr -m hmac-sha2-512 -C IP
    con -c especifica o algoritmo de cifrado empregado, onde o ctr (modo contador) é o máis recomendable (aes256-ctr e aes196-ctr), e se non o cbc (encadeamento de bloques cifrados): aes256-cbc, aes192- cbc , blowfish-cbc, cast128-cbc

    Saúdos!

  5.   iván11 dixo

    o que quería é que ninguén puidese acceder ao meu PC e controlalo remotamente
    entón entendo polas túas palabras que se non abro o porto non hai acceso polo menos deste xeito

    mercii por responder!

  6.   iván11 dixo

    Ola
    Seguín algúns trucos e teño unha pregunta. de entre as opcións tamén cambiei
    O porto para outro diferente ao tradicional. Se non abro ese porto no enrutador, será imposible que se conecten ao meu PC? ou será redirixido a calquera outro porto?

    Non necesito facer ningunha conexión remota, así que quería saber que sería máis eficaz se abrías o porto ou o deixabas bloqueado.

    Agardo respostas!

  7.   Serge Weizenegger dixo

    > O máis seguro é usar o inicio de sesión sen contrasinal usando ficheiros clave.
    É exactamente o que ía dicir ... que o único xeito de iniciar sesión en diferentes ordenadores é cunha chave que está nun pendrive colgado do pescozo 😉
    O atacante pode perder toda a vida intentando forzar un contrasinal e nunca se dará conta de que non precisa un contrasinal senón un ficheiro XD.

  8.   linux izkalotl dixo

    Non son un experto en seguridade e redes, pero para infrinxir o seu sistema de seguridade cun inicio de sesión sen contrasinal bastaría con facer un script para copiar a súa clave almacenada nun pendrive no momento de montala, polo que en cuestión de segundos ten acceso coa súa propia chave ao control remoto do servidor (e, por suposto, sen necesidade de contrasinal), o problema sen contrasinal é que che fai sentir unha falsa seguridade, xa que como podes ver cunhas liñas nun script sería moi sinxelo controlar os servidores remotos. Lembre que un atacante non perderá tempo nin recursos intentando rachar contrasinais se hai un xeito máis curto de incumprir a súa seguridade. Recoméndolle que use polo menos 20 das opcións que SSH permite configurar e isto engade algo así como TCP Wrappers, un bo firewall e aínda así o seu servidor non estaría 100% protexido, confíase no peor inimigo en materia de seguridade.

  9.   gorlok dixo

    É interesante, aínda que non estou seguro do verdadeiro beneficio, porque estamos falando de facer as cousas un pouco difíciles cando un atacante xa se uniu ao equipo e de engadir máis complexidade aos administradores.
    Paréceme máis útil unha técnica de bote de mel para alertar (e actuar?) Sobre actividade sospeitosa ou algún tipo de caixa de area que restrinxa as accións do atacante.
    Ou buscaría outro tipo de técnicas que impidan a entrada, como o golpe de porto.
    Ademais, grazas por compartilo e abrir o debate.