Как настроить DNS-сервис CloudFlare в Windows, Android и iOS
У CloudFlare появился собственная служба DNS, которая будет напрямую конкурировать со службой Google OpenDNS. Эта услуга от Cloudflare будет в значительной степени ориентирована на конфиденциальность и безопасность пользователей, а также на подключение к Интернету. Глобальный поставщик сети CloudFlare утверждает, что их служба DNS не будет хранить журналы вашего соединения более 24 часов и будет способствовать повышению конфиденциальности пользователей в Интернете. Еще одним плюсом использования этого DNS-сервера является то, что он работает быстрее, чем другие. Для извлечения и обнаружения сайтов за пределами их сети требуется 14 мс.
Как включить DNS через HTTPS, чтобы заблокировать отслеживание ISP
Наcтройка службы DNS от CloudFlare на ПК Windows 10
Шаг 1. Нажмите Win + R и введите ncpa.cpl, чтобы открыть сетевые адаптеры.
Шаг 2. Далее нажмите правой кнопкой мыши на сетевом адаптере, который имеет подключение к Интернету, и выберите «Свойства«. Это может быть Ethernet или Беспроводная сеть WiFi. Далее выделите одним щелчком мыши IP версии 4 (TCP/IPv4) и нажмите ниже на кнопку «Свойства«. В новом окне установите «Использовать следующие адреса DNS-сервера» и введите:
Выделите галочкой «Подтвердить параметры при выходе«. Для уверенности, просто отключите сетевой адаптер и включите обратно, нажав по нему правой кнопкой мыши.
Если вы используете IP версии 6 (TCP/IPv6), что редкость, то введите следующие адреса DNS сервера:
Настройка DNS через HTTPS на Android или iPhone
Включите переключатель, чтобы начать использовать зашифрованный DNS. После этого, все что выходит в Интернет, будет использовать службу DNS через HTTPS. Весь ваш трафик будет зашифрован, что обеспечит вам защиту от злоумышленников и хакеров.
Для блокировки вредоносного ПО и контента для взрослых:
Протокол Интернета 6 (TCP/IPv6)
Стандартные (скорость и приватность):
Для блокировки вредоносного ПО:
Для блокировки вредоносного ПО и контента для взрослых:
Шифрование DNS-запросов
DNS-over-HTTPS
Для блокировки вредоносного ПО:
Для блокировки вредоносного ПО и контента для взрослых:
DNS-over-TLS
Для Android 9 и выше
Перейдите в Настройки > Сеть и Интернет > Дополнительно > Персональный DNS сервер, и введите туда следующее доменное имя:
Как настроить DNS
О сервисе
Полезные ссылки
Также посмотрите
Подробное описание
Многие пользователи не понимают, что при посещении зашифрованных сайтов сервер доменных имен все равно получает информацию о всем посещаемых ресурсах. Это означает, что если вы используете DNS-сервер по умолчанию, то ваш Интернет-провайдер, каждая беспроводная сеть, к которой вы подключены и ваш мобильный оператор получают списки всех посещенных вами сайтов.
Провайдеры могут просматривать данные своих пользователей и находить способы для монетизации этих данных. Эта проблема актуальная во всем мире.
DNS-серверы могут быть слабым звеном в процесс безопасного серфинга в Интернете. Cloudflare DNS не только улучшает конфиденциальность, скрывая информацию о сайтах, которые вы посещаете, но и увеличивает скорость соединения с веб-ресурсами.
DNS является критически важным компонентом любого онлайн-бизнеса. Однако об этом компоненте часто забывают, вспоминая о нем только тогда, когда что-то сломается.
Cloudflare 1.1.1.1 — самый быстрый и надежный общедоступный DNS-резолвер в мире*
Cloudflare DNS — это сервис авторитетного DNS корпоративного класса, обеспечивающий минимальное время отклика, беспрецедентную степень резервирования и высокий уровень безопасности благодаря встроенной защите от DDoS-атак и поддержке DNSSEC.
Cloudflare используется в качестве обратного прокси более чем 10 % всех веб-сайтов**
Отличия Cloudflare
Постоянная доступность
Наша глобальная Anycast-сеть позволяет выполнять разрешение DNS на периферии сети в каждом из наших центров обработки данных в 250+ городах, что обеспечивает беспрецедентную степень резервирования и постоянную доступность.
Интегрированные средства безопасности
Cloudflare предоставляет встроенную DDoS-защиту и DNSSEC в один клик, обеспечивая постоянную защиту ваших приложений от DNS-атак.
Высочайшая производительность
Наш авторитетный DNS является самым быстродействующим в мире, обеспечивая среднюю скорость DNS-поиска 11 мс и распространение обновлений DNS по всему миру менее чем за 5 секунд.
Глобальное подключение
Cloudflare подключен к большему количеству точек обмена интернет-трафиком по всему миру, чем другие провайдеры.
«Cloudflare обладает невероятно большой сетью и инфраструктурой, позволяющей блокировать очень мощные атаки на систему DNS. Мы получаем только легитимные запросы, и нам не приходится иметь дело с вредоносным трафиком или атаками на DNS-инфраструктуру».
В этом руководстве разберёмся зачем нужен Cloudflare, как подключить его к сайту и как пользоваться основными функциями сервиса: управлять DNS-записями, установить SSL-сертификат, защититься от DDoS-атак, показывать всем посетителям CAPTCHA или заблокировать доступ к сайту на основе параметров вроде IP-адреса или геолокации.
Но сначала кратко введём в курс дела, если вы не знаете, как работает Cloudflare и что это вообще такое.
Что внутри
Что такое Cloudflare
Cloudflare — это сеть серверов по всему миру, к которой люди подключают свои сайты, чтобы увеличить скорость их загрузки и защитить от DDoS-атак. Также при помощи этого сервиса можно управлять DNS-записями на домене и перевести сайт на HTTPS.
У Cloudflare есть бесплатный тариф и несколько платных. В зависимости от тарифа уровень защиты и возможности по ускорению сайта будут отличаться. В этом руководстве рассмотрим только то, что есть в бесплатном тарифе.
Как работает CloudFlare
Как мы уже выяснили, две основных функции Cloudflare — это ускорить время загрузки сайта и защитить его от DDoS-атак. Кратко расскажем, как эти функции реализованы.
Ускорение загрузки сайта происходит за счёт технологии CDN. Если опустить технические подробности, то у Cloudflare есть серверы по всему миру, на которые компания кэширует статические файлы с вашего сайта — картинки, CSS, Javascript — а потом раздаёт их с серверов, которые ближе к посетителям. Это снижает нагрузку на хостинг и расстояние, которое преодолевают данные.
Защита от DDoS-атак работает за счёт того, что весь входящий трафик сначала проходит через Клаудфлер, как через фильтр. Компания анализирует входящий трафик, блокирует подозрительные запросы, а обычные отправляет к вам на сайт.
Как подключить Cloudflare к сайту
На сайте Cloudflare нажмите кнопку «Sign up» в правом верхнем углу:
Укажите электронную почту в качестве логина и придумайте надёжный пароль: минимум 8 символов, хотя бы одна цифра и специальный символ. После этого нажмите «Create Account»:
Введите домен, который собираетесь привязать к Cloudflare, и нажмите «Add site»:
Выберите тарифный план — в нашем случае «Free» — и нажмите «Continue»:
Запустится процесс сканирования DNS-зоны вашего домена. Cloudflare найдёт DNS-записи для домена и всех его поддоменов, а потом создаст их у себя:
Обычно сервис не пропускает записи, но если какая-то из них пропала, добавьте её вручную. Если всё в порядке, нажмите внизу кнопку «Continue»:
На следующей странице будут DNS-серверы для направления домена на Cloudflare. Установите их для вашего домена на сайте компании, у которой регистрировали домен.
Если регистрировали домен у нас, чтобы изменить DNS-серверы, зайдите в вашу учетную запись и перейдите в раздел «Мои домены». Затем нажмите «Детали» в строке с нужным доменом и найдите раздел «NS серверы». Впишите неймсерверы, которые вам выдал Cloudflare, и сохраните изменения.
Когда домен будет направлен на Cloudflare, вы увидите в верхней части панели управления разделы для работы с разными сервисами Cloudflare. В этом руководства мы рассмотрим только самые популярные из них: Caching, DNS, SSL/TLS, Firewall и Page Rules.
Если подключаете сайт к Cloudflare во время DDoS-атаки
Скорее всего, IP-адрес вашего сервера уже известен и его просто будут атаковать напрямую. Если это так, стоит поменять IP-адрес. Уточните этот момент с вашим провайдером.
Отдельный момент — после переключения DNS-серверов на домене следующие несколько дней часть трафика всё равно будет идти через старые DNS-серверы, а значит защита Cloudflare будет работать только для половины запросов.
Как очистить кэш
Для этого откройте раздел «Caching» и перейдите на вкладку «Configuration». Дальше в первом же блоке нажмите «Custom Purge», чтобы очистить кэш выборочно, или «Purge Everything», чтобы очистить весь кэш на серверах Cloudflare.
Как работать с DNS-записями
Перейдите в раздел «DNS». Вы увидите таблицу со всеми DNS-записями в зоне вашего домена на серверах Cloudflare.
Чтобы добавить новую запись, нажмите «+Add record» над таблицей со всеми записями:
Для примера создадим А-запись для поддомена «blog». Выберите тип DNS-записи «A», заполните остальные поля и нажмите «Save»:
Чтобы изменить или удалить какую-то запись, нажмите в строке с ней кнопку «Edit». После этого поля со значениями записи станут доступны для редактирования, а в левом нижнем углу появится кнопка «Delete».
Как настроить HTTPS
Когда вы подключаете домен к Cloudflare, сервис становится дополнительным этапом между посетителем и вашим сайтом, а значит соединение нужно защитить в двух местах: на пути от посетителя сайта к Cloudflare и на пути от Cloudflare к сайту.
Чтобы увидеть статус защиты на каждом из этапов, перейдите в раздел SSL/TLS. В верхней части страницы вы увидите схему и четыре настройки, которые нужно выбрать в зависимости от того, установлен у вас на хостинге SSL-сертификат или нет.
Соединение на пути посетителя к Cloudflare компания защитит сама при помощи собственного бесплатного SSL-сертификата Universal. Он начнёт работать автоматически, как только вы добавите домен в аккаунт. А вот чтобы защитить соединение на пути от Cloudflare к вашему сайту понадобится установить SSL-сертификат на хостинг.
Если у вас на хостинге уже есть SSL-сертификат, выберите режим «Full (Strict)». А если ещё нет, выберите режим «Flexible». Но в этом случае соединение не будет на 100% безопасным. Люди будут видеть у себя в браузере HTTPS при переходе на ваш сайт, хотя Cloudflare будет передавать данные на сайт в незашифрованном виде, а значит мошенники могут притвориться вашим сервером и перехватить данные. Используйте режим «Flexible» только как временную меру или в случае, если у вас нет возможности установить SSL-сертификат на хостинге.
После того как выберете подходящий режим, специально введите домен вашего сайта в браузере с HTTP. Если сайт всё равно откроется по HTTPS, всё хорошо. Если откроется HTTP версия, значит ваш сайт доступен и по HTTP и по HTTPS. Чтобы это исправить, перейдите в верхней части раздела на вкладку «Edge Certificates» и включите опцию «Always Use HTTPS».
Как защитить сайт от DDoS-атаки
Даже просто подключив сайт к Cloudflare, вы уже защищаете его от DDoS-атак. Компания скрывает IP-адрес сервера, на котором расположен ваш сайт, заставляя хакеров атаковать её серверы вместо вашего. Дальше Cloudflare блокирует подозрительный трафик, а нормальный пропускает дальше.
Кэширование тоже помогает при небольших атаках, поскольку снижает нагрузку на ваш хостинг. Но всё равно во время атаки желательно скорректировать настройки в вашем аккаунте Cloudflare, чтобы дополнительно смягчить атаку. В этом разделе поговорим о том, что именно можно сделать.
Включите режим «I’m Under Attack!»
В этом режиме Cloudflare начнёт проверяет каждого пользователя, который пытается попасть на сайт. Все они будут сначала видеть вот такое межстраничное уведомление. Так алгоритмам компании будет проще отделить вредоносный трафик от нормального.
Чтобы включить этот режим, перейдите в раздел «Firewall», откройте вкладку «Settings» и выберите «I’m Under Attack!» из выпадающего списка в блоке «Security Level»:
Проверенный посетитель получит доступ к вашему сайту не навсегда. По умолчанию это 30 минут, но вы можете указать другие временные рамки на этой же вкладке в блоке «Challenge Passage»:
Настройте правила доступа
С их помощью вы можете заставить посетителей проходить CAPTCHA при переходе на сайт или вообще заблокировать к нему доступ на основе региона, типа запроса, IP-адреса, диапазона IP-адресов или User Agent.
В бесплатном тарифе Cloudflare вы сможете создать всего пять правил. Для этого перейдите в разделе «Firewall» на вкладку «Firewall Rules» и нажмите «Create a Firewall rule».
Предположим, вы выяснили IP-адреса, с которых идёт атака. Показываем, как создать правило, которое заблокирует доступ к сайту для одного IP-адреса или диапазона адресов.
Первое поле — «Rule name» — это название правила. Для нашего примера подойдет «Блокировка трафика»:
Дальше будут поля с деталями правила:
Кнопки «And» и «Or» справа нужны, чтобы указать несколько условий для одного правила. «And» подразумевает, что правило сработает, если запрос соответствует обоим условиям, а «Or» — что правило сработает, если запрос соответствует хотя бы одному условию.
Кроме одного IP-адреса мы дополнительно указываем диапазон IP-адресов, поэтому нажимаем «And» и в новой строке вписываем такие детали:
Под полями с деталями правила будет поле с действием, которое Cloudflare будет применять, если запрос соответствует условиям из правила:
В нашем примере мы хотим заблокировать трафик, поэтому выбираем «Block».
После создания правила остаётся нажать кнопку «Deploy» внизу страницы. Изменения вступят в силу немедленно.
Как улучшить работу отдельных страниц
Вы можете создать правила для отдельных страниц, чтобы отдельные компоненты Cloudflare не работали для них вообще или работали по-другому.
В бесплатном тарифе Cloudflare вы сможете создать всего три таких правила. Сначала расскажем, как в общем устроен процесс. А потом рассмотрим несколько конкретных правил, которые могли бы вам пригодиться.
Перейдите в раздел «Page Rules» и в первом же блоке нажмите кнопку «Create Page Rule»:
На следующей странице вы увидите два блока с полями:
В конце сохраните правило, нажав кнопку «Save and Deploy»:
Мы показали, как в общем устроен процесс. Теперь рассмотрим несколько конкретных правил.
Дополнительная защита для страницы входа в аккаунт
По умолчанию Cloudflare устанавливает на сайте уровень защиты Medium. Но для некоторых страниц — например, страницы входа в панель управления сайтом или в аккаунт клиента — можно установить более высокие требования, потому что именно их часто атакуют хакеры. Для этого создайте правило с такими условиями:
Кэширование для контента, который редко будет меняться
Часть контента на вашем сайте, например картинки, не будет часто меняться. Правильно настроив кэширование для такого контента, вы снизите объём используемого трафика и нагрузку на сервер. Создайте правило с такими условиями:
Редирект сайта с www на без www
Обычно на одну и ту же страницу на сайте можно зайти по двум адресам: https://www.vashdomen.com и https://vashdomen.com. Поисковые системы не понимают, что это одна и та же страница, поэтому две версии будут конкурировать за место в результатах поиска.
Будет выгоднее настроить 301 редирект с одной версии на другую. Тогда позиции одной версии передадутся другой и сайт в итоге может даже улучшить свои позиции в выдаче. На жаргоне SEO-специалистов это действие называется «склеить домен».
Вот как сделать основной версию без www:
Как удалить домен из Cloudflare
Перейдите в раздел «Overview» и в правом нижнем углу этой страницы нажмите «Remove Site from Cloudflare» в разделе «Advanced Actions», после чего подтвердите свои действия:
Если же вы просто хотите временно приостановить работу Cloudflare, выберите опцию, которая стоит чуть выше — «Pause Cloudflare on Site». Тогда домен продолжит использовать DNS-хостинг Cloudflare, но запросы будут идти сразу к вашему хостинг-провайдеру. Кэширование, SSL и защита от DDoS-атак перестанут работать.
Встречаем сервис от Cloudflare на адресах 1.1.1.1 и 1.0.0.1, или «полку публичных DNS прибыло!»
Компания Cloudflare представила публичные ДНС на адресах:
Утверждается, что используется политика «Privacy first», так что пользователи могут быть спокойны за содержание своих запросов.
Сервис интересен тем, что кроме обычного DNS предоставляет возможность использовать технологий DNS-over-TLS и DNS-over-HTTPS, что здорово помешает провайдерам по пути запросов подслушивать ваши запросы — и собирать статистику, следить, управлять рекламой. Cloudflare утверждает, что дата анонса (1 апреля 2018, или 04/01 в американской нотации) была выбрана не случайно: в какой еще день года представить «четыре единицы»?
Поскольку аудитория Хабра технически подкована, традиционный раздел «зачем нужен DNS?» я помещу под конец поста, а здесь изложу более практически полезные вещи:
Как использовать новый сервис?
Самое простое — в своем DNS-клиенте (или в качестве upstream в настройках используемого вами локального DNS-сервера) указываем приведенные выше адреса DNS-cерверов. Имеет ли смысл заменить привычные значения гугловских DNS (8.8.8.8 и т.д.), либо чуть менее распространенных яндексовских публичных серверов DNS (77.88.8.8 и иже с ними) на сервера от Cloudflare — решат вам, но за новичка говорит график скорости ответов, согласно которому Cloudflare работает быстрее всех конкурентов (уточню: замеры сделаны стронним сервисом, и скорость до конкретного клиента, конечно, может отличаться).
Гораздо интереснее работа с новыми режимами, в которых запрос улетает на сервер по шифрованному соединению (собственно, ответ возвращается по нему же), упомянутыми DNS-over-TLS и DNS-over-HTTPS. К сожалению, «из коробки» они не поддерживаются (авторы верят, что это «пока»), но организовать в своем ПО (либо даже на своей железке) их работу несложно:
DNS over HTTPs (DoH)
Как и следует из названия, общение идет поверх HTTPS-канала, что предполагает
Запросы могут быть либо в формате DNS Wireformat, определенном в RFC1035 (отправляться HTTP-методами POST и GET), либо в формате JSON (используется HTTP-метод GET). Лично для меня идея делать DNS-запросы через HTTP-запросы показалась неожиданной, однако рациональное зерно в ней есть: такой запрос пройдет многие системы фильтрации трафика, парсить ответы достаточно просто, а формировать запросы — ещё проще. За безопасность ответчают привычные библиотеки и протоколы.
Примеры запросов, прямо из документации:
GET-запрос в формате DNS Wireformat
POST-запрос в формате DNS Wireformat
То же, но с использованием JSON
Очевидно, что редкий (если вообще хоть один) домашний роутер умеет так работать с DNS, но это не означает, что поддержка не появится завтра — причем, что интересно, здесь мы вполне можем реализовать работу с DNS в своем приложении (как уже собирается сделать Mozilla, как раз на серверах Cloudflare).
DNS over TLS
По умолчанию, DNS запросы передаются без шифрованния. DNS over TLS — это способ отправлять их по защищенному соединению. Cloudflare поддерживает DNS over TLS на стандартном порту 853, как предписывается RFC7858. При этом используется сертификат, выписанный для хоста cloudflare-dns.com, поддерживаются TLS 1.2 и TLS 1.3.
Установление связи и работа по протоколу происходит примерно так:
Пример запроса через DNS over TLS:
Этот вариант, похоже, лучше подойдет для локальных DNS-серверов, обслуживающих нужды локальной сети либо одного пользователя. Правда, с поддержкой стандарта не очень хорошо, но — будем надеяться!
Два слова пояснений, о чём разговор
Аббревиатура DNS расшифровывается как Domain Name Service (так что говорить «сервис DNS» — несколько избыточно, в аббревиатуре уже есть слово «сервис»), и используется для решения простой задачи — понять, какой IP-адрес у конкретного имени хоста. Каждый раз, когда человек щёлкает по ссылке, либо вводит в адресной строке браузера адрес (скажем, что-то вроде «https://habrahabr.ru/post/346430/»), компьютер человека пытается понять, к какому серверу следует направить запрос на получение содержимого страницы. В случае habrahabr.ru ответ от DNS будет будет содержать указание на IP-адрес веб-сервера: 178.248.237.68, и далее браузер уже попробует связаться с сервером с указанным IP-адресом.
В свою очередь, сервер DNS, получив запрос «какой IP-адрес у хоста с именем habrahabr.ru?», определяет, знает ли он что-либо об указанном хосте. Если нет, он делает запрос к другим серверам DNS в мире, и, шаг за шагом, пробует выяснить ответ на заданный вопрос. В итоге, по нахождению итогового ответа, найденные данные отправляются всё ещё ждучему их клиенту, плюс сохраняются в кеше самого DNS-сервера, что позволит в следующий раз ответить на подобный вопрос гораздо быстрее.
Обычная проблема состоит в том, что, во-первых, данные DNS-запросов передаются в открытом виде (что дает всем, кто имеет доступ к потоку трафика, вычленить DNS-запросы и получаемые ответы, а затем проанализировать их для своих целей; это дает возможность таргетирования рекламы с точностью для клиента DNS, а это совсем немало!). Во-вторых, некоторые интернет-провайдеры (не будем показывать пальцем, но не самые маленькие) имеют тенденцию показа рекламы вместо той или иной запрошенной страницы (что реализуется весьма просто: вместо указанного IP-адреса для запроса по имени хоста habranabr.ru человеку случайным образом возвращается адрес веб-сервера провайдера, где отдается страница, содержащая рекламу). В-третьих, существуют провайдеры интернет-доступа, реализующие механизм выполнения требований о блокировке отдельных сайтов, через подмену правильных DNS-ответов про IP-адресов блокируемых веб-ресурсов на IP-адрес своего сервера, содержащего страницы-заглушки (в результате доступ к таким сайтам заметно усложняется), либо на адрес своего прокси-сервера, осуществляющего фильтрацию.
Здесь, вероятно, нужно поместить картинку с сайта http://1.1.1.1/, служащего для описания подключения к сервису. Авторы, как видно, совершенно уверены в качестве работы своего DNS (впрочем, от Cloudflare трудно ждать другого):
Можно вполне понять компанию Cloudflare, создателя сервиса: они зарабатывают свой хлеб, поддерживая и развивая одну из самых популярных CDN-сетей в мире (среди функций которой — не только раздача контента, но и хостинг DNS-зон), и, в силу желания тех, кто не очень разбирается, учить тех, кого они не знают, тому, куда ходить в глобальной сети, достаточно часто страдает от блокировок адресов своих серверов со стороны не будем говорить кого — так что наличие DNS, не подверженного влиянию «окриков, свистков и писулек», для компании означает меньший вред их бизнесу. А технические плюсы (мелочь, а приятно: в частности, для клиентов бесплатного DNS Cloudflare обновление DNS-записей ресуров, размещенных на DNS-серверах компании, будет мгновенным) делают пользование описываемого в посте сервиса еще более интересным.