2019年1月26日 星期六

使用 Azure Log Analytics 建立監控分析 Azure WAF 儀表板

架設完成 Azure WAF 服務之後,要如何知道運作狀況?
預設在Azure WAF的計量中有提供效能方面的資訊

可以在圖中的 Metric 下拉式選單中檢視各項效能資訊,相信這樣仍然有所不足對吧?
例如,要如何得知是否有資安攻擊?是否有不正常流量狀況?或者其中進一步的資訊...
首先, Azure WAF 提供了以下三種 Log:
  • ApplicationGatewayAccessLog
  • ApplicationGatewayPerformanceLog
  • ApplicationGatewayFirewallLog
但是呢?這三種Log要存放在哪裡?存放的地方要自己準備喔,當然最方便的就是放在Azure Storage裡面了,所以首先第一步,就是要準備一個 Azure Storage,新增一個儲存體帳戶,過程不贅述了,參考下圖:
帳戶種類選擇「Storage(一般用途 v1)」即可,其他選項依需求選擇。


準備好了儲存空間,接下來就要設定啟用 WAF  Log 紀錄和存放位置,來到 WAF 的設定畫面,選擇「診斷紀錄檔」新增一筆設定


首先取好設定名稱,接著設定儲存體帳戶,先勾選「封存至儲存體帳戶」,選擇之前新增的 Storage...

接下來勾選「傳送至 Log Analytics」,接著新增一個工作區,設定完相關資訊後,最後是訂價層,就是收費模式....是的, Log Analytics 是要付費的!
收費方式參考:Log Analytics 收費模式


接下來就是選擇勾選要存哪個事件,以及保留天數,一般建議留存三個月...
另外是 Metric 效能資料,這就看是否有需求要另外收集效能資訊分析...

以上步驟就已經完成收集 WAF Log的作業了,接下來就是資料分析的作業了,在之前的設定過程中已經新增了 Log Analytics 的工作區,如果熟悉搜尋語言可以自行設定資料分析的公式,又或者直接使用 Azure 預設提供的監控範本(在Azure Log Analytics的名詞是解決方案),設定方式如下圖:

Azure Log Analytics 提供了許多非常多的範本,這個情境選擇「Azure 應用程式閘道分析」並建立...


不需要其他設定,就自動建立一套儀表板了,點選進去可以看到更詳細內容

例如 WAF 存取事件、防火牆事件等等...


點選任何一張圖,就可以進入下圖中的畫面,可呈現原始的事件紀錄清單...

為了可以快速日後瀏覽,可以釘選在首頁儀表板,點選圖釘的地方

接下來在Azure Portal首頁的儀表板,就可以看到了

OK,關於使用Azure Log Analytics 監控分析 Azure WAF 的方法介紹到這邊囉~

2019年1月25日 星期五

在 Azure WAF上設定將網址 http 自動導向 https

在 Azure WAF 設定 redirect 是很簡單的事,關於 Azure WAF 的資訊您可以參考以下文章:
在 Azure 啟用 WAF保護 Web服務

要實作將網址 http 自動轉向 https,首先一樣先從做前端的「接聽程式」開始,先到WAF設定畫面的「接聽程式」先新增一筆「基本」

新增的接聽程式,重點在於設定要接聽的是 Port 80,設定埠號名稱、埠號以及通訊協定
這樣就總共有兩筆「接聽程式」了,一個是接聽 Port 443,另一個是接聽 Port 80


接下來要新增一筆「規則」選擇「基本」

 在新增規則的內容,首先設定規則名稱、還有接聽程式(就是一開始設定的接聽 Port 80那一條),然後勾選最關鍵的「設定重新導向」,會出現重新導向類型,這個地方請思考實際需求選擇適合的類型,重新導向目標選擇「接聽程式」,所以目標接聽程式就是原本 Port 443的接聽程式,其他地方保持預設,完成後就大功告成了。

接下來就可以測試囉,常識打 http開頭的網址,是否會自動轉向 https?

在 Azure 啟用 WAF保護 Web服務

來談談 WAF (Web Application Firewall)吧,不知道啥麼是WAF的話下列網址可以自行研究一下:
WAF:網站主機的金鐘罩鐵布衫

因此對外的Web重要服務,通常都需要架設WAF來保護,即使移轉到雲端也是一樣,所以本篇文章說明,在微軟的Azure雲端平台,如何啟用WAF保護Web服務。

微軟官方文章已經寫了非常清楚,關於概念功能,也有教程,可以先參考一下:
https://docs.microsoft.com/zh-tw/azure/application-gateway/overview

Azure 的 WAF,內建於 Azure Application Gateway 這支功能之中,選擇部屬Azure Application Gateway就可以選擇 WAF模式和應用程式閘道模式。

本篇文章已描述 WAF 為主:

Azure Application Gateway

