Dica – Como cifrar a comunicação entre o Linux e o OpenDNS?

42 Comentários

Nos últimos tempos temos assistido a uma vaga de ataques informáticos. Este tipo de ataques podem ser estruturados ou não estruturados. Os ataques não estruturados são normalmente levados a cabo pela actividade, por exemplo, de hackers amadores ou script kiddies (pessoas com poucos conhecimentos de , mas que utilizam ferramentas de hacking prontas a serem usadas e disponíveis na Internet). Por outro lado, existem os ataques estruturados em que os hackers têm bastantes conhecimentos e todo o ataque é bem planeado e estruturado.

Hoje vamos ensinar como cifrar a comunicação entre um Linux e o OpenDNS (serviço de DNS), de modo a evitar ataques ao nível do serviço de DNS.

dns_00

Para que serve um servidor/serviço de DNS?

Quando abrimos um browser costumamos indicar o nome do site que pretendemos consultar. Em traços gerais, o serviço DNS é responsável por traduzir nomes em IP’s e vice-versa, isto é, quando introduzimos por exemplo o url: www.pplware.com, há uma consulta ao servidor de DNS para saber qual o IP correspondente (para saber mais como tudo funciona, leia aqui o nosso artigo sobre DNS).

E se comunicação entre o nosso PC e o servidor de DNS foi interceptada e a nossa comunicação for encaminhada para outro servidor (muita das vezes com uma página idêntica e que normalmente como objectivo obter as nossas credenciais)?

Para quem usa o serviço OpenDNS, hoje vamos ensinar a cifrar a comunicação entre o nosso PC e o serviço de resolução de nomes.

O que é o OpenDNS?

Uma forma muito rápida de “controlar” o acesso a determinados sites/domínios é usando o serviço OpenDNS. Trata-se de uma rede de servidores de DNS muito rápidos e fiáveis, de utilização gratuita e também mais seguros (têm inclusive um sistema de protecção contra phishing). Depois do utilizador se registar no site, passa a ter acesso a muitas funcionalidades, como por exemplo, bloqueio de sites e domínios, definição de atalhos para endereços, et

Como cifrar a comunicação entre o Linux e o OpenDNS?

Quem pretender cifrar as comunicações entre o seu PC e o OpenDNS pode usar o DNSCrypt. Esta aplicação permite cifrar as consultas ao DNS, do mesmo modo que o SSL (https) cifra o tráfego HTTP. Até há relativamente pouco tempo o DNSCrypt apenas estava disponível para MAC mas segundo informações disponibilizadas recentemente no site do OpenDNS, o DNSCrypt passa a estar também disponível para Linux via GitHub.

Como usar o DNSCrypt no Ubuntu ?

Para ter em funcionamento o DNSCrypt no Ubuntu basta seguir os seguintes passos:

Passo 1 – Obter DNSCrypt

wget https://github.com/downloads/opendns/dnscrypt-proxy/dnscrypt-proxy_0.9_i386.deb

Passo 2 – Instalar o DNSCrypt

sudo dpkg -i dnscrypt-proxy_0.9_i386.deb

Passo 3 – Executar o DNSCrypt

sudo /usr/sbin/dnscrypt-proxy –daemonize

Nota Importante: Para que tudo funcione correctamente, devem definir como DNS do sistema o endereço 127.0.0.1 (informação a ser definida no ficheiro /etc/resolv.conf – veja aqui como fazer).

Depois de realizados os passos anteriores, a comunicação entre o nosso Linux e o serviço de DNS passa a ser cifrada.

O DNSCrypt em funcionamento…

Para demonstrar que tudo funciona, vamos dar um pequeno exemplo. Um dos comandos que normalmente uso para testar o servidor de DNS é o nslookup. Para efectuar a escuta da comunicação vamos usar o popular sniffer tcpdump e escutar todos os pedidos para o porto 53 (porto usado por omissão pelo protocolo DNS).

Vamos então começar por uma comunicação não cifrada e vamos solicitar que o servidor nos devolva o endereço do www.pplware.com

Comunicação não cifrada

Fazer uma consulta DNS e solicitar o endereço IP do www.pplware.com

dns_01

Escutar a comunicação no porto 53 usando o tcpdump. Como podem ver, toda a informação passa em “claro”.

dns_02

Comunicação cifrada

Para cifrar a comunicação não se esqueça de executar o comando (sudo /usr/sbin/dnscrypt-proxy –daemonize)

