乾貨 || 保護內網安全之Windows工作站安全基線開發(一)

保護Windows工作站免受現代的網路攻擊威脅是一件非常具有挑戰性的事情。 似乎每個星期攻擊者們總有一些新的方法用來入侵系統並獲取用戶憑據。

創建一個非常安全的Windows工作站的最佳方法是下載Microsoft安全合規管理器(當前版本為4.0),並在要為其創建安全基線GPO的操作系統版本下選擇「安全合規」選項。 查看選項,根據需要進行更改,並導出為GPO備份(文件夾)。 創建新的並且為空的GPO然後從SCM GPO備份中導入設置。 然後將新創建的GPO應用到你的工作站。 如果你已配置為最小的安全設置,這將改進你的工作站安全基線,特別是如果你還沒有創建現有的工作站GPO。

作為開發Windows工作站安全基線GPO的一部分,有幾個大型組織花費了一些時間和金錢確定了什麼才是「安全」:

DoD STIG:iase.disa.mil/stigs/os/

DoD Windows 10安全主機基準文件:https://github.com/iadgov/Secure-Host-Baseline

澳大利亞信息安全手冊:asd.gov.au/infosec/ism/

CIS基準:https://benchmarks.cisecurity.org/downloads/browse/?category=benchmarks.os.windows

用於通過組策略控制設置的Microsoft管理模板如下:

Windows 7和Windows Server 2008 R2:https://www.microsoft.com/en-us/download/details.aspx?id=6243

Windows 8.1和Windows Server 2012 R2:https://www.microsoft.com/en-us/download/details.aspx?id=43413

Windows 10(v1607)和Windows Server 2016:https://www.microsoft.com/en-us/download/details.aspx?id=53430

Office 2010:https://www.microsoft.com/en-us/download/details.aspx?id=18968

Office 2013:https://www.microsoft.com/en-us/download/details.aspx?id%20=%2035554

Office 2016:Office 2016 Administrative Template files (ADMX/ADML) and Office Customization Tool

請注意,這些鏈接可能會隨著更新而更改。

Windows及Windows Server的組策略設置參考:Group Policy Settings Reference for Windows and Windows Server

Windows 10(v1607)和Windows Server 2016安全配置基線設置:https://blogs.technet.microsoft.com/secguide/2016/10/17/security-baseline-for-windows-10-v1607-anniversary-edition-和-windows-server-2016%20/

如果你已經使用一個GPO配置了工作站的安全性,你還可以使用Microsoft的策略分析器將你現有的GPO與SCM生成的「安全合規性」的GPO進行比較。

除了標準的「Windows安全事件」之外,還存在許多遺留和經常未使用的組件,它們從早期的Windows版本中遺留下來,而現有的版本通常不再需要,但由於考慮到兼容性的原因而繼續保留。

本文涵蓋了許多此類以及其他一些很不錯的安全實踐和配置。

保護Windows工作站:

部署免費/幾乎免費的Microsoft工具以提高Windows安全性:

部署Microsoft AppLocker以鎖定可以在系統上運行的文件。

使用推薦的軟體設置部署當前Windows版本的EMET。

部署LAPS對本地管理員(RID 500)的密碼進行管理。

強制組策略在「刷新」期間重新應用設置。

禁用Windows舊版本中通常不會使用到的功能:

禁用Net會話枚舉(NetCease)

禁用WPAD

禁用LLMNR

禁用Windows瀏覽器協議

禁用NetBIOS

禁用Windows腳本宿主(WSH)並且控制腳本文件擴展名

部署禁用Pass-The-Hash的安全補丁(KB2871997)。

阻止本地管理員(RID 500)帳戶通過網路進行身份驗證

確保WDigest已禁用

從Windows 8.1和Windows Server 2012 R2中移除SMB v1

Windows 10和Windows 2016的安全配置:

Windows 10&2016系統映像配置

阻止不受信任的字體

啟用憑據保護

配置設備保護

應用程序安全設置:

禁用Microsoft Office宏

禁用Microsoft Office OLE組件

其他組策略安全設置

將Lanman驗證配置為安全設置

配置未認證的RPC客戶端的限制設置

配置NTLM會話安全

使用免費或幾乎免費的Microsoft工具提高Windows安全性

部署AppLocker以鎖定可以在系統上運行的文件

Microsoft AppLocker為Windows提供了開箱即用的應用程序白名單功能。

強烈建議在那些你需要設置高級別安全性的Windows工作站和伺服器上使用AppLocker鎖定可以在系統上執行的操作。

AppLocker可用於將應用程序執行限制為特定的已批准的應用程序。這裡有幾個我需要推薦的有關於AppLocker的不同設置階段:

階段1:審核模式 - 審核用戶的所有執行操作及其運行的路徑。這個階段的日誌記錄模式會提供有關企業中運行的程序的信息,並將此數據記錄到事件日誌中。

階段2:「黑名單模式」 - 配置AppLocker以阻止執行用戶的主目錄,配置文件路徑和用戶對其具有寫入和訪問許可權的臨時文件夾位置(例如c:temp)中的任何文件。

階段3:「文件夾白名單模式」 - 通過添加新規則以允許執行特定文件夾(如c:Windows和c:Program Files)中的文件,這種AppLocker配置是在階段2的基礎上進行構建。

階段4:「應用程序白名單」 - 列出企業環境中正在使用的所有應用程序,並通過路徑和/或文件哈希(優先使用數字簽名)將這些應用程序列入白名單。這需要確保只有經過批准的企業或組織的應用程序才會執行。

AppLocker組策略創建和管理的步驟:

計算機配置策略 Windows設置安全設置應用程序控制策略 AppLocker

查看AppLocker策略設計指南以獲取部署幫助。

此方案預計的努力水平:中等偏上

此方案預計的影響:這很可能會影響企業的一些事情,最好在部署前先進行測試。

使用推薦的軟體設置部署當前Windows版本的EMET

Microsoft增強型緩解體驗工具包(EMET)有助於防止應用程序漏洞被利用(包括減少許多0day)。它是一個免費的產品,能夠有效地「包裝」 熱門的應用程序,所以當嘗試漏洞利用時,嘗試的行為將被阻斷在「包裝器」中,而不會接觸到操作系統。

有幾個用於部署的配置方式:

默認配置。

推薦軟體。

熱門軟體。

至少,使用默認配置方式部署EMET會強化核心應用程序。

使用EMET管理模板(EMET.admx和EMET.adml)通過GPO啟用EMET管理,可在安裝了EMET的系統上的<系統盤符> Program FilesEMETDeploymentGroup Policy File

文件夾中找到。將這些複製到Active Directory GPO中央存儲。

通過組策略自定義EMET配置

最好對應用程序進行測試,因為一些「更安全」的設置可能會導致程序崩潰如Outlook和Chrome以及一些安全軟體。

請注意,微軟EMET將在2018年終止生命(EOL),因為它是由微軟開發的,它被發布的目的是幫助改進Windows安全的某些元素。 Windows 10已經極大的提升了安全性,超過了大多數EMET的安全增強功能。

此方案預計的努力水平:中等

此方案預計的影響:這很可能會影響企業的一些事情,最好在部署前先進行測試。

使用LAPS對本地管理員(RID 500)的密碼進行管理

Microsoft本地管理員密碼解決方案(LAPS)為Active Directory中的每台計算機提供了自動對本地管理員帳戶進行管理的功能(LAPS特別適用於工作站的本地管理員密碼管理)。 安裝在每台計算機上的客戶端組件會生成隨機的密碼,並更新與本機相關聯的AD計算機帳戶上的LAPS密碼屬性,並在本地設置密碼。 LAPS配置通過組策略管理,該策略需要提供密碼複雜性,密碼長度,密碼更改的本地帳戶名稱,密碼更改頻率等設置值。

