- Цель исследования:
- Определение автономных систем резолверов, которыми пользуются пользователи российских автономных систем.
Реализация:
- У хостинг-провайдера TimeWeb был арендован виртуальный сервер
- На виртуальном сервере была установлена операционная система debian 12
- Для сайта измерений и домена измерений в доменах net.ru и org.ru были зарегистрированы домены:
- resolvers.net.ru
- resolvers.org.ru
- В качестве домена измерений было решено использовать домен resolvers.net.ru
- Два домена необходимы согласно требованиям регистратора доменных имен для указания двух авторитетных серверов доменных имен с именами в разных доменах
- В качестве программного обеспечения для управления зарегистрированными доменами был выбран сервер BIND 9 (программа-демон named)
- Для домена resolvers.net.ru была создана зона этого домена и размещена на сервере под управление named (в качестве авторитетных серверов для этой зоны были указаны ns.resolvers.net.ru и ns.resolvers.org.ru)
- Для домена rsolvers.org.ru была создана зона этого домена и размещена на сервере под управление named (в качестве авторитетных серверов для этой зоны были указаны ns.resolvers.net.ru и ns.resolvers.org.ru)
- Две зоны были созданы дли того, чтобы можно было у регистратора указать два разных имени доменных имен для одного IP-адреса (минимальное количество серверов по условиям регистратора). как было указано в п.5.
- После регистрации имен авторитетных серверов у регистратора и появления их в соответствующих зонах верхнего уровня (net.ru и org.ru) стал осуществляться резолвинг домена измерений в сети Интернет штатным образом
- В зоне домена измерений для работы со случайными уникальными поддоменами было размещено wildcard-имя: *.resolvers.net.ru и назначен ему IP-адрес (*.resolvers.net.ru. IN A 178.253.43.227)
- В качестве HTTP был выбран и установлен сервер Apache2
- Было сконфигурировано два виртуальных сайта (resolvers.net.ru и resolvers.org.ru)
- Для этих двух сайтов были определены имена синонимы ( www.resolvers.net.ru и www.resolvers.org.ru)
- Большинство современных браузеров выдают ошибки при подключении к сайтам по протоколу HTTP без применения сертификатов TLS, поэтому для сайтов и их синонимов были получены TLS сертификаты центра сертификации Let’s Encrypt:
- Для сайта resolvers.org.ru и его синонима www.resolvers.org.ru был получен групповой сертификат с автоматическим обновлением
- Для сайта resolvers.net.ru и *.resolvers.net.ru был получен групповой wild-card сертификат с ручным обновлением один раз в три месяца
- На сайтах resolvers.net.ru и resolvers.org.ru было настроено автоматическое переназначение http-запросов в https-запросы, т.е. в запросы с использованием TLS-сертификатов
- На сайте resolvers.net.ru был размещен Perl-скрипт, который при обращении к нему генерирует JavaScript-код:
- a = new Image();
- a.src = «https://<random-name>.resolvers.net.ru/resolvers.png»;
- где <random-name> - случайное уникальное имя поддомена в домене измерений
- 18. На домашних всех страницах сайтов resolvers.net.ru и resolvers.org.ru в заголовке страницы размещен вызов этого скрипта:
- <script src="https://resolvers.net.ru/resolvers.js"></script>
- Для сбора и обработки статистики была установлена СУБД PostgreSQL 15.6
- Была создана база данных dns
- Для работы с БД dns были созданы отдельная схема и аккаунты пользователей (роли)
- Для анализа логов в ОС был создан отдельный аккаунт с правами запуска скриптов анализа логов и загрузки данных в БД
- В этом аккаунте были размещены скрипты анализа логов, выделения из них нужных мета данных и загрузки их в БД
- Для данного аккаунта посредством crontab было создано расписание запуска этих скриптов
- Были выполнены функциональные тесты контроля всех этапов получения и обработки данных
- Были сформулированы формы и типы постоянных отчетов по собранным данным и на их основе созданы таблицы, оптимизированные по времени генерации отчетов
- Были написаны скрипты формирования этих таблиц и в crontab было составлено расписание запуска этих скриптов
- Для сайта resolvers.net.ru были разработаны страницы:
- общее описание проекта
- описание целей и задач проекта
- общее описание методики
- описание реализации
- общая статистика проекта
- статистика использования резолверов российскими пользователями в виде графиков, диаграмм и таблиц
- Для графиков, диаграмм на страницах сайта resolvers.net.ru использовался фреймворк Chart.js
- Для получения данных из БД измерений использовались скрипты на языке Perl c драйверами на Perl b Python
- Для асинхронной передачи данных из БД измерений на страницы сайта resolvers.net.ru для отрисовки графиков, гистограмм и диаграмм был использован REST API фреймворка Chart.js
- Для асинхронной передачи данных для отображения в виде таблиц был доработан (расширен) REST API фреймворка Chart.js
- Учитывая ограниченные мощности арендованной платформы виртуального хостинга, было решено размещать измерительные скрипты поэтапно с контролем «насыщения» измерений по каждой площадке измерений
- Для размещения на «чужом» популярном сайте скрипта измерений необходимо было с администрацией сайта договориться о легитимном разрешении ограничений CORS, для чего в настройки «чужих» популярных сайтов вносились необходимые изменения
- В настоящее время необходимые договоренности достигнуты для следующих сайтов и их синонимов:
- org.ru - сайт регистратуры домена
- net.ru - сайт регистратуры домена
- pp.ru - сайт регистратуры домена
- taeping.ru - сайт регистратора
- netoscope.ru - сайт проекта по информационной безопасности Координационного центра национального домена сети Интернет (.RU/.РФ)
- cctld.ru - сайт Координационного центра национального домена сети Интернет (.RU/.РФ)