Como bater em sua rede, parte 2: Proteja sua VPN (DD-WRT)

Índice:

Como bater em sua rede, parte 2: Proteja sua VPN (DD-WRT)
Como bater em sua rede, parte 2: Proteja sua VPN (DD-WRT)

Vídeo: Como bater em sua rede, parte 2: Proteja sua VPN (DD-WRT)

Vídeo: Como bater em sua rede, parte 2: Proteja sua VPN (DD-WRT)
Vídeo: ARQUIVOS E PASTAS DO PC E PENDRIVE VIRARAM ATALHO VEJA COMO RECUPERAR E TIRAR O VIRUS - YouTube 2024, Abril
Anonim
Mostramos a você como acionar o WOL remotamente por "Port Knocking" no seu roteador. Neste artigo, mostraremos como usá-lo para proteger um serviço VPN.
Mostramos a você como acionar o WOL remotamente por "Port Knocking" no seu roteador. Neste artigo, mostraremos como usá-lo para proteger um serviço VPN.

Imagem por Aviad Raviv & bfick.

Prefácio

Se você usou a funcionalidade incorporada do DD-WRT para VPN ou tem outro servidor VPN em sua rede, talvez goste de protegê-lo contra ataques de força bruta, ocultando-o atrás de uma sequência de detonação. Ao fazer isso, você filtrará os kiddies de script que estão tentando obter acesso à sua rede. Com isso dito, conforme declarado no artigo anterior, a batida de portas não substitui uma boa senha e / ou política de segurança. Lembre-se de que, com paciência suficiente, um invasor pode descobrir a sequência e executar um ataque de repetição. Também tenha em mente que a desvantagem de implementar isso é que quando qualquer cliente VPN / s deseja se conectar, ele teria que acionar a sequência de interceptação.antecipadamente e se eles não puderem concluir a sequência por algum motivo, eles não poderão acessar a VPN.

visão global

Para proteger * o serviço de VPN, primeiro desabilitaremos toda a comunicação possível bloqueando a porta de instanciação de 1723. Para atingir esse objetivo, usaremos o iptables. Isso porque, é assim que a comunicação é filtrada na maioria das distribuições Linux / GNU em geral e no DD-WRT em particular. Se você quiser mais informações sobre o iptables, confira sua entrada na wiki e dê uma olhada no nosso artigo anterior sobre o assunto. Depois que o serviço estiver protegido, criaremos uma seqüência de detonação que abriria temporariamente a porta de instanciação da VPN e a fecha automaticamente após um período de tempo configurado, enquanto mantém a sessão da VPN já estabelecida conectada.

Nota: Neste guia, estamos usando o serviço VPN PPTP como exemplo. Com isso dito, o mesmo método pode ser usado para outros tipos de VPN, você só precisará alterar a porta bloqueada e / ou o tipo de comunicação.

Pré-requisitos, suposições e recomendações

  • É assumido / requerido que você tenha um roteador DD-WRT habilitado para Opkg.
  • Assume-se / exige-se que você já tenha executado as etapas no guia "Como Confrentar sua Rede (DD-WRT)".
  • Algum conhecimento de rede é assumido.

Vamos começar a rachar.

Padrão Regra “Bloquear novas VPNs” no DD-WRT

Embora o trecho abaixo do “código” provavelmente funcione em todos os iptables que se prezam usando a distribuição Linux / GNU, porque há muitas variantes por aí, mostraremos apenas como usá-lo no DD-WRT. Nada está impedindo você, se desejar, de implementá-lo diretamente na caixa da VPN. No entanto, como fazer isso, está além do escopo deste guia.

Como queremos aumentar o Firewall do roteador, é lógico adicionarmos ao script "Firewall". Fazer isso, faria com que o comando iptables fosse executado toda vez que o firewall fosse atualizado e, assim, manter nosso aumento no lugar para manutenção.

Na GUI da Web do DD-WRT:

  • Vá para "Administração" -> "Comandos".

    Image
    Image
  • Digite o "código" abaixo na caixa de texto:

    inline='$( iptables -L INPUT -n | grep -n 'state RELATED,ESTABLISHED' | awk -F: {'print $1'} )'; inline=$(($inline-2+1)); iptables -I INPUT '$inline' -p tcp --dport 1723 -j DROP

  • Clique em "Salvar Firewall".
  • Feito.

