Tempo de leitura: 4 minutos

Garantir a segurança do acesso SSH é fundamental para proteger servidores e aplicações web contra invasões. A restrição por IP é uma das camadas de defesa mais eficazes, permitindo que apenas endereços confiáveis possam estabelecer conexões.

Implementar restrições de IP no SSH não é apenas uma boa prática, mas uma necessidade em ambientes que armazenam dados sensíveis ou processam informações críticas. Essa configuração evita tentativas de força bruta e acesso não autorizado.

Por que restringir o acesso SSH por IP é importante

O SSH (Secure Shell) é uma porta de entrada privilegiada para seu servidor. Quando deixada aberta para qualquer IP da internet, torna-se um alvo constante de ataques automatizados que tentam descobrir credenciais válidas.

Segundo dados do relatório de ameaças da CrowdStrike, servidores com SSH exposto recebem, em média, centenas de tentativas de login por dia. A restrição por IP reduz drasticamente essa superfície de ataque.

Ao limitar o acesso apenas aos IPs necessários, você segue o princípio de segurança do “menor privilégio possível”, garantindo que apenas pessoas autorizadas, conectadas de redes confiáveis, possam tentar estabelecer conexões SSH.

“A restrição de acesso SSH por IP é uma das medidas de segurança mais simples e eficazes que você pode implementar. É como instalar uma porta blindada em sua casa, mas distribuir a chave apenas para membros da família.” – Bruce Schneier, especialista em segurança cibernética

Como verificar se o SSH está restrito por IP

Para determinar se seu servidor já possui restrições de IP para SSH, você pode seguir estas etapas de verificação:

1. Verificando configurações do SSH

Acesse o arquivo de configuração do SSH, geralmente localizado em /etc/ssh/sshd_config. Procure por linhas que contenham AllowUsers, AllowGroups, DenyUsers, DenyGroups ou Match Address.

Exemplo de configuração restritiva:

Match Address 192.168.1.0/24,10.0.0.5
PermitRootLogin yes
PasswordAuthentication yes

2. Verificando regras de firewall

As restrições podem estar implementadas no firewall do sistema. Para verificar, use os comandos apropriados para seu sistema:

Em sistemas baseados em iptables:

sudo iptables -L -n | grep 22

Em sistemas usando UFW (Ubuntu):

sudo ufw status

Em sistemas usando firewalld (CentOS/RHEL):

sudo firewall-cmd –list-all

3. Verificando configurações de segurança na nuvem

Se seu servidor estiver hospedado em provedores como AWS, Azure ou Google Cloud, verifique também os grupos de segurança ou regras de firewall na interface do provedor.

Como implementar restrições de IP no SSH

Existem várias maneiras de implementar restrições de IP para o acesso SSH. Vou apresentar as mais comuns e eficazes:

1. Usando o arquivo de configuração SSH

Edite o arquivo /etc/ssh/sshd_config e adicione uma das seguintes configurações:

# Permitir acesso apenas de IPs específicos
Match Address 192.168.1.0/24,203.0.113.4
PermitRootLogin yes
PasswordAuthentication yes

Após editar, reinicie o serviço SSH:

sudo systemctl restart sshd

2. Usando iptables (Linux)

Para sistemas que usam iptables diretamente:

# Limpar regras existentes para a porta 22
sudo iptables -D INPUT -p tcp –dport 22 -j ACCEPT

# Permitir SSH apenas de IPs específicos
sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 –dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp -s 203.0.113.4 –dport 22 -j ACCEPT

# Bloquear todo o resto
sudo iptables -A INPUT -p tcp –dport 22 -j DROP

Para tornar as regras permanentes:

sudo apt install iptables-persistent
sudo netfilter-persistent save

3. Usando UFW (Ubuntu)

Para sistemas Ubuntu com UFW ativado:

sudo ufw default deny incoming
sudo ufw allow from 192.168.1.0/24 to any port 22
sudo ufw allow from 203.0.113.4 to any port 22
sudo ufw enable

4. Usando firewalld (CentOS/RHEL)

sudo firewall-cmd –permanent –zone=public –remove-service=ssh
sudo firewall-cmd –permanent –zone=public –add-rich-rule=’rule family=”ipv4″ source address=”192.168.1.0/24″ service name=”ssh” accept’
sudo firewall-cmd –permanent –zone=public –add-rich-rule=’rule family=”ipv4″ source address=”203.0.113.4″ service name=”ssh” accept’
sudo firewall-cmd –reload

Boas práticas para restrição de SSH por IP