點此查看LAPS部署信息。

此方案預計的努力水平:低到中等

此方案預計的影響:這很可能會影響企業的一些事情,最好在部署前先進行測試。

強制組策略在「刷新」期間重新應用設置

默認的組策略應用程序會在客戶端上「刷新組策略」,雖然這實際上並不意味著重新應用GPO設置。默認情況下,只有在刷新之前修改GPO才會重新應用GPO的設置。這意味著可以通過計算機的註冊表(通常具有管理員許可權)撤消GPO強制設置,並且未經授權的設置將一直保持到GPO被修改(如果有的話),之後才會重新應用GPO設置。

通過測試後發現,更改組策略默認設置以在每次刷新時重新應用GPO設置 – 「即使組策略對象未更改也會進行處理」。這對客戶端有潛在的性能損失,但是能確保所有的GPO強制設置重新應用生效。

計算機配置,策略,管理模板,系統,組策略,配置安全策略處理:設置為啟用。

同時也要選中「即使組策略對象未更改也進行處理」的選擇框,

同樣建議為以下每個配置相同的設置:

計算機配置,策略,管理模板,系統,組策略,配置註冊表策略處理

計算機配置,策略,管理模板,系統,組策略,配置腳本策略處理

以及根據需要的任何其他的策略設置。

啟用LSA保護/審核模式

從Windows 8.1 / Windows Server 2012 R2開始,可以添加註冊表項來啟用LSA保護,以防止未簽名的代碼與LSASS(如Mimikatz)進行交互。在啟用LSA保護之前,最佳實踐是啟用LSA審核模式以了解哪些代碼可能與LSASS交互,否則將被阻止。

Microsoft的「配置額外的LSA保護」中有如下描述:

LSA 包含本地安全機構伺服器服務 (LSASS) 進程,可以驗證用戶的本地和遠程登錄,並強制本地安全策略。Windows 8.1 操作系統為 LSA 提供附加保護,以防止未受保護的進程讀取內存及注入代碼。 這為 LSA 存儲和管理的憑據提供了更高的安全性。 LSA 的受保護進程設置可以在 Windows 8.1 中配置,但不能在 Windows RT 8.1 中配置。 將此設置與安全啟動結合使用時,便可以實現附加保護,因為禁用 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa 註冊表項不起作用。

插件或驅動程序的受保護進程要求

要使 LSA 插件或驅動程序以受保護進程的形式成功載入,它必須符合以下條件:

1. 簽名驗證

保護模式要求載入到 LSA 中的任何插件都已使用 Microsoft 簽名進行數字簽名。 因此,未簽名的或者未使用 Microsoft 簽名進行簽名的任何插件都無法載入到 LSA 中。 這些插件的示例包括智能卡驅動程序、加密插件和密碼篩選器。

用作驅動程序(例如智能卡驅動程序)的 LSA 插件需要使用 WHQL 認證進行簽名。 有關詳細信息,請參閱 WHQL 版本簽名(Windows 驅動程序)。

不需要經歷 WHQL 認證過程的 LSA 插件必須使用 LSA 的文件簽名服務進行簽名。

2. 遵守 Microsoft 安全開發生命周期 (SDL) 過程指導

所有插件必須符合適用的 SDL 過程指導。 有關詳細信息,請參閱 Microsoft 安全開發生命周期 (SDL) 附錄。

即使插件已使用 Microsoft 簽名正確地進行簽名,但如果不符合 SDL 過程,也可能會導致載入插件失敗。

建議的做法

在廣泛部署該功能之前,請使用以下列表來全面測試是否已啟用 LSA 保護:

識別組織中使用的所有 LSA 插件和驅動程序。 這包括非 Microsoft 驅動程序或插件(例如智能卡驅動程序和加密插件),以及內部開發的、用於強制密碼篩選器或密碼更改通知的所有軟體。

