iT邦幫忙

2022 iThome 鐵人賽

DAY 12
0
自我挑戰組

30天 IIS 面面觀系列 第 12

Day12. 新世紀福爾摩斯的部分 - Config Auditing

  • 分享至 

  • xImage
  •  

不知道大家有沒有遇過一些鬼打牆的場景,明明就沒有動過設定,結果設定自己跑掉了!這個地方本來部署的時候設定值是 A,結果出了問題回來一看,咦,是誰!打開我心門...喔不是,我是說是誰把設定改成 B了!

為了避免這種無解的情況,讓我們這篇來聊聊關於設定監聽的這件事,還有關於 IIS 的 config 的相關備份機制,當問題發生的時候,我們怎麼樣會有過往可用設定來比較。

雖然是 IIS 的 Config Auditing,其實是靠著 Event Viewer 留下紀錄,首先我們先開啟 Event Viewer:

https://ithelp.ithome.com.tw/upload/images/20220927/20142057WqenknvMo2.png

https://ithelp.ithome.com.tw/upload/images/20220927/20142057gOhTZuo4gt.png

依照畫面上的路徑顯示,一路展開到 Windows 底下,並選取 IIS-Configuration,展開。

https://ithelp.ithome.com.tw/upload/images/20220927/20142057eDOMLxg2RC.png

在從未設定過的時候,中間的內容畫面應該如我上面截圖一樣空白,什麼都看不到。這邊我們在 Operational 上面點右鍵,這個功能是需要被開啟的,選擇 Enable Log,好地,這樣就把功能開起來了。

我們馬上來試驗一下,用上篇的 Configuration Editor 我改了一個設定,就可以看到它在這邊出現:

https://ithelp.ithome.com.tw/upload/images/20220927/20142057HpOEnfQIhM.png

畫線的地方是可以特別注意的:首先先看下半,會記錄下該次更改發生的時間、更改時候登入的帳號,更改的來源。這些對於被程式自動更改的項目很有用,能夠幫你釐清它到底是被誰改的、又是什麼時候。上半的說明格裡則列出了詳細被改的內容,包含是哪個網站、改了什麼值等等,更進一步釐清狀況。

只要你開了這個設定,之後設定檔跑掉基本就能來這邊查找,做一下小偵探,誰是兇手。

另外我們來看一下,如果你沒開這個,那我們有其他機會能夠知道過往的設定嗎?有的,在 application host 的層級,我們一樣使用 Configuration Editor,打開 system.applicationHost/ configHistory 的這個路徑。

https://ithelp.ithome.com.tw/upload/images/20220927/20142057hpFgzKIKOb.png

這邊的設定其實相當一目瞭然,是否允許設定檔的歷史紀錄,最多儲存多少個歷史檔案,歷史檔案儲存的位置,預設通常會在 %SYSTEMDRIVE%\inetpub\history,每隔多久記一個歷史檔案。

當你真的需要使用備份,回復到過往的設定的時候,除了暴力的剪下貼上,也可以透過 appcmd 的方式,是 IIS 提供的命令列工具。更多的指令或介紹我們留待後篇,這邊我們先簡單講一下透過 appcmd 單純還原備份這件事。

  1. 使用 Admin 權限打開一個 cmd 視窗
  2. 打開到 appcmd 所在的資料夾下:
    cd %windir%\system32\inetsrv
  3. 打如下指令,獲取目前的歷史檔案清單:
    appcmd list backups

https://ithelp.ithome.com.tw/upload/images/20220927/20142057Lmj1asAas9.png

  1. 確認你要用的是哪個檔案,用這個指令來復原(Backupname就是上面列出來的資料夾名稱):
    appcmd restore backup BACKUPNAME
    這邊我們以 23 為例,也是注意你的復原對象,確認完輸入指令就會有如下結果

https://ithelp.ithome.com.tw/upload/images/20220927/201420571LViezCUGM.png

好地,按照以上步驟就能對被備份的檔案做到復原。另外提個以前也是我做過時紀錄的文章,這邊我就不重提,提供連結給大家參考:

【IIS】搬設全部IIS的網站及設定至另一台機器上 - 雜食性的貓 - Medium

上面這篇文章指的情景是當你只需要 site 和 app pool 的設定的時候,可以參這這篇去做指令搬遷。基本上設定搬遷可以的話都建議不要用一些笨方法向照著介面設,越多人工,越多失誤。能夠讓指令處理的都盡量讓指令處理,減少人為疏失。

大致上今天的內容就到這裡,介紹了如何去開啟 IIS 設定檔的變更監控,與如何設定備份、利用備份的設定檔做還原,在有多台機器或比較複雜的運用場景中都是很實用的操作。


上一篇
Day11. 設定檔操作介面 - Configuration Editor
下一篇
Day13. 再靠近一點點,了解更多關於 Site - Site Advance Setting
系列文
30天 IIS 面面觀30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言