O protocolo SSH (Secure Shell) é uma ferramenta fundamental para o gerenciamento remoto de servidores, permitindo conexões seguras. Entretanto, essa mesma funcionalidade o torna um alvo para ataques de força bruta, nos quais invasores tentam repetidamente adivinhar as credenciais de acesso. Essas tentativas incessantes podem comprometer a segurança e a disponibilidade do seu servidor.
Para fortalecer a proteção contra essas ameaças, apresentamos o PyFilter, uma solução de firewall baseada em Python que possibilita a criação de regras de filtragem personalizadas. Este artigo detalha o processo de instalação e configuração do PyFilter no Ubuntu 16.04, visando bloquear acessos SSH não autorizados.
Instalação do PyFilter
Antes de tudo, é preciso instalar o gerenciador de pacotes Python-pip:
sudo apt-get update
sudo apt-get install python-pip
Com o pip instalado, prossiga com a instalação do PyFilter:
sudo pip install pyfilter
Configuração do PyFilter
Após a instalação, crie o arquivo de configuração /etc/pyfilter.conf
com as seguintes diretrizes:
[DEFAULT]
filter = pvfilter.filters.DropFilter()
[ssh]
accept = pvfilter.filters.AcceptFilter()
accept.tcp_dport = 22
accept.tcp_sport = [1024:65535]
accept.icmp_type = 8
deny = pvfilter.filters.RejectFilter()
deny.tcp_dport = 22
deny.tcp_sport = [1:1023, 65536:65535]
deny.icmp_type = 0
deny.icmp_code = 3
[dhcp]
accept = pvfilter.filters.AcceptFilter()
accept.udp_dport = 67
accept.udp_sport = 68
Entendendo as Regras de Filtragem
Vamos detalhar cada seção e regra do arquivo de configuração:
- [DEFAULT]: Estabelece o filtro padrão para todo o tráfego.
- [ssh]: Configura as regras específicas para o tráfego SSH.
- accept: Autoriza conexões SSH provenientes de portas de origem acima de 1024.
- deny: Bloqueia todas as demais conexões SSH.
- [dhcp]: Define as regras para o tráfego DHCP.
- accept: Permite tráfego DHCP da porta UDP 68 para a porta UDP 67.
Aplicando as Regras do PyFilter
Para ativar as regras, carregue o módulo do kernel do PyFilter:
sudo modprobe pyfilter
Verificação do Funcionamento
Use o comando abaixo para confirmar se o PyFilter está em operação:
sudo pyfilter-show
Este comando exibirá uma lista das regras ativas, incluindo aquelas que você definiu no arquivo de configuração.
Considerações Finais
Com este guia, você aprendeu a implementar o PyFilter para proteger seu servidor Ubuntu 16.04 contra tentativas de login SSH não desejadas. O PyFilter é uma ferramenta eficiente e fácil de usar, que adiciona uma camada crucial de segurança ao seu servidor.
É recomendável monitorar os logs do PyFilter para identificar atividades suspeitas e ajustar as regras de acordo com as suas necessidades. Ao utilizar o PyFilter, você contribui para a segurança e estabilidade do seu servidor, prevenindo interrupções causadas por ataques de força bruta.
Perguntas Frequentes (FAQs)
- O PyFilter consegue bloquear outros tipos de tráfego além de SSH e DHCP?
Sim, ele pode ser usado para qualquer tráfego de rede, bastando configurar as regras adequadas. - Posso restringir conexões SSH a endereços IP específicos?
Sim, adicione uma regra na seção[ssh]
do arquivo de configuração para permitir apenas conexões de endereços IP autorizados. - O PyFilter oferece suporte à filtragem de tráfego IPv6?
Sim, a filtragem de tráfego IPv6 é suportada. - Como desabilito o PyFilter?
Execute o seguinte comando:
sudo rmmod pyfilter
- Onde posso encontrar mais informações sobre o PyFilter?
Consulte a página do PyFilter no GitHub. - O PyFilter funciona em outras distribuições Linux?
Sim, ele é compatível com diversas distribuições, como CentOS, Debian e Fedora. - O PyFilter é seguro para uso?
Sim, o PyFilter é seguro. No entanto, é importante revisar as regras antes de aplicá-las para garantir que tráfego legítimo não seja bloqueado acidentalmente. - Quais são outras aplicações do PyFilter, além do bloqueio de tentativas de login SSH?
O PyFilter pode ser utilizado para diversas tarefas, como controle de largura de banda, monitoramento de tráfego e proteção contra ataques DoS.