Como bater na sua rede (DD-WRT)
Alguma vez você já quis ter aquela “batida de dormitório” especial com o seu roteador, para tê-lo apenas “abrir a porta” quando a batida secreta foi reconhecida? How-To Geek explica como instalar o daemon Knock no DD-WRT.
Imagem de Bfick e Aviad Raviv
Se você ainda não o fez, verifique e confira os artigos anteriores da série:
- Transforme seu roteador doméstico em um roteador super-alimentado com DD-WRT
- Como instalar software adicional no roteador doméstico (DD-WRT)
- Como remover anúncios com o Pixelserv no DD-WRT
Supondo que você esteja familiarizado com esses tópicos, continue lendo. Tenha em mente que este guia é um pouco mais técnico, e os iniciantes devem ter cuidado ao modificar seu roteador.
visão global
Tradicionalmente, para poder comunicar com um dispositivo / serviço, seria necessário iniciar um cheio conexão de rede com ele. No entanto, fazendo isso expõe, o que é chamado na era da segurança, uma superfície de ataque. O daemon Knock é um tipo de sniffer de rede que pode reagir quando uma sequência pré-configurada é observada. Como uma conexão não precisa ser estabelecida para que o daemon de reconhecimento reconheça uma sequência configurada, a superfície de ataque é reduzida, mantendo a funcionalidade desejada. Em certo sentido, vamos pré-condicionar o roteador com um desejado Resposta de “dois bits” (ao contrário do pobre Roger…).
Neste artigo vamos:
- Mostrar como usar o Knockd para que o roteador Wake-On-Lan tenha um computador na sua rede local.
- Mostrar como acionar a sequência Knock de um aplicativo Android, bem como um computador.
Nota: Embora as instruções de instalação não sejam mais relevantes, você pode assistir à série de filmes que criei “caminho de volta quando”, para ver todo o resumo da configuração para bater. (Apenas desculpe a apresentação bruta).
Implicações de segurança
A discussão sobre “quão seguro é o Knockd?” É longa e remonta a muitos milênios (nos anos da internet), mas a questão é a seguinte:
Knock é uma camada de segurança pela obscuridade, que só deve ser usada para realçar outros meios, como criptografia e não deve ser usado por si só como um fim tudo ser tudo medida de segurança.
Pré-requisitos, suposições e recomendações
- Presume-se que você tenha um roteador DD-WRT habilitado para Opkg.
- Alguma paciência como isso pode demorar um pouco para configurar.
- É altamente recomendável que você obtenha uma conta DDNS para seu IP externo (geralmente dinâmico).
Vamos começar a rachar
Instalação e configuração básica
Instale o daemon do Knock abrindo um terminal para o roteador e emitindo:
atualização do opkg; opkg install knockd
Agora que o Knockd está instalado, precisamos configurar as seqüências e os comandos de acionamento que serão executados assim que forem acionados. Para fazer isso, abra o arquivo "knockd.conf" em um editor de texto. No roteador isso seria:
vi /opt/etc/knockd.conf
Faça o seu conteúdo parecer:
[opções]
logfile = /var/log/knockd.log
UseSyslog
[wakelaptop]
sequência = 56,56,56,43,43,43,1443,1443,1443
seq_timeout = 30
command = / usr / sbin / wol aa: bb: cc: dd: ee: 22 -i $ (nvram obter lan_ipaddr | corte -d. -f 1,2,3) .255
tcpflags = sync
Vamos explicar o acima:
- O segmento “options” permite configurar parâmetros globais para o daemon. Neste exemplo, instruímos o daemon a manter um log no syslog e em um arquivo. Embora não prejudique o uso de ambas as opções em conjunto, você deve considerar manter apenas uma delas.
- O segmento “wakelaptop”, é um exemplo de uma sequência que disparará o comando WOL para sua LAN para um computador com o endereço MAC de aa: bb: cc: dd: ee: 22.
Nota: O comando acima, assume o comportamento padrão de ter uma sub-rede de classe C.
Para adicionar mais sequências, basta copiar e colar o segmento “wakelaptop” e ajustar com novos parâmetros e / ou comandos a serem executados pelo roteador.
Comece
Para que o roteador chame o daemon na inicialização, anexe o abaixo ao script “geek-init” do guia OPKG:
knockd -d -c /opt/etc/knockd.conf -i "$ (nvram obtém o wan_ifname)"
Isto irá iniciar o daemon Knock na interface “WAN” do seu roteador, para que ele ouça os pacotes da Internet..
Bata do Android
Na era da portabilidade, é quase imperativo “ter um aplicativo para isso”… então a StavFX criou um para a tarefa :)
Este aplicativo executa as seqüências de bater direto do seu dispositivo Android e suporta a criação de widgets em suas telas iniciais.
- Instale o aplicativo Knocker do mercado Android (também por favor, seja gentil e dar-lhe uma boa classificação).
- Depois de instalado no seu dispositivo, inicie-o. Você deve ser saudado por algo como:
- Você pode pressionar o ícone de exemplo para editá-lo ou clicar em "menu" para adicionar uma nova entrada. Uma nova entrada seria semelhante a:
- Adicione linhas e preencha as informações necessárias para o seu Knocking. Para o exemplo de configuração do WOL acima, seria:
- Opcionalmente, altere o ícone pressionando longamente o ícone ao lado do nome Knock.
- Salve o Knock.
- Único toque no novo Knock na tela principal para ativá-lo.
- Opcionalmente, crie um widget para ele em uma tela inicial.
Lembre-se de que, embora tenhamos configurado o arquivo de configuração de exemplo com grupos de 3 para cada porta (devido à seção Telnet abaixo), com este aplicativo não há restrição quanto à quantidade de repetições (se houver) de uma porta.
Divirta-se usando o aplicativo que StavFX doou :-)
Bata do Windows / Linux
Embora seja possível executar o Knocking com o mais simples dos utilitários de rede a.k.a “Telnet”, a Microsoft decidiu que o Telnet é um “risco de segurança” e, posteriormente, não o instala por padrão em janelas modernas. Se você me perguntar: “Aqueles que podem renunciar à liberdade essencial para obter um pouco de segurança temporária, não merecem nem liberdade nem segurança. ~ Benjamin Franklin "mas eu divago.
A razão pela qual configuramos a sequência de exemplo para grupos de 3 para cada porta é que, quando o telnet não puder se conectar à porta desejada, ele tentará automaticamente novamente mais duas vezes. Isso significa que o telnet vai realmente bater 3 vezes antes de desistir. Portanto, tudo o que precisamos fazer é executar o comando telnet uma vez para cada porta no grupo de portas. É também a razão pela qual um intervalo de timeout de 30 segundos foi selecionado, já que temos que esperar pelo timeout do telnet para cada porta até que nós executemos o próximo grupo de portas. Recomenda-se que, quando terminar a fase de testes, você automatize esse procedimento com um script simples de lote / bash..
Usando nossa sequência de exemplo, seria assim:
- Se o seu no Windows, siga as instruções do MS para instalar o Telnet.
- Solte para uma linha de comando e emita:
telnet geek.dyndns-at-home.com 56
telnet geek.dyndns-at-home.com 43
telnet geek.dyndns-at-home.com 1443
Se tudo corresse bem, deveria ser isso.
Solução de problemas
Se o seu roteador não reagir às sequências, aqui estão alguns passos de solução de problemas que você pode tomar:
- Visualizar o log - o Knockd manterá um log que você pode visualizar em tempo real para ver se as seqüências de bloqueio chegaram ao daemon e se o comando foi executado corretamente.
Supondo que você esteja pelo menos usando o arquivo de log como no exemplo acima, para vê-lo em tempo real, emita um terminal:tail -f /var/log/knockd.log
- Esteja atento aos firewalls - Às vezes, seu ISP, local de trabalho ou internet café, podem bloquear a comunicação para você. Nesse caso, enquanto o seu roteador estiver escutando, os batimentos nas portas bloqueadas por qualquer parte da cadeia não atingirão o roteador e será difícil para eles reagir. É por isso que é recomendável tentar combinações que usem as portas bem conhecidas, como 80, 443, 3389 e assim por diante, antes de tentar outras mais aleatórias. Novamente, você pode visualizar o log para ver quais portas chegam à interface WAN do roteador.
- Tente as seqüências internamente - Antes de envolver a complexidade acima que outras partes da cadeia podem introduzir, é recomendável que você tente executar as sequências internamente para ver se elas A. acessaram o roteador como você acha que deveriam B. executar o comando / s como esperado. Para fazer isso, você pode iniciar o Knockd enquanto estiver vinculado à sua interface LAN com:
knockd -d -i "$ (nvram obter o lan_ifnameq)" -c /opt/etc/knockd.conf
Uma vez que o acima é executado, você pode direcionar o cliente Knocking para o IP interno do roteador em vez de seu externo.
Dica: Como o knockd escuta no nível de “interface” e não no nível de IP, você pode querer ter uma instância do KnockD rodando na interface da LAN o tempo todo. Como o “Knocker” foi atualizado para suportar dois hosts para bater, isso irá simplificar e consolidar seus perfis de impacto.. - Lembre-se de qual lado está ligado - Não é possível bater a interface WAN da interface LAN na configuração acima. Se você gostaria de ser capaz de bater não importa “de que lado você está” você pode simplesmente executar o demônio duas vezes, Uma vez ligado à WAN como no artigo e uma vez ligado à LAN como na etapa de depuração acima. Não há problema em executar ambos em conjunto simplesmente anexando o comando acima ao mesmo script geek-init.
Observações
Embora o exemplo acima possa ser realizado por vários outros métodos, esperamos que você possa usá-lo para aprender a realizar mais avanços. Uma parte dois deste artigo que esconde o serviço de VPN por trás de uma batida está chegando, então fique ligado.Através do Knocking, você será capaz de: Dinamicamente abrir portas, Desativar / Ativar serviços, remotamente computadores WOL e muito mais…