全部產品
Search
文件中心

:安全檢測函數

更新時間:Jan 13, 2025

Log Service依託全球白帽子共用安全資產庫,提供安全檢測函數。您只需通過日誌中的IP地址、網域名稱或者URL,即可檢測其是否安全。本文介紹安全檢測函數的基本文法及樣本。

應用情境

安全檢測函數適用如下情境:

  • 針對服務營運有較強需求的企業和機構(例如互連網、遊戲、諮詢等),其IT人員和安全營運人員可及時發現可疑訪問、攻擊及侵入網站等行為,並及時採取措施。
  • 針對內部資產保護有較強需求的企業和機構(例如銀行、證券、電商等),其IT人員和安全營運人員可及時發現內部訪問危險網站及下載木馬等行為,並及時採取行動。

功能特點

安全檢測函數具備如下功能特點:

  • 可靠:依託全球共用的白帽子安全資產庫,並及時更新。
  • 快速:檢測百萬IP地址、網域名稱或URL僅需幾秒鐘。
  • 簡單:支援任何部落格,調用3個SQL函數security_check_ip、security_check_domain、security_check_url即可獲得結果。
  • 靈活:互動式查詢及可視化展示,支援建立警示。

函數列表

Log Service支援如下安全檢查函數。

重要 在Log Service分析語句中,表示字串的字元必須使用單引號('')包裹,無符號包裹或被雙引號("")包裹的字元表示欄位名或列名。例如:'status'表示字串status,status"status"表示日誌欄位status。
函數名稱文法說明
security_check_ip函數security_check_ip(x)檢查IP地址是否安全。
security_check_domain函數security_check_domain(x)檢查網域名稱是否安全。
security_check_url函數security_check_url(x)檢查URL是否安全。

security_check_ip函數

security_check_ip函數用於檢查IP地址是否安全。

文法

security_check_ip(x)

參數說明

參數說明
x參數值為IP地址。

傳回值類型

bigint類型,取值說明:
  • 1:不安全。
  • 0:安全。

樣本

通過client_ip欄位統計網站的不安全用戶端資訊。

  • 查詢和分析語句
    * |
    SELECT
      client_ip,
      ip_to_country(client_ip,'en') AS country,
      ip_to_provider(client_ip) AS provider,
      count(1) AS PV
    WHERE
      security_check_ip(client_ip) = 1
    GROUP BY
      client_ip
    ORDER BY
      PV DESC
  • 查詢和分析結果地圖

security_check_domain函數

security_check_domain函數用於檢查網域名稱是否安全。

文法

security_check_domain(x)

參數說明

參數說明
x參數值為網域名稱。

傳回值類型

bigint類型,取值說明:
  • 1:不安全。
  • 0:安全。

樣本

通過網站網域名稱統計網站每分鐘出現不安全訪問的次數,並通過折線圖展示。

  • 查詢和分析語句
    status : * |
    SELECT
      count_if(
        security_check_domain (http_referer) != 0
      ) AS "問題總數",
      time_series(__time__, '1m', '%H:%i:%s', '0') AS time
    GROUP BY
      time
  • 查詢和分析結果security_check_domain

security_check_url函數

security_check_url函數用於檢查URL地址是否安全。

文法

security_check_url(x)

參數說明

參數說明
x參數值為URL地址。

傳回值類型

bigint類型,取值說明:
  • 1:不安全。
  • 0:安全。

樣本

通過URL地址統計網站每分鐘安全訪問的次數,並通過折線圖展示。

  • 查詢和分析語句
    status : * |
    SELECT
      count_if(
        security_check_url (request_uri) = 0
      ) AS "安全總數",
      time_series(__time__, '1m', '%H:%i', '0') as time
    GROUP BY
      time
    LIMIT
      20
  • 查詢和分析結果security_check_url