The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Организация шифрованного доступа к DNS-серверу BIND (DNS-over-TLS) при помощи nginx
Для предоставления клиентам возможности доступа к DNS-серверу на основе BIND с
использованием протокола DNS-over-TLS можно настроить TLS-прокси с
использованием nginx.

Для добавления TLS-слоя поверх DNS можно использовать модуль stream для
nginx, который прозволяет организовать проброс произвольных TCP- и UDP-соединений.


Пример nginx.conf:

   user www-data;
   worker_processes auto;
   pid /run/nginx.pid;

   events {
      worker_connections 1024;
   }

   stream {
      upstream dns_tcp_servers {
         # IP и порт DNS-сервера, на который будет делать проброс
         server 127.0.0.1:53; 
      }

      # Прикрепляем к 853 порту слой TLS, пробрасываемый на локальный DNS-сервер
      server {
         listen 853 ssl;
         proxy_pass dns_tcp_servers;

         ssl_certificate       /etc/nginx/ssl/certificates/privacydns.crt;
         ssl_certificate_key   /etc/nginx/ssl/certificates/privacydns.key;
         ssl_protocols         TLSv1.2;
         ssl_ciphers           ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
         ssl_session_tickets on;
         ssl_session_timeout   4h;
         ssl_handshake_timeout 30s;
      }
   }

Сертификат можно получить через Let's Encrypt.

   certbot certonly -d privacydns.example.com --standalone

На стороне клиента в качестве резолвера можно использовать Unbound, Knot или
stubby.
 
15.04.2018 , Источник: https://dnsprivacy.org/wiki/display...
Ключи: dns, tls, bind, crypt, nginx / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевые сервисы / DNS

Обсуждение [ RSS ]
  • 1.1, universite (ok), 18:31, 17/04/2018 [ответить]  
  • +/
    После получения сертификата через certbot  не забываем делать симлинки в /etc/nginx/ssl/certificates/privacydns.crt и /etc/nginx/ssl/certificates/privacydns.key
     
     
  • 2.3, Аноним (-), 17:45, 21/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    забываем.
    нужно просто в конфигурацию nginx прописать пусть сертификату который в /etc/letsencrypt/live
     
  • 2.4, А (??), 15:01, 23/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Берем клиент acme.sh, и в нем не забываем после получения сертификата сделать еще установку сертификата в любое удобное нам место в системе - после этого обновление сертификатов гарантированно будет обновлять их там, где мы сказали им лежать установленными.
     

  • 1.2, Аноним (-), 17:10, 20/04/2018 [ответить]  
  • +/
    На какой домен сертификат получать? Или абсолютно всё равно? Как клиент будет сверять тот ли сертификат или нет?
     
  • 1.5, тимоха (?), 16:50, 29/09/2018 [ответить]  
  • +/
    хелп, ребята что делать с этой прогой?дайте связт телеги я постучусь!
     
  • 1.6, В (?), 13:35, 21/02/2019 [ответить]  
  • +/
    Тогда уже на certbot, а acme.sh берите, он поинтереснее )
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру