Когда вы хотите позвонить тому или иному человеку, вы заглядываете в адресную книгу — бумажную или в мобильном телефоне. Это очень удобно — чтобы совершить звонок, достаточно знать имя человека, которое запомнить куда проще, чем номер из десятка цифр. Примерно то же самое происходит и в интернете. Как и у людей в записной книжке, у сайтов есть имена и номера — они, соответственно, называются доменными именами и IP-адресами. Например, доменное имя главной страницы Яндекса — yandex.ru, а один из её IP-адресов — 5.255.255.55. Людям проще работать с именами, а машинам — с цифрами, поэтому каждый раз, когда вы набираете адрес какого-нибудь сайта, браузер сталкивается с необходимостью преобразовать доменное имя в IP-адрес. Для этого используется система DNS — она хранит соответствия между доменными именами и IP-адресами сайтов. Именно поэтому DNS иногда называют «адресной книгой интернета».
На запросы браузера («Эй, у меня тут есть доменное имя, какой IP ему соответствует?») отвечает DNS-сервер. DNS-серверов очень много — с каким именно будет взаимодействовать ваш браузер, как правило, определяет интернет-провайдер.
Информация, которой обмениваются браузер и DNS-сервер, никак не защищена, и её довольно легко перехватить. С первого взгляда, браузер и сервер не передают друг другу ничего сверхсекретного — ни номеров банковских карт, ни ваших личных данных. Но всё равно возможны неприятности — например, перехватив DNS-трафик, можно узнать, какие сайты вы посещаете. Злоумышленники также могут взломать домашний роутер и заменить адрес DNS-сервера в настройках. Мошеннический DNS-сервер может давать неправильные IP-адреса — по его вине вместо интернет-банка легко оказаться на фишинговом сайте.
Чтобы защитить пользователей от такого рода опасностей, мы добавили в Яндекс.Браузер технологию DNSCrypt. Она устраняет сразу несколько «слабых мест» системы DNS. Во-первых, все запросы от браузера направляются на безопасный DNS-сервер Яндекса. Даже если злоумышленники атакуют ваш роутер или компьютер и изменят адрес DNS-сервера в настройках (а такого рода атаки — не такая уж редкость), вы не окажетесь на мошенническом ресурсе. Во-вторых, DNSCrypt шифрует все данные, которыми обмениваются браузер и DNS-сервер, — то есть, по сути, выполняет ту же роль, что и SSL при обмене данными по протоколу HTTPS. Благодаря шифрованию перехват трафика становится бесполезен — не имея ключа, перехватчик вместо доменных имён и IP-адресов будет видеть лишь бессмыслицу.
Включение DNSCrypt в настройках Яндекс.Браузера
Протокол DNSCrypt разработала компания OpenDNS, запустившая в 2006 году одноимённый DNS-сервис. Ранее для того, чтобы включить защиту DNSCrypt, требовалось установить на компьютер специальную утилиту. Теперь это необязательно — если вы пользуетесь Яндекс.Браузером, достаточно обновить его до последней версии и включить DNSCrypt в настройках. Защита доступна в версиях браузера для операционных систем Windows и OS X. В ближайшем будущем мы планируем добавить в браузер поддержку альтернативных DNS-серверов — вы сможете выбрать тот, который подходит вам. Подробнее о DNSCrypt в Яндекс.Браузере читайте в нашем блоге на «Хабрахабре».