Хардинг финского VPS: SSH key-only (awg-fi), ufw 22+41624, fail2ban; панель переведена на ключ

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
dttb
2026-06-23 13:56:50 +03:00
parent 984ae0b008
commit b8bef27825
2 changed files with 14 additions and 6 deletions

View File

@@ -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-установки, не конфликтует. - **Вывод подтверждён в коде + вживую:** `get_clients()` читает `clientsTable` с сервера и доп. парсит `[Peer]` («pick up peers created via native Amnezia app»). Панель = центральное управление поверх app-установки, не конфликтует.
- ⚠️ root-пароль VPS хранится в `data.json` панели в открытом виде (так устроен SSH-доступ панели). При смене пароля VPS — обновить в карточке сервера (Servers → edit). - ⚠️ 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) ## Дальше (TODO)
- [ ] VPS: SSH key-only, fw только VPN-порты, fail2ban (не повторить 2026-04-24).
- [ ] Резервный финский VPS: **переустановить ОС начисто** перед использованием, подцепить к панели. - [ ] Резервный финский VPS: **переустановить ОС начисто** перед использованием, подцепить к панели.
- [ ] Решить failover (AWG сам не переключается): второй endpoint в конфигах клиентов либо переключение через панель/DNS. - [ ] Решить failover (AWG сам не переключается): второй endpoint в конфигах клиентов либо переключение через панель/DNS.
- [ ] Проверить лимит трафика HOSTKEY (3 TB/мес) — под «все проекты» может быть тесно. - [ ] Проверить лимит трафика HOSTKEY (3 TB/мес) — под «все проекты» может быть тесно.

View File

@@ -39,11 +39,12 @@ tags: [dttb]
| Параметр | Значение | | Параметр | Значение |
|----------|----------| |----------|----------|
| IP | `151.241.234.241` | | IP | `151.241.234.241` |
| Логин | `root` | | SSH | **key-only** (пароль по SSH отключён): `ssh awg-fi` с Mac, ключ `~/.ssh/awg_fi_key` (ed25519). Панель LXC 143 ходит тем же ключом |
| Пароль | `v_6hH9JuH_` ⚠️ сменить на key-only при настройке | | Пароль root | `v_6hH9JuH_` **только для веб-консоли HOSTKEY** (по SSH не работает) |
| ОС | Ubuntu 22.04.5 LTS · 2 vCPU / 3.9 GB / 60 GB NVMe · 3 TB трафик @1Gbps | | ОС | Ubuntu 22.04.5 LTS · 2 vCPU / 3.9 GB / 60 GB NVMe · 3 TB трафик @1Gbps · `fi-vmv2-nano` |
| Hostname | `fi-vmv2-nano` | | AmneziaWG | **AWG 2.0** · контейнер `amnezia-awg2` · UDP **41624** · subnet `10.8.1.0/24`. Управляется панелью (server_id 0) |
| Роль | Основной AmneziaWG-выход (WG kernel-модуль грузится). Резерв — старый финский VPS (переустановить ОС перед использованием: был XorDDoS/RCE, см. [[../../claude-memory/finland-vps]] / memory) | | Защита | 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) ## MikroTik Router (НИИКН — 192.168.1.1)