среда, 13 февраля 2013 г.

Squid: DNSCrypt в связке с прокси

Может показаться глупым, нахрена бы сдался шифрованный канал между клиентом и DNS-сервером. Или между прокси и DNS.

Однако, если вспомнить последние попадаловы с Каминским, уязвимостями BIND, всякого рода попытками подменить DNS-ответы в кэшах...

Пожалуй, попробуем-таки поставить DNSCrypt. Выглядит привлекательно - высокоскоростной легковесный сервис с достаточно быстрой криптографией. Проверим.

Качаем - собираем.

Собирается без единого писка, ./configure && make && make install.

Запускаем демон (опция -d), проверяем, что слушается порт 53 на локалхосте.

Правим /etc/resolv.conf, рестартуем dns/client:

root @ ktulhu /patch # cat /etc/resolv.conf
domain ktulhu.kz
nameserver 127.0.0.1

root @ ktulhu /patch # svcadm restart dns/client

Перезапускаем сквида, убеждаемся, что DNS-запросы ресолвятся и 127.0.0.1 в качестве DNS-сервера подхвачен.

Надо бы написать SMF. Мы же на Солярисе. Для автостарта сервисика.

Пишем. Скачать здесь.

Запускаем сервис. Пробуем.

На мой субьективный взгляд, работа кэша не замедлилась сколько-нибудь заметным образом. Все по-прежнему быстро отзывается.

PS. Да, я знаю, "Ты еще винограду сверху положи!" (С). Но привинчивать туда Tor или еще что-то кажется не очень хорошей идеей. А вот DNS прикрыть.... (Не надо мне плести, что DNSSEC решит все проблемы. Слышали про волшебную пулю и неоднократно).