Arquivo

Archive for the ‘Fail2ban’ Category

Lista de IPS atualizada do WHATS APP

29 de dezembro de 2015 Deixe um comentário
Whatsapp

IPS WHATSAPP

Lista atualizada de IP’s que o Whats App utiliza para a comunicação do aplicativo com os servidores.  A relação contém todos os blocos IPV4 e IPV6 utilizadas pelo app.

No caso de você querer bloquear o tráfego em sua rede para o Whats App, terá que bloquear todos os IPS na lista. Se não tiver saída v6, bloqueie apenas os IPv4.

LISTA DE IP’s: Clique aqui.

Para bloquear por nome, utilize os DNS listados nesta página: https://github.com/ukanth/afwall/wiki/HOWTO-blocking-WhatsApp

 

IPS da APNIC – Ásia e Pacífico!

18 de novembro de 2013 1 comentário

IPS DA APNIC

Regional Internet Registries

Regional Internet Registries

Algumas pessoas como eu, tem um certo receio com relação aos IPS asiáticos, tanto por questões de DOS distribuído, quanto por segurança mesmo. Os caras tão sniffando tudo que encontram pela frente. Caso tenha dúvida, analise as entradas de seu firewall ou roteador de borda. O que mais me chama atenção é o teste de todas as portas em todos os ips… Principalmente de IPS que fazem parte de algum ASN chinês.

Grandes blocos de IPS chineses, eu libero apenas a 80 e 25 in/out no firewall, o resto eu bloqueio.

A questão é… Como saber os blocos da APNIC para que possamos avaliar e bloquear? Simples, basta pegar os últimos reports da APNIC e utilizar um pouco de regex e fazer upload via shell no router ou firewall.

Nesta url tem os últimos registros da APNIC de blocos divulgados: ftp://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-extended-latest

PS: Claro, ips chineses podem tunelar, comprar blocos africanos e propagar no seu ASN, fazer uso de um hosting… e etc..

Instalando Fail2ban no Debian Wheezy!

12 de junho de 2013 Deixe um comentário
Fail2Ban

Fail2Ban

Evitando ataques bruteforce de SSH utilizando o Fail2ban

Atualmente ataques bruteforce (força bruta, aquele em que o atacante tenta n possibilidades de usuário/senha por segundo até conseguir quebrar a senha e entrar no sistema) estão muito mais frequentes do que nós imaginamos, basta uma leitura rápida (like debian) no arquivo auth.log para visualizarmos a quantidade de tentativas com milhares de usuários e senhas por dia.

O que cabe a um administrador de redes é prevenir o sistema contra estas ações maliciosas que muitos robôs e máquinas zumbis são programadas para fazer. Para evitar ataques deste tipo, eu utilizo algumas acl’s na borda e o Fail2Ban no firewall que analisa o tráfego e dependendo da análise ele bloqueia o IP ou range de ip por tempo determinado inserindo regras no firewall. O bom é que não é apenas no protocolo SSH, você pode configurar para conexões SMTP, TELNET, FTP e etc…

O Fail2Ban na verdade é uma estrutura de prevenção de intrusão, escrito na linguagem de programação Python que filtra os logs de entrada de logins no sistema e a partir desta análise insere regras no firewall para bloqueio destes acessos.

Em distribuições Linux Debian e like Debian você pode instalar via apt-get com o comando:

# apt-get install fail2ban

Ele irá instalar automaticamente. Após instalar você deve configurar o fail2ban editando o arquivo:

# vim /etc/fail2ban/jail.conf

Algumas variáveis importantes deste arquivo são estas:

  • “ignoreip” se encontram os endereços de IPs que não vão ser bloqueados pelo programa.
  • “bantime” se encontra o tempo em que o IP ficará banido/bloqueado pelo programa (o tempo é contado em segundos).
  • “maxretry” temos o número máximo em que o IP pode tentar logar-se no seu servidor até ser bloqueado (recomendo que ponha no máximo 3).
  • “logpath” refere-se ao arquivo de log onde são checadas as tentativas frustradas de login.

Recomendo que antes de editar o mesmo, você faça um backup do arquivo evitando que seja feita qualquer equívoco no fileconf do fail2ban:

# cp -ar /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.ori

Feito o backup, vamos implementar algumas configurações básicas editando o arquivo

# vim /etc/fail2ban/jail.conf

Importante inserir alguns hosts ou range de hosts que não serão bloqueados, afinal ninguém bloqueia a si mesmo. Então na linha ignoreip coloque o ip de localhost e o range da sua rede a qual você não gostaria de bloquear, deixe separados por um espaço:

ignoreip = 127.0.0.1/8 192.168.0.0/16

Após isso, sete a variável bantime para o tempo que você deseja que o ip fique bloqueado no firewall. Este tempo é em segundo, eu geralmente configuro um ban para 10 minutos. Se você quiser banir o IP ou range permanentemente, basta atribuir a esta variável um valor negativo.

bantime  = 600

Configure o tempo de varredura em segundos passados em que o Fail2Ban procura por IP’s abusivos ao sistema.

findtime = 600

E por final configure o número máximo de entradas frustradas que o atacante tentou acessar seu sistema errando login e senha.

maxretry = 3

Pronto, salve o arquivo e reinicie o Fail2ban:

# /etc/init.d/fail2ban restart

O programa está configurado e poderá ver ver os IPs bloqueados em /var/log/fail2ban.log.

Quando um atacante for bloqueado, ao tentar acessar seu servidor ele irá exibir a mensagem de conexão recusada para o atacante, algo similar a mensagem abaixo:

ssh: connect to host 10.10.58.5 port 22: Connection refused

No iptables, você visualiza as regras inseridas através da sintaxe:

iptables -nL fail2ban-ssh

Que deverá listar algo assim:

root@takakaos:/etc/fail2ban# iptables -nL fail2ban-ssh

Chain fail2ban-ssh (1 references)
target     prot opt source               destination
REJECT     all  --  10.10.58.5        0.0.0.0/0            reject-with icmp-port-unreachable
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Para remover basta inserir o comando abaixo com o numero da regra (chain number) que você deseja remover. No meu caso seria remover o bloqueio para a primeira regra, que contém o IP 10.10.58.5

iptables -D fail2ban-ssh 1

Ou através da remoção do ip bloqueado (notar se na exibição do bloqueio através do iptables, a chain está dropando -j DROP ou está rejeitando -j REJECT)

iptables -D fail2ban-ssh -s 10.10.58.5 -j REJECT

Qualquer dúvida você pode acessar o manual (in english) na url abaixo.

http://www.fail2ban.org/wiki/index.php/MANUAL_0_8

Nota: Versão utilizada: 0.8.9-1