確保使用 Microsoft 證書對所有 LSA 插件進行數字簽名,以防止插件載入失敗。

確保正確簽名的所有插件都能成功載入到 LSA 中,並且能按預期工作。

使用審核日誌來識別無法以受保護進程運行的 LSA 插件和驅動程序。

如何識別無法以受保護進程運行的 LSA 插件和驅動程序

本部分所述的事件位於 Applications and Services LogsMicrosoftWindowsCodeIntegrity 下的運行日誌中。 這些事件可幫助你識別由於簽名方面的原因而無法載入的 LSA 插件和驅動程序。 若要管理這些事件,可以使用 wevtutil 命令行工具。 有關此工具的信息,請參閱 Wevtutil [Vista]。

在選擇加入之前:如何識別 lsass.exe 載入的插件和驅動程序?

可以使用審核模式來識別 LSA 保護模式下無法載入的 LSA 插件和驅動程序。 在審核模式下,系統將生成事件日誌,標識在啟用 LSA 保護的情況下無法在 LSA 下載入的所有插件和驅動程序。 將會記錄消息,而不阻止這些插件或驅動程序。

在一台計算機上通過編輯註冊表為 Lsass.exe 啟用審核模式的步驟

1.打開註冊表編輯器 (RegEdit.exe),然後導航到位於以下位置的註冊表項:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution OptionsLSASS.exe。

2.將該註冊表項的值設置為 AuditLevel=dword:00000008.。

3.重新啟動計算機。

分析事件 3065 和事件 3066 的結果。

事件 3065:此事件記錄:代碼完整性檢查已確定某個進程(通常為 lsass.exe)嘗試載入特定的驅動程序,但該驅動程序不符合共享區域的安全要求。 但是,由於所設置的系統策略的原因,允許載入相應的映像。

事件 3066:此事件記錄:代碼完整性檢查已確定某個進程(通常為 lsass.exe)嘗試載入特定的驅動程序,但該驅動程序不符合 Microsoft 簽名級別要求。 但是,由於所設置的系統策略的原因,允許載入相應的映像。

此方案預計的努力水平:低到中等

此方案預計的影響:這很可能會影響企業的一些事情,最好在部署前先進行測試。

禁用Windows舊版和通常未使用的功能:

禁用Net會話枚舉(NetCease)

默認情況下,Windows計算機允許任何經過身份驗證的用戶枚舉其網路會話。這意味著攻擊者可以枚舉託管主目錄的文件共享或域控制器的網路會話,以查看誰連接到SYSVOL(應用組策略),並確定每個用戶和管理員帳戶登錄到哪個工作站。 Bloodhound廣泛地使用此功能來映射網路中的憑證。

禁用網路會話枚舉將會刪除任何用戶枚舉網路會話信息(Recon-探測)的功能。

這些設置也可以通過組策略進行部署:

在參考工作站上運行NetCease PowerShell腳本。

打開 組策略管理控制台。右鍵單擊應包含新首選項條目的組策略對象(GPO),然後單擊編輯。

在計算機配置下的控制台樹中,展開首選項文件夾,然後展開Windows設置文件夾。

右鍵單擊註冊表節點,指向「新建」,然後選擇「註冊表嚮導」。

選擇存在所需註冊表設置的參考工作站,然後單擊下一步。

瀏覽到HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services LanmanServer DefaultSecurity

並選中要從中創建註冊表首選項條目的「SrvsvcSessionInfo」複選框。僅當您要為鍵而不是鍵中的值創建註冊表項時,才選中鍵的複選框。

單擊「完成」。你所選擇的設置會在註冊表嚮導值集合中顯示為首選項。

此方案預計的努力水平:低到中等

此方案預計的影響:這很可能會影響企業的一些事情,最好在部署前先進行測試。

禁用WPAD

Web代理自動發現協議(WPAD)是一種由客戶端使用的方法,用於使用DHCP和/或DNS發現方法來定位配置文件的URL。一旦配置文件的檢測和下載完成,就可以執行這個配置文件,以確定指定URL的代理。

