Você já desejou aquela “batida de dormitório” especial com seu roteador, de forma que ele apenas “abrisse a porta” quando a batida secreta fosse reconhecida? How-To Geek explica como instalar o daemon Knock no DD-WRT.
Imagem por Bfick e Aviad Raviv
Se ainda não o fez, certifique-se de verificar os artigos anteriores da série:
- Transforme seu roteador doméstico em um roteador com superpotência com DD-WRT
- Como instalar software adicional em seu roteador residencial (DD-WRT)
- Como remover anúncios com Pixelserv em DD-WRT
Supondo que você esteja familiarizado com esses tópicos, continue lendo. Lembre-se de que este guia é um pouco mais técnico e os iniciantes devem ter cuidado ao fazer modificações em seus roteadores.
Visão geral
Tradicionalmente, a fim de ser capaz de se comunicar com um dispositivo / serviço, seria necessário iniciar um cheio conexão de rede com ele. No entanto, fazer isso expõe, o que é chamado na era da segurança, uma superfície de ataque. O daemon Knock é uma espécie de sniffer de rede que pode reagir quando uma sequência pré-configurada é observada. Como um a conexão não precisa ser estabelecida para que o daemon de batida reconheça uma sequência configurada, a superfície de ataque é reduzida, mantendo a funcionalidade desejada. De certa forma, iremos pré-condicionar o roteador com um desejado “ dois bits ”Resposta (ao contrário do pobre Roger…).
Neste artigo, iremos:
- Mostre como usar o Knockd para ter o roteador Wake-On-Lan um computador em sua rede local.
- Mostre 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 Eu criei "há muito tempo", para ver o resumo completo de configurar para bater. (Desculpem a apresentação grosseira).
Implicações de segurança
A discussão sobre “ quão seguro é Knockd ?”, é longo e datas muitos milenares (em anos de Internet), mas o resultado final é este:
Knock é uma camada de segurança por obscuridade, que só deve ser usada para realçar outros meios, como criptografia, e não devem ser usados por conta própria, uma vez que todos são medidas 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, pois isso pode demorar “um pouco” para configurar.
- É altamente recomendável que você obtenha um Conta DDNS para seu IP externo (geralmente dinâmico).
Vamos começar
Instalação e configuração básica
Instale o daemon Knock abrindo um terminal para o roteador e emitindo:
opkg update; opkg install knockd
Agora que o Knockd está instalado, precisamos configurar as sequências de disparo e os comandos que serão executados assim que forem disparados. Para fazer isso, abra o arquivo “knockd.conf” em um editor de texto. No roteador, seria:
vi /opt/etc/knockd.conf
Faça seu conteúdo se parecer com:
[options]
logfile = /var/log/knockd.log
UseSyslog
[wakelaptop]
sequência = 56,56,56,43,43,43,1443,1443,1443
seq_timeout = 30
comando = / usr / sbin / wol aa: bb: cc: dd: ee: 22 -i $ (nvram get lan_ipaddr | cut -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 tanto no syslog quanto em um arquivo . Embora não seja prejudicial usar as duas opções em conjunto, você deve considerar manter apenas uma delas.
-
O segmento “wakelaptop” é um exemplo de sequência que irá disparar o comando WOL para sua LAN para um computador com endereço MAC aa: bb: cc: dd: ee: 22.
Nota: O comando acima assume o comportamento padrão de ter uma sub-rede 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 invoque o daemon na inicialização, anexe o seguinte ao script “geek-init” do Guia OPKG :
knockd -d -c /opt/etc/knockd.conf -i "$ (nvram get wan_ifname)"
Isso iniciará o daemon Knock na interface “WAN” do seu roteador, para que ele ouça os pacotes da Internet.
Knock from Android
Na era da portabilidade, é quase imperativo "ter um aplicativo para isso" ... então
StavFX
criou um para a tarefa :)
Este aplicativo executa as sequências de bater direto do seu dispositivo Android e oferece suporte para a criação de widgets em suas telas iniciais.
- Instale o Aplicativo Knocker do Android Market (também por favor, seja gentil e dê uma boa classificação).
-
Uma vez instalado em seu dispositivo, inicie-o. Você deve ser saudado por algo como:
-
Você pode pressionar longamente 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 sua batida. Para o exemplo de configuração WOL acima, isso seria:
- Opcionalmente, altere o ícone mantendo pressionado o ícone ao lado do nome do Knock.
- Salve o Knock.
- Toque uma vez no novo Knock na tela principal para ativá-lo.
- Opcionalmente criar um widget para ele em uma tela inicial.
Tenha em mente que, embora tenhamos configurado o arquivo de configuração de exemplo com grupos de 3 para cada porta (por causa da seção Telnet abaixo), com este aplicativo não há restrição na quantidade de repetições (se houver) para uma porta.
Divirta-se usando o aplicativo que
StavFX
doou :-)
Knock do Windows / Linux
Embora seja possível realizar o Knocking com o utilitário de rede mais simples, a.k.a “Telnet”, a Microsoft decidiu que o Telnet é um “risco de segurança” e, subsequentemente, não o instalou mais por padrão no Windows moderno. Se você me perguntar “Aqueles que podem abrir mão da liberdade essencial para obter um pouco de segurança temporária, não merecem nem liberdade nem segurança. ~ Benjamin Franklin ”, mas estou divagando.
O motivo pelo qual definimos a sequência de exemplo para grupos de 3 para cada porta é que, quando o telnet não consegue se conectar à porta desejada, ele tentará automaticamente mais 2 vezes. Isso significa que o telnet irá 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 tempo limite de 30 segundos foi selecionado, já que temos que esperar pelo tempo limite do telnet para cada porta até executar o próximo grupo de portas. Recomenda-se que, ao terminar a fase de teste, automatize este procedimento com um simples Lote / Bash roteiro.
Usando nossa sequência de exemplo, ficaria assim:
- Se você estiver no Windows, siga o Instruções da MS para instalar Telnet .
-
Vá 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 reage às sequências, aqui estão algumas etapas de solução de problemas que você pode seguir:
-
Ver o log - Knockd manterá um log que você pode ver em tempo real para ver se as sequências de knocking chegaram ao daemon e se o comando foi executado corretamente.
Supondo que você esteja usando pelo menos o arquivo de log como no exemplo acima, para vê-lo em tempo real, emita em um terminal: