Fortigate Login登入 LINE 訊息通知
像是下圖這樣,一有登入失敗的狀況就可讓 LINE 收到些通知
倘若要做到上述的 Line 訊息通知的情境,需要先準備兩件事情
1. 首先要有 IFTTT 的帳號,目前 IFTTT 免費的帳號就能做到這些事情!
2. 就是要有 LINE 帳號,稍後會在 IFTTT 上與 LINE 連動,才能夠過 IFTTT 將訊息透過 LINE 平台讓我們可收到 LINE 訊息
接下來先說明整個流程及預計的行為,首先是 Fortigate 本身有 automation 功能(FortiOS 6.0 以後才有,正好手邊的 FG50E 是 6.2.x,是有支援的),然後透過 automation,讓 Fortigate 在一些形況下觸發一些行為,像是 事件觸發後發出 E-mail 這類的,而我是會讓 FG50E 事件觸發後,將一些訊息丟至 IFTTT 上的 webhooks,進而再透過 IFTTT 上與 LINE 的連動,讓我可以收到事件通知的 LINE 訊息。了解流程後,就立刻開始吧~~
首先先前往 IFTTT 網站,IFTTT 雖然都是英文的,但不會太複雜,申請帳號的部分,很直覺就輸入 Email 電子郵件信箱及密碼後,之後再去收信來啟動帳號就完成,登入帳號之後,第一個畫面就下圖這樣子沒有任何專案!點選右上角的 ”Create” 來新增一個應用(Applet)
接下來可以看到 IFTTT 主要用意(If This… Then that),先來新增一個 IF This,點選右邊的 “Add”
在搜尋列輸入 “webhooks”,可以看到 “Webhooks”,點選 “Webhooks”
Webhooks 的觸發選擇 “Recevice a web request” 的方式即可
接下來需要與 Webhooks 服務連線,點選 “Connect” 繼續
接下我們要為 Event 命名,取個自己看得懂即可,像是我就直接使用 “fortigate”,確認名稱無誤後,點選 “Create trigger” 繼續
接下來要來設定 “Then That” 的後續行為,點選 “Add” 來新增
服務這邊我們輸入 Line 來搜尋,第一個 LINE 就是了!
LINE這就是要送訊息出來,點選 “Send message”
接下來 IFTTT 會需要與 LINE 連動,點選 “Connect” 繼續
這邊應該會另外開一個視窗,我們輸入 LINE 的帳號及密碼登入,或用手機可直接使用 “透過行動條碼登入”,倘若是點選 “透過行動條碼登入”,會出現一個 QR code 的視窗畫面,手機開啟 LINE 直接掃描,後續再完成驗證碼的驗證後就能下一步
IFTTT 會 LINE 連動,點擊 “同意並連動”
接著要設定 LINE訊息相關的欄位,Recipient 選擇 1 對 1 聊天接收,Message 保留就 Value1 就好,一個 Value 1 就可以接收所有訊息,確認完就 “Create action”
點選 ”Webhooks“ 圖示,進入 webhooks 相關設定
點選中間的 “Documentation”,來獲取 web request 的 URL 相關設
其中 Your Key,是非常重要的,而底下有一個 “Test It” 測試,中間有個 {event} 改成剛剛輸入的 Event Name,如我剛剛設定的 fortigate,並按下 “Test It”
接下來,我們回到 Fortigate 的 GUI 上,Security Fabric > Automation,目前底下都是空的,點選上方的 “Create New” 來建立一條新的規則
Name:這邊輸入自己容易辨識的名稱
Trigger:選擇 FortiOS Event Log,底下的 Event 選擇 Admin login failed
Action:選擇 Webhook
往下繼續設定 Webhook 相關的設定,
Name:輸入自己看得懂的名稱,如:Webhook_to_Line
Protocol:選擇 HTTPS
Method:選擇 POST
URI:輸入剛剛在 IFTTT 中 webhooks 的 Documentation 的 超連結網址,輸入 https:// 之後的,最後記得再補上一個 ?
HTTP body:可參考 Fortigate 6.2.15 Log Message Refernece 文件,以下是我使用的範例
value1=
FG50E 登入失敗通知
日期:%%log.date%%
時間:%%log.time%%
帳號:%%log.user%%
來源 IP:%%log.srcip%%
目的 IP:%%log.dstip%%
方式:%%log.method%%
狀態:%%log.status%%
動作:%%log.action%%
訊息:%%log.msg%%
接下來便可來測試是否 Work,我新增了兩個 Automation 的規則,登入失敗是一個規則,登入成功是另一個規;不論是登入失敗或登入成功,我的 Line 訊息都會收相關的通知
透過 Fortigate 上的 Automation,能把這些 Login 的紀錄撈出來,後送給 IFTTT 的 webhooks 來執行,再進而達到即時通知的 LINE 訊息通知,這只是其中的一種應用,倘若還有什麼應用也可來集思廣益下,也希望大家的網路順暢~