A segurança é um problema de todo usando o SSH na porta 22?

2

O SSH é seguro o suficiente para não se preocupar com ataques à porta 22, certo?

Após conectar uma máquina ao servidor SSH, existe uma configuração nos arquivos sshd-config ou SSH-config que precisa ser alterada após a criação de uma chave?

    
por winchendonsprings 03.05.2011 / 04:12

4 respostas

3

Mover o sshd para outra porta é simplesmente segurança através da obscuridade. Uma abordagem melhor é criar uma defesa em camadas. Comece desabilitando a autenticação de senha e restringindo a lista de usuários que podem efetuar login via ssh. Em seguida, restrinja os IPs ou redes de origem que podem se conectar e coloque uma regra de limitação no lugar. Certifique-se de registrar as tentativas com falha e inspecione seus logs regularmente. É ainda melhor se você puder alertar sobre ataques de força bruta. Existem algumas ferramentas que podem fazer isso.

Se você puder poupar um servidor para ser usado como um bastião, poderá remover o acesso ssh direto aos seus servidores e forçar todos os seus clientes através de um host que você possa monitorar. Uma vez que um cliente logue com sucesso, você pode restringir o local para onde ele pula adicionando regras de iptables de saída que são restritas por usuário ou grupo.

    
por 03.05.2011 / 05:25
2

Se você desabilitar a autenticação por senha, estará em boa forma. Se você permitir, use fail2ban para parar os hacks de senha de força bruta. Você vai pegá-los em uma porta ssh aberta.

    
por 03.05.2011 / 04:18
1

Se você desabilitar as senhas, elas devem estar bem. Você também pode restringir as contas de usuários no arquivo sshd_config.

MaxStartups 3:60:8
AllowUsers myaccount

Como restrição adicional. você também pode restringir hosts que podem se conectar, mas você pode não querer fazer isso.

O MaxStartups é minha tentativa de uma forma simples de conexão "tarpitting", mas não tenho certeza de como isso funciona.

    
por 03.05.2011 / 06:13
0

Com relação aos ataques de força bruta, aqui está uma regra simples para configurar com o Iptables:

# we create a new chain for bruteforce attack detection
iptables -N BRUTE

# allow 10 new connections in a timeframe of 60 seconds
iptables -A BRUTE -m recent --set --name CHECK --rsource
iptables -A BRUTE -m recent --update --seconds 60 --hitcount 10 \
  --name BRUTE --rsource -j DROP

# add a rule in the INPUT chain to check for SSH against the BRUTE chain
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j BRUTE

Isso funciona com o módulo Iptables "ipt_recent", que na verdade armazena um arquivo dentro de "/ proc / net / ipt_recent / nome " (neste caso nome é < em> BRUTE ).

Essas regras permitirão conexões novas em um atraso de um minuto do mesmo IP, caso contrário, serão bloqueadas temporariamente e o IP terá que interromper novas tentativas de conexão com o serviço. Embora seja muito simples de configurar, ao contrário do fail2ban , ele não permite uma distinção entre conexões bem-sucedidas e tentativas malsucedidas.

    
por 03.05.2011 / 08:39