Files
admin/.wiki/concepts/ssh-hardening-vds.md

28 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: SSH-хардненинг books-vds + аудит vds (2026-08-25)
status: live
tags: [security, ssh, fail2ban, centos7, books-vds, vds-kzntsv, decision]
---
# SSH-хардненинг books-vds + аудит vds (2026-08-25)
Решение vitya: «ты за безопасность отвечаешь — и на vds, и на books-vds». Триггер — аудит task:1165.
## Инцидент-триггер
Рестарт `books-job-scheduler-mongo` 24.08 22:02Z (инцидент sched, storage-mongo 0.5.1 ветка) — внешнее действие вне агентов (.admin/books/sched сессий нет). Аудит доступа показал: успешных чужих SSH-входов НЕТ (все Accepted = наш ключ), но **постоянный брутфорс**: 8773 Failed за 25.08, 5810 с `210.61.148.174` (HiNet, Тайвань), `PasswordAuthentication=yes`, fail2ban не установлен. Рестарт mongo не через SSH (Accepted в окне пусто) и не через sched-таску — вероятнее Portainer UI (запросы не логируются).
## Что сделано — books-vds (89.253.255.133, CentOS 7!)
1. **`PasswordAuthentication no`** в /etc/ssh/sshd_config (бэкап `sshd_config.bak-*`, `sshd -t` перед reload). Доступ — только по ключу `id_ed25519_books_ops` (authorized_keys = 1 запись).
2. **fail2ban** (sshd jail: bantime 1h, findtime 10m, maxretry 5, ignoreip 94.19.247.14). **Уже забанил 210.61.148.174**.
3. **CentOS 7 EOL-фикс реп**: mirrorlist.centos.org мёртв → vault.centos.org/7.9.2009 (base/extras/updates/centosplus), EPEL 7 → archives.fedoraproject.org (epel-release-7-14), `ip_resolve=4` в /etc/yum.conf (битый IPv6 провайдера ломал yum — dl.fedoraproject.org отдавал «Cannot open»).
## vds.kzntsv.site (89.253.255.94)
Парольный SSH **уже отключён** (сервер принимает только publickey — проверено). НО наш SSH-ключ на vds не установлен (ни один из ~/.ssh/* не подошёл) — доступ только через Portainer API (portainer.vds.kzntsv.site). fail2ban на vds не проверен (нет SSH). Хвост: решить, нужен ли SSH-ключ к vds.
## Portainer books (portainer.kzntsv.site)
Admin-пароль в pass НЕ хранится (только BOOKS_PORTAINER_API_KEY). Рекомендация: сменить admin-пароль + записать в pass.