PTah
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
PTah
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
PTah
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
PTah
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
PTah
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
PTah
18562af07a
feat: map security events to SAC typed payloads
2026-05-27 11:24:19 +10:00
PTah
52654e2735
feat: sudo и notify_send шлют события в SAC (dual)
2026-05-27 11:01:47 +10:00
PTah
a58027ed9b
fix: update_ssh_monitor копирует sac-client.sh, REPO kalinamall
2026-05-27 10:47:38 +10:00
PTah
ce48008738
merge: kalinamall main + UseSAC sac-client
2026-05-27 10:40:03 +10:00
PTah
dd971d80bc
feat: UseSAC sac-client.sh and --check-sac
2026-05-26 21:46:35 +10:00
PTah
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
PTah
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
PTah
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
Andrey Lutsenko
48d5a0aeba
Remove rutube artifacts from repo; ignore local downloader files
2026-05-03 19:51:00 +10:00
Andrey Lutsenko
cde5b8c135
Add rutube-download helper and yt-dlp archive id list
2026-05-03 19:48:28 +10:00
Andrey Lutsenko
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
ssh-monitor
e9c98d4647
docs: обязательный NOTIFY_CHAIN в README и ssh-monitor.conf.example
2026-04-14 09:56:18 +10:00
ssh-monitor
a3bd7ed9ad
fix: выход с ошибкой, если нет ни одного канала NOTIFY_CHAIN
2026-04-14 09:55:03 +10:00
ssh-monitor
a90efd3ed8
docs: Zabbix и пояснение ZABBIX_SEQ_KEY в README
2026-04-14 09:52:07 +10:00
ssh-monitor
36dddb35d6
feat(notify): каскад telegram → zabbix → email, NOTIFY_ORDER, SMTP, v0.9.5
2026-04-14 09:44:43 +10:00
PTah
85c18be12e
chore: зафиксировать линию версий 0.9 (semver 0.9.0)
...
- Комментарий в скрипте и уточнение в README
2026-04-14 08:11:49 +10:00
PTah
f9e033777e
feat: версия 0.9.0, --version и вывод в лог/health/старт
...
- SSH_MONITOR_VERSION + суффикс +git[-dirty] при запуске из репозитория
- README: раздел про версионирование
2026-04-14 08:05:50 +10:00
PTah
256e1c2430
feat(heartbeat): строка сервера с основным IPv4 в скобках
2026-04-14 07:59:52 +10:00
PTah
938f5d76ee
fix(logind): не дублировать SSH при Type=tty и Service=sshd
...
- LOGIND_SKIP_REMOTE: учёт Service=sshd, короткие повторы loginctl при гонке
- README и пример конфига
2026-04-13 12:28:00 +10:00
PTah
4cae3da108
feat: единая инициализация меток LAST_* для SSH/sudo/logind
...
- checkpoint_stamp_init_if_bad: нет файла / битое значение → только метка «сейчас», без бэклога
- sudo/logind: убрано окно -30m при «первом» запуске (как у SSH)
- README: раздел про файлы-метки и отличие LAST_SECURITY_EVENTS_FILE
2026-04-13 10:06:57 +10:00
Луценко Андрей Анатольевич
9b453657d2
feat: мониторинг systemd-logind (journalctl), конфиг и антидубль SSH
...
- Опрос journalctl -u systemd-logind, LAST_LOGIND_CHECK_FILE, LOGIND_*
- README: параметры logind, ротация LAST_*, journalctl
2026-04-13 09:45:41 +10:00
PTah
1d37905f27
feat: DAILY_REPORT_TZ for local-time daily report
2026-04-12 20:22:25 +10:00
PTah
f085fecd3a
fix: sudo monitoring via journal grep and secure log
2026-04-12 20:16:53 +10:00
PTah
2b205b56d9
fix: dedupe shutdown notify on TERM+EXIT trap
2026-04-12 20:06:55 +10:00
PTah
75f1a1c841
fix: Telegram newlines instead of literal %0A
2026-04-12 20:03:25 +10:00