> ## Content Index
> Fetch the complete content index at: https://franciscomonteiro.com.br/llms.txt
> Use this file to discover other available public pages before exploring further.

# // Como proteger seu servidor Linux como um Hacker. - Parte 02.
- URL: https://franciscomonteiro.com.br/como-proteger-seu-servidor-linux-como-um-hacker-parte-02/
- Published: 2026-08-21T02:55:06.000Z
- Updated: 2026-08-21T03:07:14.000Z
- Description: Aprenda o passo a passo definitivo para endurecer a segurança do seu servidor Linux Debian like a boss.
- Author: Francisco Monteiro
- Tags: linux, linux-security, debian, segurança, crowdsec, ssh-hardening, 2fa, sysadmin, devops, disaster, hacking, infraestrutura, tecnologia, threat-intelligence

Aprenda o passo a passo definitivo para endurecer a segurança de um servidor Linux Debian like a boss.

Após trocar a senha do usuário root para uma senha matematicamente impossível, adicionar um usuário administrador local, configurar as atualizações de segurança de forma automática e blindar o SSH com chaves Ed25519, que tal agora blindarmos nosso servidor como um especialista sênior? ;)

![](https://franciscomonteiro.com.br/content/images/2026/08/giphy-2.gif)

## Por que escolher o CrowdSec?  

Eu sei eu sei... alguns leitores vão se questionar: 

***"O Fail2Ban já resolve meu problema com brute force"*...** 

Pode até ser verdade. O Fail2Ban foi o padrão ouro por uma década, mas sua arquitetura baseada em regex em Python e logs locais simplesmente **não escala contra botnets distribuídas modernas**.

Usar o CrowdSec resolve as principais limitações do Fail2Ban:

- **Performance:** Motor de detecção desenvolvido em Go com parsing estruturado (sem dependência de regex pesada).
- **Inteligência Coletiva:** Blocklist global atualizada em tempo real pela comunidade de segurança.
- **Arquitetura Modular:** Separação limpa entre detecção (agent) e aplicação (bouncer).

**Visão Geral:** O CrowdSec inclui o motor de detecção e o *bouncer* (responsável pelo bloqueio ativo no firewall, Cloudflare, Nginx, etc.).

*Nota importante: *Instalar o CrowdSec sem um bouncer não protege nada.* O agente apenas observa; o bouncer é quem barra o atacante.*

## Instalando e configurando o CrowdSec  

Vamos instalar o repositório oficial do CrowdSec e o bouncer para o iptables (ou nftables) no Debian.

1. Adicionar o repositório oficial do CrowdSec e instalar o agent/bouncer:

```bash
# Instalar dependências iniciais
sudo apt update && sudo apt install curl gnupg lsb-release -y

# Adicionar a chave GPG e o repositório do CrowdSec
curl -s https://install.crowdsec.net | sudo sh

# Instalar o CrowdSec Agent
sudo apt install crowdsec -y
```

1. Instalando o bouncer

```bash
sudo apt install crowdsec-firewall-bouncer-iptables -y
```

1. Adicionando "scenarios"  
    
O CrowdSec vem com vários cenários ativos por padrão. Em servidores de produção, você pode querer personalizar o que é bloqueado para evitar falsos positivos ou focar em ameaças específicas.  
    
Para listar os cenários disponíveis;

```bash
sudo cscli scenarios list
```

1. Configure a "lista de IPs seguros"  
    
Este é o maior ponto de falha, onde muitos administradores pulam a etapa essencial que é adicionar o IP fixo do seu escritório/casa na lista de IPs seguros antes de qualquer coisa. O famoso "break-glass access":

```bash
# Crie sua regra de break-glass

sudo nano /etc/crowdsec/parsers/s01-parse/ip-break-glass.yaml

# Cole o conteúdo abaixo, adaptando para seu IP ou rede;

name: local/ip-break-glass
description: "Tutorial do Blog do Francisco Monteiro para regra de break glass."
whitelist:
  reason: "Meu IP de acesso seguro"
  ip:
    - "159.112.180.18"
    - "2603:c021:c004:2f7e:4aa9:dd7a:b632:e156"
    - "192.168.1.0/24"

  # Reinciie o serviço do crowdsec

  sudo systemctl restart crowdsec
```

Pronto! O CrowdSec já está rodando de forma autônoma, analisando logs de autenticação do sistema e bloqueando ameaças globais automaticamente. 

Você pode verificar o status e as decisões ativas rodando `sudo cscli metrics` ou `sudo cscli decisions list`.

## 

## Implementando Autenticação de Dois Fatores (2FA) no SSH

Agora que o seu servidor está realmente protegido contra ameaças automatizadas e IPs maliciosos com o CrowdSec, vamos elevar o nível da porta de entrada exigindo um código TOTP (tipo Google Authenticator) além da sua chave SSH?

Isso garante que, mesmo na remota hipótese de sua chave privada vazar, um invasor ainda precisará do seu celular para conseguir acessar o servidor.

1. Instalar o plugin PAM do Google Authenticator

```bash
sudo apt install libpam-google-authenticator -y
```

1. Configurar o 2FA para o seu usuário local

> **Atenção:** Execute este comando **como o seu usuário local** (nunca como o usuário root), pois o segredo será gravado na home da sua conta

```
google-authenticator
```

O terminal fará algumas perguntas interativas. Para obter o comportamento mais seguro, responda da seguinte forma:

  1. **Authentication tokens time-based (y/n):**  
  (Sim, para usar tokens baseados em tempo).
  2. O terminal exibirá um QR Code gigante na tela e a sua chave secreta (*secret key*). Use seu aplicativo autenticador favorito (1Password, Bitwarden, Google Authenticator, etc.) para salvar o TOTP.
  3. Do you want me to update your "/home/franciscomonteiro/.google\_authenticator" file?  
  (Sim, para começar a utilizar o método de TOTP para o usuário atual)
  4. Do you want to disallow multiple uses of the same authentication token?  
  (Sim, para previnir ataques de repetição, impedindo que um código seja usado duas vezes).
  5. By default, tokens are 30 seconds... Do you want to enable rate-limiting? (Sim, para restringir tentativas excessivas de login, bloqueando ataques de força bruta no 2FA).

> **Dica de ouro:** O terminal também exibirá códigos de recuperação de emergência (*emergency scratch codes*).  
>  
> Anote-os e guarde-os em um gerenciador de senhas. Se você perder o seu celular, eles serão a sua única salvação para não ficar trancado fora do servidor.

1. Configurar o SSH e o PAM para exigir o fator duplo  
    
Primeiro, edite o arquivo de configuração do PAM para o SSH:

```bash
sudo nano /etc/pam.d/sshd

# Adicione no final da linha:

auth required pam_google_authenticator.so
```

1. Configurando o daemon do SSH para permitir logon interativo

```bash
sudo nano /etc/ssh/sshd_config

# Adicione ou remova o "#" caso a linha já exista;

KbdInteractiveAuthentication yes

# Adicione a regra de método de autenticação para exigir a chave criptográfica seguida do código de verificação:

AuthenticationMethods publickey,keyboard-interactive
```

1. Reiniciar o serviço SSH

```bash
systemctl restart ssh
```

Observação: Não feche a sua sessão atual do terminal antes de abrir uma nova aba e testar o acesso!   
  
Certifique-se de que consegue logar usando sua chave e o código 2FA com sucesso. Se algo der errado, sua sessão atual ainda estará aberta para corrigir o arquivo de configuração.

## Conclusão

Com o CrowdSec blindando as portas contra ataques de força bruta do mundo e o Google Authenticator adicionando uma camada intransponível no SSH, seu servidor Debian alcança um nível de segurança de infraestrutura corporativa like a boss.

Lembre-se: em administração de sistemas, a segurança não é um destino, mas um estado constante de atenção.

![](https://franciscomonteiro.com.br/content/images/2026/08/image.png)

> "Os especialistas em segurança costumam dizer que a segurança não é um produto, mas um processo... É mais sobre sua mentalidade e gestão do que sobre software e hardware."

> Mitnick, Kevin.