禁用WPAD會使得用於被動竊取證書的方法以及Responder程序不可用。僅在環境中未使用時禁用。

通過部署以下選項通過組策略禁用WPAD:

HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion Internet Settings Wpad

新建名為「WpadOverride」的DWORD(32位值)類型,並設置值為「1」

禁用服務「WinHTTP Web代理自動發現服務」

計算機配置/策略/ Windows設置/安全設置/系統服務

注意:

通過安裝Microsoft修補程序KB3165191(MS16-077)可以部分緩解WPAD問題。

此修補程序會強化WPAD進程和系統響應NetBIOS請求的時間。

此方案預計的努力水平:低到中等

此方案預計的影響:這很可能會影響企業的一些事情,最好在部署前先進行測試。

禁用LLMNR

鏈路本地多播名稱解析(LLMNR):

簡而言之,當DNS分配無法解析名稱時,鏈路本地多播名稱解析(LLMNR)就會解析本地子網上的單個標籤名稱(如:COMPUTER1)。如果你處於Ad-Hoc網路場景或DNS條目不包括本地子網上的主機的情況下,這將非常有用。LLMNR應在不使用時禁用,因為禁用它會刪除響應程序,此程序用於被動證書竊取。

組策略:計算機配置/管理模板/網路/ DNS客戶端

將「關閉多播名稱解析」設置為「已啟用」

此方案預計的努力水平:低

此方案預計的影響:這很可能會影響企業的一些事情,最好在部署前先進行測試。

禁用Windows瀏覽器協議(瀏覽器服務)

Windows NT使用瀏覽器服務(瀏覽器協議)發現和共享本地網路上的資源信息。該過程通過在網路上廣播和收集該廣播的結果來工作。網路廣播有點像在一個充滿著人的房間里每30秒去尋找一個朋友(一旦你發現你的朋友,你注意到他的位置,但過一會兒後可能會忘記,必須重新發現他的當前位置)。為了使該過程效率稍低,在每個子網上選擇「主瀏覽器」,其跟蹤資源並響應這些資源廣播請求。在Windows域中,PDC充當域主瀏覽器,這些子網主瀏覽器將資源信息轉發給這些子瀏覽器。使用Windows Browser廣播的資源發現協議最終被Windows Internet名稱服務(WINS)和Active Directory(含DNS)取代。儘管瀏覽器服務的必要性已降至幾乎為零,但Windows中的計算機瀏覽器服務仍然在Windows 10和Windows Server 2012 R2中存在(雖然該服務在Windows 10 v1607和Windows Server 2016中已刪除)。

Windows瀏覽器協議是Responder程序用於被動竊取憑據的另一種方法。

Windows計算機瀏覽器服務設置為手動啟動,但通常會在Windows啟動時啟動。

禁用Windows瀏覽器協議的簡單方法是禁用計算機瀏覽器服務。

在Windows 10 v1607(又名「周年更新」)和Windows Server 2016中,計算機瀏覽器服務已刪除,不再可用。

通過組策略禁用計算機瀏覽器:

打開組策略管理控制台。 右鍵單擊需要修改的組策略對象(GPO),然後單擊編輯。

在計算機配置下的控制台樹中,展開策略文件夾,展開Windows設置,展開安全設置,然後展開系統服務文件夾。

向下滾動到「計算機瀏覽器」服務,右鍵單擊服務名稱,然後選擇屬性。

選中「定義此策略設置」複選框,選擇「禁用」作為服務啟動模式,單擊「確定」。

注意:組策略首選項也可用於管理服務。

此方案預計的努力水平:低

此方案預計的影響:這很可能會影響企業的一些事情,最好在部署前先進行測試。

禁用NetBIOS

NetBIOS是Windows使用的最早的協議之一。

