Add SSH hardening pt-br translation
This commit is contained in:
parent
6c4b9a16b5
commit
06019f657c
66
content/posts/ssh-hardening.pt.md
Normal file
66
content/posts/ssh-hardening.pt.md
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
+++
|
||||||
|
date = '2024-10-26T16:59:23-03:00'
|
||||||
|
title = 'Boas praticas para configuração do SSH'
|
||||||
|
description = "Post no blog do Thanwer sobre melhores praticas para configurar servidores SSH"
|
||||||
|
tags = [
|
||||||
|
"webserver",
|
||||||
|
"GNU/Linux",
|
||||||
|
"Basics Series",
|
||||||
|
]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Como voce pode ver no meu ultimo post sobre [fail2ban]({{< ref "/posts/fail2ban-basics" >}} "Fail2ban basics"), o serviço SSH é um alvo popular de ataques de força bruta, nós devemos tomar nosso tempo para melhorar a segurança de nossos servidores.
|
||||||
|
|
||||||
|
Além de regras do iptabels e jails do fail2ban, temos alguns parametros que podemos ajustar nos nossos servidores para termos mais uma medida de proteção.
|
||||||
|
|
||||||
|
## Métodos de autenticação SSG
|
||||||
|
|
||||||
|
Por padrão, o serviço SSH permite autenticação por senha para todos os usuários exceto o root, oque é um bom começo, mas podemos fazer mais.
|
||||||
|
|
||||||
|
### Autenticação por chaves
|
||||||
|
|
||||||
|
O primeiro passo que voce pode fazer é desativar a autenticação por senha e utilizar apenas autenticação por chaves. Isso vai reduzir muito a eficiencia de ataques de força bruta já que chaves SSH são muito mais dificeis de quebrar do que senhas.
|
||||||
|
|
||||||
|
Eu não vou mostrar como fazer isso, já que existem muitos tutoriais bons na internet sobre esse assunto, [esse do Github por exemplo](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent).
|
||||||
|
|
||||||
|
Outro passo é desativar o login do root, isso faz sentido por que o root é um usuário que existe em todos os sistemas GNU/Linux e isso o torna um alvo obvio.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#PermitRootLogin prohibit-password
|
||||||
|
PermitRootLogin no
|
||||||
|
```
|
||||||
|
|
||||||
|
### Autenticação por dois fatores (2FA)
|
||||||
|
|
||||||
|
Se voce quiser mais um nivel de segurança, voce pode implementar [autenticação de dois fatores com o Google Autenticator](https://docs.vultr.com/how-to-use-two-factor-authentication-with-sudo-and-ssh-on-linux-with-google-authenticator).
|
||||||
|
|
||||||
|
### Desativar métodos de autenticação não utilizados
|
||||||
|
|
||||||
|
Por padrão o servidor SSH vem com varios metodos de autenticação habilitados que voce provavelmente não utiliza. Voce pode desabilita-los para reduzir a superficie de ataque do seu servidor:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ChallengeResponseAuthentication no
|
||||||
|
KerberosAuthentication no
|
||||||
|
GSSAPIAuthentication no
|
||||||
|
```
|
||||||
|
|
||||||
|
## Melhorar algoritmos de criptografia do SSH
|
||||||
|
|
||||||
|
Seguinndo [esses guias](https://www.sshaudit.com/hardening_guides.html) voce pode desabilitar algoritmos de autenticação e criptografia vulneraveis e priorizar os mais fortes (AES-256-GCM, chacha20-poly1305).
|
||||||
|
|
||||||
|
Quando voce terminar, verifique com a ferramenta [ssh-audit](https://github.com/jtesta/ssh-audit).
|
||||||
|
|
||||||
|
## Restringir acessos SSH
|
||||||
|
|
||||||
|
Além das regrad do iptables, o arquivo `/etc/ssh/sshd_config` pode aplicar restrições baseadas em usuário, grupo e/ou IP de origem.
|
||||||
|
|
||||||
|
Por exemplo, para permitir conexões por IP, voce pode adicionar conforme os seguintes exemplos:
|
||||||
|
```bash
|
||||||
|
# Restrict to a specific IP address
|
||||||
|
AllowUsers *@192.0.0.2
|
||||||
|
# Restrict using CIDR notation
|
||||||
|
AllowUsers *@192.0.0.0/24
|
||||||
|
# Restrict a specific user to a specific IP address
|
||||||
|
Match User alice
|
||||||
|
AllowUsers alice@192.0.0.2
|
||||||
|
```
|
||||||
Loading…
Reference in New Issue
Block a user