From 015f98256d194d7093b2f4ca9f8ffa41e91d51d5 Mon Sep 17 00:00:00 2001 From: Shelyagin Roman Date: Mon, 28 Sep 2026 16:08:07 +0500 Subject: [PATCH] docs: enrich corporate server registry and add critical servers safety protocol MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Synchronized full physical & virtual server inventory from Wiki-Doc (172.16.8.23) - Documented servers across 213 АБК-3, 214 АБК-3, ЧЛЦ and Casting locations - Mapped hypervisors (vm-host01..05, bptp-srv3) and their VM workloads - Enforced Rule 5: Critical systems (AD, routers, scales) require human-in-the-loop manual execution without AI password access - Filtered out legacy backup instructions per policy --- AI_AGENT_PLAYBOOK.md | 4 + NETWORK_TOPOLOGY.md | 199 +++++++++++++++++++++++++++++-------------- README.md | 1 + 3 files changed, 142 insertions(+), 62 deletions(-) diff --git a/AI_AGENT_PLAYBOOK.md b/AI_AGENT_PLAYBOOK.md index 6979953..9ddc87f 100644 --- a/AI_AGENT_PLAYBOOK.md +++ b/AI_AGENT_PLAYBOOK.md @@ -32,6 +32,10 @@ - **СТРОГО ЗАПРЕЩЕНО** коммитить в Git реальные пароли, SSH-ключи, токены Telegram или базы данных. - Реальные пароли хранятся **ТОЛЬКО** в HashiCorp Vault (`http://172.16.8.8:8200`). - В Git коммитятся только обезличенные шаблоны (`.env.example`, `config.example.json`). +5. **Регламент работы с критическими серверами (Human-in-the-Loop)**: + - Контроллеры домена (`DC1`, `DC2`), пограничные маршрутизаторы (`Router`, `IdecoGW`), системы весовых (`VES`, `bptp-srv3`) и гипервизоры являются **критическими узлами жизнеобеспечения завода**. + - Пароли к этим серверам намеренно **НЕ хранятся в Vault** и не передаются агентам. + - Если пользователь просит агента помочь с критическими серверами — агент **НЕ выполняет команды напрямую**, а только формулирует безопасные команды и инструкции в чате. **Администратор сам лично копирует и выполняет команды в терминале.** --- diff --git a/NETWORK_TOPOLOGY.md b/NETWORK_TOPOLOGY.md index 284e85a..09cd9d8 100644 --- a/NETWORK_TOPOLOGY.md +++ b/NETWORK_TOPOLOGY.md @@ -1,75 +1,150 @@ -# 🗺️ Сетевая топология и реестр серверов (KSP Steel) +# 🗺️ Сетевая топология и сводный реестр серверов (KSP Steel) + +> 📌 **Источник данных:** Официальный реестр ИТ-активов предприятия (Wiki-Doc `172.16.8.23`) с актуализацией сетевого окружения и виртуализации. +> ⚠️ **Политика безопасности:** Пароли от критических серверов намеренно **НЕ хранятся** в открытом или автоматическом виде. Любое взаимодействие с ними осуществляется **только администратором вручную** по рекомендациям AI-ассистента. + +--- ## 🌐 Сегментация сети предприятия -Инфраструктура разделена на три ключевых подсети: - ``` -+-----------------------------------------------------------------------------------+ -| ПОДСЕТЬ УПРАВЛЕНИЯ И СЕРВИСОВ: 172.16.8.0/24 | -| - 172.16.8.8 : InfosystemLocal (Gitea, HashiCorp Vault, Semaphore, ChatOps Bot)| -| - 172.16.8.75 : infosystem-2 (Инфосистема 2.0, FastAPI, Vue 3, PerCo, MySQL) | -| - 172.16.8.150 : monitor-server (Zabbix 7.0, Grafana, Prometheus, Loki, Portainer)| -| - 172.16.8.151 : mailguard (Почтовый архив SOC MailGuard, Exim, Meilisearch) | -| - 172.16.8.9 : dc1 (Основной контроллер домена Active Directory, DNS, Kerberos)| -| - 172.16.8.19 : dc2 (Резервный контроллер домена Active Directory, DNS, WMI) | -| - 172.16.8.37 : db-corp-web (MySQL сервер корпоративных веб-сервисов) | -| - 172.16.8.25 : db-it-ops (MySQL сервер ИТ-мониторинга и регламентов) | -| - 172.16.8.43 : infosystem-legacy (Устаревший хост Инфосистемы) | -| - 172.16.8.40 : local-web (Локальный веб-сервер) | -| - 172.16.8.23 : wiki-doc (Корпоративная база знаний Wiki/Docs) | -| - 172.16.8.4 : exim-local (Локальный почтовый узел Exim) | -+-----------------------------------------------------------------------------------+ - | -+-----------------------------------------------------------------------------------+ -| ПОДСЕТЬ СЕРВЕРОВ ВИРТУАЛИЗАЦИИ: 172.16.15.0/24 | -| - 172.16.15.1 : vm-host01 (KVM/QEMU хост виртуализации, libvirt, ZFS storage) | -| - 172.16.15.3 : VM_Host03 (KVM гипервизор, smartctl мониторинг хранилища) | -| - 172.16.15.4 : vm-host04 (KVM гипервизор производственных систем) | -+-----------------------------------------------------------------------------------+ - | -+-----------------------------------------------------------------------------------+ -| ИЗОЛИРОВАННАЯ ПОДСЕТЬ DMZ / CLOUD: 192.168.220.0/24 | -| - 192.168.220.3 : exim-corp (Внешний корпоративный почтовый шлюз Exim) | -| - 192.168.220.103 : db-dmz-mail-ftp (MySQL почтового шлюза и передачи файлов) | -| - 192.168.220.22 : db-cloud-dns (MySQL DNS и внешних облачных сервисов) | -+-----------------------------------------------------------------------------------+ - | -+-----------------------------------------------------------------------------------+ -| СЕТЕВОЕ ХРАНИЛИЩЕ БЭКАПОВ И АРХИВОВ: 172.16.11.0/24 | -| - 172.16.11.133: Synology NAS (/volume4/INFOSEC -> /mnt/synology_infosec) | -+-----------------------------------------------------------------------------------+ ++-----------------------------------------------------------------------------------------------------+ +| СЕРВЕРНАЯ 213 АБК-3 | +| - vm-host01 (172.16.15.1 / 192.168.220.240) : KVM гипервизор DMZ и внешних служб | +| - vm-host02 (172.16.15.2 / 192.168.220.98) : KVM хост пограничного роутера | +| - vm-host03 (172.16.15.3 / 10.0.0.10) : KVM хост внутренних сервисов, баз данных, DC2 | +| - vm-host04 (172.16.15.4) : KVM хост основного контроллера домена DC1 и VES | +| - VM-HOST05 (172.16.8.5 / 10.0.0.10) : Proxmox VE кластер (MailGuard, PBS, Zabbix/Grafana) | +| - IdecoGW (172.16.8.1 / 192.168.220.4) : Главный межсетевой экран и шлюз безопасности (IPS) | +| - FS (172.16.8.7 / 172.16.8.8) : Корпоративный файловый сервер Windows Server | +| - mailbox-backup (172.16.8.85) : Архив почтовых копий The Bat! | +| - omv-backup02 (172.16.8.24) : OpenMediaVault + CasaOS | +| - vms (172.16.15.101) : Сервер видеонаблюдения NeuroStation 8800R | ++-----------------------------------------------------------------------------------------------------+ + | ++-----------------------------------------------------------------------------------------------------+ +| СЕРВЕРНАЯ 214 АБК-3 | +| - backup (172.16.8.11) : Главный сервер резервного копирования | +| - trassir (172.16.5.100 / 172.16.15.100): Видеосервер Trassir NeuroStation | +| - trassir-srv2 (172.16.15.50) : Резервный видеосервер Trassir NeuroStation | ++-----------------------------------------------------------------------------------------------------+ + | ++-----------------------------------------------------------------------------------------------------+ +| ПРОИЗВОДСТВЕННЫЕ ПЛОЩАДКИ (ЧЛЦ, КАСТИНГ, ДИНАМИЧЕСКАЯ ВЕСОВАЯ) | +| - omv-backup01 (172.16.8.15) : Сервер РК в АБК ЧЛЦ (OpenMediaVault) | +| - ubuntu-gw (172.16.11.130 / 192.168.0.104): Изолированный DHCP-шлюз площадки «Кастинг» | +| - bptp-srv3 (172.16.11.1 / 192.168.0.111): Сервер динамической весовой (KVM: DB, Web, Win) | +| - Synology NAS (172.16.11.133) : Центральное хранилище NFS/CIFS (/volume4/INFOSEC) | ++-----------------------------------------------------------------------------------------------------+ ``` --- -## 🖥️ Сводный реестр серверов и доступов +## 🏢 1. Физические серверы по локациям -| Имя хоста | IP-адрес | Роль / Назначение | ОС / Стек | Порты | Путь к секрету в HashiCorp Vault | -| :--- | :--- | :--- | :--- | :--- | :--- | -| **InfosystemLocal** | `172.16.8.8` | Gitea, HashiCorp Vault, Semaphore, Telegram Bot | Debian 12 (Linux 6.17 PVE) | `22` (SSH)
`80` (Gitea)
`8200` (Vault)
`3000` (Semaphore) | `servers/data/server-8-8` | -| **monitor-server** | `172.16.8.150` | Центральный сервер мониторинга и телеметрии | Ubuntu 25.04 (Docker) | `22` (SSH)
`80` (Zabbix)
`3000` (Grafana)
`3100` (Loki)
`8000/9443` (Portainer)
`9090` (Prometheus)
`9095` (Alert Bridge)
`10051` (Zabbix Core) | `servers/data/server-150` | -| **mailguard** | `172.16.8.151` | Архив корпоративной почты ИБ | Debian 12 (Docker) | `22` (SSH)
`80` (Web UI)
`2525` (Ingestion) | `servers/data/server-151` | -| **infosystem-2** | `172.16.8.75` | Портал предприятия Инфосистема 2.0 | Proxmox LXC (Docker) | `22` (SSH)
`8090` (Web)
`8091` (API)
`3307` (MySQL) | `servers/data/server-75` | -| **vm-host01** | `172.16.15.1` | Физический гипервизор KVM | Linux KVM / QEMU | `22` (SSH), `9100` (Node Exp) | `servers/data/vm-host01` | -| **VM_Host03** | `172.16.15.3` | Физический гипервизор KVM | Linux KVM / QEMU | `22` (SSH), `9100`, `9633` (Smartctl) | `servers/data/vm-host03` | -| **vm-host04** | `172.16.15.4` | Физический гипервизор KVM | Linux KVM / QEMU | `22` (SSH), `9100` (Node Exp) | `servers/data/vm-host04` | -| **dc1** | `172.16.8.9` | Primary Domain Controller AD | Windows Server | `53, 88, 389, 445, 5985` (WinRM) | — (WinRM NTLM) | -| **dc2** | `172.16.8.19` | Secondary Domain Controller AD | Windows Server | `53, 88, 389, 445, 5985` (WinRM), `9182` | — (WinRM NTLM) | -| **db-dmz-mail-ftp**| `192.168.220.103`| База данных почты и FTP | Linux / MySQL 8 | `22` (SSH), `3306` (MySQL) | `servers/data/mysql-main` | -| **db-corp-web** | `172.16.8.37` | База данных корпоративных сайтов | Linux / MySQL 8 | `22` (SSH), `3306` (MySQL), `9104` | `servers/data/mysql-main` | -| **db-cloud-dns** | `192.168.220.22` | База данных Cloud DNS | Linux / MySQL 8 | `22` (SSH), `3306` (MySQL) | `servers/data/mysql-special` | -| **db-it-ops** | `172.16.8.25` | База данных ИТ-операций | Linux / MySQL 8 | `22` (SSH), `3306` (MySQL) | `servers/data/mysql-special` | +| Имя хоста | IP-адрес | Локация | Роль / Назначение | ОС / Платформа | Режим управления | +| :--- | :--- | :--- | :--- | :--- | :---: | +| **IdecoGW** | `172.16.8.1`
`192.168.220.4`
`192.168.102.1` | 213 АБК-3 | Главный межсетевой экран предприятия, маршрутизация, фильтрация, IPS | Ideco UTM | 🔴 Вручную | +| **vm-host01** | `172.16.15.1`
`192.168.220.240` | 213 АБК-3 | KVM гипервизор (серверы DMZ, внешняя почта, DNS, базы данных) | Rocky Linux 8.10 (KVM/QEMU) | 🟡 Vault / Ручной | +| **vm-host02** | `172.16.15.2`
`192.168.220.98` | 213 АБК-3 | KVM хост пограничного маршрутизатора `Router` | Debian 7 (KVM/QEMU) | 🔴 Вручную | +| **vm-host03** | `172.16.15.3`
`10.0.0.10` | 213 АБК-3 | KVM гипервизор (Инфосистема, локальные MySQL, DC2, Wiki, GLPI) | Linux KVM / QEMU | 🟡 Vault / Ручной | +| **vm-host04** | `172.16.15.4` | 213 АБК-3 | KVM гипервизор (Контроллер домена DC1, весовая система VES) | CentOS 7 (KVM/QEMU) | 🔴 Вручную | +| **VM-HOST05** | `172.16.8.5`
`10.0.0.10` | 213 АБК-3 | Кластерный гипервизор Proxmox VE (MailGuard, PBS, Monitor, Library) | Proxmox VE 9.1 (Debian 13) | 🟡 Proxmox / SSH | +| **FS** | `172.16.8.7`
`172.16.8.8` | 213 АБК-3 | Главный файловый сервер предприятия (SMB/CIFS) | Windows Server 2012 Std | 🔴 Вручную | +| **mailbox-backup**| `172.16.8.85` | 213 АБК-3 | Хранилище резервных копий почты The Bat! | Windows 7 Pro (20 TB дисков) | 🔴 Вручную | +| **omv-backup02** | `172.16.8.24` | 213 АБК-3 | Сервер РК OpenMediaVault + CasaOS (`:8080`, `:8844`) | Debian 12 (OMV) | 🔴 Вручную | +| **vms** | `172.16.15.101` | 213 АБК-3 | Видеосервер NeuroStation 8800R/64 | Linux (Trassir OS) | 🔴 Вручную | +| **backup** | `172.16.8.11` | 214 АБК-3 | Главный физический сервер резервного копирования | Linux / Windows | 🔴 Вручную | +| **trassir** | `172.16.5.100`
`172.16.15.100` | 214 АБК-3 | Видеосервер Trassir NeuroStation | Linux (Trassir OS) | 🔴 Вручную | +| **trassir-srv2** | `172.16.15.50` | 214 АБК-3 | Дополнительный видеосервер Trassir NeuroStation | Linux (Trassir OS) | 🔴 Вручную | +| **omv-backup01** | `172.16.8.15` | АБК ЧЛЦ | Сервер резервного копирования в чугунолитейном цехе | Debian (OMV) | 🔴 Вручную | +| **ubuntu-gw** | `172.16.11.130`
`192.168.0.104` | Кастинг | Изолированный DHCP-шлюз и фаервол площадки Кастинг | Ubuntu Server | 🔴 Вручную | +| **bptp-srv3** | `172.16.11.1`
`192.168.0.111` | Кастинг | Физический сервер динамической весовой (KVM) | Linux (libvirt/qemu) | 🔴 Вручную | +| **Synology NAS**| `172.16.11.133` | Серверная | Корпоративный сетевой массив хранения (NFS `/volume4/INFOSEC`) | Synology DSM | 🔴 Вручную | --- -## 🔑 Мастер-ключ SSH для AI-агентов +## 🗄️ 2. Виртуальные серверы по гипервизорам -Для автоматического беспарольного доступа root ко всем серверам в Vault сохранен закрытый ключ Ed25519: -* **Путь в Vault**: `servers/data/master-ssh-key` -* **Поле**: `private_key` -* **Публичный ключ**: - ``` - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF0rW5m6mvAg+Q9nDXCN6+H8i3w/QjyWLbGSJC3L+/Bw shelyagin_ra@KPP019011 - ``` -Этот ключ прописан в `/root/.ssh/authorized_keys` на всех ключевых серверах инфраструктуры (`172.16.8.8`, `172.16.8.151`, `172.16.8.150`). +### 🟢 Узел `vm-host01` (DMZ и внешние службы) +*Физический IP:* `172.16.15.1` / `192.168.220.240` + +| Имя ВМ | IP-адрес | Роль / Назначение | ОС / Стек | Порты | +| :--- | :--- | :--- | :--- | :--- | +| **pdns** | `192.168.220.20`
`10.10.0.2` | Авторитативный PowerDNS сервер предприятия | Rocky 9.5 | `53` (DNS), `80` (PowerAdmin) | +| **dns** | `192.168.220.17` | Внутренний BIND9 DNS-сервер (`named`) | CentOS 7 | `53` (DNS) | +| **exim-corp** | `192.168.220.3` | Внешний корпоративный почтовый шлюз Exim + Dovecot | Linux | `25`, `465`, `587`, `993`, `995` | +| **mysql-dmz(new)**| `192.168.220.22`
`10.10.0.1` | База данных PowerDNS и внешних сервисов (MySQL 8.0) | Rocky 9.5 | `3306`, `80` (phpMyAdmin) | +| **mysql-dmz** | `192.168.220.103` | Устаревший сервер баз данных MySQL 5.1 | Debian 6.0 | `3306`, `80` (phpMyAdmin) | +| **ftp** | `192.168.220.102` | Корпоративный FTP-сервер | Debian 7 | `21`, `20` | +| **sftp** | `192.168.220.24` | SFTP/SCP/WebDAV сервер защищенной передачи файлов | Linux | `22`, `80`, `443` | +| **nextcloud** | `192.168.220.8` | Приватное корпоративное облако файлов Nextcloud | Linux | `80`, `443` | + +--- + +### 🟢 Узел `vm-host02` (Пограничная маршрутизация) +*Физический IP:* `172.16.15.2` / `192.168.220.98` + +| Имя ВМ | IP-адрес | Роль / Назначение | ОС / Стек | +| :--- | :--- | :--- | :--- | +| **router** | `192.168.220.123`
`95.141.140.146-157/28`
`37.150.207.182/30` | Главный роутер, балансировка провайдеров (Jusan / Transtelecom), фаервол iptables | Gentoo Linux (ядро 3.14) | + +--- + +### 🟢 Узел `vm-host03` (Локальные сервисы и базы данных) +*Физический IP:* `172.16.15.3` / `10.0.0.10` + +| Имя ВМ | IP-адрес | Роль / Назначение | ОС / Стек | Порты | +| :--- | :--- | :--- | :--- | :--- | +| **DC2** | `172.16.8.19` | Резервный контроллер домена Active Directory, DNS, WMI | Windows Server 2012 R2 | `53, 88, 389, 445, 5985, 9182` | +| **infosystem** | `172.16.8.43`
`10.0.0.14` | Сервер устаревшей Инфосистемы (CentOS) | CentOS 7 (PHP / Apache) | `80`, `9100` | +| **mysql-local(new)**| `172.16.8.25`
`10.0.0.1` | Основной сервер БД регламентов и систем (MySQL 8.0) | Rocky 9.6 | `3306`, `9100` | +| **mysql-local** | `172.16.8.37`
`10.0.0.11` | Сервер БД корпоративных веб-сервисов (MySQL) | Debian 6 / MySQL | `3306`, `9100`, `9104` | +| **exim-local** | `172.16.8.4`
`10.0.0.12` | Внутренний почтовый шлюз Exim | Debian 6 | `25`, `9100` | +| **web** | `172.16.8.40`
`10.0.0.13` | Внутренний веб-сервер предприятия | Debian 6 | `80`, `9100` | +| **wiki-doc** | `172.16.8.23`
`10.0.0.4` | База знаний и документация предприятия (Wiki.js) | Rocky 9.6 (Podman + MySQL) | `3000` (Web), `22`, `9100` | +| **glpi** | `172.16.8.44`
`10.0.0.2` | Система учета ИТ-активов и заявок GLPI | Rocky 9.6 | `80`, `443` | +| **zabbix** | `172.16.8.50`
`10.0.0.3` | Дополнительный/архивный сервер мониторинга | Rocky 9.6 | `80`, `10051` | + +--- + +### 🟢 Узел `vm-host04` (Контроллер домена и весовые) +*Физический IP:* `172.16.15.4` + +| Имя ВМ | IP-адрес | Роль / Назначение | ОС / Стек | Порты | +| :--- | :--- | :--- | :--- | :--- | +| **DC1** | `172.16.8.9` | Основной контроллер домена Active Directory (PDC), DNS, Kerberos | Windows Server 2012 R2 | `53, 88, 389, 445, 5985` | +| **VES** | `172.16.8.6` | База данных и сервер весовой системы предприятия | Windows Server 2016 Std | `1433` (MSSQL), `3389` | + +--- + +### 🟢 Узел `VM-HOST05` (Proxmox VE кластер) +*Физический IP:* `172.16.8.5` / `10.0.0.10` + +| Тип / ID | Имя хоста | IP-адрес | Роль / Назначение | ОС / Стек | +| :---: | :--- | :--- | :--- | :--- | +| **VM 104** | **mailpiler** (MailGuard) | `172.16.8.151` | Архив корпоративной почты ИБ (SOC), 700k+ писем, DLP-фильтрация | Ubuntu 26.04 (Docker: Nginx, Piler, MariaDB, Manticore) | +| **VM 111** | **pbs-server** | `172.16.8.x` | Proxmox Backup Server (дедупликация и бэкапы ВМ) | Proxmox PBS | +| **LXC 105**| **monitor-server** | `172.16.8.150` | Центральный мониторинг (Zabbix 7.0, Grafana, Prometheus, Loki, Portainer) | Ubuntu 25.04 (Docker Compose) | +| **LXC 112**| **corp-library** | `172.16.8.x` | Корпоративная электронная библиотека предприятия | Linux | + +--- + +### 🔵 Узел `bptp-srv3` (Динамическая весовая) +*Физический IP:* `172.16.11.1` / `192.168.0.111` + +| Имя ВМ | IP-адрес (изолированный) | Назначение | ОС | +| :--- | :--- | :--- | :--- | +| **vm-dynves-db** | `10.0.0.2` / `10.0.0.10` | Сервер базы данных динамической весовой | Gentoo Linux | +| **vm-dynves-web**| `10.0.0.11` | Веб-интерфейс динамической весовой | Gentoo Linux | +| **vm-dynves-win**| `10.0.0.3` | Серверная управляющая часть ДВ | Windows 7 SP1 | + +--- + +## 🔒 Матрица ответственности и разграничения доступа + +| Категория систем | Перечень хостов | Доступ AI-агентов | Регламент обслуживания | +| :--- | :--- | :---: | :--- | +| **Критические производственные узлы (L1)** | `DC1`, `DC2`, `VES`, `Router`, `IdecoGW`, `bptp-srv3` | 🔴 **СТРОГО ЗАПРЕЩЕН** прямой доступ и изменение паролей | Только администратор предприятия вручную. Агент формирует рекомендации и команды. | +| **Гипервизоры и СХД (L2)** | `vm-host01..04`, `VM-HOST05`, `Synology`, `FS`, `backup` | 🟡 **ТОЛЬКО Read-Only** мониторинг телеметрии (Node Exporter, SSH с подтверждением) | Создание бэкапов перед изменениями, проверка свободного места на ZFS. | +| **Сервисные платформы автоматизации (L3)** | `172.16.8.8` (Vault, Semaphore, Gitea), `172.16.8.150` (Мониторинг), `172.16.8.151` (MailGuard), `172.16.8.75` (Инфосистема 2.0) | 🟢 **ПОЛНЫЙ доступ** через Master SSH Key и Vault | Автоматизация развертывания, GitOps, аудит через Semaphore и ChatOps. | diff --git a/README.md b/README.md index 3ea06a7..920288f 100644 --- a/README.md +++ b/README.md @@ -44,3 +44,4 @@ * **Панель оркестрации задач (Semaphore UI)**: `http://172.16.8.8:3000/` * **Почтовый архив ИБ (MailGuard)**: `http://172.16.8.151/` * **Портал предприятия (Инфосистема 2.0)**: `http://172.16.8.75:8090/` +* **Корпоративная документация (Wiki.js)**: `http://172.16.8.23:3000/`