Limitando número de tentativas de login ssh iptables na eth0. Rede externa.

1. Limitando número de tentativas de login ssh iptables na eth0. Rede externa.

willian
willianeo

(usa Debian)

Enviado em 18/08/2015 - 10:06h

Bom dia pessoa.
Com o perigo eminente de uma técnica de força bruta para invadir um servidor, eu estou tentando aprender como posso me proteger, simulando isso em minha rede local que tem o seguinte cenário:
Tenho um modem Oi-Velox com o Nat configurado para TCP e UDP na porta 6881-P2P.
Configurações do meu roteador(Gateway)
Gateway: 192.168.1.1/28
Broadcast: 192.168.1.15
Configurações do meu servidor primário:
SO: Debian
eth0: 192.168.1.14
eth1: 192.168.100.1
Configurações de uma máquina da rede:
SO: Ubuntu
wlan0: 192.168.100.2
eth0: 192.168.100.3

Esta é uma rede doméstica.
Estou usando apenas para aprendizado.

Então vamos a minha pergunta
o meu squid, pelo menos a parte que interessa está assim


# Deleta as regras existentes
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F

# Set políticas de Chain padrão
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Carrega modulos do iptables

modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_pptp
modprobe ip_nat_pptp

# Permite conexões estabelecidas
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT
#Devo permitir o acesso de auto-retorno em meus servidores
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

### CONFIGURAÇÕES DE REDE


# Libera a rede com nat, fazendo kernel compartilhar a conexão
echo "1" > /proc/sys/net/ipv4/ip_forward

# Libera a passagem de pacotes para a faixa de IPs internos
iptables -A FORWARD -s 192.168.100.0/24 -j ACCEPT

# Libera o NAT para os IPs internos, nas 2 placas de rede
iptables -t nat -A POSTROUTING -s 192.168.1.0/28 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth1 -j MASQUERADE


#### INÍCIO CONFIGURAÇÕES REDE INTERNA
...
#### FINAL CONFIGURAÇÕES REDE INTERNA

# Permitem conexões SSH de entrada

# Interface eth0
# Libera o acesso via SSH e Limita o número de tentativas de acesso a 4 a cada minuto
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 360 --hitcount 3 -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
#iptables -A INPUT -i eth0 -p udp --dport 22 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -j ACCEPT


### Configurando Ping
## Permitem usuários de fora pingar no servidor local
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

## Permitem pingar em servidores externos
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

### DNS
## Permitem conexões DNS de saída.
# Interface eth0
iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT


### Previne Denial of Service (DoS)
## A seguinte regra ajudara a prever DoS ataque em meu servidor
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT


# Estas regras são o coração do Firewall,
# elas bloqueiam qualquer conexão que não tenha sido permitida acima, justamente por isso são a última da cadeia.
iptables -A INPUT -p tcp --syn -j DROP
iptables -A INPUT -p icmp -j DROP



Como você podem ter notado, eu coloquei a minha regra SSH apenas na minha máquina com SO Debian. A que compartilha a Internet com a rede interna.
A minha principal dúvida é, como eu faço para que essa linha tenha efeito:
(iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 360 --hitcount 3 -j DROP)

Ao que me parece, tenho de adicionar módulos às minhas regras.
Não encontrei nada para me auxiliar corretamente.
Será que vocês conseguem.
Se poderem fazer críticas as regras postadas, fiquem a vontade.
Serão bem vindas.
Obrigado


  


2. Re: Limitando número de tentativas de login ssh iptables na eth0. Rede externa.

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 18/08/2015 - 10:19h


bom tu podes bloquear os ips que usam de força bruta pelo ssh
usando o failban , de uma lida e pesquisa , pra ajudou muito
http://www.vivaolinux.com.br/dica/Protegendo-SSH-no-CentOS-com-Fail2ban


3. Re: Limitando número de tentativas de login ssh iptables na eth0. Rede externa.

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 18/08/2015 - 10:49h

Olá,

Da uma olhada aqui tbm: http://www.vivaolinux.com.br/artigo/Bloqueio-de-repetidas-tentativas-de-login-ao-seu-Linux?pagina=2

abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


4. Re: Limitando número de tentativas de login ssh iptables na eth0. Rede externa.

willian
willianeo

(usa Debian)

Enviado em 18/08/2015 - 11:56h

danniel-lara escreveu:


bom tu podes bloquear os ips que usam de força bruta pelo ssh
usando o failban , de uma lida e pesquisa , pra ajudou muito
http://www.vivaolinux.com.br/dica/Protegendo-SSH-no-CentOS-com-Fail2ban




Queria uma coisa mais relacionada a linha mencionada.
Um módulo do iptables que já faz essa verificação.
Consegue me ajudar ?


5. Re: Limitando número de tentativas de login ssh iptables na eth0. Rede externa.

willian
willianeo

(usa Debian)

Enviado em 18/08/2015 - 11:56h

tonyhts escreveu:

Olá,

Da uma olhada aqui tbm: http://www.vivaolinux.com.br/artigo/Bloqueio-de-repetidas-tentativas-de-login-ao-seu-Linux?pagina=2

abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---



Queria uma coisa mais relacionada a linha mencionada.
Um módulo do iptables que já faz essa verificação.
Consegue me ajudar ?





6. Re: Limitando número de tentativas de login ssh iptables na eth0. Rede externa.

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 18/08/2015 - 12:12h

Olá,

Mas não é essa parte to tuto ?:
 # Create a reject-and-log-SSH-Bruteforce chain to forward things to.

iptables -N REJECT-SSH
iptables -A REJECT-SSH -j DROP
-m recent --rcheck --name SSH --seconds 60 --hitcount 10
iptables -A REJECT-SSH -j LOG --log-prefix SSH-Bruteforce:
iptables -A REJECT-SSH -j REJECT -p tcp --reject-with tcp-reset
iptables -A REJECT-SSH -j REJECT
# Kill SSH brute-force attacks. Allow only three connections per minute
# from any source.

iptables -A INPUT -p tcp --dport 22 -m state --state NEW
-m recent --update --name SSH --seconds 60 --hitcount 4
-j REJECT-SSH

iptables -A INPUT -p tcp --dport 22 -m state --state NEW
-m recent --set --name SSH



abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts