Commit Graph

115 Commits

Author SHA1 Message Date
PapaTramp 8c542624eb feat: SERVER_DISPLAY_NAME в SAC host.display_name (sac-client 1.2.6-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 11:49:23 +10:00
PapaTramp f06fbae8ee fix: update_ssh_monitor fetch+reset after kalinamall force-push
Release 1.2.5-SAC; prefer kalinamall remote; ff-only or hard reset.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 09:40:13 +10:00
PapaTramp fe2a38857b chore: release 1.2.4-SAC — SAC ingest HTTP 201/409/202
Bump SSH_MONITOR_VERSION; sac-client release tag; updater logs sac-client ver.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 09:34:19 +10:00
PapaTramp 0e83d8825d fix: accept SAC ingest HTTP 201, 409, and legacy 202 2026-05-28 09:13:13 +10:00
PapaTramp 31c4265716 fix: log_action to stderr so captured paths stay valid
find_remote_ssh_monitor_path output was polluted by log_action on stdout,
breaking -f checks; mirror user messages to stderr instead.
2026-05-28 08:24:09 +10:00
PapaTramp 731c50b0bc fix: find ssh-monitor in clone via git checkout and broader search
Restore ssh-monitor from HEAD when missing on disk; try git ls-files and
find fallback; log clone root listing on failure.
2026-05-28 08:20:37 +10:00
PapaTramp 7f4d25b91c fix: sync /opt/scripts/update_ssh_monitor.sh from git clone each run
After git pull, copy updater from clone to DEPLOY_INSTALL_PATH and re-exec
once so cron always picks up new logging without manual cp.
2026-05-28 08:15:51 +10:00
PapaTramp f3b7c9d41c feat: verbose update_ssh_monitor action log and run summary
Log each step to /var/log/update_script.log and stdout (unless --quiet).
End-of-run summary explains skip reasons: checksum match, git pull fail,
missing clone path, versions and sha256 prefixes.
2026-05-28 08:13:24 +10:00
PapaTramp d179b360f2 fix: heartbeat only to SAC, never Telegram/email
agent.heartbeat bypasses NOTIFY_CHAIN in all UseSAC modes; SAC ingest only.
Bump to 1.2.3-SAC.
2026-05-28 07:56:18 +10:00
PapaTramp dd980f0ba6 chore: bump release to 1.2.2-SAC
Increase SSH monitor release version used by sac-client payloads and refresh
RU/EN README references to the new version.
2026-05-27 15:53:29 +10:00
PapaTramp 746a8f8f76 feat: bootstrap SAC config on update from pre-SAC installs
ssh-monitor.conf.example ships dual SAC + Telegram defaults; updater
overwrites /etc/ssh-monitor.conf when UseSAC is off or SAC_API_KEY empty
or sac-client.sh is missing, with backup. Leaves configured hosts untouched.
2026-05-27 15:23:35 +10:00
PapaTramp 49ea1d2a7d chore: bump version to 1.2.1-SAC 2026-05-27 14:44:03 +10:00
PapaTramp 29c91ee0db feat: send full daily report body and stats in SAC details 2026-05-27 14:15:13 +10:00
PapaTramp 8627fdbcec chore: bump agent version to 1.2.0-SAC 2026-05-27 14:09:35 +10:00
PapaTramp a4ea24c3f1 feat: SAC fallback failure counter (2.3)
After SAC_FALLBACK_FAILURES consecutive POST errors, skip SAC until
/health recovers; persist count in SAC_FAIL_COUNT_FILE.
2026-05-27 13:36:19 +10:00
PapaTramp 3a1c9655ca feat: exclusive pilot — spool flush and verify script
Replay spool on each monitor loop; sac_post_payload refactor;
pilot-verify-exclusive.sh and --check-sac hints for exclusive mode.
2026-05-27 13:25:47 +10:00
PapaTramp f1c4adcc13 feat: first deploy via update_ssh_monitor.sh --deploy
Add first_deploy.sh wrapper and --deploy mode: git clone, install
ssh-monitor and sac-client, optional config/systemd/updater copy,
console summary and config variable checklist.
2026-05-27 12:36:02 +10:00
PapaTramp 1928e68088 fix: POST ingest to /api/v1/events when SAC_URL is host root
Health already used sac_base_url(); ingest used raw SAC_URL and got
HTTP 405 when config had only https://host without /api/v1/events.
2026-05-27 12:22:10 +10:00
PapaTramp 4cb158f30a fix: always sync sac-client.sh in update_ssh_monitor
Copy sac-client.sh on every git pull by checksum, not only when
ssh-monitor binary changes. Restart service when either file updates.
2026-05-27 12:20:14 +10:00
PapaTramp 18562af07a feat: map security events to SAC typed payloads 2026-05-27 11:24:19 +10:00
PapaTramp 52654e2735 feat: sudo и notify_send шлют события в SAC (dual) 2026-05-27 11:01:47 +10:00
PapaTramp a58027ed9b fix: update_ssh_monitor копирует sac-client.sh, REPO kalinamall 2026-05-27 10:47:38 +10:00
PapaTramp ce48008738 merge: kalinamall main + UseSAC sac-client 2026-05-27 10:40:03 +10:00
PapaTramp dd971d80bc feat: UseSAC sac-client.sh and --check-sac 2026-05-26 21:46:35 +10:00
PapaTramp 2c65edf7db sync: align internal repo with 1.1.3-server-label
- REPO_URL points to git.kalinamall.ru

- ssh-monitor.conf may be committed here (secrets); .env still ignored

- Docs note for closed vs public GitHub
2026-05-26 19:34:01 +10:00
PapaTramp 44f8eb6103 chore: ignore production config files with secrets
ssh-monitor.conf and local overrides must not be committed to public GitHub.
2026-05-26 19:33:39 +10:00
PapaTramp b801cf2385 feat: подпись сервера во всех уведомлениях и документация
Добавлены message_ensure_server_line и SERVER_DISPLAY_NAME; версия 1.1.3-server-label.
Гайды по уведомлениям и автообновлению.
2026-05-25 09:23:32 +10:00
PapaTramp e2c0d5cbc7 Update update_ssh_monitor.sh 2026-05-14 12:59:12 +10:00
PapaTramp 3d20498515 Create update_ssh_monitor.sh
Скрипт проверки наличия обновлений основного скрипта
2026-05-14 12:57:55 +10:00
PapaTramp 48d5a0aeba Remove rutube artifacts from repo; ignore local downloader files 2026-05-03 19:51:00 +10:00
PapaTramp cde5b8c135 Add rutube-download helper and yt-dlp archive id list 2026-05-03 19:48:28 +10:00
PapaTramp 654822304e docs: English readme, MIT license, README cleanup
- Add readme_eng.md (parallel to README.md)
- Add LICENSE (MIT)
- Refresh README (version, repo table, license section)
2026-05-03 19:44:45 +10:00
ssh-monitor 2cf6c145ab Add ENABLE_IP_BAN mode switch
Introduce ENABLE_IP_BAN in config and script.
When set to 0, ssh-monitor works in monitor-only mode (alerts without ipset/iptables bans).
2026-04-16 12:13:27 +10:00
ssh-monitor b5b37b7e84 Переход автобана на ipset, документация и правки README
- ssh-monitor: баны через ipset (hash:ip timeout), одно правило iptables/ip6tables;
  нормализация бан-листа (один IP — одна строка), версия 1.1.1-ipset.
- docs/install-prerequisites.ru.md: зависимости и установка пакетов (в т.ч. ipset).
- README: ссылка на docs, установка скрипта/systemd без дублирования apt; пометка про ipset.
- IPSET-NOTES.txt: заметки по развёртыванию ipset.
- ssh-monitor.conf.example: закомментированные переменные IPSET_*.
2026-04-16 11:30:04 +10:00
ssh-monitor 074032b761 README: абзац с ключевыми темами для поиска на GitHub. 2026-04-14 14:16:08 +10:00
ssh-monitor 85730bafb0 Версия 1.0.0: релиз, Makefile (make dist), README и .gitignore для архива. 2026-04-14 13:52:26 +10:00
ssh-monitor e273c995a5 Удалена интеграция Zabbix; остались Telegram и email (SMTP). 2026-04-14 12:20:04 +10:00
ssh-monitor 5f9abc5e4c Zabbix: передать ZABBIX_SERVER/HOST_NAME в окружение python3 для trapper 2026-04-14 11:47:25 +10:00
ssh-monitor 6ff93d9552 Zabbix: короткий plain для канала; seq в файле; alert через python3 -o 2026-04-14 11:41:03 +10:00
ssh-monitor 7d8cb00689 Zabbix: усечение UTF-8 для trapper Character (ZABBIX_ALERT_MAX_BYTES) 2026-04-14 11:29:45 +10:00
ssh-monitor c83b4f19d1 Zabbix alert: убрать NUL из текста перед trapper (-i) 2026-04-14 11:15:19 +10:00
ssh-monitor 54e90672c8 Zabbix: успех только по failed:0 в ответе; seq через -k/-o; подсказка при отказе сервера 2026-04-14 11:10:30 +10:00
ssh-monitor 7e83dc6a83 Zabbix: логировать stdout+stderr zabbix_sender; успех при failed: 0 в ответе 2026-04-14 11:06:11 +10:00
ssh-monitor 190add949d Zabbix: два вызова zabbix_sender (alert и seq), лог stderr при ошибке 2026-04-14 10:57:32 +10:00
ssh-monitor 27219355c2 fix(notify): отправка во все каналы NOTIFY_ORDER, не только первый успех
- BACKUP_WEBHOOK только если все каналы неуспешны

- README/conf.example; версия 0.9.5.3
2026-04-14 10:50:38 +10:00
ssh-monitor 98f63e77ad fix: локальное время в уведомлениях (NOTIFY_TZ) и антидубль Accepted
- notification_date: NOTIFY_TZ → DAILY_REPORT_TZ → date процесса

- SSH_ACCEPT_NOTIFY_DEDUP_SEC: пауза между Telegram для той же пары user+IP

- версия 0.9.5.2, README и conf.example
2026-04-14 10:23:58 +10:00
ssh-monitor fa3d415fd9 chore: версия 0.9.5.1 2026-04-14 10:14:22 +10:00
ssh-monitor 06c8fe2e8e fix: дубли SSH (journal + Accepted) и logind при Service=sshd
- journalctl: _COMM=sshd, fallback sshd/ssh; sort -u

- dedupe Accepted в одном проходе по user|ip|port

- LOGIND_SKIP_REMOTE: Type=ssh или Service=*sshd*, повторы loginctl
2026-04-14 10:12:40 +10:00
ssh-monitor 95ff57bc4d feat: строка «Сервер» с основным IPv4 в старте/стопе, отчёте и heartbeat 2026-04-14 10:08:29 +10:00
ssh-monitor 79233f52f7 fix: версия в Telegram при старте сразу под заголовком 2026-04-14 10:06:02 +10:00