<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    等保2.0測評之Nginx 中間件

    VSole2021-12-01 22:34:43

    前期調研

    nginx是一款自由的、開源的、高性能的HTTP服務器和反向代理服務器,一般主要功能會有兩種,一種作為一個HTTP服務器進行網站的發布處理,另外一種nginx可以作為反向代理進行負載均衡的實現。所以這里填主要功能的時候就要分清。

    查看Nginx版本:

    如果系統有配置nginx命令的環境變量,直接 nginx -v 即可查看版本信息

    若無,我們去nginx主目錄下運行cmd,輸入nginx -v查看版本

    一、身份鑒別

    由于該中間件并沒有類似于Tomcat一樣的管理控制臺,所以個人認為以下條款均判不適用。

    a)應對登錄的用戶進行身份標識和鑒別,身份標識具有唯一性,身份鑒別信息具有復雜度要求并定期更換

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,身份鑒別由操作系統層面實現。

    b)應具有登錄失敗處理功能,應配置并啟用結束會話、限制非法登錄次數和當登錄連接超時自動退出等相關措施

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,身份鑒別由操作系統層面實現。

    c)當進行遠程管理時,應采取必要措施防止鑒別信息在網絡傳輸過程中被竊聽

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,身份鑒別由操作系統層面實現。

    d)應采用口令、密碼技術、生物技術等兩種或兩種以上組合的鑒別技術對用戶進行身份鑒別,且其中一種鑒別技術至少應使用密碼技術來實現

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,身份鑒別由操作系統層面實現。

    二、訪問控制

    同理判不適用。

    a) 應對登錄的用戶分配賬戶和權限

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,訪問控制由操作系統層面實現。

    b)應重命名或刪除默認賬戶,修改默認賬戶的默認口令

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,訪問控制由操作系統層面實現。

    c)應及時刪除或停用多余的、過期的賬戶,避免共享賬戶的存在

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,訪問控制由操作系統層面實現。

    d)應授予管理用戶所需的最小權限,實現管理用戶的權限分離

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,訪問控制由操作系統層面實現。

    e)應由授權主體配置訪問控制策略,訪問控制策略規定主體對客體的訪問規則

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,訪問控制由操作系統層面實現。

    f)訪問控制的粒度應達到主體為用戶級或進程級,客體為文件、數據庫表級

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,訪問控制由操作系統層面實現。

    g)應對重要主體和客體設置安全標記,并控制主體對有安全標記信息資源的訪問

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,訪問控制由操作系統層面實現。

    三、安全審計

    a)應啟用安全審計功能,審計覆蓋到每個用戶,對重要的用戶行為和重要安全事件進行審計

    針對于各類的中間件來說,日志一般會分為兩種,一種是 error.log 錯誤日志,另一種是 access.log 網頁訪問日志。都開啟的情況下,我們就可以判符合(前提日志級別配置正確)。

    先來看一下 errlog_log

    error_log:設置服務器運行的相關日志
    設置格式
    error_log 路徑 級別
    默認值:error_log logs/error.log error;
    配置段:main,http,server,location
    關閉error_log:error_log off

    日志的級別

    debug:調試級別,記錄的信息最多;
    info:普通級別;
    notice:可能需要注意的信息;
    warn:警告消息;
    error:錯誤消息;
    crit:嚴重錯誤消息;

    access_log

    訪問日志主要記錄客戶端訪問Nginx的每一個請求,格式可以自定義。通過訪問日志,你可以得到用戶地域來源、跳轉來源、使用終端、某個URL訪問量等相關信息。
    access_log:用來配置訪問日志的輸出格式和輸出的路徑;
    語法: access_log path [format [buffer=size [flush=time]]];
    默認值: access_log logs/access.log combined;
    后續版本好像有變更,默認為 main;
    配置段: http, server, location, if in location, limit_except
    關閉access_log:access_log off
    path:指定日志的存放位置
    format:指定日志的格式。默認使用預定義的combined
    buffer:用來指定日志寫入時的緩存大小。默認是64k
    gzip:日志寫入前先進行壓縮。壓縮率可指定,從1到9數值越大壓縮比越高,同時壓縮的速度也越慢。默認是1。
    flush:設置緩存的有效時間。如果超過flush指定的時間,緩存中的內容將被清空。
    if:條件判斷。如果指定的條件計算為0或空字符,那么當前作用域下的所有的請求日志都會被關閉。

    所以我們這里先在 Nginx 主目錄下找到conf文件夾

    其中會有一個叫 nginx.conf 的文件

    查看對應error_log和access_log配置情況,默認情況下都是為注釋狀態

    若為注釋狀態,nginx 會有一個默認值,如下:

    error_log logs/error.log error;

    access_log logs/access.log main;

    b)審計記錄應包括事件的日期和時間、用戶、事件類型、事件是否成功及其他與審計相關的信息

    日志文件在nginx主目錄下的log目錄中

    默認情況下都是滿足條款要求的,比如查看一下 access.log 日志

    另外考慮的點就是日志記錄的時間是否準確,中間件時間一般跟隨操作系統時鐘,如果操作系統時間正確,那么基本也不會有問題。

    或者我們可以去配置文件中,配置我們自己想要的日志記錄內容。

    對應參數:log_format

    log_format:用來設置日志格式

    nginx的log_format有很多可選的參數用于標示服務器的活動狀態,默認為:

    ‘$remote_addr – $remote_user [$time_local] “$request” ‘
    ‘$status $body_bytes_sent “$http_referer” ‘
    ‘”$http_user_agent” “$http_x_forwarded_for”‘;
    

    如果要記錄更詳細的信息需要自己修改log_format,具體可設置的參數格式及說明如下:

    這條日志是之前實驗訪問應用留下的,我們可以分析一下。

    192.168.21.176 - - [28/Sep/2020:14:34:48 +0800] "GET /favicon.ico HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
    

    參數

    說明

    示例

    $remote_addr

    客戶端地址

    192.168.21.176

    $remote_user

    客戶端用戶名稱

    --

    $time_local

    訪問時間和時間

    [28/Sep/2020:14:34:48 +0800]

    $request

    請求的URI和HTTP協議

    "GET /favicon.ico HTTP/1.1"

    $http_host

    請求地址,即瀏覽器中你輸入的地址(域名或IP)

    www.test.com

    192.168.0.23

    $status

    HTTP請求狀態

    404

    $upstream_status

    upstream狀態

    $body_bytes_sent

    服務器發送客戶端的相應body字節數

    555

    $http_referer

    url跳轉來源

    -

    https://www.google.com/

    $http_user_agent

    用戶終端瀏覽器等信息

    "Mozilla/5.0 (Windows NT……"

    $http_x_forwarded_for

    當前端有代理服務器時,設置web節點記錄客戶端地址的配置,此參數生效的前提是代理服務器也要進行相關的x_forwarded_for設置

    $ssl_protocol

    SSL協議版本

    TLSv1

    $ssl_cipher

    交換數據中的算法

    Rc4-SHA

    $upstream_addr

    后臺upstream的地址,即真正提供服務的主機地址

    10.36.10.80:80

    $request_time

    整個請求的總時間

    0.165

    $upstream_response_time

    請求過程中,upstream響應時間

    0.002

    所以如果想要記錄更詳細,可以自己進行配置。

    c)應對審計記錄進行保護,定期備份,避免受到未預期的刪除、修改或覆蓋等

    1. 確認本機的日志文件權限

    確認是否僅管理員組具有日志的管理權限,其他組沒有修改權限

    如users組無權管理修改

    Linux系統下同理,對應的日志文件不高于644

    2. 是否對日志文件進行定期備份

    這個好像默認自帶的方式沒有找到,那么就去詢問一下運維人員,是否有備份措施對中間件日志進行備份。

    一般有的現場看到好像是通過FTP同步,會將日志文件同步一份到備份服務器上。

    3. 日志留存時間

    查看日志留存時間是否達到6個月以上,滿足法律法規要求。

    d)應對審計進程進行保護,防止未經授權的中斷

    審計進程與中間件主進程關聯,無法單獨中斷審計進程,只要開啟即符合。

    四、入侵防范

    a)應遵循最小安裝的原則,僅安裝需要的組件和應用程序

    該測評點在操作系統層面核查,中間件不適用該條款。

    b)應關閉不需要的系統服務、默認共享和高危端口

    該測評點在操作系統層面核查,中間件不適用該條款。

    c)應通過設定終端接入方式或網絡地址范圍對通過網絡進行管理的管理終端進行限制

    通過登錄到服務器本地對Nginx 軟件進行管理,該項不適用。

    d)應提供數據有效性檢驗功能,保證通過人機接口輸入或通過通信接口輸入的內容符合系統設定要求

    該中間件無獨立的管理控制臺,無對應的人機或通信接口輸入功能,該項不適用。

    e)應能發現可能存在的已知漏洞,并在經過充分測試評估后,及時修補漏洞

    1.通過漏洞掃描、滲透測試等方式核查中間件系統是否存在高風險漏洞;

    2.核查是否及時修補漏洞。

    詢問客戶,查看漏洞掃描報告,如果無漏洞可判符合

    不存在高危漏洞,判部分符合

    f)應能夠檢測到對重要節點進行入侵的行為,并在發生嚴重入侵事件時提供報警

    該測評點在操作系統層面核查,中間件不適用該條款。

    五、可信驗證

    a)可基于可信根對計算設備的系統引導程序、系統程序、重要配置參數和應用程序等進行可信驗證,并在應用程序的關鍵執行環節進行動態可信驗證,在檢測到其可信性受到破壞后進行報警,并將驗證結果形成審計記錄送至安全管理中心

    該測評點在設備層面核查,中間件不適用該條款。

    六、數據完整性

    數據完整性對于中間件來說,一般涉及鑒別數據、重要審計數據、重要配置數據這三類

    a)應采用校驗技術或密碼技術保證重要數據在傳輸過程中的完整性,包括但不限于鑒別數據、重要業務數據、重要審計數據、重要配置數據、重要視頻數據和重要個人信息等

    1. 鑒別數據、重要配置數據
    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,故鑒別數據、重要配置數據等無單獨傳輸過程。
    2. 審計數據
    確認審計數據是否有傳輸,如果審計數據有備份的話就需要考慮這點。

    b)應采用校驗技術或密碼技術保證重要數據在存儲過程中的完整性,包括但不限于鑒別數據、重要業務數據、重要審計數據、重要配置數據、重要視頻數據和重要個人信息等

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,未涉及鑒別數據的存儲。

    重要配置數據、重要審計數據需要詢問管理人員,是否有對配置文件,日志文件等做定期的哈希完整性校驗等。

    七、數據保密性

    數據保密性來說對于中間件這里僅涉及鑒別數據,Nginx 不涉及鑒別數據,所以均不適用。

    a)應采用密碼技術保證重要數據在傳輸過程中的保密性,包括但不限于鑒別數據、重要業務數據和重要個人信息等

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,故鑒別數據無單獨傳輸過程。

    b)應采用密碼技術保證重要數據在存儲過程中的保密性,包括但不限于鑒別數據、重要業務數據和重要個人信息等

    無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,未涉及鑒別數據的存儲。

    nginx訪問控制
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    數據訪問控制的未來
    2022-07-04 04:47:28
    原生控制>數據代理>數據邊車
    b)應具有登錄失敗處理功能,應配置并啟用結束會話、限制非法登錄次數和當登錄連接超時自動退出等相關措施無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,身份鑒別由操作系統層面實現。
    RBAC權限的濫用
    2023-01-31 14:04:46
    K8s RBAC權限濫用進行橫向移動。
    微服務架構中,API網關充當著非常重要的一環,它不僅要負責外部所有的流量接入,同時還要在網關入口處根據不同類型請求提供流量控制、日志收集、性能分析、速率限制、熔斷、重試等細粒度的控制行為。API網關一方面將外部訪問與微服務進行了隔離,保障了后臺微服務的安全,另一方面也節省了后端服務的開發成本,有益于進行應用層面的擴展。與此同時,API網關也具備解決外界訪問帶來的安全問題,如TLS加密、數據丟失、跨
    K8s組件和架構
    2022-12-29 16:51:34
    K8s常見組件和架構
    滲透測試面試指南
    2022-05-21 22:11:08
    前言一開始會問問你在工作中負責的是什么工作,參與過哪些項目。還有些會問問你之前有沒有護網的經歷,如果沒有的話一般都會被定到初級。下面就是一些技術上的問題了SQL注入的分類Boolean盲注。正向代理即是客戶端代理, 代理客戶端, 服務端不知道實際發起請求的客戶端.
    面試題記錄
    2021-12-12 06:44:03
    前言一開始會問問你在工作中負責的是什么工作,參與過哪些項目。還有些會問問你之前有沒有護網的經歷,如果沒有的話一般都會被定到初級。下面就是一些技術上的問題了SQL注入的分類Boolean盲注。正向代理即是客戶端代理, 代理客戶端, 服務端不知道實際發起請求的客戶端.
    同時,也面臨日益增長的安全、隱私、合規風險。圖2-DevOps與DataOps 3)數據安全與DataSecOps組織正在生成、存儲、分析前所未有的 數據量,同時還需要比以往更廣泛、更高效的 數據訪問。
    記一次旁站滲透過程
    2021-10-15 05:32:42
    之所以講旁站滲透,是因為現在主站基本上防護的都比較到位,在主站發現不了什么問題,因此只能從旁站、子站、C段找脆弱資產,并對其進行掃描。 話不多說,立刻動手。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类