Skip to content

Latest commit

 

History

History
98 lines (83 loc) · 2.39 KB

README.md

File metadata and controls

98 lines (83 loc) · 2.39 KB

Análise de conexões DOS

Simples analista de conexões não relatadas. Bane ips utilizando fail2ban

Tabela de conteúdos

Sobre

Script que monitora através da resposta do comando netstat/ss, quais IPs estão acessando o servidor, na porta pré-configurada 80;443 bloqueando ips com conexões não estabelecidas acima do limite estabelecido.

Pré-requisitos

  • Instalar e configurar fail2ban:
# apt install fail2ban
  • Criar jail.local:
# cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
  • Configurar novo jail:
# vim /etc/fail2ban/jail.d/banmanual.conf
Conteúdo de exemplo:
---
[banmanual]
enabled = true
filter = banmanual
logpath = /var/log/banmanual.log
maxretry = 1
port = 80,443
bantime = 5m
action = %(action_mwl)s
---
  • Associar novo filtro ao jail:
# vim /etc/fail2ban/filter.d/banmanual.conf
Conteúdo de exemplo:
---
[Definition]
failregex = ^\[\w{1,3}.\w{1,3}.\d{1,2}.\d{1,2}:\d{1,2}:\d{1,2} \d{1,4}. \[error] \[client.<HOST>].File does not exist:.{1,40}roundcube.{1,200}
ignoreregex =
---
. Adicionar arquivo de log vazio
# touch /var/log/banmanual.log
  • Configurar envio de email:
# vim /etc/fail2ban/fail2ban.local
  • Analisar se outros jails ficaram ativos e reiniciar serviço:
# systemctl enable fail2ban #Para CentOs 
# systemctl restart fail2ban
# systemctl status fail2ban 
# fail2ban-client status

Comandos Úteis

Arquivos de configuração:

* /root/scripts/conta_cnx_apache.sh

 → Variáveis de limite de conexão [limite]
* /root/scripts/ipsliberados.txt

→ Lista de IPs que não serão bloqueados
→ Adicionar o próprio IP do servidor neste arquivo

logs

  • /root/scripts/conexao_apache.log → Mostra todas as operações do dia
  • /var/log/fail2ban.log → Mostra IPs que foram banidos e que foram liberados

comandos monitoramento fail2ban

# fail2ban-client status banmanual → Mostra o status e quais IPs bloqueados
# fail2ban-client get banmanual banip --with-time → Quais IPs bloqueados e por quanto tempo

adição/retirada de bloqueio

# fail2ban-client set banmanual banip 192.168.100.201 → Banir manualmente
# fail2ban-client set banmanual unbanip 192.168.100.222 → Retirar do bloqueio