Outils pour utilisateurs

Outils du site


issue137:tutoriel1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue137:tutoriel1 [2018/10/08 08:14] d52frissue137:tutoriel1 [2018/10/12 15:07] (Version actuelle) auntiee
Ligne 9: Ligne 9:
 Today I am going to show you how to set up DNScrypt on Ubuntu 18.04. Take that, Mr ISP, and anyone else trying to map your internet usage!** Today I am going to show you how to set up DNScrypt on Ubuntu 18.04. Take that, Mr ISP, and anyone else trying to map your internet usage!**
  
-Version: dnscrypt-proxy 1.9.5+Version : dnscrypt-proxy 1.9.5
  
-Web: la version 2.0.15 a été publiée mais Ubuntu 18.04 utilise encore la 1.9.5+Web : la version 2.0.15 est sortie, mais Ubuntu 18.04 utilise encore la 1.9.5
  
-Chat : l'URL / lien officiel est : #dnscrypt-proxy:matrix.org+Chat : l'URL/lien officiel est : #dnscrypt-proxy:matrix.org
  
-Je suis une personne privée, et je n'aime pas que mon vie privée soit envahie. C'est une des principales raisons pour lesquelles j'utilise Linux.+Je suis une personne privée, et je n'aime pas que ma vie privée soit envahie. C'est une des principales raisons pour lesquelles j'utilise Linux.
  
-Aujourd'hui, je vais vous montrer comment paramétrer DNScrypt sur Ubuntu 18.04. Prenez ça, M. ISP, ainsi que tout autre personne essayant de décider de mon usage d'Internet !+Aujourd'hui, je vais vous montrer comment paramétrer DNSCrypt sur Ubuntu 18.04. Prenez ça, M. ISP, ainsi que toute autre personne essayant de suivre mon usage d'Internet !
    
 **Whether you like it or not, you are a commodity, you are being bought and sold all over the world.  **Whether you like it or not, you are a commodity, you are being bought and sold all over the world. 