有幾個重要元件可以從上圖了解:
1. Application Gateway Frontend IP : 直接面對來自於網際網路流量的最前端 IP
2. HTTP/HTTPS Listener (接聽程式):要監聽來自於網際網路流量的哪一個 Port
3. HTTP Setting:前端的接聽程式,要對應後端實際的網頁伺服器的哪個 Port
4. Rule:定義前端要用哪幾個接聽程式?後端用哪幾個 HTTP Setting?實際要保護的是哪幾台Web服務?
5. Backend Pool:實際要接受保護的網頁伺服器

各個重要角色都清楚了,就可以開始實作了:
首先,假設我的網站架設在Azure上(舉例網址為:https://www.sinya.com/),需要啟用WAF來保護,由於是走 HTTPS 因此還要注意憑證的操作。
另外,我在DNS有一筆 www 的 A紀錄指向網頁伺服器的 IP,當WAF 建置完成之後,就要將DNS改成指向WAF,如此Web就正是受到WAF保護了

接下來開始實作了:
1. 新增一個Azure Application Gateway服務:
    在步驟一,先設定基本組態資料,除了「定價層」要選擇 WAF,其他選擇預設就好
第二步驟,設定WAF的網路組態,以及設定公用IP,其中最重要的是「接聽程式」的設定,因為要保護 HTTPS網站,因此需要先上傳 PFX 檔案,由於接聽程式要代表網頁伺服器本身承受來自網際網路的流量,因此需要含私鑰的PFX檔案,這個PFX檔案,就需要從 網頁伺服器本身匯出 (參考:匯入和管理 SSL 私密金鑰 )
接下來,就是起用防火牆狀態,以及防火牆模式,所謂的偵測和預防的差別,在於有無阻擋機制,按下確定後第三步驟,檢視設定內容後就可以正式建立了,建立過程會花點時間請耐心等候...

建置完成之後,前往 WAF 的設定畫面,如下圖
首先,可以在圖中右上方紅框處得知 WAF 的公用 IP,以及FQDN資訊,這就是當完成之後要更改 DNS 紀錄用的,左邊紅框處,是剛才設定過程中已經設定完成的接聽程式,進去看一下內容,因隱私我遮蔽了一些項目,假設下圖中那一項接聽程式(_Port443)是剛才設定的,我們可進一步觀察細部設定:

下圖是接聽程式的設定內容,例如前端公用IP、接聽的網路埠號、主機名稱、憑證等等...
這一段先前的設定已經完成,不需要多做設定。
接下來,要新增一個 HTTP 設定:
在HTTP設定中,要設定後端網頁伺服器的要接聽的通訊協定,由於我的網頁伺服器有設定SSL憑證,因此選擇 HTTPS,同時上傳 cer 憑證檔案 (可以從IE瀏覽器開啟SSL網頁時匯出cer檔案)...
另外一個狀況:如果網頁伺服器並沒有掛 SSL 憑證,但是希望 WAF 可以掛SSL憑證,原本網頁伺服器還是走 Port 80,這樣情境也是可以的!
就是前端的「接聽程式」走 HTTPS,這邊的 HTTP設定走 HTTP 即可喔!

接下來設定「後端集區」指定實際的網頁伺服器,設定後端集區的名稱、輸入網頁伺服器的 IP 或者 FQDN,按下新增就好了

接下來設定「規則」指定規則名稱、前端接聽程式、後端HTTP設定和後端集區,這樣就行了!
這樣 WAF 就會依造這條規則,將接聽的網路埠號、街到後端的HTTP設定,進而將資料送到後端集區的網頁伺服器了~目前為止大致設定差不多了,但是還有一個設定要完成,就是「健康狀態探查」如此才能確認WAF服務是否OK...
輸入探查的名稱、通訊協定、主機名稱,要探查的路徑(不知道的話打 「/」 代表看全部),其他沒特別需求保持預設即可

接下來要回到「HTTP設定」找到之前設定完成的 HTTP設定,直接拉到最下方勾選"自訂探查"項目,會出現下拉式選單,選擇剛才建立的"健康狀態探查"
接下來就先確認WAF機制是否有正常的運作了,找到有愛心符號的「後端健康狀態」只要看到狀況良好的綠色符號,就代表大功告成了,至目前為止WAF設定便完成了。

建議各位,儘量測試網站各項功能,看是否WAF有影響到網站功能造成異常,如果測試都沒有問題,就可以到DNS將網站的 A 紀錄改成 WAF 的囉,首先將原本網站的 A 紀錄刪掉,新增一筆網站的 CNAME 紀錄,我這邊用 Azure DNS 來舉例:輸入對應的網站FQDN, 和輸入 WAF的CNAME資訊
WAF 的 CNAME 資訊在何處?藏在概觀的畫面上,公用IP 後面括號中一串亂碼後面帶 cloudapp.net的字串就是了...

待 DNS 生效之後 Ping 看看,接下來確認網頁開啟正常之後,就大功告成囉...


2017年11月19日 星期日

練功好所在:VMWare Hands on Lab

11/16 在台北國際會議中心熱鬧登場的 VMWare vForum,無疑是個火力展示的大舞台,許許多多的相關廠商也趁著機會展示自家的產品或解決方案,報名這次的VMWare大拜拜,大會也準備了專屬APP提供參加者,藉此了解大會所有相關資料、也可以提供下載,攤位資訊、課程資訊等等,相當便利!


當然對於 IT Pro 或者 VMWare 資深玩家們,更關心的是  VMWare 有哪些新玩意?會場當天也展示了 Hands on labs, 讓玩家們可以親手感受 VMWare 產品建置操作等功能,對於玩家來說,這點才是最重要的亮點啦,那麼本文開始就介紹一下,要如何才能玩這個 Labs 環境呢?
首先,請登入 VMWare Hands on Labs 網站:
或者 Google 搜尋 HOL, 第一個就是了..

登入之後呢,首先註冊帳號

如果之前有帳號就直接登入,沒有的話下方選項 Register 註冊一個新帳號吧

登入後就可以開始玩想要的實驗了,有些實驗有中文化,左邊實驗清單中可以找到支援語言方類的實驗,例如繁體中文有兩個實驗可以選,接下來點選"註冊",就可以開啟實驗


建議先了解一下這個實驗的內容,寫得很詳細,按下"啟動此實驗"就可以開始進行

正在啟動實驗的過程中,右方可以看到文件說明,所謂的語言支援,指的就是這些文件了,除了相關產品概念以及雲端概論的知識,還有實驗的步驟說明

每個實驗,就按照文件中的步驟,在實驗環境中執行

實驗環境建立好之後,就可以開始按照文件說明,開始玩相關功能啦!

透過這個平台,可以好好磨練自己在VMWare產品操作、建置的功力,每個實驗都有時間限制,也就是說,時間結束之後就會關閉這個環境,例如本次時間只有一個小時半,所以欣爺必須挑戰自己的熟悉度,在指定的時間內完成這個實驗,是不是很有挑戰性呢?

2017年11月16日 星期四

KMS Server 無法計算授權數量的原因

OK, 當採購大量微軟產品的 IT 人員應該不陌生,要讓Windows或者Office獲得啟動授權,就必須要在企業內部網路準備 KMS (Key Management Service) 伺服器,讓用戶端電腦每180天連回 KMS 主機維持授權啟用狀態。因為KMS設計上就是為了方便啟用大量電腦的軟體授權,因此有基本門檻限制,官方說明:
https://www.microsoft.com/en-us/licensing/existing-customer/FAQ-product-activation.aspx

我知道英文字很多,直接幫大家畫重點:

意思是就是內部網路必須至少要有五套Office向KMS提出啟動要求才會生效。

故事開始:
最近處理了一個有趣的 KMS Server 案例,客戶反應他們的 KMS 伺服器無法計數授權數量,對方 7pupu 的抱怨 Office 2013 都已經安裝七、八套了,KMS還沒啥麼反應!
客戶也提供了 KMS 的畫面:
明確的指出計數只有三套~客戶堅持已經裝了七八套了~

接下來的畫面也看到Error Code: 0xC004F038,Google一下這個Error Code內容,也是描述授權數量不足五個所以無法啟動,對於疑難排除沒有啥參考價值...

在傷腦筋的過程中,無意見詢問一下客戶 Office 2013 的安裝方式,客戶就說了,身為資深的IT人員,一台一台電腦慢慢安裝 Office 2013 的方式一點都不 Pro,當然是用 Ghost 映像檔方式又快又方便啦!

聽到這裡,欣爺眉頭一皺,發覺案情並不單純,立馬查詢一下,果然知道問題點在哪了。
首先,要先說明一下 KMS 是依據甚麼來判斷 Office 的啟動數量呢?當然不是Office 的安裝數量那麼單純,而是會判斷 Office 的 CMID (Client Machine ID),每一套 Office 的 CMID 都是獨一無二的,因此客戶將裝好的 Office 電腦製作成映像檔後,佈署到了七八台電腦,對於 KMS 主機來講,等於沒有發現任何 Office,因為這七八台電腦的 Office 的 CMID 都是一模一樣的!而這組 CMID 早已經被啟動了,所以這就是 KMS 無法計數啟動數量,這七八台電腦沒辦法順利啟動的原因。

首先,要怎麼確認那些電腦的 Office CMID 是重複的?可以透過命令提示列,在 Office 2013 的路徑底下(\%Program Files%\Microsoft Office\Office15),執行cscript ospp.vbs /dcmid指令查看Office的CMID。
PS: 安裝32位元的,就是在 %Program File(x86)%,OK?
PS: 如果安裝的是 Office 2016呢?那就是 Office16,OK?
像這樣:

那麼接下來,找到重複的 Office CMID 電腦,只要在命令提示列相同資料夾位置,輸入:
ospprearm.exe
畫面會出現「Microsoft Office 重設授權狀態成功」
這樣就表示CMID重設成功了,當然KMS也就可以正常計數了

當然,重要的是,習慣用映像檔來重灌電腦的 IT Pro,除了基本的 Sysprep 要做之外,記得 Office 也要重設一下 CMID 喔!