Use iptables para bloquear o ssh

0

Eu tenho uma máquina Linux (núcleo turnkey 14.2) com duas placas de rede.

eth0 é um ip público, WAN (vamos chamá-lo de 123.123.123.123 ).

eth1 é minha rede, LAN.

Gostaria de bloquear SSH da WAN com iptables .

Eu uso o comando

sudo iptables -A INPUT -p tcp -s 123.123.123.123 --dport 22 -j DROP

Se eu, então, escrever

sudo iptables -L

Eu recebo a resposta

Chain INPUT (policy ACCEPT)

target   prot opt source            destination

DROP     tcp  --  123.123.123.123   anywhere      tcp dpt:ssh

O problema é que não estou bloqueado se eu usar PuTTY para se conectar a 123.123.123.123.

Alguma ideia do que estou fazendo errado?

    
por user255136 11.10.2017 / 17:04

2 respostas

3

Você está correspondendo ao tráfego por endereço de origem ( -s option), em vez do endereço de destino ( -d option), e é por isso que sua regra não elimina tráfego de outros hosts.

Você também pode combinar por interface (em vez de endereço) com a opção -i . Por exemplo, para descartar todo o tráfego de entrada para a porta 22 para eth0 :

iptables -A INPUT -i eth0 -p tcp --dport -j DROP
    
por 11.10.2017 / 17:12
1

Como @sebasth respondeu, porque você quer bloquear o tráfego tentando se conectar ao seu IP público 123.123.123.123 , então seria o seguinte esquema:

source 'INTERNET'
destination '123.123.123.123'

Portanto, você pode alterar o -s (origem) para -d (destino)

Com relação à sua linha iptables , sugiro adicioná-la com o -I (Insert) em vez de -A (Append) porque, por algum motivo, você tem uma regra antiga que aceita todo o tráfego de entrada para port 22 então o -A adicionará a regra no final do seu iptables e levaria a primeira regra encontrada.

iptables -I INPUT -p tcp -d 123.123.123.123/32 --dport 22 -j DROP

De man iptables

-A, --append chain rule-specification Append one or more rules to the end of the selected chain. When the source and/or destination names resolve to more than one address, a rule will be added for each possible address combination.

-I, --insert chain [rulenum] rule-specification Insert one or more rules in the selected chain as the given rule number. So, if the rule number is 1, the rule or rules are inserted at the head of the chain. This is also the default if no rule number is specified.

    
por 11.10.2017 / 17:22

Tags