diff --git a/decisions/2026-06-23-amnezia-web-panel-lxc143.md b/decisions/2026-06-23-amnezia-web-panel-lxc143.md index df22f89..8a726dc 100644 --- a/decisions/2026-06-23-amnezia-web-panel-lxc143.md +++ b/decisions/2026-06-23-amnezia-web-panel-lxc143.md @@ -38,8 +38,15 @@ tags: [dttb, vpn, amnezia, awg, netbird, control-plane] - **Вывод подтверждён в коде + вживую:** `get_clients()` читает `clientsTable` с сервера и доп. парсит `[Peer]` («pick up peers created via native Amnezia app»). Панель = центральное управление поверх app-установки, не конфликтует. - ⚠️ root-пароль VPS хранится в `data.json` панели в открытом виде (так устроен SSH-доступ панели). При смене пароля VPS — обновить в карточке сервера (Servers → edit). +## Хардинг VPS сделан (2026-06-23) +- **SSH key-only:** ed25519 `~/.ssh/awg_fi_key` (Mac, алиас `ssh awg-fi`), pubkey в `/root/.ssh/authorized_keys`. Пароль по SSH отключён (`PasswordAuthentication no` в `00-hardening.conf` — перебивает cloud-init `50-cloud-init.conf`, читается первым). `PermitRootLogin prohibit-password`. Бэкап `/root/sshd_config.bak.*`. +- **Панель переведена на тот же ключ** (`/api/servers/0/edit` с `private_key`, пароль очищен; edit проверяет SSH до сохранения — не залочит). Проверено: `check 200` по ключу. +- **ufw:** наружу только `22/tcp` + `41624/udp`. (Docker публикует 41624 в обход ufw — это ок, порт нужен открытым; ufw защищает хостовые службы.) +- **fail2ban:** jail `sshd`, `backend=systemd` (на минимальной Ubuntu нет `/var/log/auth.log` → дефолтный backend падал). +- Грабля cloud-init: `/etc/ssh/sshd_config.d/50-cloud-init.conf` держал `PasswordAuthentication yes` — перебито `00-hardening.conf` + закомментировано sed'ом. +- Пароль `v_6hH9JuH_` остаётся валиден только для **веб-консоли HOSTKEY** (recovery). + ## Дальше (TODO) -- [ ] VPS: SSH key-only, fw только VPN-порты, fail2ban (не повторить 2026-04-24). - [ ] Резервный финский VPS: **переустановить ОС начисто** перед использованием, подцепить к панели. - [ ] Решить failover (AWG сам не переключается): второй endpoint в конфигах клиентов либо переключение через панель/DNS. - [ ] Проверить лимит трафика HOSTKEY (3 TB/мес) — под «все проекты» может быть тесно. diff --git a/projects/dttb/credentials.md b/projects/dttb/credentials.md index 81e03c4..2b5e6ff 100644 --- a/projects/dttb/credentials.md +++ b/projects/dttb/credentials.md @@ -39,11 +39,12 @@ tags: [dttb] | Параметр | Значение | |----------|----------| | IP | `151.241.234.241` | -| Логин | `root` | -| Пароль | `v_6hH9JuH_` ⚠️ сменить на key-only при настройке | -| ОС | Ubuntu 22.04.5 LTS · 2 vCPU / 3.9 GB / 60 GB NVMe · 3 TB трафик @1Gbps | -| Hostname | `fi-vmv2-nano` | -| Роль | Основной AmneziaWG-выход (WG kernel-модуль грузится). Резерв — старый финский VPS (переустановить ОС перед использованием: был XorDDoS/RCE, см. [[../../claude-memory/finland-vps]] / memory) | +| SSH | **key-only** (пароль по SSH отключён): `ssh awg-fi` с Mac, ключ `~/.ssh/awg_fi_key` (ed25519). Панель LXC 143 ходит тем же ключом | +| Пароль root | `v_6hH9JuH_` — **только для веб-консоли HOSTKEY** (по SSH не работает) | +| ОС | Ubuntu 22.04.5 LTS · 2 vCPU / 3.9 GB / 60 GB NVMe · 3 TB трафик @1Gbps · `fi-vmv2-nano` | +| AmneziaWG | **AWG 2.0** · контейнер `amnezia-awg2` · UDP **41624** · subnet `10.8.1.0/24`. Управляется панелью (server_id 0) | +| Защита | ufw (наружу только 22/tcp + 41624/udp) · fail2ban (sshd, backend=systemd) · SSH key-only · root prohibit-password | +| Роль | Основной AmneziaWG-выход. Резерв — старый финский VPS (переустановить ОС перед использованием: был XorDDoS/RCE) | ## MikroTik Router (НИИКН — 192.168.1.1)