niikn: Finland VPS 78.17.4.225 лёг 2026-06-29 — весь обход (Claude/TG/WA) down, VM остановлена на Spaceweb; обновлён статус в памяти

This commit is contained in:
dttb
2026-06-29 16:11:13 +03:00
parent 568fdbeb3a
commit 1204f56d9f
42 changed files with 1269 additions and 5 deletions

View File

@@ -119,6 +119,14 @@ tags: [dttb, mail]
- Ручной прогон: `/root/sync-mailcow-cert.sh`.
- Cert: ECDSA P-384, LE E-series; пару проверять по pubkey (`openssl rsa` на нём врёт — даёт пустой modulus).
### Dual-cert RSA+ECDSA для старых клиентов (2026-06-28)
Effector Saver 4.8 на MMFB (TLS 1.0 + только RSA-шифры) не мог отправить почту: mailcow на 587 отдавал только **ECDSA-серт + TLS≥1.2**`SSL negotiation failed`. Добавлена RSA-совместимость, всё в `data/conf/postfix/extra.cf` (бэкап `.bak-rsa-*`):
- Self-signed RSA `data/assets/ssl/rsa-cert.pem`+`rsa-key.pem` (CN=mail.dttb.ru, 10 лет) в `smtpd_tls_cert_file/key_file`; ECDSA `cert.pem/key.pem` переведён в `smtpd_tls_eccert_file/eckey_file` → postfix отдаёт оба семейства шифров.
- `submission_smtpd_tls_mandatory_protocols = >=TLSv1` и `smtps_..._protocols = >=TLSv1` — TLS 1.0/1.1 разрешён **только** на 587/465 (порт 25 и общий — нетронуты).
- ⚠️ Cert-sync cron (04:30) трогает только ECDSA `cert.pem` — наш RSA-серт отдельный, не конфликтует; reload postfix сохраняет extra.cf.
- ⚠️ Компромисс безопасности: TLS 1.0 на портах отправки. Снять, когда Effector обновят. Revert: убрать строки из extra.cf + `docker compose restart postfix-mailcow`.
- Детали инцидента: [[../../decisions/2026-06-28-mmfb-1c-cluster-ports-exposed-bruteforce]].
## ⚠️ КОРНЕВОЙ ФИКС входящего спама (2026-06-27)
Жалоба: письма на `support@dttb.ru` (новый ящик) падают в спам, на старые ящики — нет.
**Корень:** на домашнем OpenWrt (`10.0.0.1`) у LAN-зоны было `masq=1`. Входящее `WAN:25 → DNAT → 10.0.0.107` уходило в LAN-зону и **SNAT'илось в `10.0.0.1`** → postfix/rspamd видели source = `10.0.0.1` для **ВСЕХ** внешних писем.

View File

