docker-infrastructure/2026-06-05-05-osk-laptop-sm...

169 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Удалённый доступ ноутбука к SMB-шарам и Work Folders на serverfile (ОСК)
server: serverfile (192.168.0.11)
client: 05-osk
date: 2026-06-05
---
# Удалённый доступ ноутбука к файлам ОСК: SMB-шары + Work Folders
Итоговая схема того, как пользователь-ноутбук (вне офиса, без VPN) получает доступ к своим
сетевым папкам и рабочему столу на `serverfile`. Проверено в продакшене 2026-06-05 на клиенте
`OSK-000` (IP `10.0.0.219`, пользователь `CORP\Maslo`, изолирован от DC).
Связанные документы: [`runbooks/work-folders-direct-publish-kerberos-osk.md`](../runbooks/work-folders-direct-publish-kerberos-osk.md),
[`runbooks/kdc-proxy-smb-over-quic-setup.md`](../runbooks/kdc-proxy-smb-over-quic-setup.md),
профили [serverfile](../servers/windows/05-osk-serverfile.md), [serverwsus](../servers/windows/05-osk-serverwsus.md).
---
## 1. Что сделано (кратко)
1. **SMB over QUIC** на `serverfile` (WS2025) — удалённый доступ к SMB-шарам по UDP/443 без VPN.
2. **KDC proxy** вынесен на `serverwsus` (WS2019, `kdcproxy.osk.team`) — удалённый клиент без видимости
контроллера домена получает Kerberos-билеты по HTTPS (MS-KKDCP). Раньше стоял на serverfile, перенесён,
чтобы освободить TCP/443 под Work Folders.
3. **Work Folders** на `serverfile` (общий ресурс `work_folders`) — синхронизация **только рабочего стола**
с локальным кэшем (офлайн-доступ). Опубликован **напрямую** с serverfile, аутентификация — нативный
Kerberos через тот же KDC proxy.
4. **Перенаправление папок (Folder Redirection):** все папки (Документы, Загрузки, Изображения и т.д.)
остаются на SMB-шаре; рабочий стол перенаправлен в Work Folders.
5. Сертификат Work Folders заменён на **Let's Encrypt** (публично доверенный).
> **Почему НЕ ADFS/WAP и НЕ nginx-proxy-manager:** Work Folders с Windows-Integrated (NTLM/Negotiate)
> аутентификацией **не проксируется** через nginx/openresty (директива `ntlm` есть только в nginx Plus).
> ADFS+WAP сочли избыточным под одно приложение. Поэтому — прямая публикация + Kerberos через KDC proxy.
---
## 2. Серверы и роли
| Хост | IP | Роль |
|------|----|------|
| `serverfile` (WS2025) | 192.168.0.11 | SMB-шары, SMB over QUIC, Work Folders (`work_folders`) |
| `serverwsus` (WS2019) | 192.168.0.7 | KDC proxy (`kpssvc`, `kdcproxy.osk.team`), WSUS |
| `SERVERPDC` (DC) | 192.168.0.2 | Контроллер домена / KDC `CORP.local` |
| `serverweb` (Fedora) | 192.168.0.8 | **Traefik v3** — единая точка входа :80/:443 (заменил NPM 2026-06-05). SNI-passthrough для Windows-сервисов + терминация для дашбордов. |
| `servermail` (WS2019) | 192.168.0.6 | Exchange 2019 — публикуется снаружи через Traefik (SNI `mail`/`autodiscover`) |
---
## 3. DNS-записи (split-brain: внутри ≠ снаружи)
| Имя | Внутри (LAN) | Снаружи (edge) | Для чего |
|-----|--------------|----------------|----------|
| **`files.osk.team`** | 192.168.0.11 | публичный IP | Имя файл-сервера. (а) SMB-шары — перенаправленные папки лежат на `\\files.osk.team\U_Server_Data\…`; (б) **SMB over QUIC** (UDP/443) для удалённого доступа к этим шарам. |
| **`workfolders.osk.team`** | 192.168.0.11 | публичный IP | Эндпоинт **Work Folders** (HTTPS, TCP/443) на serverfile. На него указывает GPO Work Folders (`SyncUrl`). |
| **`kdcproxy.osk.team`** | 192.168.0.7 | публичный IP | **KDC proxy** (Kerberos over HTTPS). Удалённый клиент без DC получает Kerberos-билеты. Внешний порт — **443** (через Traefik; GPO: `<https kdcproxy.osk.team />`). |
> Снаружи все HTTPS-имена (`workfolders`, `mail`/`autodiscover`, `kdcproxy`) резолвятся в публичный IP `185.108.4.158`
> и попадают на **edge → serverweb (Traefik :443)**, который по **SNI** разводит трафик на нужный бэкенд **без терминации
> TLS** — нативная аутентификация (Kerberos/NTLM) сохраняется. Внутри офиса имена резолвятся прямо в бэкенды.
---
## 4. Сертификаты
| Сервис | Имя в сертификате | Тип / издатель | Отпечаток | Действует до |
|--------|-------------------|----------------|-----------|--------------|
| Work Folders (TCP/443) | CN=files.osk.team, SAN: files.osk.team, **workfolders.osk.team** | **Let's Encrypt** (публичный) | `9B279156…A7625` | **2026-09-03** ⚠️ |
| SMB over QUIC (UDP/443) | CN=files.osk.team | self-signed | `6B731A…0876FA` | 2036-06-03 |
| KDC proxy (TCP/443) | CN=kdcproxy.osk.team | self-signed | `02B9ADB3…F2E9A` | 2036-06-04 |
Self-signed сертификаты (QUIC `6B731A`, kdcproxy `02B9ADB3`) разворачиваются на клиентах в
**Trusted Root через GPO**. LE-сертификат Work Folders публично доверенный — в Root его класть не нужно.
> ⚠️ **Важно:** LE-сертификат Work Folders истекает **2026-09-03**. На serverfile нет встроенного автопродления —
> нужно настроить ACME-клиент (win-acme/Posh-ACME) или обновлять вручную ~каждые 90 дней. При истечении
> Work Folders перестанет работать (ошибка проверки сертификата на клиентах).
---
## 5. Схема подключения
```
В ОФИСЕ (виден контроллер домена):
ноутбук ── Kerberos напрямую от SERVERPDC (192.168.0.2)
├─ SMB-шары: TCP/445 (или QUIC) → serverfile 192.168.0.11
└─ Work Folders: TCP/443 → serverfile 192.168.0.11 (напрямую, split-brain DNS)
ВНЕ ОФИСА (DC не виден, без VPN): ← рабочий сценарий, проверено 2026-06-05
ноутбук ── EDGE (1 публ. IP 185.108.4.158) ─┬─ UDP/443 → serverfile 192.168.0.11 ← SMB over QUIC (мимо Traefik)
└─ TCP/443 → serverweb 192.168.0.8 (Traefik, SNI-passthrough):
workfolders.osk.team → serverfile 192.168.0.11 (Work Folders)
kdcproxy.osk.team → serverwsus 192.168.0.7 (Kerberos, MS-KKDCP)
mail/autodiscover → servermail 192.168.0.6 (Exchange)
```
**Проброс портов на edge (один публичный IP `185.108.4.158`):**
| Внешний | → Внутренний | Сервис |
|---------|--------------|--------|
| TCP/80 | 192.168.0.8 (Traefik) | ACME (LE) + http→https редиректы |
| TCP/443 | 192.168.0.8 (Traefik) | Work Folders / Exchange / KDC proxy — разведение по **SNI** |
| UDP/443 | 192.168.0.11 | SMB over QUIC (напрямую, мимо Traefik) |
> TCP/445 наружу **закрыт** — удалённо SMB идёт только по QUIC. Traefik делает **TLS-passthrough** (L4): TLS
> терминируется на самих бэкендах, поэтому нативная Kerberos/NTLM-аутентификация не ломается (HTTP-терминация
> через NPM её ломала — см. [`incidents/2026-06-05-05-osk-serverweb-traefik-sni-publishing.md`](../incidents/2026-06-05-05-osk-serverweb-traefik-sni-publishing.md)).
> KDC proxy раньше выносился на внешний порт 8443; после Traefik вернулся на **443** (SNI), GPO клиента —
> `<https kdcproxy.osk.team />`, проброс 8443 убран (проверено на Win11 10.0.0.219, 2026-06-05).
---
## 6. Аутентификация
Везде — **Kerberos** (NTLM не нужен). Ключевой момент: удалённый клиент не видит DC, поэтому Kerberos-билеты
он получает через **KDC proxy** (`kdcproxy.osk.team:8443`). Дальше:
- **SMB-шары** — билет для файл-сервера, сессия SMB 3.1.1 поверх QUIC.
- **Work Folders** — билет для SPN **`HTTP/workfolders.osk.team`** (зарегистрирован на учётной записи
компьютера `SERVERFILE$`; веб-воркер Work Folders работает в kernel-mode → расшифровывает билет машинной
учёткой).
---
## 7. GPO (настроены и применены к группе `CORP\Мобильный сотрудник`)
1. **Work Folders** (*Specify Work Folders settings*): `SyncUrl = https://workfolders.osk.team`,
принудительная автонастройка (Force automatic setup).
2. **Folder Redirection:**
- Документы, Загрузки, Изображения, Музыка, Видео, Избранное и т.д. →
`\\files.osk.team\U_Server_Data\DIR_ПОЛЬЗОВАТЕЛИ\%username%\<Папка>` (на SMB-шаре).
- **Рабочий стол → `%USERPROFILE%\Work Folders\Desktop`** (т.е. в Work Folders).
3. **KDC proxy (клиент):** `KdcProxyServer_Enabled=1`,
`…\Kerberos\KdcProxy\ProxyServers\CORP.LOCAL = <https kdcproxy.osk.team:8443 />`,
`…\Kerberos\Parameters\NoRevocationCheck=1` (для self-signed).
4. **Сертификаты в Trusted Root (Computer):** kdcproxy `02B9ADB3`, QUIC files `6B731A`.
5. **Исключение из перемещаемого профиля** (*Exclude directories in roaming profile*): `Work Folders`
(обязательно — корень WF лежит в `%USERPROFILE%`, иначе двойная обработка/конфликт с roaming profile).
6. **Local Intranet zone** для `https://workfolders.osk.team` — бесшовный SSO без запроса пароля.
---
## 8. Раскладка папок пользователя (важно понимать разницу)
| Папка | Где хранится | Офлайн-доступ | Транспорт удалённо |
|-------|--------------|---------------|--------------------|
| Документы, Загрузки, Изображения и пр. | SMB-шара `\\files.osk.team\U_Server_Data\DIR_ПОЛЬЗОВАТЕЛИ\<user>\` | ❌ нет (без сети недоступны) | SMB over QUIC |
| **Рабочий стол** | Локально `%USERPROFILE%\Work Folders\Desktop` ↔ синхр. в `S:\work_folders\<user>\` на serverfile | ✅ **да** (локальный кэш) | Work Folders (HTTPS) |
Общий ресурс Work Folders: `work_folders``S:\work_folders`, тип User Data, формат папки `[user]`
(напр. `S:\work_folders\Maslo`), лимит файла 10 ГБ, `InheritParentFolderPermission=True`
(админы домена видят содержимое папок пользователей — учитывать как вопрос приватности).
---
## 9. Текущий статус — проверено 2026-06-05
Клиент `OSK-000` @ **10.0.0.219** (нет маршрута в 192.168.0.0/22, нет DC на 88, без VPN), пользователь `CORP\Maslo`:
-**SMB over QUIC работает:** на serverfile — две живые сессии SMB **3.1.1** от `10.0.0.219` (`CORP\Maslo`).
TCP/445 через edge закрыт ⇒ это QUIC.
-**KDC proxy работает:** входы `4624` на serverfile от `10.0.0.219` — пакет **Kerberos**. Без DC в зоне
видимости Kerberos возможен только через прокси.
-**Work Folders синхронизируется:** `S:\work_folders\Maslo\` содержит элементы рабочего стола
(ярлыки, скриншот, pdf, txt) — рабочий стол уезжает на сервер.
-`kpssvc` на serverwsus — Running, слушает TCP/443; сертификат `kdcproxy.osk.team` отдаётся корректно.
---