Ligne 25: Ligne 25:
    
 Let me tell you more about the protocol. Those of you who have no interest in this can skip to the next section. I promise to keep this section short. DNSCrypt is a protocol that authenticates communications between a DNS client and a DNS resolver.** Let me tell you more about the protocol. Those of you who have no interest in this can skip to the next section. I promise to keep this section short. DNSCrypt is a protocol that authenticates communications between a DNS client and a DNS resolver.**
 +
 +Que vous aimiez ça ou non, vous êtes une marchandise ; vous êtes achetés et vendus partout dans le monde. Améliorez votre sécurité et le respect de votre vie privée en suivant ce guide.
 +
 +DNSCrypt transforme le trafic DNS normal en trafic DNS chiffré, ce qui vous protège contre les attaques par écoute clandestine (eavesdropping) et « homme-au-milieu » (man-in-the-middle). De la même façon que HTTPS protège maintenant votre trafic sur Internet, DNSCrypt sécurise votre trafic DNS. (Cela dit, ce n'est pas une solution complète).
 +
 +Laissez-moi vous en dire plus sur le protocole. Ceux d'entre vous qui n'y trouvent aucun intérêt peuvent passer à la section suivante. Je vous promets que cette section sera courte. DNSCrypt est un protocole qui authentifie les communications entre un client DNS et un « resolver » (une sorte de bibliothèque) DNS.
    
 **The DNScrypt protocol works on both TCP connections and UDP connections. The default HTTPS port is 443, and this is what DNScrypt uses also. This will let it pass through most firewalls unhindered. For those of you interested, you can find a list of ports here: http://www.hostingreviewbox.com/rhel-tcp-and-udp-ports/ **The DNScrypt protocol works on both TCP connections and UDP connections. The default HTTPS port is 443, and this is what DNScrypt uses also. This will let it pass through most firewalls unhindered. For those of you interested, you can find a list of ports here: http://www.hostingreviewbox.com/rhel-tcp-and-udp-ports/
Ligne 31: Ligne 37:
    
 So… From your computer or laptop (client), a DNSCrypt session begins with the client sending a non-authenticated DNS query to a DNSCrypt-enabled resolver, such as OpenDNS.** So… From your computer or laptop (client), a DNSCrypt session begins with the client sending a non-authenticated DNS query to a DNSCrypt-enabled resolver, such as OpenDNS.**
 +
 +Le protocole DNSCrypt fonctionne avec les connexions TCP et UDP. Le port HTTPS par défaut est 443, et DNSCrypt l'utilise aussi. Celui-là le laissera passer sans entrave à travers la plupart des pare-feux. Pour ceux d'entre vous qui sont intéressés, vous pouvez trouver une liste des ports ici : http://www.hostingreviewbox.com/rhel-tcp-and-udp-ports/
 +
 +Le client comme le resolver génèrent initialement une paire de clés temporaires pour chaque système de chiffrage pris en charge. Chaque certificat comprend une période de validité, un numéro de série, une version qui définit un mécanisme d'échange de clés, un algorithme authentifié de chiffrage et ses paramètres, ainsi qu'une clé publique à courte durée de vie, appelée la clé publique du resolver.
 +
 +Voilà... Depuis votre ordinateur ou portable (client), une session DNSCrypt commence quand le client envoie une requête DNS non authentifiée à un resolver activé pour DNSCrypt, tel que OpenDNS.
    
 **This DNS query encodes the certificate versions supported by the client, as well as a public identifier of the provider requested by the client.  **This DNS query encodes the certificate versions supported by the client, as well as a public identifier of the provider requested by the client. 
Ligne 39: Ligne 51:
    
 The encryption algorithm, resolver public key and client magic number from the chosen certificate are then used by the client to send encrypted queries. These queries include the client public key.** The encryption algorithm, resolver public key and client magic number from the chosen certificate are then used by the client to send encrypted queries. These queries include the client public key.**
 +
 +Cette requête DNS encode les versions de certificats prises en charge par le client, ainsi qu'un identifiant public du fournisseur demandé par le client.
 +
 +Le serveur (resolver) répond avec un jeu de certificats publics signés, qui doivent être vérifiés par le client en utilisant une clé publique du fournisseur.
 +
 +Chaque certificat comprend un « nombre magique » que le client doit préfixer sur toutes ses requêtes, pour que, avant de faire quoi que ce soit, le resolver sache quel certificat a été choisi par le client.
 +
 +L'algorithme de chiffrage, la clé publique du resolver et le nombre magique du client tirés du certificat choisi sont ensuite utilisés par le client pour envoyer des requêtes chiffrées. Ces requêtes contiennent la clé publique du client.
    
 **Using this client public key, and knowing which certificate was chosen by the client as well as the relevant secret key, the resolver verifies and decrypts the query, and encrypts the response the same way. **Using this client public key, and knowing which certificate was chosen by the client as well as the relevant secret key, the resolver verifies and decrypts the query, and encrypts the response the same way.
Ligne 55: Ligne 75:
    
 sudo sed -i 's/fvz-anyone/cisco/g' /etc/dnscrypt-proxy/dnscrypt-proxy.conf** sudo sed -i 's/fvz-anyone/cisco/g' /etc/dnscrypt-proxy/dnscrypt-proxy.conf**
-  + 
-**Explanation: sed is a stream editorthe s denotes substitution, the g means globallyThe “-i” switch means in place. Sfirst we have the expression we want to substitute followed by what we want to replace it with, then immediately followed by the file pathThe first line changes the default resolver from fvz-anyone to ciscoYou do not have to choose Ciscothere are many resolversbut I will use Cisco in the example. A list of resolvers can be found herehttps://github.com/dyne/dnscrypt-proxy/blob/master/dnscrypt-resolvers.csv**+En utilisant cette clé publique du client et en sachant quel est le certificat choisi par le client ainsi que la clé secrète correspondantele resolver vérifie et déchiffre la requête et chiffre la réponse de la même façon. 
 + 
 +DNSCrypt ne doit pas être confondu avec DoH (pas celui d'arkanoid)qui est un DNS sur HTTPSCeci est un projet de la fondation Mozilla. 
 + 
 +Si vous ne maîtrisez pas la ligne de commande à 100 %merci de sauvegarder les fichiers que vous voulez modifierAVANT de les modifier ! 
 + 
 +Ouvrez un terminal et saisissez ce qui suit : 
 + 
 +sudo apt-get install dnscrypt-proxy
    
 +Entrez votre mot de passe et laissez l'action se terminer.
    
-**You can of course also do it manually:+Puis :
    
 +sudo sed -i 's/fvz-anyone/cisco/g' /etc/dnscrypt-proxy/dnscrypt-proxy.conf
 +
 +**Explanation: sed is a stream editor, the s denotes substitution, the g means globally. The “-i” switch means in place. S, first we have the expression we want to substitute followed by what we want to replace it with, then immediately followed by the file path. The first line changes the default resolver from fvz-anyone to cisco. You do not have to choose Cisco, there are many resolvers, but I will use Cisco in the example. A list of resolvers can be found here: https://github.com/dyne/dnscrypt-proxy/blob/master/dnscrypt-resolvers.csv
 +
 +You can of course also do it manually:
 + 
 +sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.conf
 +
 +Change the text 'ResolverName fvz-anyone' to 'ResolverName cisco'**
 +
 +Explication : sed est un éditeur de flux, le s indique une substitution, le g veut dire globalement. Le commutateur « -i » signifie à la place. Après s, nous avons, d'abord, l'expression que nous voulons remplacer, suivie par celle qui la remplacera, puis immédiatement suivie par le chemin du fichier. La première ligne remplace le resolver par défaut fvz-anyone par cisco. Vous n'êtes pas obligé de choisir Cisco ; il y a de nombreux resolvers, mais j'ai choisi Cisco pour cet exemple. Une liste de resolvers peut être trouvée ici : https://github.com/dyne/dnscrypt-proxy/blob/master/dnscrypt-resolvers.csv
 + 
 +Vous pouvez, bien sûr, le faire aussi à la main : 
 +
 sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.conf sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.conf
  
-Change the text 'ResolverName fvz-anyone' to 'ResolverName cisco'+Remplacez le texte « ResolverName fvz-anyone »  par « ResolverName cisco ».
    
-Do not change the local address. As with all edits in the /etc folder, make a backup of the file first!+**Do not change the local address. As with all edits in the /etc folder, make a backup of the file first!
    
 Now that you understand the syntax of sed, let’s continue: Now that you understand the syntax of sed, let’s continue:
    
-sed -i 's/127.0.2.1/127.0.0.1/g' /lib/systemd/system/dnscrypt-proxy.socket**+sed -i 's/127.0.2.1/127.0.0.1/g' /lib/systemd/system/dnscrypt-proxy.socket
    
-**Let us check to see if it is correct:+Let us check to see if it is correct:
    
 grep '127' /lib/systemd/system/dnscrypt-proxy.socket grep '127' /lib/systemd/system/dnscrypt-proxy.socket
Ligne 82: Ligne 125:
    
 In previous versions of Ubuntu, you simply had to point your DNS entry in network manager to 127.0.2.1. In 18.04, we need to change it to 127.0.0.1 (localhost), however bionic beaver is not happy with this. ** In previous versions of Ubuntu, you simply had to point your DNS entry in network manager to 127.0.2.1. In 18.04, we need to change it to 127.0.0.1 (localhost), however bionic beaver is not happy with this. **
 +
 +Ne modifiez pas l'adresse locale. Comme pour toutes les modifications dans le répertoire /etc, faites d'abord une sauvegarde du fichier !
 +
 +Maintenant que vous comprenez la syntaxe de sed, continuons :
 +
 +sed -i 's/127.0.2.1/127.0.0.1/g' /lib/systemd/system/dnscrypt-proxy.socket
 + 
 +Vérifions pour voir si tout est correct :
 + 
 +grep '127' /lib/systemd/system/dnscrypt-proxy.socket
 + 
 +Vous devriez voir ceci :
 +
 +ListenStream=127.0.0.1:53
 +
 +ListenDatagram=127.0.0.1:53
 +
 +Dans les versions précédentes d'Ubuntu, vous deviez simplement faire pointer votre entrée DNS dans le gestionnaire de réseau vers 127.0.2.1. Dans la 18.04, nous devons le changer en 127.0.0.1 (localhost) ; cependant, bionic beaver n'aime pas cela.
    
 **Now, let’s use systemd to stop and start the services, etc: **Now, let’s use systemd to stop and start the services, etc:
Ligne 100: Ligne 161:
    
 At this stage you may lose your internet connection.** At this stage you may lose your internet connection.**
 +
 +Maintenant, utilisons systemd pour démarrer et arrêter les services, etc. :
 +
 +sudo systemctl daemon-reload
 +
 +sudo systemctl stop dnscrypt-proxy.socket
 +
 +sudo systemctl start dnscrypt-proxy
 +
 +sudo systemctl disable systemd-resolved.service
 +
 +sudo systemctl stop systemd-resolved.service
 +
 +sudo systemctl disable systemd-resolved
 +
 +sudo systemctl stop systemd-resolved
 +
 +À ce stade, vous pouvez perdre votre connexion à Internet.
    
 **If you desperately need a connection before we continue to the next part, simply type the following: **If you desperately need a connection before we continue to the next part, simply type the following:
Ligne 114: Ligne 193:
   
 sudo nano /etc/NetworkManager/NetworkManager.conf** sudo nano /etc/NetworkManager/NetworkManager.conf**
 +
 +Si vous avez désespérément besoin d'une connexion avant de passer à l'étape suivante, saisissez simplement ce qui suit :
 +
 +sudo nano /etc/resolv.conf
 +
 +Vous verrez qu'Ubuntu a changé le « nameserver » (serveur de nom) en 127.0.0.53 ; ne vous inquiétez pas, changez-le simplement en 127.0.0.1 et sauvegardez-le. Si vous n'avez toujours pas de connexion, remplacez-le par 1.1.1.1 ; ceci devrait résoudre votre problème de connexion. Toutefois, rappelez-vous qu'en le changeant en 1.1.1.1, vous n'utilisez PAS le proxy DNSCrypt, mais directement Cloudflare.
 +
 +Ce problème est rapidement rectifié en installant et en configurant unbound. Unbound est un resolver DNS de validation, avec une cache et récursif.
 +
 +apt-get install unbound
 +
 +Une fois terminé, ajoutez « dns=unbound » dans la section [main] de NetworkManager.conf.
 +
 +sudo nano /etc/NetworkManager/NetworkManager.conf
    
 **Under the [main] section, there should already be:  **Under the [main] section, there should already be: 
Ligne 130: Ligne 223:
    
 Close your terminal and reboot, making sure all your work is saved first.** Close your terminal and reboot, making sure all your work is saved first.**
 +
 +Dans la section [main], il devrait y avoir :
 +
 +       plugins=ifupdown,keyfile
 +
 +Ajoutez dns=unbound en dessous.
 +
 +Sauvegardez et sortez de nano.
 +
 +Maintenant, activons unbound, puis redémarrons pour finir :
 +
 +sudo systemctl enable unbound-resolvconf
 +
 +sudo systemctl enable unbound
 +
 +Fermez votre terminal et redémarrez, en vous assurant d'abord que tout votre travail est sauvegardé.
    
 **After rebooting, let us test our handiwork. **After rebooting, let us test our handiwork.
Ligne 146: Ligne 255:
    
 TCP and UDP should both point to 127.0.0.1** TCP and UDP should both point to 127.0.0.1**
 +
 +Après le redémarrage, nous allons tester notre travail.
 +
 +Ouvrez un navigateur et allez à : https://welcome.opendns.com/ Vous devriez voir une coche.
 +
 +Maintenant, ouvrez à nouveau un terminal et saisissez :
 +
 +nslookup -type=txt debug.opendns.com
 +
 +La dernière ligne indentée devrait vous dire si dnscrypt est activé.
 +
 +Regardons localement :
 +
 +sudo lsof -i -n | grep -i dnscrypt
 +
 +TCP et UDP devraient pointer tous les deux vers 127.0.0.1.
    
 **Let’s get a quick overview of unbound and a link to more information. **Let’s get a quick overview of unbound and a link to more information.
Ligne 157: Ligne 282:
    
 The book is available free of charge.** The book is available free of charge.**
 +
 +Voici une brève description de undbound et un lien pour de plus amples informations.
 +
 +Unbound est une alternative à BIND, se voulant plus rapide et plus sûr. Unbound est Open Source.
 +
 +Site Web : https://www.unbound.net/
 +
 +Vous en trouverez plus ici : https://jpmens.net/2010/10/29/alternative-dns-servers-the-book-as-pdf/
 +
 +L'ouvrage est disponible gratuitement.
  
issue137/tutoriel1.1538979264.txt.gz · Dernière modification : 2018/10/08 08:14 de d52fr