## Como instalar e configurar o SSHGuard para bloquear ataques de força bruta ##
Introdução ###
SSHGuard é uma excelente ferramenta de código aberto para proteger servidores SSH contra ataques de força bruta e ataques de negação de serviço, monitorando e filtrando conexões SSH de entrada. Ele pode monitorar logs SSH, bloquear endereços IP após exceder falhas de autenticação e bloquear portas, detectar e bloquear varredura de portas, proteger chaves SSH, ataques de força bruta banindo temporariamente os infratores e é fácil de configurar e usar.
Neste guia, você aprenderá como instalar o SSHGuard em seu servidor e configurá-lo para bloquear ataques de força bruta em seu servidor SSH. Estaremos trabalhando em um servidor CentOS 8.
Pré-requisitos ##
Acesso SSH - Você deve ter um servidor rodando CentOS 8.
- Um usuário com privilégios sudo ou root.
Atualizar sistema Antes de instalar qualquer pacote, atualize seu sistema:
```bash
sudo yum atualização -y
```
1. Instale o SSHGuard ###
Para instalar o SSHGuard, use o gerenciador de pacotes yum:
```bash
sudo yum instalar sshguard
```
2. Configurar SSHGuard ###
Depois que o SSHGuard estiver instalado, abra seu arquivo de configuração:
```bash
sudo vi /etc/sshguard/sshguard.conf
```
- Encontre a seguinte linha e descomente-a:
```
habilitado =sim
```
Esta linha permite que o SSHGuard seja iniciado automaticamente na inicialização do sistema.
- Agora, configure o número máximo de tentativas de login com falha permitidas antes que o SSHGuard bloqueie o endereço IP incorreto. Encontre a seguinte linha:
```
max_attempts=5
```
Por padrão, o SSHGuard permite cinco tentativas de login malsucedidas. Você pode aumentar ou diminuir esse valor de acordo com seus requisitos de segurança.
- Defina o tempo (em minutos) que o endereço IP infrator será bloqueado após exceder o número máximo de tentativas de login. Encontre a seguinte linha:
```
block_time =300
```
O tempo de bloqueio padrão é de 5 horas, que pode ser personalizado conforme necessário.
- SSHGuard pode enviar notificações por e-mail quando endereços IP são bloqueados. Para ativar esse recurso, encontre a seguinte linha e remova o comentário:
```
email_alert_cmd=/usr/sbin/sshalert
```
Se não houver nenhum comando no final da linha, especifique um. Por exemplo:
```
email_alert_cmd=/usr/bin/mailx
```
Substitua /usr/bin/mailx ou comando semelhante pelo caminho do seu cliente de email.
- Por padrão, o SSHGuard alerta apenas o usuário root. Para enviar alertas por e-mail para outros endereços de e-mail, adicione-os da seguinte forma:
```
sshalert_recipients=root,user1@example.com,user2@example.com
```
- Encontre a linha:
```
sshalert_cmdline_options=""
```
- Modifique-o para incluir -r para receber e-mails. Por exemplo:
```
sshalert_cmdline_options="-r"
```
- Salve e feche o arquivo sshguard.conf.
3. Habilite SSHGuard ###
Para ativar o SSHGuard, execute o seguinte comando:
```bash
sudo systemctl iniciar sshguard
```
4. Habilite o SSHGuard na inicialização do sistema ###
Para garantir que o SSHGuard seja iniciado automaticamente na inicialização do sistema, execute o seguinte comando:
```bash
sudo systemctl habilitar sshguard
```
5. Teste SSHGuard ###
Para testar se o SSHGuard está funcionando corretamente, tente fazer login em seu servidor SSH de outra máquina usando uma senha incorreta mais vezes do que o limite definido em sshguard.conf. Você deverá ver uma mensagem de erro semelhante a esta:
```
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
Sua conta foi bloqueada. Por favor, tente novamente em xx minutos
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
```
6. Verifique os endereços IP bloqueados ###
Para visualizar a lista de IPs bloqueados, use o seguinte comando:
```bash
sshguard-log -e 1
```
Isso exibirá uma lista de IPs bloqueados e o motivo pelo qual foram bloqueados, junto com o horário em que serão desbloqueados.
7. Desbloquear endereços IP ###
Se desejar desbloquear um endereço IP, você pode usar o seguinte comando:
```bash
sshguard-unblock
```
Substitua pelo endereço IP que você deseja desbloquear.
Conclusão ###
SSHGuard é uma ferramenta poderosa para proteger servidores SSH contra ataques de força bruta e ataques de negação de serviço. Seguindo as etapas deste guia, você pode instalar e configurar facilmente o SSHGuard para aumentar a segurança do seu servidor.