Quais são as melhores práticas para acessar minha instância do EC2 Linux com segurança usando SSH e evitando acesso não autorizado?
Quero acessar minha instância do Amazon Elastic Compute Cloud (Amazon EC2) usando o SSH. Quais são as melhores práticas para manter minha instância segura e evitar o acesso não autorizado ao usar o SSH?
Resolução
Use as práticas recomendadas a seguir para proteger suas instâncias ao usar o SSH. Para etapas que envolvem comandos, certifique-se de executar comandos com privilégios de raiz. Execute o comando sudo -i para se tornar o usuário raiz.
Use o AWS Systems Manager Session Manager para acesso via shell a instâncias do EC2
O Session Manager permite que os usuários do AWS Identity and Access Management (IAM) façam login em suas instâncias com recursos de criptografia e registro em log. O tráfego do Systems Manager passa pelo endpoint do Systems Manager, permitindo acesso fácil e seguro a instâncias privadas sem abrir portas de entrada. Para mais informações sobre o Session Manager, consulte AWS Systems Manager Session Manager para acesso via shell a instâncias do EC2.
Usar o EC2 Instance Connect para acesso via shell a instâncias do EC2
O Amazon EC2 Instance Connect permite que você se conecte às suas instâncias Linux via Secure Shell (SSH) usando perfis e políticas do IAM. Para mais informações sobre o EC2 Instance Connect, consulte Connect to your Linux instance using EC2 Instance Connect (Conectar-se à sua instância Linux usando o EC2 Instance Connect).
Observação: o EC2 Instance Connect é compatível nas seguintes distribuições:
- Amazon Linux 2 (qualquer versão)
- Ubuntu 16.04 ou posterior
Não permitir que o usuário raiz use um terminal SSH
Por padrão, as AMIs fornecidas pela Amazon e pela maioria dos fornecedores do AWS Marketplace não permitem que o usuário raiz faça login em um terminal SSH. Se a sua instância permitir que o usuário raiz faça login, siga as etapas abaixo para negar o acesso.
1. Adicione um * (asterisco) ao campo de senha no arquivo /etc/shadow para invalidar a senha do usuário raiz:
Edite o arquivo com vipw -s.
A primeira linha geralmente é a linha do usuário raiz. Altere a linha do usuário raiz da seguinte maneira:
root:*LOCK*:14600::::::
2. Edite o arquivo de configuração do daemon SSH usando um editor, como o editor vi:
vi /etc/ssh/sshd_config
Certifique-se de que a linha a seguir esteja presente e sem comentários. Essa linha nega permissão de login ao usuário raiz.
PermitRootLogin no
3. Reinicie o daemon SSH:
systemctl restart sshd
Para informações sobre outros parâmetros da opção PermitRootLogin, consulte sshd_config no OpenBSD.
Certificar-se de que todos os usuários façam login com um par de chaves SSH e, em seguida, desativar a autenticação por senha
A configuração padrão para as AMIs fornecidas pela Amazon é fazer login usando um par de chaves SSH com a autenticação por senha desativada. Isso ocorre porque o uso de uma senha deixa sua instância exposta a riscos de segurança, como ataques de força bruta. Senhas fracas podem ser quebradas para obter acesso.
Portanto, se você alterou sua instância para usar uma senha, reverta para a configuração padrão usando os seguintes comandos:
1. Use o editor vi, ou editor de sua escolha, para acessar o arquivo sshd_config:
vi /etc/ssh/sshd_config
2. Verifique se a linha a seguir está presente e sem comentários:
PasswordAuthentication no
3. Reinicie o daemon SSH:
systemctl restart sshd
Observação: certifique-se de ter pares de chaves instalados antes de desativar a autenticação por senha. Isso evita que você perca o acesso via SSH à instância do EC2. Cada usuário precisa inserir suas chaves públicas no caminho ~/.ssh/authorized_keys. Para mais informações sobre logins baseados em chaves, consulte Amazon EC2 key pairs and Linux instances (Pares de chaves do Amazon EC2 e instâncias Linux).
Restringir o acesso de origens desconhecidas
Para instâncias públicas, deixar a porta SSH aberta e irrestrita pode permitir invasões se existirem configurações incorretas ou se houver vulnerabilidades de software inesperadas. Para ajudar a evitar invasões, siga estas práticas recomendadas:
1. Mantenha o daemon SSH atualizado para a versão mais recente fornecida pelo mantenedor da distribuição Linux. Frequentemente, o daemon SSH recebe atualizações de backport de versões posteriores do provedor de upstream. Para mais informações sobre backport, consulte Correções de segurança de backport no site do Portal do Cliente do Red Hat.
yum -y install openssh-server # for Amazon Linux, RHEL, Centos apt update && apt install openssh-server # For Ubuntu, Debian
2. Restrinja seu grupo de segurança para permitir conexões de entrada à porta 22 somente a partir de IPs confiáveis, como IPs de rede corporativa. Para mais informações, consulte Authorize inbound traffic for your Linux instances (Autorizar tráfego de entrada para suas instâncias Linux).
3. Alguns intrusos podem tentar adivinhar nomes de usuário e senhas ou podem tentar sobrecarregar seu daemon SSH se a porta 22 estiver aberta para o mundo. O utilitário fail2ban monitora seus arquivos de log em busca de tentativas constantes de login na sua instância e, em seguida, bloqueia as tentativas após algumas tentativas malsucedidas. Para instalar fail2ban**:**
Ubuntu:
apt -y install fail2ban
Amazon Linux, CentOS, RHEL:
Execute os seguintes comandos:
yum -y install fail2ban systemctl enable fail2ban systemctl start fail2ban
Para detalhes sobre como configurar fail2ban, consulte Segurança do Linux: Proteger seus sistemas com fail2ban no site da Red Hat.
Conteúdo relevante
- feita há 12 diaslg...
- Resposta aceitafeita há 10 diaslg...
- feita há 12 diaslg...
- feita há um mêslg...
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos