全部產品
Search
文件中心

Security Center:核心檔案監控配置最佳實務

更新時間:Jul 02, 2024

Security Center核心檔案監控功能能夠即時監控伺服器上核心檔案的訪問情況,包括讀取、寫入、刪除、重新命名和許可權變更等操作,並及時發出警示,以防止核心檔案被盜取或篡改。本文介紹配置核心檔案監控規則的規範和樣本,可協助您更好地使用該功能。

主機入侵檢測與核心檔案監控的關係

網路安全最佳實務建議採用多層縱深防禦策略。主機入侵檢測功能可以在大部分情境下發現可疑的入侵行為,其檢測邏輯基於行為特徵,關注已知或未知的惡意行為和系統活動。核心檔案監控則專註於監控檔案系統中的檔案和目錄的完整性,檢測未授權的更改。

兩者功能互補,共同提供更全面的安全保護,可提高應對複雜威脅的發現能力。當發生安全事件時,理解攻擊者的行為至關重要。如果攻擊者讀取或修改了規則防護範圍內的檔案,核心檔案監控提供的警示記錄可以協助營運人員追溯攻擊者的具體活動,進行有效事件響應和取證分析。

此外,核心檔案監控不僅能檢測外部威脅,還能識別來自內部的威脅,比如內部人員的惡意行為或誤操作,這些行為核心檔案監控都會記錄。

規則配置規範和樣本

本部分內容提供了核心檔案監控規則的配置規範和樣本,涵蓋了常用應用情境及規則配置說明。然而需要注意的是,不同的配置規則在不同使用者的系統上執行時,或許會命中正常的營運類操作,產生“誤判”現象,下文表格的最後一欄提供了可能引發相應策略警示的正常操作樣本。

為了最大限度地降低誤判對系統營運的影響,建議在廣泛部署這些規則之前,先採取漸進的實驗方式:

  • 少量實驗:在初步配置規則時,請選擇少量台機器進行配置規則的試驗。

  • 細緻監測:在規則試運行期間,密切觀察每個規則命中的情形,以驗證規則的準確性和適用性。

  • 迭代改進:根據檢測結果,適時地為一些確認無害的營運操作增加相應的允許存取規則,以確保關鍵營運活動不會觸發警示,降低需要營運的警示量。

  • 正式部署:在經過數次實驗和規則最佳化後,如果觀察到規則命中情況穩定、誤判基本消失,可以在更多的伺服器中部署這些配置。

類型

說明

具體類型

行為動作

檔案路徑樣本

可能觸發誤判的操作說明

核心系統檔案

此類目錄涵蓋了大多數系統命令和共用連結庫。監控這些目錄能夠協助檢測潛在攻擊者的惡意篡改行為,包括植入惡意二進位檔案或篡改系統依賴庫。

系統可執行二進位檔案目錄

寫入、刪除

  • /bin/*

  • /usr/bin/*

  • /sbin/*

  • /usr/sbin/*

通過包管理軟體進行安裝或更新操作時,也會對這些目錄進行寫入。此外,如果您自行從原始碼編譯安裝軟體(通常使用 make && make install 命令),也可能涉及這些目錄的寫入。因此,您需根據實際情況配置相應的允許存取規則,以避免此類正常操作觸發警示。

共用庫檔案目錄

寫入、刪除

  • /usr/lib/*

  • /usr/lib64/*

配置類檔案

攻擊者可能會修改各種關鍵系統設定檔,以實現不同的惡意目的。例如:

  • 通過添加或修改使用者記錄,攻擊者可以持續擷取或提升對系統的存取權限。

  • 通過修改DNS解析設定,攻擊者可以實現DNS劫持。

  • 通過修改日誌記錄配置,攻擊者可以幹擾或逃避審計。

  • 通過修改或禁用某些安全配置,攻擊者可以實現其攻擊目的。

  • 通過篡改營運應用的設定檔,攻擊者可以劫持鑒權流程,從而繞過安全措施或增加特定使用者的許可權。

  • 通過修改Web服務的設定檔,攻擊者可以載入惡意庫檔案或更改解析配置,將流量引導至惡意網站。

使用者與許可權相關檔案

寫入

  • /etc/passwd

  • /etc/shadow

  • /etc/group

  • /etc/gshadow

  • /etc/sudoers

  • /etc/sudoers.d/*

正常的使用者添加(useradd)、許可權修改(usermod)、刪除使用者(userdel)和修改密碼(passwd)等命令可能會對這類檔案進行寫入操作。使用者可以根據具體的營運操作規範,增加相應的允許存取規則,或將警示資料用作審計日誌。

關鍵系統設定檔

寫入、刪除

  • /etc/resolv.conf

  • /etc/hosts

在營運操作需要調整系統的網路設定、名稱解析、核心參數調整等配置時,會修改此類檔案。

營運類應用設定檔

寫入

  • /etc/ssh/sshd_config

  • /etc/security/pam_env.conf

  • /*/.ssh/authorized_keys

在系統的維護、配置更新、安全強化或密鑰定期輪轉的過程中,可能會修改這些檔案,建議配置對應的允許存取規則。

安全審計類設定檔

寫入、刪除

  • /etc/audit/auditd.conf

  • /etc/audit/rules.d/*

  • /etc/selinux/config

  • /etc/rsyslog.conf

  • /etc/rsyslog.d/*

首次設定系統的審計架構,或者根據合規、安全等需求調整監控策略時,可能需要修改此類檔案。

Web服務類設定檔

寫入

  • /etc/httpd/conf/httpd.conf

  • /etc/httpd/conf.d/*

  • /etc/apache2/apache2.conf

  • /etc/apache2/sites-available/*

  • /etc/apache2/sites-enabled/*

  • /etc/nginx/nginx.conf

  • /etc/nginx/conf.d/*

Web服務的初始配置、安裝後設定、相關模組的添加和刪除,以及Web服務的更新等操作,都可能導致此類被監控檔案的修改。

資料庫類設定檔

寫入

  • /etc/my.cnf

  • /etc/mysql/my.cnf

  • /etc/postgresql/*/main/postgresql.conf

  • /etc/postgresql/*/main/pg_hba.conf

  • /etc/mongod.conf

  • /etc/redis/redis.conf

資料庫服務的安裝和營運變更等操作可能會導致此類設定檔的變化,建議根據實際情況增加相應的允許存取規則。

常見的持久化點位

攻擊者通常會添加定時任務、惡意服務或啟動指令碼等配置,以在周期性執行或系統重啟後持續保持存取權限。

Cron類

寫入

  • /etc/crontab

  • /etc/cron.d/

  • /var/spool/cron

  • /etc/cron.hourly/*

  • /etc/cron.daily/*

  • /etc/cron.weekly/*

  • /etc/cron.monthly/*

正常營運操作可能會新增、調整或刪除現有的crontab條目,從而修改相應的檔案。

服務類

寫入

  • /etc/init.d/*

  • /etc/rc.d/rc.local

  • /etc/systemd/system/*

  • /lib/systemd/system/*

在安裝一些服務類應用時,會存在添加、修改系統服務的操作。

Shell配置類

寫入

  • /*/.bashrc

  • /*/.bash_profile

  • /etc/profile

營運人員在修改預設環境設定或為頻繁使用的長命令建立別名時,可能會更改相關檔案的內容。

Web服務的代碼目錄

配置對Web服務的代碼目錄進行檔案監控的規則有助於保障Web應用的安全。通常情況下,攻擊者會利用漏洞或未授權訪問等弱點,上傳Webshell惡意檔案。通過這些Webshell檔案,攻擊者可以進一步遠端存取、控制和管理受攻擊的伺服器。通過監控Web服務的代碼目錄,可以有效發現潛在的Webshell上傳行為,檢測未經授權的更改,包括Web頁面的篡改、惡意指令碼的植入以及其他惡意活動。

Web代碼目錄

寫入,許可權變更

/var/www/html/<code dir>/*.php

在正常的業務和維護操作中,服務更新和部署,以及部分CMS的外掛程式、主題的安裝和更新,都可能會向代碼目錄寫入Web指令檔。一些自動化部署工具(如Jenkins、GitLab CI/CD、Ansible等)也會在持續整合和部署過程中寫入檔案。在這種情況下,需要配置具體的寫入進程,或排除外部可上傳的目錄,並限制特定檔案尾碼,以確保安全。

包含敏感內容的檔案

敏感鑒權資訊的泄露是網路安全的主要風險之一。攻擊者在獲得一台主機的許可權後,通常會進一步搜尋敏感鑒權資訊,以進行橫向移動並擴大入侵範圍。因此,對包含敏感內容的檔案配置讀取操作的監控,可以有效並及時地發現此類風險或惡意行為。

雲端服務類CLI鑒權資訊

讀取

  • /*/.aliyun/config.json

  • /*/.ossutilconfig

包含敏感資訊的檔案通常會被其歸屬的應用程式讀取。例如,Alibaba Cloud CLI 會讀取 ~/.aliyun/config.json 來載入鑒權資訊,kubectl 會讀取 ~/.kube/config 來擷取 Kubernetes 認證資訊。同時,某些安全軟體為了識別機器上的惡意檔案,也可能會掃描包含敏感資訊的檔案。因此,在設定允許存取規則時,需要考慮這些正當的讀取行為。

版本控制鑒權資訊

讀取

/*/.git-credentials

資料庫配置

讀取

/*/config/database.yml

營運、編排系統的私密金鑰資訊

讀取

/*/.ssh/id_rsa, /*/.kube/config

相關文檔

  • 關於核心檔案監控功能的更多資訊,請參見核心檔案監控

  • 如果需要確保網站檔案或目錄不被篡改,您可以使用網頁防篡改功能。更多資訊,請參見網頁防篡改