O que é esse comando “Voodoo”?

O comando "voodoo magic" acima faz o seguinte:

  • Localiza onde está a linha de iptable que permite que a comunicação já estabelecida passe. Fazemos isso porque A. Nos roteadores DD-WRT, se o serviço VPN estiver habilitado, ele estará localizado logo abaixo dessa linha e B. É essencial para nosso objetivo continuar permitindo que as sessões VPN já estabelecidas sejam mantidas após batendo evento.
  • Deduz dois (2) da saída do comando de listagem para considerar o deslocamento causado pelos cabeçalhos de coluna informativos. Feito isso, adiciona um (1) ao número acima, para que a regra que estamos inserindo venha logo após a regra que permite a comunicação já estabelecida. Deixei este simples "problema de matemática" aqui, apenas para tornar clara a lógica de "por que é necessário reduzir um deles do lugar da regra em vez de adicionar um a ele".

Configuração KnockD

Precisamos criar uma nova sequência de acionamento que permitirá a criação de novas conexões VPN. Para fazer isso, edite o arquivo knockd.conf emitindo em um terminal:

vi /opt/etc/knockd.conf

Anexar à configuração existente:

[enable-VPN] sequence = 02,02,02,01,01,01,2010,2010,2010 seq_timeout = 60 start_command = iptables -I INPUT 1 -s %IP% -p tcp --dport 1723 -j ACCEPT cmd_timeout = 20 stop_command = iptables -D INPUT -s %IP% -p tcp --dport 1723 -j ACCEPT

Esta configuração irá:

  • Defina a janela de oportunidade para completar a sequência, para 60 segundos. (Recomenda-se manter isso o mais curto possível)
  • Ouça uma sequência de três batidas nas portas 2, 1 e 2010 (essa ordem é deliberada para desviar os scanners de portas).
  • Uma vez que a sequência tenha sido detectada, execute o “start_command”. Este comando “iptables” colocará um “tráfego de aceitação destinado à porta 1723 de onde vieram as batidas” na parte superior das regras de firewall. (A diretiva% IP% é tratada especialmente pelo KnockD e é substituída pelo IP da origem da ocorrência).
  • Aguarde 20 segundos antes de emitir o “stop_command”.
  • Execute o "stop_command". Onde este comando “iptables” faz o inverso do acima e elimina a regra que permite a comunicação.

É isso, o seu serviço de VPN deve agora ser conectável somente após uma "batida" bem-sucedida.

Autor Dicas de

Enquanto você deve estar tudo pronto, há um par de pontos que eu sinto necessidade de mencionar.

  • Solução de problemas. Lembre-se de que, se você estiver com problemas, o segmento "solução de problemas" no final do primeiro artigo deve ser sua primeira parada.
  • Se você quiser, você pode fazer com que as diretivas “start / stop” executem vários comandos separando-os com um semi-colen (;) ou até mesmo um script. Isso permitirá que você faça algumas coisas bacanas. Por exemplo, eu bati em me enviar um e-mail dizendo que uma sequência foi acionada e de onde.
  • Não se esqueça de que "há um aplicativo para isso" e, embora não seja mencionado neste artigo, você é incentivado a usar o programa de alças Android do StavFX.
  • No que diz respeito ao Android, não se esqueça de que há um cliente VPN PPTP normalmente integrado ao sistema operacional do fabricante.
  • O método de, bloqueando algo inicialmente e depois continuando a permitir a comunicação já estabelecida, pode ser usado em praticamente qualquer comunicação baseada em TCP. De fato, nos filmes do tipo Knockd em DD-WRT 1 ~ 6, eu fiz o caminho de volta quando usei o protocolo de desktop remoto (RDP) que usa a porta 3389 como exemplo.

Observação: para fazer isso, você precisará obter a funcionalidade de e-mail no seu roteador, que atualmente não existe realmente porque o instantâneo SVN dos pacotes opkg do OpenWRT está desalinhado. É por isso que sugiro usar o knockd diretamente na caixa da VPN, que permite usar todas as opções de envio de e-mail disponíveis no Linux / GNU, como SSMTP e sendEmail, para mencionar alguns.

Quem perturba meu sono?

Recomendado: