This page looks best with JavaScript enabled

Dns over https

 ·  ☕ 16 min read

Définition

DNS over HTTPS est un protocole permettant d’effectuer une
résolution DNS à distance via le protocole HTTPS.
Voici une implĂ©mentation afin d’autohĂ©berger un service DNS Over HTTPS.

Fonctionnement (simplifié)

+------------+  (requete dns overhttps)  +-------------+
| navigateur | ------------------------> | nginx https |
+------------+                           +-------------+
                                                |
                                                |  (requete doh-server)
                                                |
                                         +-------------+
                                         |  doh-server |
                                         +-------------+
                                                |
                                                |  (requete dns)
                                                |
                                         +------------+
                                         | Server DNS |
                                         +------------+

Installation: Ubuntu 16.04

Pour Debian, Centos, Ubuntu>16.04 ou autre, la dĂ©marche est la mĂȘme.

Il faut télécharger et installer
doh-server
ou le compiler: github.

d p k g - i d o h - s e r v e r _ 2 . 0 . 1 _ a m d 6 4 . d e b

Configuration du server doh-server:

  • upstream : vos serveurs DNS (bind ou autre), ici ce sont les 2
    ips opendns.
  • verbose : Mettre a true pour debugger dans syslog
    (sinon remettre Ă  false)
  • On bind le service sur le l’ip privĂ© de mon serveur 192.168.10.4
  • Le certificat est gĂ©nĂ©rĂ© en amont sur le reverse proxy
r # l ] # # # # # # c # k # p # # # # # # # # u ] # t # t # # t # # v # # l o i e e a u ] p i r t c v e o o H s T I Y C S e r T y H t U I p s U m N i O c p E e r E N g t T t L f o a t n t L T h p f s t p e u e n p _ n r b n o _ @ T e " " " S u d a v S : T s t r s o m s l _ o a b o a t g u P n 1 [ 1 l d p i : P : t m r " " " " e " " t u b y o n b o s b e u b 2 : 9 c e a y l r p " r u e 1 1 8 8 a 2 2 r t e : n l l s e l : e u l : 7 : 2 e f r , i o " r " p " e l a . . . . m 0 0 e r u l y e e e s n i . 1 . r t e n n " i a / a t m 1 0 8 8 8 8 a : 3 s y : h s t s [ 0 ] 1 t N g m v t d m i . . . . : . . m o e : l : l t e u t . : 6 i e r g , e a h n p : 1 0 8 4 6 6 1 f : o t o t d : e 0 8 8 f m e i n t s D l . . . . [ 7 7 t 0 T f g f r g p _ / n . 0 . i p c n w t e f - N e [ 1 1 8 4 . . i t C f a g a u c e 1 5 1 c t o x h o q S : : : : 2 2 m r P a l i l e I u l t p : 3 0 a y m ) i w k r u s 5 5 5 5 2 2 e i l s n s P r i c 8 " . t , m c i e e r e 3 3 3 3 2 0 o e f s e g e i e r 0 , 4 i e a h t y r r e r " " " " . . u s o e f / n d t 5 : o p n n h e y s v , , , , 2 2 t r r u t n 3 8 n l d d i f s " o e 2 2 i o s _ s " 0 a e s c i o l r 2 0 f D m e i - , 5 f i d s o l l v s : : N r p o 3 i n e n m e v e 5 5 u S H a v " l - t t e p e r a 3 3 p T g : e , e t o c l r " " s q T e r e u e e a e , , t u P n t - x l p s t p r e S t r h t e s e p s e r - u t a T a l l p a y r l e t H v L r y i e m e o p T e S y c c v g s T n a i D e # P e t f o t f N r c m h o i i S s a m w p e r t o e e n o i t r r n d f n r l y e c a , a p o e l , l d i r t a i i a l o d b n b e t s x b o e d e n i r y e h c t o a - u t a n n h c s s o u b a d e o e e s o l o a n r d u e o m d t v . s t D e r e e t s N o r o r h t S n : l . a i r e l c s a s X e o s p e w - d n e p p r i F f r r i v l o b v o n i l r y e g g c w r r e b a t a i . e r h l m n d i o c e s a d a h d d o o - c e n s F o b s e e o n a t n r f l n w i a o o e o g n t r a r c k c e d h X r o - t R ( O i e e C m a . S e l g P . - . I P
  • On ajoute le service au dĂ©marrage de la machine et on le dĂ©marre
s s y y s s t t e e m m c c t t l l e r n e a s b t l a e r t d d o o h h - - s s e e r r v v e e r r

Configuration NGINX en frontale

  • CrĂ©ation d’un fichier de conf pour la configuration du site
    https://mondnsoverhttps.fr
  • Ajout d’un auth_basic pour ne pas laisser mon dns ouvert Ă  tous.
u } s p e s r t v r s e l s a l e e r i e c o a r s r c c m v { t v e a e e e s t a a p p p p p p p p p p } d r n r s i u u r r r r r r r r r r n _ _ o t t o o o o o o o o o o s 1 4 n l n h h x x x x x x x x x x - 9 4 a o _ _ y y y y y y y y y y b 2 3 m g / b b _ _ _ _ _ _ _ _ _ _ a . e d a a s s s s h s r s r p c 1 s n s s e e e e t e e e e a k 6 s v s i i t t t t t t d t a s e 8 l m a - c c _ _ _ _ p _ i _ d s n . o r q _ h h h h _ h r h _ d 1 h n / u " u e e e e v e e e t h 0 t d l e n s a a a a e a c a i t { . t n o r i e d d d d r d t d m t 4 p s g y e r e e e e s e e e p : 2 o / t _ r r r r i r o r o : 8 ; n { " f o f u / 0 e g ; i X X H X n U f t / 5 r i l - - o - p ; d 3 h n e R F s N 1 g 8 n ; t x e o t g . r 6 s t / / a r i 1 a 4 - p m e l w $ n ; d 0 b s o t - a h X e 0 a . n c I r t - X ; c f d / P d t P $ - k r n n e p r h F e ; s g $ d _ o t o n o i r - h x t r d v n e F o y p w / e x m o s _ a d r / o r t t u r n h p t ; r p d s t a e $ u g e - t s _ p e r d q p s a r ; a - u s w d o d P e . d d x e r r f ; r y ; o y r ; _ t . a o ; l d o d $ g _ s x c c _ h o f e m o m b r e i w ; n a e r d d ; e d _ f o r ;

Configuration du navigateur

Dans Préférences/ParamÚtres de connexion de Firefox.

a

Ajoutez https://login:mdp@mondnsoverhttps.fr/dns-query

Test et Debug

  • lors d’une requĂȘte DNS du navigateur:
r t l 1 1 1 1 1 1 x 1 1 1 1 o c i 3 3 3 3 3 3 3 3 3 3 3 o p s : : : : : : . : : : : t d t 1 1 1 1 1 1 l 1 1 1 1 @ u e 0 0 0 0 0 0 e 0 0 0 0 u m n : : : : : : t : : : : b p i 1 1 1 1 1 1 s 1 1 1 1 u : n 5 5 6 6 6 6 e 6 6 7 7 n g . . . . . . n . . . . t v 1 2 4 5 6 7 c 7 8 2 3 u e o 9 2 2 3 1 0 r 4 2 3 1 : r n 8 0 9 0 1 0 y 0 3 9 4 / b 9 1 7 1 3 9 p 0 1 9 6 e o e 7 7 2 5 6 2 t 2 5 5 9 t s t 3 6 2 5 3 3 . 8 9 8 3 c e h o / 0 I I I I I I r I I I I d o , P P P P P P g P P P P n u . s t l 1 r 1 r 1 r e 1 r 1 r - p i 9 e 9 e 9 e d 9 e 9 e o u n 2 s 2 s 2 s g 2 s 2 s v t k . o . o . o e . o . o e - 1 l 1 l 1 l s 1 l 1 l r s t 6 v 6 v 6 v u 6 v 6 v - u y 8 e 8 e 8 e i 8 e 8 e h p p . r . r . r t . r . r t p e 1 1 1 1 1 1 e 1 1 1 1 t r 0 . 0 . 0 . . 0 . 0 . p e E . o . o . o n . o . o s s N 4 p 4 p 4 p e 4 p 4 p # s 1 . e . e . e t . e . e e 0 4 n 5 n 3 n . 5 n 5 n t d M 9 d 4 d 6 d , 7 d 6 d c , B 9 n 2 n 4 n 7 n 0 n p 1 s 0 s 4 s C 0 s 5 s d u ( 7 . 4 . 9 . N 6 . 7 . u s E c c c A c c m e t > o > o > o M > o > o p h m m m E m m e r . r . r . r . r . h r e d e d e d a e d e d o n s o s o s o 7 s o s o s o e o m o m o m 7 o m o m t r t l a l a l a 1 l a l a ) v i v i v i . v i v i 2 , e n e n e n d e n e n 0 r r r s r r 8 c 1 > 1 > 1 > c 1 > 1 > . a . . . q . . 6 f p o 1 o 1 o 1 . o 1 o 1 7 o t p 9 p 9 p 9 a p 9 p 9 . r u e 2 e 2 e 2 k e 2 e 2 2 r n . n . n . a n . n . 2 f e d 1 d 1 d 1 m d 1 d 1 2 u n 6 n 6 n 6 a n 6 n 6 . l s s 8 s 8 s 8 i s 8 s 8 2 l i . . . . . . . . . . . 2 z c 1 c 1 c 1 n c 1 c 1 2 p e o 0 o 0 o 0 e o 0 o 0 r m . m . m . t m . m . o 2 . 4 . 4 . 4 . . 4 . 4 t 6 d . d . d . , d . d . o 2 o 4 o 5 o 3 o 5 o 5 c 1 m 9 m 4 m 6 A m 7 m 6 o 4 a 9 a 2 a 4 a 7 a 0 l 4 i 1 i 0 i 4 1 i 0 i 5 n 7 n 4 n 9 0 n 6 n 7 d b : : : : : : 4 : : : : e y . c t 2 2 6 6 2 2 1 5 5 2 2 o e 2 2 8 8 3 3 2 0 0 5 5 d s 8 8 6 6 7 7 3 3 3 5 5 e 1 1 6 6 3 3 . 8 8 8 8 6 6 + 6 6 5 7 7 0 0 + 1 0 + + 1 [ 4 . 3 2 [ / 1 0 [ 4 [ / [ / 1 0 a / 1 0 3 1 0 1 0 a / u 1 a / , a / a / u 1 ] u 1 u 1 u 1 ] A ] A ] ] A A C C C A ? 8 A N 1 A N A N ? 2 8 ? A 0 ? A ? A 1 l . M 4 M M w 6 i 1 o E . o E i E w . n 9 c 1 c m w 5 u 1 s o 2 s a g p . 8 x . p c 3 p 7 . r g . f 2 . s . . 7 l o o 2 r 5 i p 5 i 1 i d o 0 . 0 n . 0 n . n . g 4 o . t i . t d u l l . r 1 - n 1 - s x i e 1 g 7 x t 2 x c f n . 0 . 6 3 - 3 3 q r u c 0 . . . . x o ( ( l ( l a o f m ( 4 5 e 1 e k r r . 5 8 6 t 7 t a g . 9 ) ) s 4 s m . o ( ) e ) e a r 5 n n i ( g 1 c c . 5 . ) r r n 2 , y y e ) p p t A t t . . . , 8 o o 8 r r A . g g 1 . . 1 9 e 0 1 ( d 4 . 6 g . 2 4 e 1 5 ) s 2 0 u 3 . i . 1 t 5 7 e 0 6 . . n 4 ( e 3 7 t , 9 . ) A ( 7 1 8 0 ) 4 . 1 2 3 . 5 0 . 1 2 3 ( 1 3 3 )
  • Log NGINX:
[ 0 9 / D e c / 2 0 1 9 : 1 3 : 4 8 : 0 1 + 0 1 0 0 ] " P O S T / d n s - q u e r y H T T P / 2 . 0 " 2 0 0 6 3 " - " " M o z i l l a / 5 . 0 ( X 1 1 ; L i n u x x 8 6 _ 6 4 ; r v : 7 1 . 0 ) G e c k o / 2 0 1 0 0 1 0 1 F i r e f o x / 7 1 . 0 "

Un petit pas supplémentaire pour la confidentialité de vos navigation web.

Biz


Ghis
WRITTEN BY
Ghis
AdminSys