Мы постоянно слышим фразу «национальная безопасность», но когда государство начинает следить за нашим общением, фиксируя его без веских подозрений, юридического основания и без какой-либо видимой цели, мы должны задать себе вопрос: они и в самом деле защищают национальную безопасность или они защищают свою собственную?
— Эдвард Сноуден
Данный дайджест призван повысить интерес Сообщества к проблеме приватности, которая в свете последних событий становится как никогда прежде актуальной.
На повестке дня:
Энтузиасты сообщества децентрализованного интернет-провайдера «Medium» создают собственный поисковой движок
«Medium» учредил новый удостоверяющий центр «Medium Global Root CA». Кого затронут изменения?
Сертификаты безопасности в каждый дом — как создать свой сервис в сети Yggdrasil и выпустить для него валидный SSL-сертификат
Напомните мне — что такое «Medium»?
Medium (англ. Medium — «посредник», оригинальный слоган — Don’t ask for your privacy. Take it back; также в английском слово medium значит «промежуточный») — российский децентрализованный интернет-провайдер, предоставляющий услуги доступа к сети Yggdrasil на безвозмездной основе.
Образован в апреле 2019 года в рамках создания независимой телекоммуникационной среды путём предоставления конечным пользователям доступа к ресурсам сети Yggdrasil посредством использования технологии беспроводной передачи данных Wi-Fi.
Энтузиасты сообщества децентрализованного интернет-провайдера «Medium» создают собственный поисковой движок
Изначально в сети Yggdrasil, которую децентрализованный интернет-провайдер «Medium» использует в качестве транспорта, не было ни своего DNS-сервера, ни инфраструктуры открытых ключей — однако потребность в выпуске сертификатов безопасности для сервисов сети «Medium» решила эти две проблемы.
Зачем нужен PKI, если Yggdrasil «из коробки» предоставляет возможность шифрования трафика между пирами?Нет никакой необходимости использовать протокол HTTPS для соединения с веб-сервисами в сети Yggdrasil, если вы подключаетесь к ним через локально работающий роутер сети Yggdrasil.
Действительно: транспорт Yggdrasil на уровне протокола позволяет безопасно использовать ресурсы внутри сети Yggdrasil — возможность проведения MITM-атаки полностью исключена.
Ситуация в корне меняется, если вы получаете доступ к внутрисетевым ресурсам Yggdarsil не напрямую, а через промежуточный узел — точку доступа сети «Medium», которую администрирует её оператор.
Кто в таком случае может скомпрометировать данные, которые вы передаёте:
Оператор точки доступа. Очевидно, что действующий оператор точки доступа сети «Medium» может прослушивать незашифрованный трафик, который проходит через его оборудование.
Решение: для доступа к веб-сервисам внутри сети Yggdrasil использовать протокол HTTPS (7 уровень модели OSI). Проблема заключается в том, что для сервисов сети Yggdrasil невозможно выпустить подлинный сертификат безопасности обычными средствами, такими как Let’s Encrypt.
Поэтому мы учредили собственный центр сертификации — «Medium Global Root CA». Подавляющее большинство сервисов сети «Medium» подписаны корневым сертификатом безопасности промежуточного центра сертификации «Medium Domain Validation Secure Server CA».
Возможность компрометации корневого сертификата центра сертификации, безусловно, была принята во внимание — но здесь сертификат больше необходим для подтверждения целостности при передачи данных и исключения возможности проведения MITM-атак.
Сервисы сети «Medium» от разных операторов имеют разные сертификаты безопасности, так или иначе подписанные корневым удостоверяющим центром. Однако операторы корневого удостоверяющего центра не имеют возможности прослушивать зашифрованный трафик сервисов, которым они подписали сертификаты безопасности (см. «Что такое CSR?»).
Те, кто особо печётся о своей безопасности, может использовать в качестве дополнительной защиты такие средства, как PGP и подобные.
В данный момент инфраструктура открытых ключей сети «Medium» имеет возможность проверки статуса сертификата по протоколу OCSP или посредством использования CRL.
Ближе к делу
Пользователь @NXShock начал разработку поискового движка для веб-сервисов, расположенных в сети Yggdrasil. Важным аспектом является тот факт, что определение IPv6-адресов сервисов при произведении поиска осуществляется путём направления запроса на DNS-сервер, расположенный внутри сети «Medium».
Основным TLD является .ygg. Большинство доменных имён обладают этим TLD, за исключением двух: .isp и .gg.
Поисковой движок находится в стадии разработки, но его использование уже возможно сегодня — достаточно посетить веб-сайт search.medium.isp.
«Medium» учредил новый удостоверяющий центр «Medium Global Root CA». Кого затронут изменения?
Вчера завершилось публичное тестирование функционала удостоверяющего центра «Medium Root CA». По окончании тестирования были исправлены ошибки в работе сервисов инфраструктуры открытых ключей и было произведено создание нового корневого сертификата удостоверяющего центра «Medium Global Root CA».
Были учтены все нюансы и особенности PKI — теперь новый сертификат УЦ «Medium Global Root CA» будет выпущен только спустя десять лет (по истечении его срока действия). Теперь сертификаты безопасности выдаются только промежуточными сертификационными центрами — например, «Medium Domain Validation Secure Server CA».
Как теперь выглядит цепочка доверия сертификатов?
Что необходимо сделать, чтобы всё заработало, если вы — пользователь:
Так как некоторые сервисы используют HSTS, перед началом использования ресурсов сети «Medium» необходимо удалить данные внутрисетевых ресурсов «Medium». Сделать это можно на вкладке «История» вашего браузера.
Что необходимо сделать, чтобы всё заработало, если вы — системный оператор:
Вам необходимо перевыпустить сертификат для вашего сервиса на странице pki.medium.isp (сервис доступен только в сети «Medium»).
Сертификаты безопасности в каждый дом — как создать свой сервис в сети Yggdrasil и выпустить для него валидный SSL-сертификат
В связи с ростом количества внутрисетевых сервисов сети «Medium» возросла потребность в выпуске новых сертификатов безопасности и настройка своих сервисов таким образом, чтобы они поддерживали SSL.
Так как Хабр является техническим ресурсом, в каждом новом дайджесте один из пунктов повестки будет раскрывать технические особенности инфраструктуры сети «Medium». Например, ниже представлена исчерпывающая инструкция по выпуску SSL-сертификата для своего сервиса.
В примерах будет указываться доменное имя domain.ygg, которое необходимо заменить на доменное имя вашего сервиса.
Шаг 1. Сгенерируйте приватный ключ и параметры Диффи-Хеллмана
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
x509_extensions = v3_req
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = RU
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Moscow Oblast
localityName = Locality Name (eg, city)
localityName_default = Kolomna
organizationName = Organization Name (eg, company)
organizationName_default = ACME, Inc.
commonName = Common Name (eg, YOUR name)
commonName_max = 64
commonName_default = *.domain.ygg
[ v3_req ]
subjectKeyIdentifier = hash
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
basicConstraints = CA:FALSE
nsCertType = server
authorityKeyIdentifier = keyid,issuer:always
crlDistributionPoints = URI:http://crl.medium.isp/Medium_Global_Root_CA.crl
authorityInfoAccess = OCSP;URI:http://ocsp.medium.isp
Шаг 3. Отправьте запрос на получение сертификата
Для этого скопируйте содержимое файла domain.ygg.csr и вставьте его в текстовое поле на сайте pki.medium.isp.
Следуйте инструкциям, указанным на сайте, затем нажмите «Отправить». На указанный вами адрес электронной почты в случае успеха придёт сообщение, содержащее в себе вложение в виде подписанного промежуточным удостоверяющим центром сертификата.
Шаг 4. Настройте ваш веб-сервер
Если вы используете nginx в качестве веб-сервера, используйте следующую конфигурацию:
Файл domain.ygg.conf в директории /etc/nginx/sites-available/
Сертификат, полученный вами по электронной почте, необходимо скопировать по адресу /etc/ssl/certs/domain.ygg.crt. Приватный ключ (domain.ygg.key) поместите в директорию /etc/ssl/private/.
Шаг 5. Перезапустите ваш веб-сервер
sudo service nginx restart
Свободный Интернет в России начинается с Вас
Вы можете оказать посильную помощь становлению свободного Интернета в России уже сегодня. Мы составили исчерпывающий перечень того, чем именно вы можете помочь сети:
Расскажите о сети «Medium» своим друзьям и коллегам. Поделитесь ссылкой на эту статью в социальных сетях или персональном блоге
Примите участие в обсуждении технических вопросов сети «Medium» на GitHub
Создайте свой веб-сервис в сети Yggdrasil и добавьте его в DNS сети «Medium»