diff --git a/2026-06-05-05-osk-laptop-smb-workfolders-access.md b/2026-06-05-05-osk-laptop-smb-workfolders-access.md new file mode 100644 index 0000000..ac64561 --- /dev/null +++ b/2026-06-05-05-osk-laptop-smb-workfolders-access.md @@ -0,0 +1,169 @@ +--- +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-имена (`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 клиента — +> ``, проброс 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 = `, + `…\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_ПОЛЬЗОВАТЕЛИ\\` | ❌ нет (без сети недоступны) | SMB over QUIC | +| **Рабочий стол** | Локально `%USERPROFILE%\Work Folders\Desktop` ↔ синхр. в `S:\work_folders\\` на 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` отдаётся корректно. + +--- \ No newline at end of file