NetBIOS over TCP / IP由RFC 1001和RFC 1002指定。Netbt.sys驅動程序是支持TDI介面的內核模式組件。服務(例如工作站和伺服器)直接使用TDI介面,而傳統的NetBIOS應用程序通過Netbios.sys驅動程序將其調用映射到TDI調用。使用TDI調用NetBT是一個更困難的編程任務,但可以提供更高的性能和免受歷史NetBIOS限制。

NetBIOS定義了軟體介面和命名約定,而不是協議。 NetBIOS over TCP/IP通過TCP/IP協議提供NetBIOS編程介面,將NetBIOS客戶端和伺服器程序的範圍擴展到IP互聯網路,並提供與各種其他操作系統的互操作性。

Windows 2000工作站服務,伺服器服務,瀏覽器,信使和NetLogon服務都是NetBT客戶端,並使用TDI與NetBT通信。 Windows 2000還包括NetBIOS模擬器。模擬器從NetBIOS應用程序接收標準NetBIOS請求,並將其轉換為等效的TDI功能。

Windows 2000使用NetBIOS over TCP/IP與以前版本的Windows NT和其他客戶端(如Windows 95)進行通信。但是,Windows 2000重定向器和伺服器組件現在支持直接託管與運行Windows 2000的其他計算機進行通信。使用直接託管,NetBIOS不用於名稱解析。 DNS用於名稱解析,Microsoft網路通信直接通過TCP發送,不使用NetBIOS頭。通過TCP/IP的直接託管使用TCP埠445而不是NetBIOS會話TCP埠139。

大多數版本的Windows正在使用中,可以利用TCP/IP直接傳輸SMB,這意味著今天在網路上使用NetBIOS只是為了兼容老版本的系統。

2005年,Daniel Miessler寫道:

事實上,可以在Windows 2000 / XP機器上完全禁用基於TCP / IP的NetBIOS,因為這些新的操作系統(通過TCP/445)使SMB直接在TCP頂部傳輸而不是在NetBIOS上。 Microsoft稱之為SMB的「直接託管」。

禁用NetBIOS需要一些工作來確定在網路上使用NetBIOS的方式和位置。禁用它會使得用於被動竊取證書的方法以及Responder程序不可用。

請注意,舊版系統(舊版本的Windows以及非Windows系統等)可能需要NetBIOS。

通過(Microsoft)DHCP禁用NetBIOS:

打開Microsoft DHCP。

在導航窗格中,展開SERVERNAME,展開Scope,右鍵單擊Scope選項,然後單擊配置選項。

單擊高級選項卡,然後單擊供應商類列表中的Microsoft Windows 2000選項。

確保在用戶類列表中選擇默認用戶類。

單擊以選中可用選項列下的001 Microsoft禁用Netbios選項複選框。

在數據輸入區域中,在較長的輸入框中輸入0x2,然後單擊確定。

參考:禁用NetBIOS

在基於Linux / Unix的DHCP伺服器上,設置選項43會將DHCP配置為禁用NetBIOS

選項43 hex 0104.0000.0002

禁用計算機上的NetBIOS:

轉到計算機上的所有網路設備的屬性,TCPIPv4屬性,高級,WINS,禁用TCP / IP上的NetBIOS

此方案預計的努力水平:中等偏上

此方案預計的影響:這很可能會影響企業的一些事情,最好在部署前先進行測試。

本文參考來源於adsecurity,如若轉載,請註明來源於嘶吼: 保護內網安全之Windows工作站安全基線開發(一) 更多內容請關注「嘶吼專業版」——Pro4hou

推薦閱讀:

「世界末日」級蠕蟲永恆之石 利用7個NSA漏洞
新的移動惡意軟體利用分層混淆瞄準俄羅斯銀行
俄羅斯黑客暗網出售勒索軟體服務(RaaS),價格低廉人人可用
發現隱藏在偽造的Flash更新中的持續威脅
Github 安全軍火庫(四)

TAG:工作站Workstation | 信息安全 | 内网安全 |