6Aug
Nós mostramos como desencadear WOL remotamente pelo "Port Knocking" no seu roteador. Neste artigo, mostraremos como usá-lo para proteger um serviço VPN.
Imagem de Aviad Raviv &bfick.
Prefácio
Se você usou a funcionalidade incorporada do DD-WRT para VPN ou, tenha outro servidor VPN em sua rede, você pode apreciar a capacidade de protegê-lo de ataques de força bruta, escondendo-o atrás de uma seqüência de batidas. Ao fazer isso, você irá filtrar os kiddies de script que estão tentando obter acesso à sua rede. Com isso dito, como afirmado no artigo anterior, a porta que bate não é uma substituição para uma boa senha e / ou política de segurança. Lembre-se de que, com paciência suficiente, um invasor pode descobrir a seqüência e realizar um ataque de repetição.
Tenha em mente que a desvantagem de implementar isso é que, quando algum cliente / s da VPN deseja se conectar, eles deveriam desencadear antes da e que se eles não puderem completar a seqüência por qualquer motivo, elesnão será possível VPN.
Visão geral
Para proteger * o serviço VPN, primeiro desativaremos toda a comunicação possível ao bloquear a porta instanciadora de 1723. Para alcançar esse objetivo, usaremos iptables. Isso ocorre porque é assim que a comunicação é filtrada na maioria das distribuições Linux / GNU modernas em geral e em DD-WRT em particular. Se você quiser mais informações sobre o iptables, verifique sua entrada no wiki e veja o nosso artigo anterior sobre o assunto. Uma vez que o serviço está protegido, criaremos uma sequência de batidas que abriria temporariamente a porta de instanciação VPN e também a fecharia automaticamente após uma quantidade de tempo configurada, mantendo a sessão VPN já estabelecida conectada.
Nota: neste guia, estamos usando o serviço PPTP VPN como exemplo. Com isso dito, o mesmo método pode ser usado para outros tipos de VPN, você precisará apenas alterar a porta bloqueada e / ou o tipo de comunicação.
Pré-requisitos, Suposições e amp;Recomendações
- É assumido / requerido que você tenha um roteador DD-WRT habilitado para Opkg.
- É assumido / requerido que você já tenha executado as etapas no guia "Como tocar em sua rede( DD-WRT)".
- Algum conhecimento em rede é assumido.
Permite obter rachaduras.
Padrão Regra "Bloquear novas VPNs" no DD-WRT
Enquanto o fragmento abaixo do "código" provavelmente funcionaria em todos, auto-respeito, usando iptables, distribuição Linux / GNU, porque há tantas variantes lá fora, nós vamosApenas mostre como usá-lo no DD-WRT.Nada está impedindo você, se desejar, de implementá-lo diretamente na caixa VPN.No entanto, como fazê-lo, está além do escopo deste guia.
Porque queremos aumentar o Firewall do roteador, é lógico que adicionaremos ao script "Firewall".Ao fazê-lo, o comando iptables será executado sempre que o firewall for atualizado e, assim, mantendo o nosso aumento para manter.
da Web-GUI do DD-WRT:
- Vá para "Administração" - & gt;"Comandos".
- Digite o abaixo "código" na caixa de texto:
inline = "$( iptables -L INPUT -n | grep -n" estado RELACIONADO, ESTABELECIDO "| awk -F:{ 'print $ 1'})";inline = $( ($ inline-2 + 1));iptables -I INPUT "$ inline" -p tcp --dat 1723 -j DROP
- Clique em "Salvar Firewall".
- Feito.
O que é este comando "Voodoo"?
O comando "voodoo magic" acima faz o seguinte:
- Localiza onde é a linha iptable que permite que a comunicação já estabelecida seja transmitida. Fazemos isso, porque A. Nos roteadores DD-WRT, se o serviço VPN estiver ativado, ele estará localizado logo abaixo desta linha e B. É essencial que nosso objetivo seja continuar a permitir que as sessões VPN já estabelecidas permaneçam após aevento de nocaute.
- Deduziu dois( 2) da saída do comando de listagem para explicar o deslocamento causado pelos cabeçalhos das colunas informacionais. Uma vez que está feito, adiciona um( 1) ao número acima, de modo que a regra que estamos inserindo virá logo após a regra que permite a comunicação já estabelecida. Eu deixei este "problema de matemática" muito simples aqui, apenas para tornar a lógica de "por que um precisa reduzir um do lugar da regra em vez de adicionar um" limpa.
Configuração KnockD
Precisamos criar uma nova seqüência de disparo que permita 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
Anexe à 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 --datado 1723 -j ACEITAR
cmd_timeout = 20
stop_command = iptables -D INPUT -s% IP% -ptcp --dport 1723 -j ACEITAR
Esta configuração irá:
- Defina a janela de oportunidade para completar a sequência, para 60 segundos.(Recomenda-se manter o mais curto possível)
- Ouça uma sequência de três batidas nas portas 2, 1 e 2010( esta ordem é deliberada para jogar escaneadores de portas fora da pista).
- Uma vez que a seqüência foi detectada, execute o "comando start_".Este comando "iptables" colocará um "tráfego de aceitação destinado à porta 1723 de onde as batidas vieram" na parte superior das regras de firewall.(A diretiva% IP% é tratada especialmente pela KnockD e é substituída pelo IP da origem das batidas).
- Aguarde 20 segundos antes de emitir o comando "stop_".
- Execute o comando "stop_".Onde esse comando "iptables" faz o inverso do acima e exclui a regra que permite a comunicação.
's tips
Enquanto você deveria estar pronto, há alguns pontos que eu sinto precisar de mencionar.
- Solução de problemas. Lembre-se de que, se você estiver tendo problemas, o segmento de "solução de problemas" no final do primeiro artigo deve ser sua primeira parada.
- Se você quiser, você pode ter as diretivas "iniciar / parar" executar vários comandos, separando-os com um semi-colen( ;) ou mesmo um script. Ao fazê-lo, você poderá fazer algumas coisas astutas. Por exemplo, eu nocauteei me envie um * Email me dizendo que uma seqüência foi desencadeada e de onde.
- Não se esqueça de que "Há um aplicativo para isso" e mesmo que não seja mencionado neste artigo, você é encorajado a apanhar o programa de aldravas Android da StavFX.
- Enquanto estiver no assunto do Android, não esqueça que existe um cliente PPTP VPN normalmente incorporado ao sistema operacional do fabricante.
- O método de bloquear algo inicialmente e continuar a permitir a comunicação já estabelecida pode ser usado em praticamente qualquer comunicação baseada em TCP.Na verdade, no Knockd nos filmes DD-WRT 1 ~ 6, fiz o caminho de volta quando usei o protocolo de área de trabalho remota( RDP) que usa a porta 3389 como um exemplo.
Quem perturba meu sono?