@@ -27,3 +27,14 @@ VM 100 на [[proxmox-inventory|pve LionART]] — Windows Server 2022 Standard (
### 2026-05-28: `efsaveragent` не стартовал → Account locked
См. [[../../decisions/2026-05-28-mmfb-effector-saver-locked-admin|decision]]. Кратко: SCM каждую минуту ломился в `.\Администратор` с устаревшим в LSA-секретах паролем → BadPwd-счётчик дошёл до lockout-порога → служба не могла стартануть **и** Администратор оказался залочен. Решение: остановить SCM (`start= disabled`), разблокировать через ADSI `IsAccountLocked = 0`, проверить актуальный пароль через `LogonUser` API, прошить заново через `sc.exe config ... password=`, вернуть `start= auto`. Текущий пароль `Администратор``OL260380eg` (валиден на 2026-05-28).
### 2026-06-28: РЕЦИДИВ оказался внешней атакой (корень)
См. [[../../decisions/2026-06-28-mmfb-1c-cluster-ports-exposed-bruteforce|decision]]. Лочило не SCM, а **распределённый интернет-brute по 1С-кластер-портам**, проброшенным с MikroTik (1540/1541/1560-1591). Фикс — whitelist сайта `frame.ru` (92.53.96.188) на роутере. Поставлен **watchdog** `antoshka-watch-effector.sh` (Антошка LXC 137, cron */10): SSH-проверка efsaveragent+lockout, self-heal, алерт TG+email.
## Effector Saver — конфигурация (выяснено 2026-06-28)
- **Версия:** Effector Saver 4.8. Агент `efsaveragent` под `.\Администратор` (НЕ переводить на LocalSystem — сломает OneDrive-коннектор, привязан к профилю; и не нужно — корень локаута закрыт).
- **Хранилище:** **OneDrive** через Microsoft Graph API (коннектор Effector, НЕ десктоп-клиент — его на машине нет). Аккаунт **`mmfb@7ppcln.onmicrosoft.com`** / `Gow18155` (M365 tenant). OAuth-авторизация предоставлена, «Тест» = `Status: Connected`. Папка в облаке: `/Backap Server 1C Lion-ART/<задача>`.
- **Локальный staging:** `D:\<Папка>\<задача>`**копии удаляются после выгрузки** (папки пусты). Историю задач программно не прочитать (`esdata.db` = проприетарная Absolute Database, не SQLite).
- **Задачи (6, расписание ежедн. 1:006:00):** `BP-MMFB-3` 1:00, `BP-SP-3` 2:00, `LION-UT-NEW` 3:00, `ZUP-MMFB` 4:00, `ZUP-SP` 5:00, `Files1C` 6:00.
- **Мониторинг свежести бэкапа:** файловый с коробки невозможен (копии удаляются). Правильно — **штатные email-уведомления Effector**`support@dttb.ru` (per-task успех/ошибка, ловит сбой выгрузки). SMTP в `efsaver.ini` пуст — настраивается в GUI (Сервис → настройки). Watchdog ловит только службу/lockout, НЕ результат выгрузки и НЕ протухание OAuth-токена.
- **Риск:** OneDrive = облако MS (US): геоблок RU может тихо ронять выгрузку; против курса ухода от US-big-tech. Альтернатива — Effector → Nextcloud WebDAV (dttb.ru).

View File

@@ -20,3 +20,20 @@ tags: [mmfb, lionart, network]
## WireGuard
Активных туннелей нет. 2026-04-20 поднимался временный `wg-niikn` (NSPD bypass для НИИКН) — откачено вечером того же дня из-за замедления общего трафика на стороне НИИКН. Описание схемы, ключи и причины отката — [decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md](../../decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md).
## Локдаун периметра (2026-06-29, инцидент с атакой на 1С)
После brute-force на 1С-порты ([decisions/2026-06-28-mmfb-1c-cluster-ports-exposed-bruteforce](../../decisions/2026-06-28-mmfb-1c-cluster-ports-exposed-bruteforce.md)) закрыт весь лишний доступ из интернета. Всё помечено `incident-20260629`, `disabled` (обратимо одной командой).
**Что было выставлено наружу (`195.26.30.163`) и хост:**
- `.10` `KOMPUTER` (Gigabyte ПК) — 3389 RDP; `.240` 1С — 1540/1541/1560-1591; `.25` `NPM` — 80/443/**81**(админка); `.40` `agentdvr`**1723 PPTP**; `.49` `WG` — 22/**40235udp**(WireGuard); `.205` `ovpn` — 2222/**1174udp**(OpenVPN); `.200` Proxmox — 8006; `.245` — 8007.
**Закрыто (NAT dstnat `disabled`):** 3389, 22→.49, 2222→.205, 8006, **81 (было ДВА правила-дубля — гасить `disable [find chain=dstnat dst-port=81]`)**, 1723, 8007.
**Оставлено:** 80/443 (сайты NPM), 40235udp (WG), 1174udp (OpenVPN), 1С-порты (за forward-whitelist только frame.ru `92.53.96.188`).
**Сам роутер закрыт от WAN:**
- `/ip service` ssh(22)/winbox(7777)/www(80) → `address=10.253.1.0/24,100.70.0.0/16` (только LAN+NetBird).
- input drop winbox: `chain=input drop protocol=tcp dst-address=195.26.30.163 dst-port=7777,8291`.
- ⚠️ **Грабля:** filter-правила по `in-interface=ether1-gw-telekom` (без порта) молча становятся **`invalid`** на этом роутере. Рабочий матч — по **`dst-address=<публичный IP>`** + порт (как NAT-правила).
- Проверять закрытие **с чистого внешнего хоста** (Антошка `pct exec 137`), НЕ с Mac — Mac через NetBird/split-DNS даёт ложные «открыто» (ходит на домашний NPM).
Управление всем (роутер/Proxmox/ПК/серверы MMFB) теперь — **только через NetBird-VPN**.

View File

@@ -0,0 +1,167 @@
---
title: Отчёт об инциденте ИБ — атака на сервер 1С (LionART)
date: 2026-06-29
recipient: Юрий Витальевич (руководитель ММФБ)
author: Батлаев О., ИТ-сопровождение
tags: [mmfb, lionart, security, incident, report]
---
# ОТЧЁТ ОБ ИНЦИДЕНТЕ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
| | |
|---|---|
| **Кому** | Руководителю ММФБ — Юрию Витальевичу |
| **От кого** | Батлаев О., ИТ-сопровождение |
| **Дата** | 29 июня 2026 г. |
| **Объект** | Сервер 1С (LionART, Windows Server 2022) |
| **Тип события** | Атака из интернета (подбор паролей) → отказ резервного копирования |
---
## 1. Кратко (главное)
С **25 по 28 июня** сервер 1С подвергался непрерывной автоматизированной атаке из интернета — **подбору паролей** к учётной записи администратора с множества серверов по всему миру.
-**Взлома не произошло.** Несанкционированного доступа не было, данные 1С не скомпрометированы.
- ⚠️ **Побочный ущерб:** из-за защитной блокировки учётной записи перестала работать служба резервного копирования — **копии не создавались 3 дня (2528 июня)**. Более ранние резервные копии сохранены.
-**Угроза устранена 28 июня.** Атака заблокирована, резервное копирование восстановлено, настроены круглосуточный мониторинг и оповещения.
На текущий момент сервер работает штатно, угроза нейтрализована, ведётся автоматический контроль.
---
## 2. Что произошло
У сервера 1С есть служебные сетевые «двери» (порты) платформы «1С:Предприятие»:
- **1540** — агент сервера 1С (ragent);
- **1541** — менеджер кластера 1С (rmngr);
- **15601591** — рабочие процессы 1С.
1. На пограничном маршрутизаторе эти порты были **открыты в интернет** — исторически, для обмена данными с сайтом frame.ru.
2. Эту открытость обнаружили злоумышленники. С **десятков арендованных серверов** (хостинги в Болгарии, России и др.) шёл массовый перебор паролей к учётной записи `Администратор`.
3. Защита Windows при 10 неверных попытках **блокирует учётную запись** на 10 минут. Атака добивала этот порог **каждые ~10 минут круглосуточно**.
4. Под этой же учётной записью работает служба резервного копирования **Effector Saver**. Пока запись заблокирована — служба не стартует. Итог: **резервные копии не выполнялись с 25 по 28 июня**.
### Почему именно сейчас (триггер)
По журналам сервера: утром 25.06 бэкапы ещё проходили; к **15:12 25.06** учётная запись уже была заблокирована — ровно в момент **перезапуска сервера 1С** (Event 7036, «1C:Enterprise 8.3 Server Agent» → «работает», 15:13). На сервере две версии платформы (`8.3.27.1936` → работает `8.3.27.2214`) — **обновление 1С 2425 июня подтверждается**.
Вывод: обновление/перезапуск 1С стало **спусковым крючком** — после перезапуска открытые наружу порты кластера снова «ожили», и боты нашли их за часы. **Само обновление не виновато** — оно лишь активировало давно существовавшую уязвимость (открытые в интернет порты 1С).
---
## 3. Был ли взлом? Оценка ущерба
**Признаков взлома НЕ обнаружено** (проверено по журналам безопасности Windows):
- **0 успешных входов** со стороны атакующих за 48 часов. Парадоксально, но автоматическая блокировка учётной записи **защитила** сервер — не дала подобрать пароль.
- Посторонних учётных записей, программ-закладок, подозрительных служб — **не найдено**.
- Данные 1С и резервные копии — **не затронуты**.
**Единственный реальный ущерб** — отсутствие свежих резервных копий за 2528 июня (3 дня).
---
## 4. Первопричина
Служебные порты сервера 1С были напрямую доступны из интернета. Это создавало сразу два риска: подбор паролей (что и реализовалось) и потенциальное удалённое исполнение кода (порты кластера 1С — известная цель атак).
---
## 5. Принятые меры (28 июня)
1. **Атака заблокирована на маршрутизаторе.** Доступ к портам 1С оставлен **только для сервера сайта frame.ru**; весь остальной интернет к этим портам — запрещён.
2. **Восстановлены учётная запись и резервное копирование.** Запись разблокирована, служба запущена, копирование возобновлено.
3. **Настроен автоматический «сторож».** Независимый сервер каждые 10 минут проверяет резервное копирование и состояние учётной записи; при сбое — сам восстанавливает работу и присылает оповещение в Telegram и на корпоративную почту.
4. **Подключены отчёты о бэкапах.** Ежедневная сводка о выполнении резервного копирования отправляется на корпоративную почту `support@dttb.ru`.
---
## 6. Текущий статус
- Сервер 1С работает штатно, резервное копирование возобновлено.
- Атака продолжается из интернета, но **полностью блокируется** на маршрутизаторе (см. приложение — отбито свыше 342 000 вредоносных пакетов).
- Число блокировок учётной записи снизилось с **67 в час до практически нуля**.
- Мониторинг и оповещения работают круглосуточно.
---
## 7. Закрытие портов — ВЫПОЛНЕНО (29 июня)
После аудита маршрутизатора **закрыт весь лишний доступ из интернета** (проверено с внешнего хоста):
| Закрыто 🔒 | Было открыто на |
|---|---|
| RDP **3389** | пользовательский ПК «KOMPUTER» |
| SSH **22, 2222** | служебные хосты |
| Админка роутера **winbox 7777 / 8291** | MikroTik |
| Панель **Proxmox 8006** | гипервизор |
| Админка **NPM 81** | прокси |
| **PPTP 1723**, **8007** | прочее |
Управление роутером (SSH/winbox/web) дополнительно ограничено: принимается **только из локальной сети и VPN**. Сайты (80/443) и защищённые VPN-каналы — работают. Итог: **всё администрирование — только через VPN, прямого доступа из интернета нет.**
Рекомендация на будущее:
🔴 **Порты 1С — 1540, 1541, 15601591** (сервер 1С `10.253.1.240`) сейчас прикрыты «белым списком» (только сайт frame.ru). Финально — убрать из интернета совсем, обмен с сайтом перевести на защищённый канал.
🟠 **Тот же класс риска — тоже закрыть/ограничить** (выявлено на маршрутизаторе):
- **3389 (удалённый рабочий стол RDP)** → ПК `10.253.1.10` — частая цель атак;
- **8006 (панель Proxmox)** → `10.253.1.200`, **81 (админка сетевого шлюза)**`10.253.1.25` — административные интерфейсы;
- **22 / 2222 (SSH)** → `.49`/`.205`, **1723 (устаревший VPN PPTP)**`.40` — пересмотреть необходимость.
**Принцип:** доступ ко всем служебным/административным интерфейсам — **только через защищённый VPN** (NetBird), не напрямую из интернета. Наружу оставить лишь то, что действительно должно быть публичным (сайты — 80/443).
**Организационно:**
- Рассмотреть перенос резервных копий с внешнего облака (Microsoft OneDrive) на собственное хранилище компании.
- Усиление и регулярная смена пароля администратора.
---
*Подготовил: Батлаев О., ИТ-сопровождение. 29.06.2026.*
---
---
# ПРИЛОЖЕНИЕ. Технические доказательства
### A. Источники атаки (выборка, по данным whois)
| IP-адрес / сеть | Принадлежность |
|---|---|
| 94.26.88.0/24, 94.26.68.0/24 | Razinet Dedicated Servers, **Болгария** (арендованные серверы) |
| 185.56.162.72 | Hosting-VDS, РФ |
| 217.74.38.154 | DataFort LLC, РФ |
| 38.253.156.213 | Cogent (магистральный провайдер) |
| 154.57.197.99 | анонимный хостинг (ARIN) |
| 95.68.225.46, 185.46.47.157, 212.23.222.71 | хостинг-провайдеры РФ/ЕС |
**Вывод:** трафик шёл с десятков арендованных серверов (хостинг/VDS), а не от реального пользователя — характерная картина автоматизированного перебора. Подбирались типовые служебные имена: `Administrator`, `1C`, `ADM1C`, `USER`, `SUPERUSER`, `88888888` и т. п.
### B. Объём заблокированной атаки (счётчики маршрутизатора, ~9 часов после блокировки)
| Правило защиты | Отбито пакетов |
|---|---|
| Блокировка болгарских сетей | **302 723** |
| Запрет прочих источников к портам 1С | **39 315** |
| **Итого** | **≈ 342 000 вредоносных пакетов** |
### C. Хронология блокировок учётной записи `Администратор` (журнал безопасности, событие 4740)
| Время | Блокировок |
|---|---|
| 28.06, 16:0021:00 | по **67 в час** (атака активна) |
| 28.06, 22:00 | 2 (момент применения защиты) |
| 29.06, 07:00 | 1 (единичная остаточная) |
Контраст «до/после» наглядно показывает эффект защиты.
### D. Индикатор взлома (событие 4624 — успешные входы со стороны атаки)
**0 за 48 часов.** Несанкционированного доступа не было.
### E. Подтверждение простоя резервного копирования
Журнал задач Effector Saver: последний успешный прогон всех 6 задач — **25.06.2026**, следующий — после восстановления службы 28.06.
---
*Доказательная база сформирована из журналов безопасности Windows (события 4625/4740/4624), таблицы соединений и счётчиков пограничного маршрутизатора, данных whois и журнала задач Effector Saver. Детальные выгрузки доступны по запросу.*