iT邦幫忙

0

如何在 AD 設定 GPO 稽核登入失敗

  • 分享至 

  • xImage
  •  

使用者在加入網域的電腦登入失敗,我們可以在本機的事件檢視器調閱相關的稽核紀錄。若想要知道網域的電腦是否有登入異常的情況,例如有人嘗試在破解密碼,我們總不可能登入每台電腦的事件檢視器進行查看吧。

此時就要透過 AD 設定 GPO 針對登入失敗進行稽核

電腦設定 > 原則 > Windows 設定 > 安全性設定 > 本機原則 > 稽核原則

  • 稽核帳戶登入事件:失敗
  • 稽核帳戶管理:成功、失敗
  • 稽核登入事件:失敗

電腦設定 > 原則 > Windows 設定 > 安全性設定 > 進階稽核原則設定 > 登入 / 登出

  • 稽核 Kerberos 驗證服務:失敗

先在測試的電腦手動更新 GPO 原則

gpupdate /force

接下來使用錯誤的密碼登入電腦,就可以在 AD 的事件檢視器調閱相關的稽核紀錄。

我們很難直接從事件檢視器進行統計分析,搭配如何使用 Grafana Loki 分析 Windows 登入日誌

主要的 LogQL 語法如下

{computer=~"$computer", channel="Security", source="Microsoft-Windows-Security-Auditing", eventID="4771"} 
|~ "(?i)$search" 
| regexp `\\r\\n\\t帳戶名稱:\\t\\t(?P<UserName>[a-zA-Z0-9_$-]+)` 
| regexp `\\r\\n\\t用戶端位址:\\t\\t::ffff:(?P<IpAddress>\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})` 
| IpAddress !=""
| regexp `\\r\\n\\t錯誤碼:\\t\\t(?P<Status>\w+)` 
| label_format Status=`{{.Status | trim | replace "0x18" "提供錯誤的密碼" | replace "0x25" "時鐘誤差太大"}}`
| regexp `\\r\\n\\t預先驗證類型:\\t(?P<PreAuthType>\w+)` 
| label_format PreAuthType=`{{.PreAuthType | trim | replace "2" "標準密碼驗證"}}`

錯誤碼可以參考以下連結
https://learn.microsoft.com/zh-tw/windows/security/threat-protection/auditing/event-4768#%E8%A1%A8-2-kerberos-%E7%A5%A8%E8%AD%89%E6%97%97%E6%A8%99

將事件數據透過 Grafana 圖形化的方式呈現,很容易就可以分析出異常。

監控一定要做告警,事發當下趕緊處理。

若想針對大量登入失敗進行警報,可以參考如何使用 Grafana Loki 警報規則並透過 Alertmanager 發送警告

建立一個登入失敗的警報規則來測試

sudo vi /tmp/loki/rules/fake/windows-login-alert.yml
groups:
  - name: windows-login-failed-alert
    rules:
      - alert: windows-login-failed
        expr: |
          count_over_time({computer=~"(your_AD1|your_AD2)", channel="Security", source="Microsoft-Windows-Security-Auditing", eventID="4771"}
            | regexp `\\r\\n\\t用戶端位址:\\t\\t::ffff:(?P<IpAddress>\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})` 
            | regexp `\\r\\n\\t帳戶名稱:\\t\\t(?P<UserName>[a-zA-Z0-9_$-]+)` [1m]) > 3
        for: 0m
        labels:
          severity: critical
        annotations:
          summary: "主機名稱: {{ $labels.computer }}\n警示訊息: Too many login failed.\n用戶端位址: {{ $labels.IpAddress }}\n帳戶名稱: {{ $labels.UserName }}\n"

檢視 LINE 聊天群組,Alermanager 有成功發送告警無誤。

也可以參考如何透過郵件自動發送 Grafana 儀表板報告

產出的報告畫面如下

今天的分享就到這邊,謝謝大家。

參考文件

  1. https://learn.microsoft.com/zh-tw/windows/security/threat-protection/auditing/event-4768
  2. https://eynysina.blogspot.com/2020/05/ad-gpo.html

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言