detecting-port-scanning-with-fail2ban
Faz seu agente detectar varreduras de porta e tentativas de força bruta SSH com Fail2ban. Bloqueia IPs ofensivos e alerta sobre sondagens de rede suspeitas.
O que ela faz
Este sistema ajuda a proteger seu servidor contra ataques de varredura de portas e tentativas de login forçado. Ele detecta atividades suspeitas e bloqueia automaticamente os endereços IP que as realizam, além de alertar sua equipe de segurança.
Quando usar
- ✓Quando você quer bloquear IPs que escaneiam suas portas abertas.
- ✓Para se defender de tentativas de adivinhar senhas de SSH, FTP, etc.
- ✓Para criar regras personalizadas de detecção de ataques em seus logs.
Exemplo do que pedir para a IA
“Configure o Fail2ban para bloquear IPs que tentam acessar muitas portas rapidamente.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O Fail2ban monitora os arquivos de log do seu servidor em busca de padrões de ataque. Quando um padrão é detectado, ele usa regras de firewall para bloquear o endereço IP do atacante por um tempo.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill detecting-port-scanning-with-fail2banOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/detecting-port-scanning-with-fail2ban/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Detectando Varreduras de Porta com Fail2ban
Quando Usar
- Bloquear automaticamente endereços IP que realizam varreduras de porta em servidores expostos à internet
- Defender SSH, HTTP, FTP e outros serviços contra ataques de força bruta com banimento automatizado de IP
- Criar filtros de detecção personalizados para padrões de ataque específicos da organização em arquivos de log
- Reduzir o ruído de bots de varredura automatizados antes que o tráfego chegue ao IDS/IPS para análise mais profunda
- Implementar defesa em profundidade adicionando resposta automatizada baseada em host ao monitoramento de rede
Não use como o único controle de segurança de rede, para proteção contra ataques distribuídos de muitos IPs de origem, ou como substituto para regras de firewall adequadas e segmentação de rede.
Pré-requisitos
- Fail2ban 0.11+ instalado (
fail2ban-client --version) - Acesso root/sudo para manipulação de iptables/nftables
- Serviços registrando tentativas de conexão em arquivos de log que podem ser analisados (syslog, auth.log, access.log)
- iptables ou nftables instalados e operacionais como firewall do host
- Opcional: Servidor SMTP para notificações por e-mail em eventos de banimento
Fluxo de Trabalho
Passo 1: Instalar e Configurar o Fail2ban
# Install Fail2ban
sudo apt install -y fail2ban
# Create local configuration (never edit jail.conf directly)
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# Configure global defaults
sudo tee /etc/fail2ban/jail.local << 'EOF'
[DEFAULT]
# Ban duration (1 hour default, escalates for repeat offenders)
bantime = 3600
# Detection window
findtime = 600
# Max failures before ban
maxretry = 5
# Ban action using iptables
banaction = iptables-multiport
banaction_allports = iptables-allports
# Email notifications
destemail = security@example.com
sender = fail2ban@example.com
mta = sendmail
action = %(action_mwl)s
# Ignore internal networks
ignoreip = 127.0.0.1/8 ::1 10.10.0.0/16
# Use systemd journal backend where available
backend = systemd
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 7200
findtime = 300
[sshd-ddos]
enabled = true
port = ssh
filter = sshd-ddos
logpath = /var/log/auth.log
maxretry = 6
bantime = 3600
EOF
Passo 2: Criar Filtro Personalizado de Detecção de Varredura de Porta
# Create iptables logging rule for dropped connections
sudo iptables -N PORTSCAN
sudo iptables -A PORTSCAN -j LOG --log-prefix "PORTSCAN_DETECTED: " --log-level 4
sudo iptables -A PORTSCAN -j DROP
# Log SYN packets to closed ports (indicates scanning)
sudo iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m state --state NEW \
-m recent --name portscan --set
sudo iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m state --state NEW \
-m recent --name portscan --rcheck --seconds 10 --hitcount 20 -j PORTSCAN
# Create Fail2ban filter for port scanning
sudo tee /etc/fail2ban/filter.d/portscan.conf << 'EOF'
[Definition]
# Match iptables port scan log entries
failregex = PORTSCAN_DETECTED: .* SRC=<HOST> DST=\S+ .* DPT=\d+
ignoreregex =
datepattern = {^LN-BEG}
EOF
# Create Fail2ban filter for Nmap detection via kernel logs
sudo tee /etc/fail2ban/filter.d/nmap-scan.conf << 'EOF'
[Definition]
# Detect rapid connection attempts to multiple ports from same source
failregex = kernel: \[.*\] PORTSCAN_DETECTED: .* SRC=<HOST>
iptables: .* PORTSCAN .* SRC=<HOST>
ignoreregex =
datepattern = {^LN-BEG}
EOF
# Create filter for HTTP scanning/probing
sudo tee /etc/fail2ban/filter.d/http-scan.conf << 'EOF'
[Definition]
# Detect scanners probing for common vulnerabilities
failregex = ^<HOST> .* "(GET|POST|HEAD) /(wp-login|wp-admin|phpmyadmin|admin|.env|xmlrpc|wp-content/uploads).*" (403|404|444)
^<HOST> .* "(GET|POST) /.*\.(php|asp|aspx|jsp|cgi)\?.*" (403|404)
^<HOST> .* "() .*" 400
^<HOST> .* "(GET|POST) /.*" 400
ignoreregex =
datepattern = {^LN-BEG}
EOF
Passo 3: Configurar Jail para Varredura de Porta
# Adicionar jails de varredura de porta em jail.local
sudo tee -a /etc/fail2ban/jail.local << 'EOF'
[portscan]
enabled = true
filter = portscan
logpath = /var/log/kern.log
maxretry = 10
findtime = 60
bantime = 86400
banaction = iptables-allports
action = %(action_mwl)s
[nmap-scan]
enabled = true
filter = nmap-scan
logpath = /var/log/kern.log
maxretry = 5
findtime = 30
bantime = 86400
banaction = iptables-allports
action = %(action_mwl)s
[http-scan]
enabled = true
filter = http-scan
logpath = /var/log/nginx/access.log
maxretry = 10
findtime = 300
bantime = 3600
banaction = iptables-multiport
port = http,https
…
Perguntas frequentes
O que é Fail2ban?
Fail2ban é um programa que protege seu servidor contra ataques de força bruta e varredura de portas, bloqueando automaticamente os IPs maliciosos.
O que é uma varredura de porta?
É quando um atacante tenta se conectar a muitas portas diferentes em seu servidor para encontrar serviços vulneráveis.
O que é um ataque de força bruta?
É quando um atacante tenta adivinhar senhas repetidamente, por exemplo, para acessar o SSH.
Detalhes
Descrição original do autor
Configures Fail2ban with custom filters and actions to detect port scanning activity, SSH brute force attempts, and network reconnaissance, automatically banning offending IP addresses and alerting security teams to suspicious network probing. '
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5696
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC