Bloquear um host específico de acessar meu servidor?

1

Usando uma ferramenta de monitoramento de log, eu notei que um IP tinha tentado 100-200 logins como root apesar de falhado (os logs do PAM capturaram isso), esses IPs diferem ligeiramente, mas se originam em um único domínio que é um servidor dedicado em algum lugar que eu faço não me importo se eu bloquear o acesso, sem perda.

(EDIT: Ou talvez um intervalo de IP, se a resolução de DNS não é feita durante a verificação .. Eu não sei como fazer isso também.)

Adicionei os IPs ao meu iptables, como eu bloquearia um host inteiro (foobar.com) de acessar qualquer um dos serviços no meu VPS, incluindo o SSH? Estou usando o Ubuntu 10.04LTS Server.

    
por John R. 14.12.2010 / 11:05

3 respostas

4

O iptables não usa nem o DNS, mas você pode bloquear um intervalo de endereços com uma única instrução, desde que o intervalo seja um netblock completo, por exemplo:

iptables -A INPUT -s 172.16.3.64/26 -j DROP

(desde que você não tenha um ACCEPT conflitante no início da cadeia INPUT) descarta todos os pacotes provenientes das fontes 172.16.3.64 - 172.16.3.127 .

Se você não estiver familiarizado com os netblocks e a notação de barra do CIDR, um bom guia pode ser encontrado no link .

    
por 14.12.2010 / 11:14
2

Se você só precisa bloquear sessões ssh, este é um script muito útil - link

    
por 14.12.2010 / 14:37
0

Para bloqueio de endereços IP de origem ............):

iptables -A INPUT -s 172.34.5.8 -j DROP

O script RedHat INIT é muito parecido. Você pode usá-lo para iniciar e parar o iptables, bem como salvar conjuntos de regras.

Para salvar suas regras ativas, execute o seguinte:

/etc/init.d/iptables salvar

Isto salvará suas regras em '/ etc / sysconfig / iptables'.

Quando você inicia o iptables, as regras são lidas em '/ etc / sysconfig / iptables':

/etc/init.d/iptables start

Iniciando iptables [OK]

E quando você para o iptables, todas as regras são liberadas:

/etc/init.d/iptables stop

Parando iptables [OK]

    
por 14.12.2010 / 13:23

Tags