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.
Interesado en fai unha contribución?
9 comentarios, deixa os teus
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!
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!
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!
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!
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!
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!
> 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.
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.
É 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.