Pagina inicial » como » Como bater em sua rede, parte 2 Proteja sua VPN (DD-WRT)

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

    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 aprecie a capacidade de protegê-lo contra ataques de força bruta, ocultando-o atrás de uma seqüê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 que, se eles não puderem completar a sequência por qualquer razão, eles não poderão fazer 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. Quando o serviço estiver protegido, criaremos uma sequência de detonação que abriria temporariamente a porta de instanciação da VPN e a fecharia automaticamente após um período de tempo configurado, mantendo 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ó precisa mudar 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 Opkg.
    • Assume-se / exige-se que você já tenha executado as etapas no guia "Como entrar na sua rede (DD-WRT)".
    • Algum conhecimento de rede é assumido.

    Vamos começar a rachar.

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

    Enquanto o trecho abaixo do “código” provavelmente funcionaria em todos os, iptables que se prezam usando, distribuição Linux / GNU, porque há muitas variantes lá fora, 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". Isso faria com que o comando iptables fosse executado toda vez que o firewall fosse atualizado e, assim, manter nosso aumento no lugar para manter.

    Da GUI da Web do DD-WRT:

    • Vá para "Administração" -> "Comandos".
    • Digite o "código" abaixo na caixa de texto:

      inline = "$ (iptables -L INPUT -n | grep -n" estado 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 acima "magic voodoo" 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, adicione 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. Eu deixei este simples "problema de matemática" aqui, apenas para fazer a lógica de "por que alguém precisa reduzir um 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]
    sequência = 02,02,02,01,01,01,2010,2010,2010
    seq_timeout = 60
    start_command = iptables -I ENTRADA 1 -s% IP% -p tcp --dport 1723 -j ACEITAR
    cmd_timeout = 20
    stop_command = iptables -D ENTRADA -s% IP% -p tcp --dport 1723 -j ACEITAR

    Esta configuração irá:

    • Defina a janela de oportunidade para completar a sequência, para 60 segundos. (É recomendado 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 do erro).
    • 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 aí, o seu serviço de VPN deve agora ser conectável somente depois de um sucesso.

    Autordicas

    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 tiver 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 pegar o programa de aldravas Android do StavFX.
    • Enquanto sobre o assunto do Android, não se esqueça que há um cliente VPN PPTP geralmente embutido no 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. Na verdade, no Knockd em filmes DD-WRT 1 ~ 6, eu fiz o caminho de volta quando, eu usei o protocolo de desktop remoto (RDP), que usa a porta 3389 como um exemplo.
    Nota: Para fazer isso, você precisará obter a funcionalidade de E-mail em seu roteador, que atualmente não existe um que funcione porque o snapshot do SVN dos pacotes opkg do OpenWRT está desordenado. É 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?