SSH security while travel

2

Sou novo no lado do administrador de sistemas / TI, por isso peço desculpas se isso parecer simples. Eu tentei pesquisar, mas como o SSH é um campo tão amplo, não sabia quais palavras-chave ou terminologia usar especificamente.

Vou fazer algumas viagens em breve e preciso usar o SSH no meu servidor Ubuntu do EC2. Atualmente eu tenho um IP estático em casa e o UFW é configurado para restringir o acesso IP para a porta 22. No que diz respeito ao próprio SSH, eu uso um par de chaves para efetuar login.

Existe alguma maneira que eu possa de alguma forma obter um IP estático, ou usar algum tipo de VPN e, em seguida, o SSH no meu servidor para manter a porta 22 segura? Obviamente, eu não sou a primeira pessoa a viajar ao ter SSH em um servidor, então tem que haver uma solução.

Como afirmei, atualmente mantenho o acesso à porta 22 permitido apenas para o meu IP. Seria muito arriscado abrir a porta 22 para todo o tráfego? Eu uso um par de chaves para SSH, não um nome de usuário / senha.

    
por user3258348 12.02.2014 / 07:36

5 respostas

5

Manter a porta 22 aberta não é menos seguro do que manter a porta 80 aberta em seu servidor da Web, contanto que você esteja usando a autenticação de chave pública ou senhas de usuário seguras. Muitas práticas de segurança são mitos infundados. É improvável que explorações severas existam em sshd.

Por que a porta do servidor VPN está mais segura do que a porta SSH? Basta verificar sua chave pública SSH cada vez que você se conectar para impedir ataques MITM.

    
por 12.02.2014 / 09:13
2

Requerer uma VPN para SSH é certamente mais seguro; A maneira usual de fazer isso é estabelecer uma rede de gerenciamento (para a qual seus servidores têm uma conexão secundária) e fornecer acesso VPN a ela. Faça com que toda a infraestrutura ouça o tráfego de gerenciamento apenas nessa rede. Então, conforme necessário, faça VPN e gerencie.

Se você tiver apenas um servidor, isso é provavelmente um exagero. Deve ser suficiente usar chaves públicas strongs e garantir que somente usuários que realmente tenham contas de shell tenham permissão para autenticar. Desabilitar a autenticação de senha para SSH neste caso não é uma má ideia. Para isso, edite /etc/ssh/sshd_config e defina PasswordAuthentication no . Se você estiver usando apenas a autenticação de chave pública, também desabilite o PAM com UsePAM no , pois o PAM pode autenticar os usuários com senhas mesmo quando você desabilitou a autenticação de senha em sshd.

    
por 12.02.2014 / 07:40
2

Primeiro, algumas dicas gerais de segurança:

  • Usar logins principais - você é bom nessa frente
  • use teclas grandes - por exemplo, gerar uma chave de 4k rsa (provavelmente a atual é 1k ou 2k
  • use uma senha strong para a chave - você deve fazer isso. Se eu puder colocar minhas mãos em sua chave paswordless desprotegida ... tudo é discutível
  • move ssh para porta superior - ex. 12322 - isso ajudará na busca por serviços um pouco. E não esqueça de abrir a porta no grupo de segurança
  • monitore o que está acontecendo com seu servidor - o fail2ban é uma ferramenta maravilhosa
  • desabilitar logins de senha (há instruções nas outras respostas)
  • implemente AllowUsers / AllowGroups para permitir que apenas usuários específicos (e root não sejam um deles) - juntamente com a configuração agressiva do fail2ban, isso é muito mais perigoso.

Especificamente para sua pergunta, existem ferramentas conhecidas como PortKnockers

Basicamente você faz algo (como tentar se conectar a várias portas diferentes em um curto espaço de tempo) e uma porta abre magicamente no iptables.

Algumas leituras sobre esse tópico:

NOTA: Eu não tenho experiência com portknocking e realmente não o recomendo, pois isso pode interferir nas operações normais. Chave segura grande e ssh em porta não padronizada são muito suficientes.

    
por 12.02.2014 / 16:51
1

Você pode configurar um servidor OpenVPN em sua máquina e acessar sua instância por meio disso. Verifique o link abaixo para configurar o servidor OpenVPN.

link

Você precisa alterar um pouco o seu grupo de segurança. Atualmente, você tem um IP estático como host permitido para conexões de entrada. Faça um intervalo de IP que corresponda ao intervalo de endereço IP do endereço IP dinâmico do OpenVPN Server (aquele que você especificar em Configurações de VPN no link acima).

O servidor OpenVPN estará acessível a todos, mas essa conexão é criptografada (https) e protegida por sua chave de perfil do OpenVPN e sua senha de conta.

    
por 12.02.2014 / 08:04
0

Eu configuraria uma conta de DNS dinâmica como no-ip ou dynds em seu laptop, então você pode adicionar o dyn hostname em /etc/hosts.allow e bloquear todo o resto em /etc/hosts/deny.

Dessa forma, você tem seu linux para permitir apenas o host dinâmico, e também pode ser necessário adicionar o segmento de sub-rede local ao arquivo /etc/hosts.allow.

aplausos ...

    
por 12.02.2014 / 18:19

Tags