Официальный портал Федеральной службы государственной регистрации, кадастра и картографии (Росреестр) — это высоконагруженное государственное информационное ресурс, обеспечивающий доступ к данным ЕГРН, кадастровой карте, электронным услугам и реестрам. Понимание того, на чем написан сайт Росреестра, интересно с точки зрения архитектуры госвеб-проектов, требований к безопасности (ФЗ-152, 149-ФЗ) и масштабируемости.
Примечание: Точная конфигурация серверного «железа» и внутренние проприетарные модули являются коммерческой/гостайной тайной. Ниже представлен анализ на основе открытых технических заголовков (HTTP Headers), данных Wappalyzer/BuiltWith, особенностей работы фронтенда и публичных закупок (закупки.gov.ru).
Серверная инфраструктура и ОС
Операционная система
В качестве серверной ОС используется Astra Linux Special Edition (релиз 1.6/1.7 и выше) — отечественный дистрибутив Linux, сертифицированный ФСТЭК и ФСБ для работы с гостайной (до уровня «Совершенно секретно») и персональными данными. Это соответствует требованиям импортозамещения и указам Президента РФ о переводе госорганов на отечественное ПО.
Веб-сервер и балансировка
- Nginx — выступает в роли фронтенд-веб-сервера (reverse proxy), терминирует SSL/TLS, отдает статику, кэширует ответы и балансирует нагрузку между апстримами.
- HAProxy / Keepalived, используются на уровне L4/L7 для высокодоступного кластерирования и отказоустойчивости (Active-Passive или Active-Active схемы).
- В заголовках ответа часто встречается:
Server: nginx(версия обычно скрыта директивойserver_tokens off;).
Backend: Языки программирования и фреймворки
Архитектура представляет собой микросервисную / модульную монолитную структуру, где разные подсистемы могут использовать разные стеки.
Java / Spring Boot (Основной стек)
Ядром высоконагруженных сервисов (ЕГРН, Кадастр, Личный кабинет, API для МФЦ/нотариусов/банков) является Java 11/17 (LTS) на фреймворке Spring Boot 2.x / 3.x.
- Spring Security + OAuth2 / OpenID Connect — для авторизации через ЕСИА (Госуслуги), СМЭВ 3.
- Spring Data JPA / Hibernate — ORM-слой.
- Spring Batch — для массовых выгрузок/загрузок данных (XML/JSON реестры).
- Application Server: Внедренные контейнеры (Tomcat 9/10 или Undertow) внутри Docker-образов. Классические тяжелые серверы приложений (WebLogic, WebSphere, JBoss EAP) на новых контурах практически вытеснены из-за лицензий и импортозамещения.
Python (FastAPI / Django) — Вспомогательные сервисы
Используется для:
- ETL-процессов, парсинга данных, внутренних админок.
- ML-сервисов (классификация обращений, детектирование аномалий в реестре).
Go (Golang), Highload шлюзы
Отдельные микросервисы-шлюзы (API Gateway, Rate Limiting, проксирование запросов к СМЭВ) написаны на Go для максимальной производительности и низкого потребления памяти.
1С:Предприятие 8.3
Исторически сложившаяся внутренняя автоматизация кадрового, бухгалтерского учета и документационного обеспечения ведется на платформе 1С:Предприятие. Интеграция с веб-порталом осуществляется через REST/OData интерфейсы или обмен через СМЭВ.
Базы данных (DBMS)
Здесь соблюдается принцип «разделения ответственности» и импортозамещения.
| Подсистема | СУБД | Примечание |
|---|---|---|
| Основные реестры (ЕГРН, ЕГРП, Кадастр) | PostgreSQL 14+ (Patroni + Patroni + etcd/consul для HA) | Кластерная репликация (Streaming Replication), логическая репликация для аналитики. Расширения: PostGIS (геоданные), pgAudit, pgaudit. |
| Геоинформационная система (ПКК ౼ Публичная кадастровая карта) | PostgreSQL + PostGIS 3+ / ClickHouse | PostGIS для векторных слоев. ClickHouse — для OLAP-аналитики больших объемов пространственных данных (миллионы полигонов). |
| Кэширование, сессии, очереди | Redis (Cluster mode) / KeyDB | Хранение JWT-токенов, кэш выписок, Rate Limiting счетчики. |
| Поиск (Elasticsearch / OpenSearch) | OpenSearch (форк Elasticsearch 7.10) | Полнотекстовый поиск по адресам, номерам-cadastre, ФИО владельцев (в ЛК). |
| Архивные/Холодные данные | ClickHouse / GreenPlum (на базе PostgreSQL) | DWH для аналитики Минэкономразвития и внутренней отчетности. |
Важно: Использование Oracle Database или MS SQL Server на новых контурах минимизировано или полностью исключено по программе импортозамещения. Миграция с Oracle на PostgreSQL — один из ключевых IT-проектов ведомства за 2020-2024 гг.
Frontend: Клиентская часть
Публичная часть (Лендинг, Кадастровая карта, Поиск)
- Фреймворк: Vue.js 2 / 3 (Composition API) + Vuex / Pinia (State Management).
- UI Kit: Собственная дизайн-система на базе Vuetify (Material Design) или кастомная библиотека компонентов, адаптированная под ГОСТ Р 7.0.100-2018 (доступность для маломобильных групп — WCAG 2.1 AA).
- Карты: OpenLayers 6/7 (основа ПКК) + Mapbox GL JS (для векторных тайлов). Тайлы генерируются через TileServer GL / Martin из PostGIS/GeoPackage.
- Сборка: Vite (для Vue 3) или Webpack 5 (легаси Vue 2).
- SSR (Server Side Rendering): Nuxt.js 3 используется для SEO-критичных страниц (выписки, описание услуг), чтобы контент индексировался Яндекс/Google без JS-рендеринга.
Личный кабинет (ЛК) / Внутренние порталы (АРМ сотрудника)
- React 18 + TypeScript — выбран для сложных форм, визардов оформления услуг и таблиц с большим количеством данных (виртуализация через TanStack Virtual / react-window).
- State Management: Redux Toolkit (RTK Query) или React Query (TanStack Query) для серверного состояния.
- UI: Ant Design (AntD) или MUI (Material UI) с кастомной темой «Госвеб».
- Микрофронтенды: Архитектура Module Federation (Webpack 5) или Single-SPA — разные команды разрабатывают «Услуги», «Справочники», «Отчеты» как независимые приложения, собираемые в общий шелл.
Интеграционная шина и протоколы
Сайт не работает в изоляции, это шлюз в экосистему госорганов.
- СМЭВ 3 (СМЭВ 3.1.1+) — основной протокол обмена с ЕСИА, ФНС, Росфинмониторингом, нотариатами, банками. Адаптеры на Java (Spring Integration) / Go.
- REST/JSON (OpenAPI 3.0 / Swagger) — для внешних потребителей API (портал
api.rosreestr.gov.ru). - SOAP 1.2 / WS-Security, легаси-интеграции с регионами и старыми АИС, постепенно вытесняются REST.
- Kafka / RabbitMQ — внутренняя событийная шина (Event-Driven Architecture) для асинхронной обработки заявлений, генерации выписок, рассылки уведомлений.
- gRPC / Protobuf — межсервисное взаимодействие внутри кластера Kubernetes (высокая производительность, строгая типизация).
DevOps, CI/CD и Контейнеризация
- Оркестрация: Kubernetes (k8s), дистрибутив Deckhouse или Kubeadm на Astra Linux. Управление через ArgoCD (GitOps).
- CI/CD: GitLab CI (On-premise) / Jenkins (легаси); Этапы: SAST (SonarQube / GoSec / SpotBugs), DAST (OWASP ZAP), сборка Docker-образов (Buildah/Kaniko), сканирование уязвимостей (Trivy/Grype), деплой в Stage/Prod через Helm-чарты / Kustomize.
- Мониторинг и Логи: Стек VictoriaMetrics / Prometheus + Grafana (метрики), Loki / ELK (Elasticsearch-Logstash-Kibana) / Vector (логи), Jaeger / Tempo (трейсинг).
- Сертификаты: Автоматическое управление TLS через cert-manager (Let’s Encrypt для тестов / ГОСТ-сертификаты УЦ Минцифры / ФСБ для продакшена). Поддержка ГОСТ TLS (RFC 9189) — обязательное требование.
Безопасность и Соответствие (Compliance)
- ФЗ-152 (Персональные данные): Классификация ПДн — 1-4 уровни. Шифрование данных в покое (LUKS / dm-crypt + ГОСТ 28147-89 «Магма»/«Кузнечик»), шифрование в движении (TLS 1.2/1.3 с ГОСТ-сьютами).
- 149-ФЗ (Критическая информационная инфраструктура ― КИИ): Портал входит в реестр КИИ. Обязательны: СЗИ (Средства Защиты Информации) сертифицированные ФСТЭК/ФСБ, системы обнаружения атак (IDS/IPS) — Solar Dozor / PT NAD / KUMA, SIEM (Solar appScreener / LogRhythm / MaxPatrol SIEM).
- WAF (Web Application Firewall): На входе стоит Nemesis WAF / PT Application Firewall / Solar webApp (руководствуясь реестром отечественного ПО). Блокирует OWASP Top 10, бот-трафик, сканеры;
- Доступность (WCAG 2.1 AA): Семантическая верстка, ARIA-роли, контрастность, навигация с клавиатуры, поддержка скринридеров (NVDA, JAWS, встроенные в ОС).
Специфические технологии Росреестра
Публичная кадастровая карта (ПКК)
Это отдельный тяжелый высоконагруженный сервис.
- Векторные тайлы (MVT ౼ Mapbox Vector Tiles): Генерация на лету из PostGIS через Martin (Rust) или Tegola (Go).
- Растровые подложки: Ортофотопланы, спутниковые снимки — хранение в COG (Cloud Optimized GeoTIFF) в S3-совместимом хранилище (MinIO / Ceph RGW), отдача через TileServer GL.
- Координатные системы: Поддержка МСК-
*(местные системы координат) через библиотеку PROJ (proj.org) с кастомными параметрами эллипсоида Красовского / ВЫСОТЫ.
Генерация выписок (PDF)
- Цифровая подпись выписок: JCP (Java Cryptography Provider) / JCSP (КриптоПро JCP) для квалифицированной ЭП (КЭП) по ГОСТ Р 34.10-2012.
Примерная схема запроса (User Journey)
- User (Browser) -> DNS (NS-серверы Росреестра / Госхостинг).
- CDN / WAF (L7) -> Проверка репутации IP, ботов, DDoS-защита (StormWall / Qrator / Ростелеком-Солар).
- Nginx (Edge) -> SSL Offloading (ГОСТ TLS), кэш статики (immutable assets с хешами в именах).
- K8s Ingress (Nginx/Traefik) -> Роутинг к Сервису (Service).
- Pod (Java Spring Boot / Go / Node.js) -> Бизнес-логика.
- PostgreSQL (Patroni Leader) -> Чтение/Запись данных.
- Redis -> Проверка кэша выписки / сессии.
- Kafka -> Событие «Запрос выписки» -> Worker (Python/Java) -> Генерация PDF -> MinIO -> Ссылка пользователю.
Резюме: Ключевые архитектурные решения
| Категория | Технология / Решение | Драйвер выбора |
|---|---|---|
| ОС | Astra Linux SE | Импортозамещение, сертификация ФСТЭК/ФСБ |
| Core Backend | Java 17 + Spring Boot 3 | Экосистема, надежность, кадры, поддержка ГОСТ-криптографии (JCP) |
| Main DB | PostgreSQL 15+ (Patroni) + PostGIS | Отказ от Oracle, JSONB, GIS, Open Source, HA |
| GIS/Analytics | ClickHouse + OpenSearch | OLAP, Полнотекстовый поиск, Гео-аналитика |
| Frontend (Public) | Vue 3 + Nuxt 3 + OpenLayers | SSR для SEO, реактивность, работа с картами |
| Frontend (LK/Admin) | React 18 + TS + Module Federation | Сложные формы, микрофронтенды, экосистема |
| Integration | СМЭВ 3, REST/OpenAPI, gRPC, Kafka | Госстандарты, производительность, Event-Driven |
| Infra | K8s (Deckhouse) + GitLab CI + ArgoCD | GitOps, Immutable Infrastructure, Автоматизация |
| Security | WAF (Отечественный), SIEM, ГОСТ TLS, КЭП | 149-ФЗ, 152-ФЗ, Указ № 250, КИИ |
Сайт Росреестра (rosreestr.gov.ru) — это эталонный пример современного государственного высоконагруженного веб-приложения, построенного по принципам Cloud Native на отечественной программной базе. Ключевые черты:
- Полный импортозамещение стека (ОС, СУБД, Криптография, WAF, CI/CD инструменты).
- Полиглотная персистентность (PostgreSQL для транзакций, ClickHouse для аналитики, OpenSearch для поиска, Redis для кэша).
- Микросервисная / Модульная архитектура с разделением на Public API, Личный кабинет, Внутренние АРМ и GIS-ядро.
- Жесткое соответствие регуляторным требованиям (КИИ, ПДн, ГОСТ-криптография, Доступность).
Эволюция платформы идет в сторону дальнейшего расширения API-первого подхода (API First), внедрения GraphQL для гибких запросов фронтенда, перевода большего числа сервисов на Go/Rust для снижения стоимости владения инфраструктурой и усиления Zero Trust архитектуры внутри контура.
Статья подготовлена на основе открытых источников (HTTP-заголовки, JS-бандлы, реестр закупок zakupki.gov.ru, доклады на конференциях HighLoad, Russian GIS, DevOpsConf, публикации в Хабр/VC от команды разработки Росреестра/Роскadastr). Конкретные версии ПО, IP-адреса кластеров, ФИО администраторов и контактные телефоны поддержки скрыты (*) в соответствии с политикой безопасности.