iptables restringe a sessão ssh pelo endereço mac

1

Estou no processo de restringir o acesso à minha caixa de produção do Linux, onde o acesso ssh precisa ser limitado a apenas alguns endereços MAC.

Eu segui as instruções descritas no guia e executei as duas etapas a seguir comandos:

/sbin/iptables -A INPUT -m mac --mac-source XX:XX:XX:XX:XX:XX -j DROP
/sbin/iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT
root@xxxx:~/#: iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere            MAC XX:XX:XX:XX:XX:XX
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh MAC XX:XX:XX:XX:XX:XX

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

No entanto, ainda consigo acessar a máquina a partir de outros endereços MAC. Estou faltando alguma etapa para configurar isso?

    
por maneeshshetty 24.05.2011 / 16:35

3 respostas

0

Eu vejo o problema do seu resultado de saída:

Chain INPUT (policy ACCEPT)

Sua política de regra de cadeia INPUT padrão do iptables é ACCEPT, ela afeta apenas o seu MAC inserido. Por isso, altere a política padrão para DROP.

#iptables -P INPUT DROP

Agora você pode testar novamente. Seu computador pode ser acessado somente por meio do MAC permitido.

    
por 25.05.2011 / 05:47
0

Como comentado acima, acho que você provavelmente está fazendo isso da maneira errada; Os endereços MAC podem ser falsificados e podem até ser duplicados em grandes redes.

Se você quiser limitar o acesso ssh a algumas máquinas, a restrição por endereço IP seria sua melhor aposta. Essas máquinas estão em uma rede local ou global?

Observe, no entanto, que mesmo o bloqueio por IP pode ser uma abordagem equivocada:

  • Isso restringirá você se precisar acessar a partir de outra máquina em algum momento.

  • O ssh deve usar um método de autenticação seguro o suficiente para impedir a entrada de usuários não autorizados, de onde quer que eles estejam vindo.

Minha abordagem seria:

  • [Definitivamente] Tentativas de conexão de limite de limite ssh usando iptables ou um pacote como o fail2ban
  • [Definitivamente] Permitir somente autenticação baseada em chave para shh
  • [Provavelmente] Permitir somente redes que desejam acessar de dentro do iptables
por 24.05.2011 / 17:48
0

Acho que para fazer o que você está perguntando, o que você realmente quer é ebtables .

Mas acho que é uma má ideia (pelas razões já mencionadas). É melhor gerar chaves ssh e configurar seu servidor para permitir somente login baseado em chave (ou seja, desabilitar a autenticação por senha). Você será muito mais seguro assim.

    
por 25.05.2011 / 07:55