Commit Graph

109 Commits

Author SHA1 Message Date
PapaTramp e1ae9834a9 feat: single deploy startup, stop mode, notification_body 1.2.31-SAC
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-31 18:11:18 +10:00
PapaTramp a74c8df877 feat: lifecycle notifications with telegram_via and settings reload 1.2.30-SAC
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-31 12:25:50 +10:00
PapaTramp 2395f536cd feat: notification source line in agent alerts (1.2.29-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-31 11:51:55 +10:00
PapaTramp b56ad9c7e4 feat: daily report agent version line and per-line active users (1.2.28-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-31 11:28:29 +10:00
PapaTramp e738d97c9c chore: release 1.2.27-SAC (deploy version compare + docs)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-31 11:18:58 +10:00
PapaTramp 1fe8bd9f7d fix(deploy): version compare for -SAC labels; refresh deploy docs
Compare deployed_version.txt with full label (e.g. 1.2.26-SAC) so GPO deploy exits when up to date. Restructure deploy-rdp-login-monitor.md with mermaid flow, Exchange vs DomainMonitors split, and remove duplicated sections.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-31 11:13:33 +10:00
PapaTramp bf04c8865c feat(deploy): auto-add Exchange WinRM/4624 noise settings on role detect (1.2.26-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 10:36:00 +10:00
PapaTramp b010ad01eb fix: filter WinRM noise (HealthMailbox, machine accounts, loopback)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 10:31:30 +10:00
PapaTramp 1ff8dd1a95 fix: init NotifyDedupCache under StrictMode (1.2.24-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 10:26:07 +10:00
PapaTramp 724baa6c0a feat: monitor RDS Shadow Control and WinRM inbound (warning alerts, 1.2.23-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 10:20:57 +10:00
PapaTramp 2bbf1face6 fix(deploy): patch DailyReportEnabled hint and invalid false assignment (1.2.22-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 17:50:17 +10:00
PapaTramp d23e99a885 feat: unify Windows daily report with SAC layout; DailyReportEnabled toggle
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 17:18:02 +10:00
PapaTramp 70f06790f6 docs: deploy adds commented ServerDisplayName hint in settings
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 15:57:35 +10:00
PapaTramp c249451eba fix: deploy syncs Sac-Client bundle, SAC dual settings, and ServerDisplayName hint (1.2.20-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 15:55:16 +10:00
PapaTramp 1f27272883 fix: dedup 4624 login alerts and log Skip/dedup reasons (1.2.18-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 15:17:01 +10:00
PapaTramp 49359c07a6 fix: tolerate missing ServerDisplayName and send host.ipv4 (1.2.17-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 13:33:26 +10:00
PapaTramp 611d9c68ca chore: bump RDP monitor version to 1.2.16-SAC
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 13:01:20 +10:00
PapaTramp 737da07d6a fix: add Exchange 4624 LT3 empty-IP filter switch
Add configurable `${Ignore4624-LT3-EmptyIP-Event}` for RDP monitor to suppress noisy 4624 network logons with empty IP (-) on mail/Exchange hosts.
Update settings example and README with usage instructions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 12:35:40 +10:00
PapaTramp b9d385f51b feat: ServerDisplayName для Telegram и SAC host.display_name (1.2.15-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 11:49:13 +10:00
PapaTramp e7f19e5c92 fix: SAC ingest POST через HttpWebRequest и проверка JSON bytes (1.2.14-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 11:13:43 +10:00
PapaTramp e4f4d1bb1f fix: SAC POST не срезать '{' из-за StartsWith(BOM) в PowerShell (1.2.13-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 10:57:42 +10:00
PapaTramp 74d1e4db75 fix: SAC POST body null prefix from Write-Log pipeline (1.2.12-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 10:44:22 +10:00
PapaTramp 5284734092 fix: SAC JSON Cyrillic via JavaScriptSerializer, log 422 body (1.2.11-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 10:34:21 +10:00
PapaTramp 1c210a40d8 fix: treat HTTP 201/409/202 as SAC success in WebException path (1.2.10-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 10:27:23 +10:00
PapaTramp 83315cc3b8 fix: SAC 422 no spool loop, truncate title/summary, UTF-8 spool read (1.2.9-SAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 10:20:30 +10:00
PapaTramp 04f69aac40 fix: update-rdp-monitor always reset --hard kalinamall/main on publish
- Ignore stderr noise; parse HEAD; clean -fd; verify NETLOGON version.txt

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 10:10:51 +10:00
PapaTramp 6c86e172b9 fix: SAC ingest UTF-8 JSON body for Cyrillic (1.2.8-SAC)
Invoke-WebRequest now posts application/json; charset=utf-8 bytes

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 10:05:49 +10:00
PapaTramp 71cb1fa9b6 fix: update-rdp-monitor fetch+reset for kalinamall force-push
Prefer kalinamall remote; abort stale merge; ff-only or hard reset.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 09:35:55 +10:00
PapaTramp ef237f345b chore: release 1.2.7-SAC — SAC ingest HTTP 201/409/202
Bump version.txt and ScriptVersion for Deploy-LoginMonitor on NETLOGON.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 09:34:19 +10:00
PapaTramp 1092f6340d fix: accept SAC ingest HTTP 201, 409, and legacy 202
Remove .cursorignore (patterns covered by repo hygiene elsewhere)
2026-05-28 09:13:14 +10:00
PapaTramp 9030fb3c30 fix: heartbeat only to SAC, never Telegram/email
agent.heartbeat in Send-NotifyOrSac skips local channels in dual/fallback/off.
Bump to 1.2.6-SAC.
2026-05-28 07:56:18 +10:00
PapaTramp 3ed20b130f chore: bump release to 1.2.5-SAC
Raise ScriptVersion/version.txt for Sac-Client payload product_version and
update README release reference to keep docs aligned.
2026-05-27 15:53:29 +10:00
PapaTramp 1b4ca5fa01 feat: bootstrap SAC settings on deploy when upgrading from pre-SAC
Deploy overwrites login_monitor.settings.ps1 from the trusted example when
Sac-Client.ps1 or SacApiKey/UseSAC are missing, with a .bak backup. Skips
overwrite when SAC is already configured; continues deploy on version match
if SAC bootstrap is still required.
2026-05-27 15:23:32 +10:00
PapaTramp a1a3bca0c3 fix: do not stop monitor when SAC /health is temporarily down 2026-05-27 15:02:07 +10:00
PapaTramp 004a8c0026 fix: deploy graceful recycle writes restart.request directly (no 90s wait) 2026-05-27 14:53:54 +10:00
PapaTramp 904ab13880 chore: bump version to 1.2.2-SAC 2026-05-27 14:44:02 +10:00
PapaTramp 22a32bc1cb feat: graceful restart without Stop-Process; SAC key in settings example 2026-05-27 14:43:04 +10:00
PapaTramp bd8076a1d0 docs: Windows/SAC update checklist; default Telegram in settings example 2026-05-27 14:27:27 +10:00
PapaTramp edbe00ffb3 feat: SAC client 1.2.0-SAC and daily report details for ingest 2026-05-27 14:15:16 +10:00
PapaTramp 577b8bc220 feat(Login): вынести локальные настройки в login_monitor.settings.ps1
Секреты, SMTP, 4740 и IP-исключения больше не в Login_Monitor.ps1 —
не слетают при автообновлении с NETLOGON. Deploy создаёт settings из example при первой установке.
2026-05-25 09:44:43 +10:00
PapaTramp 971461accf fix(Exchange): stop Import-ExchangeManagementShell leaking True (v1.6.7)
return True from EMS import was collected into mailbox lists and domain joins, causing Get-InboxRule on mailbox True. Suppress import output at call sites and log accepted domains via @() enumeration.
2026-05-22 16:10:36 +10:00
PapaTramp 744f254c09 fix(Exchange): define Get-ExchangeInboxScanScopeLabel before InstallTasks (v1.6.6) 2026-05-22 16:02:05 +10:00
PapaTramp 1584be89e2 feat(Exchange): skip corrupt inbox rule stores (v1.6.5)
Add SkipInboxScanMailboxes with k.selezneva@kalinamall.ru by default. Filter inbox scan list, log SKIP, and catch Get-InboxRule failures to avoid Watson aborting full scans.
2026-05-22 16:00:09 +10:00
PapaTramp cdf563cbe9 fix(deploy): copy exchange_monitor.settings.example to ProgramData (v1.6.4)
Example settings were published to NETLOGON but omitted from Deploy-DomainMonitors file list, so Copy-Item from ProgramData failed on fresh installs.
2026-05-22 15:00:30 +10:00
PapaTramp 872df98a2c fix: Exchange monitor encoding for PS 5.1 (v1.6.3)
ASCII runtime strings in Exchange-MailSecurity and Notify-Common avoid parser errors when scripts are copied without UTF-8 BOM. Deploy copies .ps1 to ProgramData with UTF-8 BOM via Copy-ScriptFileWithUtf8Bom.
2026-05-22 14:57:35 +10:00
PapaTramp 7c13c96622 fix: Deploy-DomainMonitors encoding for PS 5.1 / NETLOGON (v1.6.2)
- ASCII runtime strings in domain deploy/install scripts
- Publish *.ps1 to NETLOGON with UTF-8 BOM
2026-05-22 14:53:28 +10:00
PapaTramp 0c916b50c6 feat(Exchange): VIP scan, disabled rules, first-baseline suppress (v1.6.1)
- VipMailboxes + VipMailboxPatterns; unified VIP scope
- Scan disabled inbox rules with external forward (lower severity)
- Suppress per-finding alerts on first baseline run
- Post-scan summary and install notification
2026-05-22 14:44:57 +10:00
PapaTramp 9ab6cc64a1 docs: add Docs/ guides; Exchange Mail Security scripts (v1.6.0)
- Docs: RDP deploy, Exchange mail security, NETLOGON publish
- Exchange-MailSecurity.ps1, Notify-Common, Deploy/Install-DomainMonitors
- DEPLOY.md redirects to Docs/
2026-05-22 14:32:50 +10:00
PapaTramp 40c557f041 feat: aggregated 4625 burst alerts (two-tier rate limit, v1.5.10)
- Tier 1: 5 failures per 60s per IP+user
- Tier 2: 12 failures per 60s per IP (spraying)
- Suppress per-event 4625 during burst; no auto-ban
2026-05-22 14:13:06 +10:00
PapaTramp a324841b7d chore: clarify IIS log line wording for 4740 (v1.5.9) 2026-05-22 11:06:19 +10:00