Implementar restrições de IP é importante, mas deve ser feito com cuidado para evitar bloqueios acidentais. Siga estas práticas recomendadas:

1. Planeje antes de implementar

Antes de aplicar quaisquer restrições, liste todos os IPs legítimos que precisarão de acesso SSH. Considere funcionários remotos, equipes de suporte e sistemas de automação.

“Sempre tenha um plano B antes de aplicar restrições de acesso. Um IP de fallback ou um método alternativo de acesso pode salvar você de ficar trancado fora do seu próprio servidor.” – Katie Moussouris, fundadora da Luta Security

2. Use IPs estáticos quando possível

Para administradores que acessam frequentemente o servidor, considere a utilização de IPs estáticos ou VPNs com IPs fixos. Isso torna a gestão de acesso mais previsível e segura.

3. Implemente autenticação de múltiplos fatores

Mesmo com restrições de IP, adicione uma camada extra de segurança com autenticação de dois fatores para SSH. Ferramentas como Google Authenticator ou Duo Security podem ser integradas ao SSH.

4. Monitore tentativas de acesso

Configure alertas para tentativas de login SSH de IPs não autorizados. Ferramentas como Fail2ban podem detectar e bloquear automaticamente tentativas suspeitas.

5. Revise periodicamente as regras

Estabeleça um processo regular para revisar e atualizar as listas de IPs permitidos, removendo acessos desnecessários e adicionando novos conforme necessário.

Alternativas e complementos à restrição por IP

A restrição por IP é eficaz, mas pode ser complementada com outras medidas de segurança:

  • VPN: Exigir que todos os acessos SSH passem por uma VPN corporativa
  • Bastion Hosts: Usar servidores intermediários dedicados para acesso SSH
  • Chaves SSH: Desabilitar autenticação por senha e usar apenas chaves criptográficas
  • Port Knocking: Técnica que mantém a porta SSH fechada até que uma sequência específica de conexões seja detectada

Considerações especiais para ambientes dinâmicos

Em ambientes onde os IPs mudam frequentemente, como equipes remotas ou desenvolvedores móveis, considere estas abordagens:

1. Implemente um sistema de acesso Just-In-Time, onde os usuários solicitam acesso temporário através de um portal seguro.

2. Use uma VPN corporativa com IP fixo, de modo que todos os acessos SSH venham desse IP conhecido.

3. Configure um sistema de autorização baseado em identidade, como o AWS IAM ou Google Cloud IAP, que pode controlar o acesso SSH independentemente do IP de origem.

A restrição de IP para SSH é uma medida de segurança essencial que deve fazer parte de uma estratégia de defesa em profundidade. Quando implementada corretamente, reduz significativamente a superfície de ataque do seu servidor web.

Como está a configuração atual do SSH no seu servidor? Você já identificou quais IPs precisam ter acesso legítimo ao seu ambiente?

Avatar de Rafael P.

Perguntas Frequentes

O que é SSH e por que é importante?

SSH, ou Secure Shell, é um protocolo de rede que permite acesso seguro a sistemas remotos. É importante porque fornece criptografia para proteger dados e autenticação para garantir que apenas usuários autorizados possam acessar servidores.

Como a restrição por IP aumenta a segurança do SSH?

A restrição por IP limita o acesso ao servidor SSH a endereços IP específicos, reduzindo a superfície de ataque. Isso significa que apenas dispositivos autorizados podem tentar se conectar, o que diminui significativamente o risco de ataques automatizados, como tentativas de força bruta.

Quais são os riscos de não restringir o acesso SSH por IP?

Não restringir o acesso SSH por IP pode levar a invasões, uma vez que qualquer pessoa na internet pode tentar se conectar ao seu servidor. Isso aumenta a probabilidade de sucesso em ataques de força bruta e pode resultar em comprometimento de dados sensíveis.

É possível combinar a restrição por IP com outras medidas de segurança?

Sim, é altamente recomendável combinar a restrição por IP com outras medidas de segurança, como autenticação de dois fatores, uso de chaves SSH em vez de senhas e o monitoramento de logs de acesso, para criar uma defesa em profundidade.

Como posso configurar a restrição por IP no SSH?

Para configurar a restrição por IP no SSH, você pode editar o arquivo de configuração SSH (/etc/ssh/sshd_config) para incluir regras de firewall, como o uso de iptables ou UFW, que especificam quais endereços IP são permitidos. Após a configuração, não se esqueça de reiniciar o serviço SSH para aplicar as mudanças.

O caminho até aqui

Início » Checklist » Segurança Avançada » O acesso SSH está restrito por IP quando aplicável?

Somente membros podem interagir com o conteúdo.