Volta a fazer a consulta DNS e como podemos ver pela imagem seguinte, a informação da comunicação é cifrada. Reparem que não conseguimos visualizar, por exemplo, que fiz um pedido de DNS para obter o IP para o www.pplware.com tal como conseguimos numa comunicação não cifrada.

dns_03

Pessoalmente gostei bastante do DNSCrypt pela sua simplicidade mas também porque de certa forma ajudamos a impor uma maior nível de segurança. Ataques do tipo man-in-the-middle (para obter informações do DNS) ou DNS poisoning (envenenamento do DNS), podem assim ser evitados. Experimentem e alguma duvida não hesitem em deixar as vossas questões em comentário.

Partilhar:
Tags:

Comentários

42

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Windows
    Windows

    Olá, um bom trabanho que aqui está, parabéns 😉 … Tenho uma questão.
    Posso fazer isto no WampServer (windows) com o programa NOIP?

    Cumps 😉
    Mesmo muito boa a dica

    1. Avatar de Pedro Pinto

      Bom dia Sr. Windows 🙂

      Estamos a falar de coisas diferentes. Isto são consultas seguras a um servidor de DNS. De momento ainda não existe suporte do DNSCrypt para Windows

      1. Avatar de Windows
        Windows

        Bom dia 🙂 , ok obrigado, de momento uso windows 😀 , penso passar para ubuntu mas aqui sempre tenho maior controlo com win, desde já quero-te dar os parabéns de novo, bons artigos que tens por aqui, e este é um deles. Pena MEO fibra não chegar aqui 🙁

        Cumps.

        1. Avatar de Pedro Pinto

          Obrigado Windows,

          Sim, a mudança custa sempre. Mas faz assim, mete o Ubuntu numa máquina virtual com o Virtualbox e vais experimentando. Assim tens sempre os dois sistemas disponíveis.

          Abraço

  2. Avatar de Windows
    Windows

    O problema não é bem esse, eu ando na área de informática, e tenho o ubuntu com o windows no pc portatil (recente), só que reinstalo mais vezes o ubuntu do que o windows, no ubuntu basta configurar os ip’s da rede manualmente e puff, vai-se, enfim… mais vale nem compreendermos isto :S , o windows para mim tem-se revelado um grande amigo desde o vista, apesar de dizerem que o vista não presta, acho-o um bom SO, nunca me bloqueou nem formatei, agora com o win 7, posso dizer rápido e mais bonito e mais seguro, do windows 8 espero que seja ainda melhor… Obrigado pela ajuda, hoje em dia temos que nos proteger bem 😀 …

    Cumps…

    1. Avatar de Rui Moreira
      Rui Moreira

      “no ubuntu basta configurar os ip’s da rede manualmente e puff, vai-se, enfim… mais vale nem compreendermos isto :S ”

      como ???? so pode estar a fazer algo mesmo muito mal ….
      Tenho literalmente dezenas de Servidores debaixo da minha alçada e todos tem ip’s fixos. ja tive varios pcs com ubuntu e nunca mas nunca tive nenhum problema sequer semelhante a esse.

      1. Avatar de Windows
        Windows

        Sabes nem faço ideia :s tenho core i7 , pc’s novos e um servidor também com core i7
        configuro normalmente como no windows Exemplo:
        19.65.2.164
        255.255.255.0
        modem: 19.65.5.12
        DHCP e DNS é o endereço também do modem.
        Ao menos o windows não me desilude desde o vista, mas cada um tem a sua opinião relevante aos SO’s.
        Não digo que o ubuntu seja mau mas para mim não serve. A ouvir musica o ubuntu já é necessário formatar. Fiz 4 vezes o download do SO, instalei por pen e por DVD os erros são os mesmos em 5 pc’s. Se estou a fazer algo mal penso que não. Bem logo se vê, por enquanto estou com windows, gostava de ter um MAC mas o dinheiro não estica.

        1. Avatar de Rui Moreira
          Rui Moreira

          Estes ips funcionam ???

          19.65.2.164
          255.255.255.0
          modem: 19.65.5.12
          e que esses ip s sao teoricamente ips publicos .
          Não sera antes 192.168. qualquer coisa ?
          sinceramente acho que o defeito e teu . mas isto sem querer ofender ninguem.

          1. Avatar de Pedro Pinto

            Boas,

            Windows, parece que há aí alguma coisa que não “joga” bem. Certamente quando configuraras os parâmetros de rede estás a trocar alguma coisa. Quando precisares de ajuda é só dizeres.

          2. Avatar de Windows
            Windows

            Não esses são internos, mudei todos os do modem 😉
            Se te estás a referir aos ip’s:
            192.168.1.254
            192.168.1.1 etc…
            Aqui posso configurar e dão, mas o do modem tem que ser 19.65.5.12

            Segui um artigo daqui do pplware 😛

            o meu ip externo é: 85.242.211.221

          3. Avatar de @lmx
            @lmx

            boas…
            mas…
            o ip do modem é o teu IP Publico!tens ai dois ip’s públicos??
            so podes ter um…quero dizer podes ter os que quiseres consoante tens varias contas de internet, mas normalmente as pessoas teem um apenas, não precisas de mais.
            Eu acho que ja estou a perceber o que fizes-te…
            tens duas maquinas com o mesmo ip, pufff vai abaixo, isso é normal, e graças a deus que assim é!!

            cmps

          4. Avatar de P
            P

            Esses IPs nao funcionam assim de certeza… nem no linux nem no windows. o que essa configuração tem de errado é que o ip do PC e o IP do modem (ou gateway, como preferires chamar) estão em sub-redes diferentes. se o ip do router tiver de ser obrigatoriamente esse entao o ip do PC vai ter de começar pelos mesmos 3 numeros, isto assumind que queres manter essa mascara de subrede. senao alteras a mascara de subrede e metes o 3o numero a 248, se nao estou em erro.. mas agora pensando melhor fico com a sensação que estes 3 minutos foram dos mais inuteis da minha vida… 😉

            Cumps,

  3. Avatar de rossi46
    rossi46

    Então podemos definir o opendns no linux e windows sem a necessidade de o alterar no MYHUB 2.0 da ZON?????? Pensava que não era possível dado que o router definia ele proprio o dns….

    1. Avatar de Windows
      Windows

      Penso que sempre podemos dar a volta aos modems / routers =) , não sou a pessoa certa para responder mas penso que sim.

  4. Avatar de Rui Moreira
    Rui Moreira

    Windows :
    Na minha opinião ha ai um erro muito mau na tua config, se o windows tem rede / internet o ubuntu com as mesmas configs tb tem de ter.
    Podes por favor indicar o artigo no qual baseaste a tua config ? e já agora o porque de o modem ter esse ip estranho?

    1. Avatar de Rui Moreira
      Rui Moreira

      Desculpa la tantas perguntas mas fiquei curioso

      1. Avatar de Rui Moreira
        Rui Moreira

        Windows :
        Como podes ver aqui
        http://en.utrace.de/whois/19.65.5.12
        esse ip é publico (externo) e aparentemente pertence a
        OrgName: Ford Motor Company

        Podes tambem ver aqui
        http://whois.domaintools.com/19.65.5.12

        Resumindo e baralhando … esse IP não devia estar em NENHUM dispositivo da tua rede interna .

      2. Avatar de Windows
        Windows

        Não tem mal, agora também fiquei com uma duvida, o meu comentário nunca mais é moderado 😀

        Artigo pplware: https://pplware.sitedev.pt/networking/router-da-meo-mude-a-gama-de-endereos-atribudos/

        Ou seja mudei a gama de endereços do modem a meu gosto, tenho um tg784 mas sou da sapo adsl, como tenho vários equipamentos pedi este e deram-mo :).

        Mas o problema está apenas no ubuntu, porque 3 pc’s windows funcionam, a psp também, o tablet 5 estrelas também.

        O Ubuntu anda a dificultar-me a vida, ao reproduzir um dvd tenho logo que formatar e instalar de novo o ubuntu, na rede é isso, depois tenho o problema do flash e das musicas.. enfim… mas bem posso dizer, curioso é! …

        E obrigado pela ajuda que me estão a dar, penso que de IP’s está tudo certo.

        Vou descomplicar:

        Endereços IP internos:
        IP do pc: 19.65.2.164
        Máscara de Sub. Rede :255.255.255.0
        Modem: 19.65.5.12
        DHCP e DNS: 19.65.5.12
        Gateway: 19.65.5.12

        Endereços IP Externos fornecidos pela PT SAPO ADSL:
        (Informações do Modem)
        Informações sobre a ligação
        Uptime do sistema: 0:23:19
        Nome de utilizador: as********@sapo
        Password: ********
        Memorizar password: Sim
        Endereço IP: 82.154.33.87
        DNS Primário: 212.55.154.174
        DNS Secundário: 212.55.154.190

        Cumps. Penso de IP’s está tudo certo.

        1. Avatar de Windows
          Windows

          Rui internamente, posso estar errado, mas posso ter ip igual ao teu ou de quem quiser.
          O meu visinho de baixo tem a rede igual à minha, e está 5 estrelas, não confundas rede interna com externa. Posso meter o endereço por exemplo da sapo na minha rede interna desde que configure as coisas correctamente porque depois a PT da-me um endereço externo, esse à que conta. Mas isto já está é uma grande baralhada LOL. Mas mesmo fazendo reset ao modem o problema mantem-se 🙂

          1. Avatar de Rui Moreira
            Rui Moreira

            Claro que na rede interna podes ter o que tu quiseres. Eu nao confundo redes internas com externas, se me conhececes sabias isso . Alias nem e confusao que um profissional faça.
            O problema que eu tava a apontar foi apenas porque achei piada ao facto de estares a colocar esse IP que é publico numa rede interna. E não penses que não te da problemas, por alguma coisa existem gamas reservadas para uso em rede internas.

            È claro que a rede a tua e podes fazer os erros que quiseres .

          2. Avatar de Rui Moreira
            Rui Moreira

            BTW nao vejo no tutorial que supostamente seguiste nenhuma referencia a esse IP a gama de rede usada é 192.168.200.0/24

          3. Avatar de Rui Moreira
            Rui Moreira

            Agora é que eu vi bem . tu tas a atribuir aos teus postos endereços publicos. Que não devias fazer. Devolve la Os IPS aos senhores da Ford pa coitados !!!! LOOOOOOOOOL
            Mas agora mesmo a serio não devias usar esses ips , mas sim algo dentro da gama de ips privados
            192.168.0.0/24
            10.0.0.0/8
            176.16.0.0/16 a 176.32.0.0/16
            ou coisa do genero.
            Claro que não ha problema nenhum em haver endereços internos repetidos em varias localizações… mas sinceramente devias colocar isso direito. E claro que te assiste o direito de estar errado.
            Relativamente aos issues das musicas/flash etc … aconselho que investigues um pouco mais. nas minhas maquinas funciona 100%
            😀

  5. Avatar de Philipp

    Opa,

    Com está incrementação em segurança, ocorre perda de desempenho?

    Att,

    1. Avatar de Pedro Pinto

      hum, é um bom teste a fazer. Mas para isso precisamos de ferramentas para nanobenchmarking

  6. Avatar de Windows
    Windows

    Penso que não tenho erros porque a rede está funcional e não tenho problemas.
    Mas posso referir o que disse anteriormente.
    Mesmo voltando aos endereços normais tipo 192.168.1.254 as coisas acontecem à mesma no ubuntu…
    Mesmo tendo uma rede diferente de endereços e com autenticaçao com user e pass (sem isso ninguem entra na rede, claro que sempre existem falhas 😀 .WPA-Enterprise – radius) penso que não dá grandes problemas.
    Cumps.

    1. Avatar de Windows
      Windows

      Eu sei que a gama de rede usada é 192.168.200.0/24 mas eu mudei

      Cumps.

      1. Avatar de Rui Moreira
        Rui Moreira

        Ok é um direito que te assiste.
        Da mesma forma que se te quiseres atirar da ponte abaixo eu nao sou ninguem para te contrariar , quanto muito posso te aconselhar… em ultima analise a decisao e tua. Mas depois não te queixes se tiveres problemas 😉 as regras existem por alguma razao e.

        Bom Carnaval

        1. Avatar de Rui Moreira
          Rui Moreira

          A proposito se necessitares de ajuda estas a vontade

          ruimoreira29@gmail.com

          1. Avatar de Windows
            Windows

            Hehehe Bom Carnaval para ti também, mas pelo menos 5 pessoas aqui fazem as mesmas coisas que eu e funciona, por isso dei o exemplo do meu visinho, O que me preocupa não são os ip’s mas sim o ubuntu, qualquer coisa leva format…

            Obrigado por toda a ajuda , cumps…

          2. Avatar de @lmx
            @lmx

            boas…
            não sou entendido em redes, mas como é que funciona

            Endereços IP internos:
            IP do pc: 19.65.2.164
            Máscara de Sub. Rede :255.255.255.0
            Modem: 19.65.5.12 <——-este
            DHCP e DNS: 19.65.5.12
            Gateway: 19.65.5.12

            Endereços IP Externos fornecidos pela PT SAPO ADSL:
            (Informações do Modem)
            Informações sobre a ligação
            Uptime do sistema: 0:23:19
            Nome de utilizador: as********@sapo
            Password: ********
            Memorizar password: Sim
            Endereço IP: 82.154.33.87 <——este
            DNS Primário: 212.55.154.174
            DNS Secundário: 212.55.154.190

            tens dois modems ou so tens um?se so tens um so deves ter um ip publico atribuido, é impossivel ter dois ips atribuidos a mesma interface(desde q)

          3. Avatar de @lmx
            @lmx

            desde que não tenhas interfaces virtuais
            acho eu
            …isso é muito a frente para mim!!!
            sou utilizador linux há uns 8-10 anos, ja administrei linux servers, HPUS servers, e redes cisco, embora me sinta deficitario em redes, considero que há algo de estranho nas tuas configs

            cmps

      2. Avatar de Rui Moreira
        Rui Moreira

        Ok problemas de rede a parte …
        Mas formatas o PC porque ??? so porque não faz o que tu queres ?
        Ca para mim falta te algum pluggin ou coisa que o valha.
        Pa se nao te entendes com o Linux … usa Windows.
        Para algumas coisas ha alternativas.
        devo te dizer que tudo o que te queixas funciona a 100%. Eu nao uso ubuntu mas uso Debian, no qual o ubuntu é baseado e tudo funciona de forma simples sem problemas e sem a poluição da Micro$oft.

        1. Avatar de Windows
          Windows

          Mas ao instalar plugins também trava,bem fico pela M$, um SO se comprado pode ser caro mas ao menos não tenho problemas. 😀

          Cumps… e Obrigado por toda a ajuda.

          1. Avatar de Rui Moreira
            Rui Moreira

            Continuo a dizer que o problema é teu e não do SO. Pa fica te pelo que percebes e dominas . Isto do Linux não e para todos …
            (ler com tom provocátorio como quem desafia alguem a fazer algo )

          2. Avatar de @lmx
            @lmx

            realmente…
            o Rui Moreira tem razão!!

            estas a atribuir defeitos a algo, onde esses defeitos não existem, e pior ainda onde existirão ao certo muito menos defeitos que em Windows, visto que o unix/linux cresceu nas redes, e o windows veio dos desktops para as redes ha uns anitos apenas…
            seria normal dizeres isso do windows, dizeres isso do linux fica meio ridículo.

            a teres problemas na tua rede e sendo que a maquina vai abaixo…facilmente perceberias que tens conflitos de ips, e por questões de segurança a maquina vai abaixo, ou seja criaste um problema, só tens uma hipótse…RESOLVE O!!!

            mas não atribuas as falhas a outros, ou outras coisas, sabes porquê?porque não te vale de nada!!o problema se não o resolveres não se resolve sozinho!!!

            cmps

  7. Avatar de Rui Moreira
    Rui Moreira

    @lmx querias dizer HP/UX não ?

    Pa não vale a pena ele diz que ta td bem e que so o ubuntu e que não funciona !!!

    1. Avatar de @lmx
      @lmx

      Rui Moreira

      sim queria mas enganei-me :S, obrigado pelo reparo.

      pois realmente não entendo tanta relutância em aceitar que se esta errado, ainda por cima quando até “esticas-te a escada” para o ajudar.
      Sei que se existisse um SO que custasse um milhão de euros muita gente de dinheiro compraria, pois o facto de gastarem 1 milhão no SO faria-os, só por si, sentirem-se bem e mais seguros lol

      cmps

      1. Avatar de João Fragata
        João Fragata

        Olá! Isto no fundo vem fazer algo semelhante ao standard DNSSEC. Certo?

        1. Avatar de Pedro Pinto

          Parecido, ideal para cenários pequenos.

  8. Avatar de sideshow
    sideshow

    Ao instalar o .deb surge esta mensagem que não me deixou lá muito seguro…

    The package is of bad quality
    The installation of a package which violates the quality standards isn’t allowed. This could cause serious problems on your computer. Please contact the person or organisation who provided this package file and include the details beneath.

    The package doesn’t provide a valid Installed-Size control field. See Debian Policy 5.6.20.