Como construir sua própria VPN se você estiver (com razão) desconfiado de opções comerciais
Embora não perfeito, quer, nuvem provedores de hospedagem têm um melhor registro de dados do cliente.
Na esteira do regulamento do Senado desta primavera que nixing regulamentos da privacidade de FCC impostos em ISPs, você pode (ainda mais) preocupar-se sobre como seus dados são usados, abusados, e abusados. Tem havido um monte de opiniões sobre este tema desde, desde "o céu está caindo" para " mover-se, cidadão, nada para ver aqui ." O fato é que os ISPs tendem a ser bastante inescrupulosos, às vezes até cruéis, sobre como eles coletam e usam os dados de seus clientes. Você pode não ter certeza de como é um problema se o seu ISP dá aos anunciantes mais informações para veicular anúncios que você gostaria de ver, mas que tal quando seu ISP literalmente edita seu tráfego HTTP, inserindo mais anúnciose , possivelmente , quebrando páginas da web?
Com um Congresso que demonstrou a sua falta de interesse em protegê-lo de seu ISP e ISPs que têm demonstrado repetidamente uma atitude "qualquer-nós-pode-get-away-com" para a privacidade dos dados dos clientes e integridade, pode ser tempo Para analisar como obter os seus dados sob os olhos indiscretos do ISP e dedos sujos intactos. Para fazer isso, você precisará de uma VPN.
O escopo do problema (e da solução)
Antes que você possa corrigir esse problema, você precisa entendê-lo. Isso significa saber o que seu ISP pode (e não pode) detectar (e modificar) no seu tráfego. HTTPS tráfego já é relativamente seguro ou, pelo menos, seuconteúdo é. Seu ISP não pode realmente ler o tráfego criptografado que vai entre você e um site HTTPS (pelo menos, eles não podem, a menos que convencê-lo a instalar um certificado MITM, como Lenovo fez para os usuários inocentes de seus laptops de consumo em 2015). No entanto, ISPs que saber que você visitou o site, quando você visitou, quanto tempo você ficou lá, ea quantidade de dados ia e voltava.
Eles sabem disso algumas maneiras. Primeiro, se o seu site usa a Indicação do Nome do Servidor (SNI) para permitir que vários sites HTTPS sejam atendidos a partir de um único endereço IP, o nome do host é enviado para que o servidor saiba qual certificado usar para a conexão. Em segundo lugar, e mais importante, seu tráfego de DNS dá-lhe afastado. Se você está indo para Amazon.com ou BobsEmporiumOfDiscountFurryMemorabilia.com, seu computador precisa resolver esse nome de domínio para um endereço IP. Isso é feito de forma clara, o que significa que é facilmente interceptado (e até mesmo mutável em vôo!) Pelo seu ISP (ou qualquer outro MITM ) se você está usando os servidores DNS do seu ISP ou não.
Isso já é suficiente para construir um perfil valioso em você para fins de publicidade. Dependendo do seu nível de paranóia, também é suficiente para construir um perfil em você para fins de chantagem ou para comprometer completamente o seu tráfego da Web, se você não é incrivelmente cuidadoso e observador. Imagine que um invasor tenha o uso de uma Autoridade de Certificação para gerar seus próprios certificados (válidos!) ; Com isso e o DNS, eles podem facilmente redirecioná-lo para um servidor de sua própria escolha, que usa um certificado em que seu navegador confia para configurar um proxy invisível entre você e o site que você está tentando acessar com segurança. Mesmo sem o uso de uma CA desonestos, o controle de seu DNS torna mais fácil para um invasor usar nomes de domínio punycode e truques semelhantes para deslizar sob seu radar.
Além disso, qualquer tráfego não criptografado, incluindo, mas não limitado a, HTTP (tráfego antigo simples da porta 80), muito tráfego peer-to-peer e muito mais, pode ser simplesmente editado on-the-fly diretamente. Que, devo lembrá-lo, ISPs repetidamente demonstraram-se como perfeitamente dispostos a fazer.
Você não pode se proteger de todos os atacantes em potencial. Infelizmente, uma grande quantidade da infra-estrutura crítica do seu acesso à Web está sem criptografia e realmente não pode ser protegida . Como uma pessoa com recursos limitados que não podem dar ao luxo de considerar a segurança pessoal mais do que um trabalho a tempo parcial, você (e eu) estão infelizmente mais perto do esquilo secreto do que a James Bond. No entanto, você pode mover suas transmissões vulneráveis e não criptografadas para fora do alcance de seu ISP . Então é isso que vamos tentar fazer aqui.
Ampliar / Se você acha que isso será seguro, por favor, continue a ler.
Já estabelecemos - na verdade, seu ISP já estabeleceu - que seu ISP não pode ser confiável. A solução óbvia, então, é uma VPN, uma rede privada virtual, que encapsula todos os seus dados vulneráveis e não criptografados fora do alcance do ISP. O problema é que os dados serão tão vulneráveis quando sai do nó de extremidade. Essencialmente, você trocou um conjunto de vulnerabilidades por outro conjunto, espero que seja menos problemático.
Imagine que você tem um gênio maléfico particularmente pesky de um irmãozinho que aprendeu a bater o tráfego de rede saindo de seu quarto e que se delicia em envergonhá-lo na escola com as fofocas que você compartilhou privadamente (ou assim você pensou) com o seu amigos. Um desses amigos diz: "Ei, que tal você configurar uma VPN entre sua casa e a minha? Então tudo que sai do seu quarto será criptografado, e seu irmãozinho não pode mexer com ele." Até agora, tão bom, mas depois se revela que o amigo tem um malvado gênio maléfico de uma irmãzinha , e agora ela está lendo seus mensagens instantâneas e passando os bits suculentos para o seu irmãozinho. No final, você não é melhor do que você começou.
Esta é a situação que você está em hoje quando você começar a olhar para os provedores de VPN : talvez eles são confiáveis, talvez eles não são. Infelizmente, as mesmas características que os tornam atraentes (reivindicações para não registrar seu tráfego, nenhumas boas relações com autoridades, presença em muitos países, plantas baratas) fazem-nos ... duvidosos. Como você sabe que a empresa com os escritórios na Moldávia que está cobrando $ 2 / mo para toda a largura de banda que você pode comer não é realmente monetizar seus dados apenas como o seu ISP fez, ou talvez ainda pior? Alguém auditou suas instalações para verificar independentemente quaisquer reivindicações de zero log? Provavelmente não.
Agora, uma VPN chamada Acesso Privado à Internet recentemente fez algumas ondas ao se levantar a uma intimação do FBI até certo ponto. Em um caso em torno de uma possível ameaça de bomba hoax ( PDF ), Private Internet Access parece ter feito bem em suas reivindicações não log . De acordo com a queixa criminal , "uma intimação foi enviada para a London Trust Media ea única informação que eles poderiam fornecer é que o cluster de endereços IP sendo usado era da costa leste dos Estados Unidos".
Isso significa que todos podem confiar em VPNs em geral? Claro que não. E como para acesso privado à Internet especificamente, um sucesso público não necessariamente remover todas as dúvidas-promotores no caso não empurrar mais, dado que tinham abundância de outras evidências para apoiar o seu argumento. Então, se você não pode confiar em seu ISP e você não pode confiar em um provedor de VPN, qual é o plano, então? Bem, você é deixado com uma opção possivelmente não é adequado para o seu usuário médio de Internet: rolar sua própria VPN em um provedor de hospedagem de nuvem barato como Linode ou Digital Ocean.
Não há nenhuma garantia absoluta com esta avenida, tampouco, mas quando você provavelmente não puder evitar seu ISP local (poucos de nós têm mais de duas escolhas, se aquele), o Internet é cheio de fornecedores hospedando. É um negócio muito maior se um deles gera muita raiva do cliente por brincar com os dados dos clientes. Essas empresas também são menos propensas a rolar mais rapidamente para os pedidos indevidamente apresentadas aplicação da lei do que um ISP típico (embora, novamente, não há garantias). Obtendo seus dados com segurança longe de um predador ISP é uma coisa; Obtê-lo longe de um adversário do Estado-nação ou APT que realmente quer é algo mais inteiramente e, provavelmente , além do nosso alcance.
Ampliar / Deslizar real dos vazamentos de Snowden: dramatização do que os estados-nação fazem quando se deparam com usuários nem mesmo tentando.
Pegue uma chave SSH e comece
Quando se trata de hospedagem, há uma abundância de grandes fornecedores lá fora, e em especial eu usei tanto Digital Ocean e Linode extensivamente. Ambos oferecem instâncias a partir de US $ 5 / mo com vários data centers e excelentes recursos de gerenciamento. Para este projeto, eu escolhi o Oceano Digital, mas qualquer um (ou qualquer um de vários outros) fará.
Antes de começar a configurar uma VM, vamos garantir que podemos acessá-la de forma segura. Se você já tem uma chave SSH e sabe como usá-lo, ótimo. Se não, você precisará fazer um. No Linux ou um Mac, acesse o shell e digite ssh-keygen -t rsa . Isso criará um par de chaves SSH e lhe dará a opção de adicionar uma frase de desafio, que eu recomendo. Sem a frase de desafio, qualquer pessoa que tenha os arquivos que compõem o par de chaves pode efetuar login como você imediatamente; Com a frase desafio, mesmo um atacante com a posse da chave não pode entrar, a menos que eles já sabem o seu desafio também (que nunca é armazenado em qualquer lugar).
Agora que você tem uma chave, faça backup e coloque a frase de desafio em seu gerenciador de senhas. Depois de ter feito isso, estamos finalmente prontos para girar uma VM.
Girando uma máquina virtual
Vamos brevemente percorrer os passos exatos para configurar uma VM no DigitalOcean, porque esta parte realmente não é difícil. E se você decidiu usar Linode ou algum outro provedor em vez disso, você não deve ter muito de um desafio descobrir isso.
Uma vez que você navegou para DigitalOcean e logado (criando uma conta de usuário em primeiro lugar, se necessário), clique no botão verde grande "Create Droplet" no canto superior direito. Isso fornece uma variedade de opções de sistema operacional, tamanho de gotículas e data center. Vamos usar o Ubuntu 16.04 e uma gota de US $ 5 (oferecendo 1 CPU, 512 MB de RAM, 20 GB de armazenamento e 1 TB / mo de largura de banda). Você provavelmente deve selecionar o centro de dados fisicamente mais próximo de você, a menos que você esteja especificamente preocupado com o seu governo, caso em que você pode escolher um no exterior. Sob "opções adicionais", eu recomendo monitoramento (que não custa extra). Em "Adicionar suas chaves SSH", se você ainda não adicionou o seu a sua conta, clique em "Nova chave SSH", cole na sua chave pública (id_rsa. Pub) do par que você gerou anteriormente, dar-lhe um útil, humanos-legível nome amigável e clique em "Adicionar chave SSH." Agora, certifique-se de que a caixa de seleção das teclas está assinalada no formulário Criar Dropleta (afinal, é o caminho para a VM).
Em seguida, escolha um nome de host para o seu droplet (algo memorável e fácil de identificar, de preferência) e clique em "Criar". Cerca de 15 segundos mais tarde, a sua VPN estará pronta para iniciar sessão e o respectivo endereço IP será visível na página Droplets principal. De Linux ou Mac, ssh root@your.new.ip.address. No Windows, digite e salve root@your.new.ip.address como um destino e, em seguida, conecte-se a ele e você estará pronto. Uma vez que você entrou em sua frase desafio (se você usou um), você estará olhando para algo ao longo das linhas de root @ ars-vpn-test: ~ # .
Atualizações automáticas de segurança
Dado que o ponto inteiro deste exercício é aumentar a sua segurança, não para estragar tudo. Queremos ter certeza de que sua nova VM recebe atualizações automáticas de segurança à medida que elas se tornam disponíveis.
O que fizemos aqui, por ordem, foi atualizar-nos com uma nova lista do que está disponível em repositórios de pacotes, então atualizar tudo já instalado para a versão mais recente, então instalar o pacote de atualizações desacompanhadas e, finalmente, reconfigurar esse pacote. Falando nisso, você estará olhando para um diálogo de texto em modo ncurses agora pedindo que você faça exatamente isso; Tudo que você precisa fazer é certificar -se de que <Yes> é realçado em vermelho (deve ser por padrão), então pressione enter duas vezes (uma vez para aceitar que você quer ativar upgrades automáticos ea segunda para aceitar o padrão padrão para automaticamente instalado Upgrades, que se resume a "coisas relacionadas com a segurança apenas, não novos recursos brilhantes").
Instalando e configurando o servidor OpenVPN
OK, agora é hora para a parte mastigável. Os pacotes que você precisa são openvpn e easy-rsa .
Root @ ars-vpn-test: ~ $ apt instalar o openvpn easy-rsa
Sério, isso foi tudo o que houve para a instalação, mas agora é hora de começar a configurar. Em primeiro lugar, precisamos ativar o encaminhamento de pacotes ipv4:
Root @ ars-vpn-teste: ~ $ nano /etc/sysctl.conf
Tudo que você precisa fazer aqui é encontrar a linha que diz # net.ipv4.ip_forward = 1 e remover o sinal de libra principal ("hashtag", para você young'uns). Isso descomenta a linha, permitindo que ela tenha efeito. Pressione ctrl-X para sair e Y para dizer Sim, você gostaria de salvá-lo, e você está de volta no prompt de comando novamente.
Root @ ars-vpn-test: ~ $ sysctl -p
O sistema informará que definiu o valor net.ipv4.ip_forward = 1 . Parabéns, você está pronto para rota. O próximo passo é obter os scripts úteis do pacote easy-rsa no local e usá-los para gerar sua própria autoridade de certificação privada.
O arquivo / etc / openvpn / vars contém três configurações realmente importantes - KEY_SIZE , que controla apenas o que parece e deve ser configurado para um mínimo de 2048 (eu uso 4096); E CA_EXPIRE e KEY_EXPIRE , que controlam quanto tempo suas chaves são boas, com uma data de validade padrão de 10 anos. Chaves expiradas não funcionam mais, por isso esta é basicamente uma data drop-dead para a sua configuração VPN. Após essas datas ir e vir, você terá que regenerar e re-distribuir as chaves novamente.
Em geral, você deve alterar o restante dos valores - KEY_COUNTRY , KEY_PROVINCE e assim por diante - para corresponder ao que faz sentido para você, mas estes são basicamente fluff legível para humanos, e o computador não se importa particularmente com o que está lá dentro. Qualquer coisa, incluindo os valores padrão, funcionará.
Depois de ter CTRL-X'ed e Y'ed o seu caminho para fora de vars e salvou-o, é hora de voltar a trabalhar no shell.
Você receberá alguns avisos terríveis sobre excluir todas as suas chaves aqui - ignorá-lo. Executar um ./clean-all preparatório é uma etapa obrigatória em instalações OpenVPN modernas. Apenas não o execute outra vez a menos que você quiser perder todas suas chaves e certificados.
Haverá um monte de pressionar [enter] através destas etapas para confirmar os valores padrão que você definiu no vars mais cedo. Você pode apenas entrar no seu caminho, mas não se esqueça de realmente pressionar Y duas vezes no final para assinar primeiro o certificado, em seguida, confirmá-lo. Nosso próximo passo será a construção da chave Diffie-Hellman, com o comando ./build-dh . Você precisa especificar um argumento keysize na linha de comando para este. Mais geralmente é melhor, então eu fui com uma chave de 4096 bits ... que levou bastante tempo para gerar; 26 minutos e 35 segundos, para ser exato. Uma vez que você começar este processo iniciado, você pode querer ir assistir a um programa de TV ou algo assim. Vai demorar um pouco.
Agora você está pronto para criar seus certificados e chaves reais. Lembre-se de quantas vezes você teve que pressionar [enter] quando você criou seu certificado de CA e sua chave de servidor um par de etapas acima? Se você encontrou aquele irritante, você pôde querer fazer algum trabalho de preparação puramente opcional aqui. As ferramentas build-key e build-key-pass são scripts legíveis por humanos que invocam pkitool. Ambos podem ser editados para remover o argumento --interact que eles passam por padrão, o que resulta em que obnóxio dez-in-a-row [enter] seqüência. Em vez de editar essa linha diretamente (e talvez enroscá-la e não saber como obtê-la de volta ao original), copie a linha, colá-la em uma nova e, em seguida, comente a primeira linha com um sinal de libra. Uma vez feito isso,
#! / Bin / sh
# Fazer um par certificado / chave privada usando um gerado localmente
# Certificado raiz.
Exportação EASY_RSA = "$ {EASY_RSA: -.}"
# "$ EASY_RSA / pkitool" --interact $ *
"$ EASY_RSA / pkitool" $ *
... e para construir-key-pass , você vai acabar com isso:
#! / Bin / sh
# Similar ao build-key, mas proteger a chave privada
# Com uma senha.
Exportação EASY_RSA = "$ {EASY_RSA: -.}"
# "$ EASY_RSA / pkitool" --interact --pass $ *
"$ EASY_RSA / pkitool" --pass $ *
Uma vez que você editou e salvou ambos (ou ignorou esta etapa, se você não se importa de usar a tinta fora de sua tecla Enter), você está pronto para realmente gerar algumas chaves e certificados para autenticar com. Eu gerou três keypairs -client-no-pass , cliente-com-passe , e R8000- este último destina-se a ser utilizado com o meu router Netgear handy-dandy com firmware DD-WRT.
Assim como quando geramos um par de chaves SSH anteriormente, a diferença entre chaves geradas com build-key e build-key-pass é que o primeiro trabalho "naked", mas o segundo exigirá uma frase de desafio a ser inserido quando o OpenVPN túnel É iniciado sempre. Em geral, os keypairs com um desafio são mais apropriados para credenciais que você usará diretamente em seu computador ou telefone e iniciar e parar manualmente , enquanto keypairs sem uma frase de desafio são mais apropriados para uso autônomo em que dispositivos podem iniciar e parar automaticamente túneis sem Intervenção do usuário. (DD-WRT pode realmente usar keypairs com frases de desafio, mas ao fazê-lo subverte a maior parte do ponto: você tem que salvar a frase de desafio nas configs;
Agora que você tem suas credenciais geradas, é hora de configurar o próprio servidor. Primeiro, vamos pegar uma cópia de referência de uma configuração de servidor OpenVPN típico de onde os pacotes o deixaram:
Pode ser bastante esmagadora vadear através da massa de comentários nesse arquivo de configuração padrão, então vamos mudar o nome de algo safe- server.conf. Dist , para que o sistema não tente executá-lo - e apenas comece de novo com um arquivo limpo. Isso ficará assim:
# /etc/openvpn/server.conf - Ars Technica Edition
Port 1194
Proto udp
Dev tun
Ca /etc/openvpn/keys/ca.crt
Cert /etc/openvpn/keys/server.crt
Key /etc/openvpn/keys/server.key # Este arquivo deve ser mantido em segredo
Dh /etc/openvpn/keys/dh4096.pem
Cifra AES-256-CBC
Auth SHA512
Server 10.8.0.0 255.255.255.0
Push "redirecionamento-gateway def1 bypass-dhcp"
Push "dhcp-option DNS 8.8.8.8"
Push "dhcp-option DNS 8.8.4.4"
Ifconfig-pool-persist ipp.txt
Keepalive 10 120
Comp-lzo
Tecla de persistência
Persist-tun
Status openvpn-status.log
Verbo 3
A porta de configuração 1194 , proto udp e dev tun nos definem na porta IANA reservada para OpenVPN, usando o protocolo UDP (altamente recomendado, o OpenVPN pode usar o TCP, mas o seu desempenho sofrerá significativamente se o fizer) eo estilo tun Do adaptador de rede virtual em vez de toque . As diferenças entre tun e toque são bastante misteriosa, mas ao final do dia tun tanto proporciona mais segurança para dispositivos de clientes individuais de outros dispositivos clientes e, na minha experiência, é também menos provável que falhar por nenhuma razão aparente, então tun -lo é.
O próximo bloco de quatro configurações deve ser bastante auto-explicativo, apontando OpenVPN para o local das credenciais que ele precisa para executar. Ele fica mais interessante com cifra e autenticação . Estas são a cifra usada para criptografar seus dados eo digest usado para lidar com a autenticação, respectivamente. As opções que eu escolhi aqui são err no lado paranóico, que não vai prejudicar o seu desempenho qualquer no seu próprio computador ou na VM você está executando o servidor em (mesmo o meu Celeron J1900 Homebrew pode empurrar> 200 Mbps com estes Configurações), mas pode ser um pouco muito para um roteador de consumidor se você estiver configurando um túnel VPN baseado em roteador em toda a rede como estaremos.
Se você estiver interessado em rodar o controle deslizante performance-vs-security, eu tenho a sua volta: meu Netgear R8000 testar roteador gerenciado cerca de 25 Mbps throughput configurado com AES-256-CBC / SHA512 como mostrado aqui. AES-256-CBC / SHA1, que ainda é razoavelmente segura, obteve um mais respeitável 37,24 Mbps. Isso é quase tão baixo quanto você pode ir e ainda chamar o resultado "uma VPN" com uma cara reta, no entanto. Se você quer um desempenho melhor do que aquele, você deve provavelmente considerar funcionar o cliente de VPN diretamente em seu computador próprio ou em um router mais poderoso.sso é bastante representativo do débio do Netgear R8000 nas minhas configurações mais paranóicas OpenVPN. Tecnicamente, isto é * duplo * VPN'ed - o Nighthawk construiu seu túnel * através * do túnel que o Homebrew já está correndo a montante dele. No entanto, a restrição real aqui (no lado do download, pelo menos) é o próprio desempenho do R8000 - ele não pode bater em qualquer lugar perto dos 100 Mbps nominais fornecidos pelo Spectrum ou mesmo o que resta do que depois do streaming Netflix e tudo o que minha esposa , Miúdos, e meus outros computadores estavam fazendo quando os testes funcionaram.
This is a speedtest.net run on the Homebrew, powered by a Celeron J1900, using the nice-and-paranoid combination of AES-256-CBC/SHA512. The results you're seeing—80 Mbps down and 5-8 Mbps up—are the limits of my Internet connection and/or the stuff my wife, kids, and various computers were doing while I ran the test. When not constrained by the actual network connection, the Homebrew will push > 200 Mbps of OpenVPN traffic
Em movimento , o servidor 10.8.0.0 255.255.255.0 define o intervalo de endereços IP utilizado pelo servidor e seus clientes. Conforme configurado, o próprio servidor ocupará 10.8.0.1 (e vários outros endereços), e cada cliente terá seu próprio endereço. Na verdade, uma vez que estamos usando o adaptador tun , cada cliente usará quatro endereços IP em sua própria sub-rede / 30 até 10.8.0.255. Isso significa que estaremos limitados a cerca de 60 clientes totais, portanto, se você estiver configurando esta VPN para seus amigos e amigos de seus amigos e talvez algumas pessoas que você nem gosta muito de tudo isso, talvez seja necessário considerar Uma sub-rede maior.
A próxima linha, pressione "redirect-gateway def1 bypass-dhcp" , é opcional, mas recomendado para nossos propósitos. Ele instrui qualquer cliente de conexão a encaminhar todo o seu tráfego através da VPN, ignorando quaisquer configurações que possa ter em contrário do seu servidor DHCP local. Também é possível configurá-lo diretamente na configuração do cliente , que abordaremos a seguir. As linhas push "dhcp-option DNS" dizem ao OpenVPN para forçar o cliente a usar os servidores DNS multicast do Google em vez de qualquer que ele estava usando anteriormente, o que poderia ter sido um servidor ou servidores DNS controlados pelo ISP. Se você não gosta do Google também, você pode escolher os servidores DNS do Nível 3 em 4.2.2.4 e 4.2.2.2 ou OpenDNS em 208.67.222.222 e 208.67.220.220. (Atenção: embora eles fazem isso "
A diretiva ifconfig-pool-persist tem OpenVPN manter controle de quais endereços de IP de túnel entregou a quais clientes no passado e tentar manter alguma consistência como ele distribui novas no futuro. A diretivakeepalive envia pings para baixo do túnel e reinicia-lo se eles não voltar dentro de um determinado período de tempo. A diretiva comp-lzo usa compressão LZO no conteúdo do túnel, que normalmente é uma vitória. Grande parte do que você enviar não será mais compressível, mas LZO é tão barato a ponto de ser quase livre em termos de tempo de CPU, então eu prefiro usá-lo quando possível.
Se você alterar qualquer uma dessas configurações do que elas são mostradas aqui, anote-as. Você precisará fazer as mesmas alterações em suas configurações de cliente mais tarde. Além disso, você está pronto para iniciar seu servidor OpenVPN pela primeira vez!
Se você não obtiver nenhuma saída com esse comando, tente iniciar o servidor openvpn no modo interativo para ver se sua saída ajuda a solucionar problemas. Se você nunca chegar a "Seqüência de inicialização concluída", você tem um problema que você precisará resolver antes de seguir em frente.
Credenciais e configs do cliente
Para cada cliente que você deseja conectar, você precisa de três arquivos de credencial: Cert da autoridade de certificação (isto é o mesmo para todos os clientes) em /etc/openvpn/keys/ca.crt , o cert do cliente em / etc / openvpn / keys / Clientname.crt ea chave privada do cliente em/etc/openvpn/keys/clientname.key . (Se você quiser ter certeza de que mesmo um invasor que tenha root no seu servidor não possa se conectar ao servidor posteriormente usando sua própria infra-estrutura de VPN, você pode excluir o clientname.key do servidor assim que o tiver com segurança disponível no cliente .)
Se você estiver no Linux ou Mac, você pode usar a ferramenta scp para pegar esses arquivos:
Se você é um usuário do Windows, geralmente é mais fácil apenas capturar /etc/openvpn/keys/ca.crt dentro da janela do PuTTY e, em seguida, realce o texto com o mouse. É automaticamente copiado para a área de transferência apenas de realçá-lo; Você não precisa de Ctrl-C ou qualquer coisa. A partir daí, você pode abrir uma instância do Bloco de Notas, colar em lá, em seguida, Salvar como ca.crt (não se esqueça de alterar o tipo de arquivo para "All Files" primeiro para que o Windows não "útil" stick um .txt no final Do mesmo). Faça o mesmo para os outros dois arquivos também.
Agora, você precisará instalar o OpenVPN-sudo apt install openvpn em uma máquina Ubuntu. Em um Mac, você pode usar o Homebrew para instalar uma versão de linha de comando e tratá-la como o Linux, ou pode baixar e instalar o Tunnelblick (que você está configurando). No Windows, você precisará fazer o download e instalar o OpenVPN a partir de seu website. No Linux ou Mac (não-Tunnelblick), você precisará mover os arquivos para / etc / openvpn / keys (que talvez seja necessário criar se ele ainda não existir). No Windows, eles precisam ir em C: \ Arquivos deProgramas \ OpenVPN \ config \ keys (o diretório de configuração já estará lá, mas você precisará criar o diretório de chaves).
Em seguida, você está pronto para criar a última peça do quebra-cabeça: oarquivo de configuração do cliente OpenVPN , que nomearemos de formainteligente clientname.conf em uma máquina Linux ou Mac ouclientname.ovpn em uma máquina Windows Acidentalmente recebendo um .txt extra preso no final). Isso vai em /etc/openvpn/clientname.confno Linux ou Mac (não-Tunnelblick) ou em C: \ Arquivos de Programas \ OpenVPN \ config \ clientname.conf ( novamente , não se esqueça de evitar o .txt complicado Notepad tentará Stick na extremidade) no Windows.
# OpenVPN clientname.conf - Ars Technica Edition
Ca chaves / ca.crt
Cert keys / clientname.crt
Key keys / clientname.key
Remote your.server.ip.address 1194
Comp-lzo
cliente
Dev tun
Redirect-gateway def1
Servidor de autenticação remota
Cifra AES-256-CBC
Auth SHA512
Proto udp
Resolv-retry infinito
Nobind
# Tentar preservar algum estado através de reinícios.
Tecla de persistência
Persist-tun
# Definir verbosidade do arquivo de log.
Verbo 3
Mudo 20
Não vamos passar por esta uma linha por linha, uma vez que na maior parte apenas corresponde ao arquivo de configuração do servidor que já olhou. No entanto, certifique-se de que, se alterou alguma coisa na configuração do servidor a partir do nosso modelo aqui, também alterá-lo para corresponder no cliente, nomeadamente as directivas comp-lzo , cipher , proto e auth . A opção redirect-gateway def1 não é estritamente necessária se você deixar a opção correspondente no arquivo de configuração do servidor. Ele faz a mesma coisa aqui, e especificado em qualquer localização que terá o mesmo efeito. Não faz mal ter em ambas as extremidades para uma espécie de cinto e suspensórios que garante que você está redirecionando todo o seu tráfego para baixo do túnel, não importa qual config você decidir olhar,
Uma vez que você tenha este arquivo no lugar e pronto para ir, você pode atear fogo a sua VPN manualmente - openvpn /etc/openvpn/clientname.conf no Ubuntu ou (não-Tunnelblick) Mac; Ou clique com o botão direito do mouse no arquivo .ovpn e selecione Iniciar OpenVPN neste arquivo de configuração no Windows. (O Windows também instalou um ícone OpenVPN GUI na bandeja do sistema, com o qual você pode interagir lá, se quiser.) Se ele se conectar e chegar até "Seqüência de Inicialização Concluída", você deve estar pronto. Teste que seu tráfego atravesse fazendo traceroute -n 8.8.8.8 em Linux ou Mac (você pode precisar instalar primeiro o pacote traceroute ) ou tracert -d 8.8.8.8 no Windows, certificando-se de que a rota passe pelos endereços IP da VPN.
Uma vez que você esteja satisfeito com o fato de sua VPN estar funcionando corretamente, se você quiser torná-la uma coisa cotidiana, ative-a como um serviço. No Ubuntu, systemctl ativar openvpn; Systemctl start openvpnfará o truque. No Windows, vá para o applet Serviços do Painel de Controle, defina o Serviço OpenVPN como "automático" e inicie-o. Em um Mac usando o Homebrew, configure um LaunchDaemon , ou se estiver usando TunnelBlick, configure -o para se conectar automaticamente .
Um ... agora o Netflix não funcionará.
Sim, isso é um problema que você vai ter. A Netflix está sujeita a algumas obrigações bastante odiosas para bloquear a região em grande parte do seu conteúdo, uma vez que estão licenciadas apenas para mostrar algum conteúdo do Reino Unido para usuários do Reino Unido, conteúdo dos EUA para usuários dos EUA e assim por diante. Os provedores de conteúdo se queixam se perceberem que os bloqueios da região não estão sendo honrados (como os concorrentes da Netflix em outras regiões, como SKY). Como resultado, Netflix tende a bloquear centros de dados conhecidos, servidores proxy e provedores de vpn tanto quanto possível.
Se você estiver executando o seu cliente OpenVPN diretamente no seu computador, provavelmente terá que descartar a conexão VPN sempre que desejar usar o Netflix (ou outro serviço de mídia que bloqueia seu data center). Felizmente, se você quiser executar o OpenVPN diretamente no roteador que toda a sua rede passa, você tem uma opção melhor: roteamento baseado em política.
OpenVPN em um roteador Homebrew
Se você estiver executando um roteador Homebrew como o meu, obter toda a rede por trás de sua nova VPN é quase embaraçosamente fácil. Seguindo as instruções do Ubuntu acima, você só precisa atualizar ; apt instalar openvpn , coloque o clientname .conf em / etc / openvpn eo ca.crt , clientname .key e clientname .crt em / etc / openvpn / chaves , systemctl permitir openvpn; Systemctl start openvpn e poof, você está conectado. A única coisa que resta a fazer depois disso é permitir o encaminhamento com mascarada através do túnel VPN, bem como através da WAN, em /etc/network/if-pre-up.d/firewall .
Você pode encontrar um conjunto completo de configurações de amostra para um roteador Homebrew (incluindo dhcpd, bind9, firewall, openvpn e mais configs) no meu repositório Github , e provavelmente seria uma boa idéia fazer referência a eles se você realmente quiser fazer Para si mesmo. Somente adicionamos duas linhas ao nosso firewall: VPNOUT = tun0 para definir uma interface para nossa conexão VPN de saída e -A POSTROUTING -o $ VPNOUT -j MASQUERADE para permitir tráfego de saída, NATted através do túnel.
Uma vez que isso, tudo parecia trabalhar nitidamente em minha própria rede doméstica ... até que eu comecei um grito plaintive de acima. Minha filha Jane tropeçou no mesmo problema que mencionamos acima: "Papai, você sabe por que Netflix diz que estamos usando um bloqueador?" Ups.
Como tal, a próxima tarefa para o meu roteador Homebrew era roteamento baseado em políticas. Eu precisava dizer- lhe para não enviar qualquer tráfego do meu Rokus através do túnel, em vez disso, permitindo-lhes acesso direto através da interface WAN. O primeiro passo foi encontrar seus endereços MAC (visíveis nas telas de Configurações de Rede) e usá-los para adicionar definições de host ao arquivo /etc/dhcp/dhcpd.conf do meu Homebrew :
Uma vez que o /etc/dhcp/dhcpd.conf foi reconfigurado para adicionar as concessões do host, systemctl restart isc-dhcp-server as aplicou. No próprio Rokus, na mesma tela Configurações -> Configurações de Rede que eu tinha obtido seus endereços MAC, um simples "Atualizar configurações de rede" lançado e renovado suas concessões DHCP e, em seguida, eu estava pronto para transformá-los em especial, não-VPN 'Ed flocos de neve. Tudo isso necessário foi adicionar três linhas rápidas para as configurações de interface WAN em / etc / network / interfaces :
# Este arquivo descreve as interfaces de rede disponíveis no seu sistema
# E como ativá-los. Para obter mais informações, consulte interfaces (5).
Source /etc/network/interfaces.d/*
# A interface de rede loopback
Auto lo
Iface lo inet loopback
# A interface LAN
Auto enp2s0
Iface enp2s0 inet static
Endereço 192.168.0.1
Netmask 255.255.255.0
Dns-nameservers 8.8.8.8 8.8.4.4
# A interface WAN
Auto enp1s0
Iface enp1s0 inet dhcp
# Rokus em .50 e .51 precisam de seu tráfego para contornar
# A VPN de saída, para que o Netflix não o bloqueie.
#
# Realizamos isso adicionando seu tráfego a um
# Tabela de rota que estamos implicitamente criando aqui
# Por referência a ele com um número.
#
Regra ip pós-up adicionar de pesquisa 192.168.0.50 100
Post-up ip regra adicionar de 192.168.0.51 pesquisa 100
Post-up ip route adicionar padrão dev enp1s0 tabela 100
Essas três últimas linhas - a regra IP pós-up e as diretivas de rotas ip pós-up - são as únicas coisas que realmente mudaram da configuração original que eu estava usando. As configurações em / etc / network / interfaces realmente não têm efeito até depois de uma reinicialização , então eu pulei a arma um pouco executando- os diretamente na linha de comando (assim como eles são mostrados no arquivo de configuração, "Post-up" bit no início). Presto, os Rokus trabalham novamente; Netflix já não me acusa de usar "um desbloqueador", o que significa que não há mais filha lamentosa chamando as escadas.
Neste ponto, toda a casa está recebendo seu tráfego roteado com segurança para fora de sob o nariz do ISP para um ponto final no Oceano Digital, exceto para o Rokus, é claro, que estão saindo feliz diretamente através do meu ISP residencial onde Netflix não vai reclamar sobre eles. Ele realmente tem sido executado desta forma por vários dias agora. Quando eu disse a minha esposa ontem à noite que todas as suas coisas estava saindo através de uma VPN, a sua única resposta foi piscar em mim e dizer "Huh".
OpenVPN em um roteador de consumidor (Netgear)
Você também pode executar OpenVPN em todos os tipos de roteadores de consumo, executando OpenWRT ou DD-WRT. Eu vou falar muito especificamente sobre como fazê-lo funcionar em um Netgear Nighthawk aqui por um bom motivo: Netgear diretamente roda myopenrouter.com , onde eles realmente colaborar com desenvolvedores de código aberto que estão adaptando compilações de firmware de código aberto para instalação em roteadores Netgear . Isso é extremamente legal, não menos importante porque isso significa que você pode instalar o firmware do myopenrouter diretamente em um roteador Netgear suportado usando a própria interface do roteador baseada na Web .
É certamente possível instalar DD-WRT ou OpenWRT em um roteador de consumidor não-Netgear, mas geralmente é uma dor gigante na bunda e uma boa maneira potencialmente tijolo seu roteador. Normalmente, o fornecedor não suporta, não quer que você faça isso, e você tem que colocar o roteador em um modo de flash do firmware TFTP e / ou usar algum tipo de quebra de pilha para quebrar o firmware do OEM em primeiro lugar. Milhares de pessoas fazem exatamente isso, é claro. Um número perturbador deles tijolo alguns roteadores ao longo do caminho, no entanto, então o diabo com isso: Netgear é, na verdade, suporte de código aberto, então aqui está me apoiando-los de volta.
Enlarge / É um carahugger. É um roteador. É um Nighthawk!
Jim Salter
Eu tinha um Netgear Nighthawk X6 na mão já (o mesmo que eu usei no primeiro artigo de roteador Homebrew ). Eu disparei-o acima, browsed a myopenrouter.com , e logado dentro. (Você necessita criar um livre-como-em-conta da cerveja antes que você possa download qualquer do firmware do local.) De lá, eu estalei transferências, Mudou a caixa de combinação Search Downloads para "R8000" (o codinome interno, não comercializado do meu Nighthawk X6) e baixou o mais recente "DD-WRT Kong Mod" para o roteador. Que era um arquivo ZIP, que eu extrai no meu diretório de downloads. Com isso feito, eu loguei na interface Web do Nighthawk e fui para Advanced -> Security -> Router Update, navegado para o arquivo. CHK eu tinha extraído do ZIP, e que era isso.
Isso é realmente tudo o que há para instalar Kong's DD-WRT construir em um Nighthawk; Depois de ignorar a incompatibilidade de número de versão, ele instala e reinicia o roteador automagicamente em apenas um minuto ou dois, e você está pronto para o rock, com o roteador em 192.168.1.1 e distribuindo endereços na faixa 192.168.1.0/24 no seu LAN. A primeira coisa que você vai notar depois de pegar um endereço IP, navegar para http://192.168.1.1, e fazer login novamente em seu recentemente DD-WRT'ed Nighthawk é que ele diz que você tem que mudar seu nome de usuário e senha, Que atualmente são inseguros padrão. Faça isso, e eu sugiro que você escolha o nome de usuário "root". Não tenho certeza se ele realmente presta atenção ao campo de nome de usuário aqui, mesmo que você tenha permissão para alterá-lo.
Você já deve estar configurado razoavelmente bem para a maioria das conexões de Internet residenciais ou pequenas empresas neste momento, com uma sub-rede local de 192.168.1.0/24, DHCP executando na WAN e dnsmasq fornecendo DHCP para a LAN. Uma coisa que você absolutamente precisa mudar, porém, é a configuração de DNS na "home page" da interface do DD-WRT. Por padrão, é 0.0.0.0 nos três blocos e será preenchido pelas configurações do ISP enviadas para você via DHCP. Você não quer isso, já que todo o nosso ponto aqui é camuflar coisas de seu ISP. Em vez disso, defina-os para 8.8.8.8, 8.8.4.4 e 4.2.2.4 (Google, Google e Layer3 anycast endereços de servidor DNS). Se você deixar qualquer um deles em branco, eles ficarão preenchidos com os servidores do seu ISP, derrotando a maioria de nosso propósito.
Ampliar / Observe que as configurações de DNS estão COMPLETAMENTE preenchidas aqui. Se você deixar um dos três espaços em branco em 0.0.0.0, ele será substituído por um dos servidores DNS do ISP, potencialmente vazando informações para eles (ou abertura de vulnerabilidades para manipulação) que você não deseja.
Configurar a VPN em si é bastante fácil se você sabe o que está fazendo. Navegue até Serviços, depois VPN e procure "Cliente". Marque a caixa de rádio para ativar o Cliente e, em seguida, o que abre as opções "Avançado" para o cliente. Encontre o seu ca.crt eo cliente .crt e .key (no meu caso, eu gerei R8000.crt e R8000.key anteriormente), e cole-os nas caixas apropriadas. Defina "Criptografia Criptografia" para AES-256-CBC e "Hash Algorithm" para SHA512 (ou o que você configurá-los no arquivo de configuração do servidor OpenVPN), defina NAT como "ativado" e marque a caixa para "nsCertType verificação".
Finalmente, para evitar o temido problema Netflix, aproveitamos o recurso interno de roteamento baseado em políticas do DD-WRT. Isso é consideravelmente mais lento do que o que eu usei no Ubuntu para o Homebrew, mas é muito, muito mais fácil do que fazer o trabalho da linha de comando do DD-WRT. (Você pode desembolsar para DD-WRT com SSH, se você precisa e se você ativar essa opção. Isso é ... kinda vaqueiro, embora, por isso, uma vez que pode evitá-lo, nós estamos indo para.)
A caixa de diálogo DD-WRT VPN, com a maioria das coisas que você precisará alterar dos valores padrão realçados. Observe que o certificado CA real e o certificado e a chave do cliente não são mostrados aqui - eles estão apenas na parte inferior da tela, com os botões "Salvar" e "Aplicar" embaixo deles um pouco mais.
Em DD-WRT, qualquer endereço ou sub-rede que você entrar na caixa de texto "roteamento baseado em diretiva" será encaminhado através da VPN, não excluído dele. Você precisa ter cuidado, no entanto. Se você ficar frisky e colocar a coisa errada aqui - como 192.168.1.0/24, toda a sub-rede local - você pode facilmente bloquear seu roteador mais apertado do que um tambor. Se você fizer isso, não vai falar com você novamente até que tenha sido reiniciado ... e não vai falar com você , então , quer, se ele consegue reconectar sua VPN. Então, se você conseguiu travá-lo desta maneira, você vai querer desligar o seu cabo WAN, em seguida , reinicie-o, o que permitirá que você de volta para a interface para corrigir o seu parafuso-up. Advertências extremas feitas, o que você vai querer entrar aqui são três linhas simples: 192.168.1.64/26, 192.168. 1.128 / 26, e 192.168.1 / 192/26. Estes somam para significar que qualquer coisa de 192.168.1.64-192.168.1.254 começará roteado para fora através de seu VPN, deixando qualquer coisa de 192.168.1.1 (o roteador, que deve ser acesso direto reservado) através de 192.168.1.63 capaz de bater apenas o " Net diretamente.
É isso aí. Role para baixo até a parte inferior da página, clique em Salvar primeiro e, em seguida, clique em Aplicar. A conexão VPN será ativada e deverá terminar de se conectar em cerca de 10 a 20 segundos. Você pode então verificá-lo em Status -> OpenVPN-uma vez que ele atinge "Seqüência de inicialização concluída", tudo está bem.
Ampliar / Você recebe muita caixa de diálogo chewy aqui quando o cliente VPN tenta se conectar ao servidor. A linha de dinheiro aqui é "Seqüência de Inicialização Concluída". Se você ver que, tudo é quase certamente bem. Se você não fizer isso, algo absolutamente não é, e você precisará perseguir o problema para baixo.
Finalmente, talvez seja necessário definir algumas concessões estáticas para seus dispositivos de centro de mídia. Meus Rokus não permitem configuração estática dentro de si mesmos como uma opção, por isso fazê-lo no roteador é uma necessidade. Clique na guia Serviços; Sob a sub-guia "Serviços" (a "tela inicial" dos Serviços, onde você já deve estar), você verá uma seção para adicionar concessões estáticas, em "Servidor DHCP". A interface do usuário aqui é um pouco funky: clicar no botão "Adicionar" faz uma nova linha em branco aparecer; Ele não adiciona algo que você já tenha entrado. Agora que você tem uma linha em branco, coloque o endereço MAC de seu Roku ou outro mudo, necessidades de obter-diretamente para o dispositivo de Internet em, Especifique um endereço IP para ele que está abaixo de .63 ... e não aperte Adicionar novamente . Em vez de,
Ampliar / Na seção de roteamento com base em diretivas, dissemos ao DD-WRT para enviar clientes em 192.168.1.64/26, 192.168.1.128/26 e 192.168.1.192/26 através da VPN em vez de diretamente para a Internet. Colocando meu monolito de servidor de teste aqui em 192.168.1.10 - dentro desse intervalo de 0-63 que não cobrimos nas rotas de política - significa que o monolito não usará a VPN. No mundo real, você usaria isso para Rokus ou outros dispositivos cliente de mídia que precisem evitar o Netflix / Hulu / SKY / quaisquer restrições anti-VPN.
A maioria das etapas acima será a mesma (ou pelo menos muito semelhante) para qualquer roteador de consumidor que você conseguiu calçar DD-WRT (ou uma variante DD-WRT, como Tomate) para.
Em roteadores de consumidor, preço e desempenho
Se você está considerando comprar um roteador de consumidor especificamente para executar uma VPN fora de sua rede, o R8000 pode ou não ser o melhor ajuste para você. Eu vou ficar com a recomendação Netgear Nighthawks não importa o que por dois motivos: Netgear realmente suporta o processo de você substituir seu firmware OEM com construções DD-WRT, e Netgear usa CPUs multi-core ARM A9 de alta potência em seu Nighthawk Série, onde muitos consumidores roteadores estão usando muito, muito mais fraco CPUs MIPS. Isso faz um enorme impacto na taxa de transferência VPN.
A escolha mais baixa nesta linha é o Netgear R6400, mas esse modelo tem uma CPU ligeiramente mais lenta do que a do R8000 que testei aqui (que poderia suportar débito de 25 Mbps em AES-256-CBC / SHA512 e 35+ Mbps em AES-256-CBC / SHA1). O R8000 usa um 1 GHz ARM A9 CPU, onde o R6400 usa um 800MHz ARM A9. Eu não testei diretamente, mas eu suponho que você está olhando para cerca de 80 por cento do desempenho da parte superior, talvez menos. Eu não recomendo o R6400 atualmente, mesmo se você pode viver com a queda de desempenho, porque o R6700 é o mesmo preço na Amazon (US $ 110) e apresenta a CPU de 1 GHz de alto desempenho - exatamente a mesma peça que o R8000 que testei aqui .
O R6700 e o R8000 compartilham a mesma CPU e funcionarão de forma equivalente para VPNs, mas o R8000 é um roteador tri-band, enquanto o R6700 é apenas de banda dupla. É a adição de um segundo rádio de 5 GHz vale a pena o adicional de US $ 150, com o R8000 atualmente executando R $ 260 na Amazônia? Isso depende de quantos dispositivos Wi-Fi você tem em casa. Se você tem um par de TVs, vários telefones, um par de laptops e um tablet ou dois com várias pessoas que podem estar usando um monte deles simultaneamente, a resposta é provavelmente um retumbante "sim". Por outro lado, se você tem um kit de rede de malha de alta qualidade como Orbi ou Plume manipulação de direitos Wi-Fi, você não precisa de rádios R8000 em tudo , Para que você possa obter o R6700 para lidar com roteamento e VPN deveres e deixar o seu kit de malha manter a manipulação do Wi-Fi. (E antes de você perguntar, não, você não pode apenas executar DD-WRT no próprio kit de malha.)
Ampliar / O Nighthawk R9000 oferece duas vezes o débito VPN do R6700 ... mas em US $ 450, ele faz isso em pouco mais de quatro vezes o custo. (E nosso Homebrew ainda cheira sua bunda e envia-lo correndo para casa para mamãe.)
Finalmente, se o céu é o limite, Netgear também oferece um Nighthawk X10 (R9000) com um whopping 1.7 GHz quad -core ARM A9 CPU. Eu não testei uma ainda, mas se eu tivesse que arriscar um palpite, eu esperaria quase o dobro da taxa de transferência OpenVPN que o R8000 1 GHz dual-core ARM A9 gerenciado (figura uma estimativa de 45 + Mbps throughput em AES-256-CBC / SHA512, ou 65 + Mbps em AES-256-CBC / SHA1). Você também terá MU-MIMO, quad-stream de 2,4 GHz e 5 GHz rádios, e onde o R8000 tinha um segundo 5 GHz rádio, o R9000 tem um 802.11ad 60 GHz "wigig" rádio em vez disso. (Você quase certamente não tem um dispositivo de cliente wigig para se conectar a ele, mas hey, você terá o rádio em seu roteador.) Tudo isso vem em um preço muito gritante, embora: Amazon está listando o R9000 em US $ 450.
Sobre (in) segurança e desempenho
Uma última opção, que vou avançar e discutir, mas flat-out dizer que não recomendamos é sacrificar a segurança para o desempenho quase inteiramente. Enfraquecer o protocolo de criptografia e descartar o protocolo de autenticação inteiramente - AES-128-CBC / None - resultou em um débito de 51,25 Mbps no meu R8000. Finalmente, soltando tanto a autenticação quanto a criptografia (em que ponto, sim, você tunneled seus dados, mas alguém que realmente cuidou ainda poderia escolhê-lo para além) para None / None vai velocidade fio em praticamente qualquer conexão com a Internet que você jogá-lo.
Arquivo isso em "Eu prefiro falar com vocês crianças sobre isso do que você aprender sobre o playground." Sim, essas opções são mais rápidas. E se tudo o que você está preocupado com-que realmente significa tudo você estiver preocupado com-está jogando uma chave de macaco em snooping predatória muito casual do seu ISP, eles vão provavelmente fazer o truque. Um atacante real será absolutamente capaz de desvendar esses túneis "rápidos" e ver ou modificar os dados correndo para baixo-los, embora, então realmente ... não fazê-lo. Ou, no mínimo, não diga que ninguém lhe disse que era uma má idéia.
Conclusões
É realmente não é tão difícil de rolar o seu próprio hospedado pessoalmente serviço, VPN para obter seus dados longe de olhos curiosos ao seu ISP (ou no café; nós não cobrir as minúcias de instalação aqui, mas você pode usar credenciais OpenVPN em Android e iOS telefones e tablets, também). Usuários de dados extremamente pesados podem ter problemas com os custos de excesso de largura de banda de seu provedor de VPS, mas a atribuição de 1TB / mês da DigitalOcean cobrirá facilmente o uso de minha casa. Se você deseja definir tudo em um roteador para cobrir toda a sua rede, em dispositivos individuais, ou ambos ao mesmo tempo, você pode obtê-lo feito.
O bom:
O OpenVPN pode ser configurado de forma extremamente segura, é gratuito como na fala e na cerveja e pode ser executado em praticamente qualquer dispositivo que você possa imaginar: Windows, Mac, Linux ou BSD, telefones, tablets e até mesmo Roteadores.
O mal:
No final do dia, seu tráfego inseguro ainda é inseguro - você acabou de mover seu ponto de vulnerabilidade, não eliminá-lo. Você (compreensivelmente) não confiava em seu ISP, então você o moveu fora de seu alcance. Você (compreensivelmente) não confiava em provedores de VPN, então você não os usava. Mas você ainda estáconfiando em seu provedor de hospedagem ... e todos eles estão ajusante de.
O feio:
Agora você tem mais uma máquina para manter. Seu Ubuntu 16.04 LTS VM aplicará automaticamente atualizações de segurança, e é suportado até abril de 2021 (após o qual ele vai precisar de uma atualização para uma versão mais recente LTS, que geralmente pode ser feito relativamente painlessly e no lugar para sistemas simples como este), mas isso é não para sempre. Não há nenhuma garantia de que algum novo avanço criptográfico não forçará você a reavaliar suas opções de criptografia / digestão antes disso.
Eu tenho executado OpenVPN em uma gotícula de DigitalOcean por muito tempo agora, e há pouco adicionei IKEv2 à mistura.
Várias observações:
1. Sobre isto:
Citar:
Na verdade, como estamos usando o adaptador tun, cada cliente usará quatro endereços IP em sua própria sub-rede / 30 até 10.8.0.255. Isso significa que estaremos limitados a cerca de 60 clientes totais, portanto, se você estiver configurando esta VPN para seus amigos e amigos de seus amigos e talvez algumas pessoas que você nem gosta muito de tudo isso, talvez seja necessário considerar Uma sub-rede maior.
Se nenhum de seus clientes estiver em versões antigas do OpenVPN (2.0 ou algo parecido), você pode especificar a "sub-rede de topologia" em seu arquivo de configuração, caso em que cada cliente usará apenas um endereço IP de seu pool. A configuração padrão é "topologia net30", que é necessária para compatibilidade com versões anteriores, mas a "sub-rede de topologia" é altamente recomendada se não houver clientes herdados.
2. OpenVPN 2.4 está fora recentemente, e é AWESOME. Anteriormente com 2.3 e anteriores, é muito fácil de tráfego de impressão digital OpenVPN, para que o seu ISP ou um censor de estado-nação saberá que você está usando OpenVPN e pode bloquear seu servidor facilmente. Com 2.4 você pode usar "tlscrypt" para ofuscar o seu tráfego com uma chave estática, para que ninguém sabe que você está usando OpenVPN anymore. Isto obviamente não é compatível com versões anteriores, Portanto, certifique-se de que todos os seus clientes tenham 2.4. Em particular, o oficial "OpenVPN Connect" app para iOS e Android não são compatíveis com 2.4 ainda, o que é uma verdadeira vergonha.
3. IKEv2 é legal, mas é mais difícil torná-lo seguro. O cliente VPN interno do Windows suporta apenas criptografia fraca por padrão (máximo em AES128, DH1024, SHA1. Você pode dizer Logjam?) Embora seja possível ativar algumas cifras fortes usando uma chave de registro ou PowerShell. Também o Windows é extremamente exigente sobre os certificados usados para IKEv2; Eu ainda não descobri como fazer Win10 aceitá-los ainda. É mais difícil torná-lo seguro. O cliente VPN interno do Windows suporta apenas criptografia fraca por padrão (máximo em AES128, DH1024, SHA1. Você pode dizer Logjam?) Embora seja possível ativar algumas cifras fortes usando uma chave de registro ou PowerShell. Também o Windows é extremamente exigente sobre os certificados usados para IKEv2; Eu ainda não descobri como fazer Win10 aceitá-los ainda. É mais difícil torná-la segura. O cliente VPN interno do Windows suporta apenas criptografia fraca por padrão (máximo em AES128, DH1024, SHA1. Você pode dizer Logjam?) Embora seja possível ativar algumas cifras fortes usando uma chave de registro ou PowerShell. Também o Windows é extremamente exigente sobre os certificados usados para IKEv2; Eu ainda não descobri como fazer Win10 aceitá-los ainda.
Tôi đã sử dụng trang web vpn này, bạn có thể tham khảo thêm
ResponderExcluir翻牆工具