在作業系統中設定 snmpd 服務

2024年5月23日

ID 222969

透過 SNMP 與 KSMG 進行互動是使用作業系統的“snmpd“服務來實現的。snmpd 服務充當主代理,透過 SNMP 接收和處理來自監控系統和其他外部使用者的請求。KSMG 透過 UNIX 套接字透過 AgentX 協定作為子代理連線到 snmpd 服務。

建立用於存取資料的使用者帳戶

在建立帳戶之前,請停止 snmpd 服務。

為了確保使用身分驗證和加密透過 SNMPv3 存取資料的安全性,您需要在 snmpd 服務端建立使用者帳戶,其中包含以下資訊:

  • 使用者名稱(區分大小寫)
  • 身分驗證演算法(MD5 或 SHA,推薦 SHA)
  • 身分驗證密碼
  • 加密演算法(DES 或 AES,推薦 AES)

    加密密碼

出於安全考慮,我們建議在 KSMG 叢集的每個節點上使用獨立的使用者帳戶。

您可以使用 net-snmp-create-v3-user 公用程式建立使用者帳戶。

若要使用 net-snmp-create-v3-user 公用程式建立使用者帳戶:

  1. 透過 SSH 連線到叢集節點以存取技術支援模式
  2. 執行以下指令:

    net-snmp-create-v3-user -ro -a <snmp_auth_algo> -x <snmp_priv_algo> <snmp_username>

互動請求身分驗證和加密密碼。

範例:

net-snmp-create-v3-user -ro -a SHA -x AES MonitoringUser

建立用於接收 SNMP 陷阱的使用者帳戶

若要透過驗證和加密透過 SNMPv3 接收 SNMP 陷阱,您需要在對應服務(通常是 snmptrapd 服務)的上下文中在監控系統一側建立帳戶。

該帳戶必須包含以下資訊:

  • 使用者名稱
  • 身分驗證演算法
  • 身分驗證密碼
  • 加密演算法
  • 加密密碼

出於安全目的,您必須使用單獨的使用者帳戶來存取資料並接收 SNMP 陷阱。
我們建議建立獨立的使用者帳戶,用於從 KSMG 叢集的每個節點接收 SNMP 陷阱。

有關建立用於接收 SNMP 陷阱的使用者帳戶的說明,請參閱監控系統的檔案。

配置 snmpd 服務

snmpd 服務的設定儲存在 /etc/snmp/snmpd.conf 檔案中。您必須建立一個新的設定檔並按給定順序新增以下行。

要設定 snmpd 服務:

  1. 透過 SSH 連線到叢集節點以存取技術支援模式
  2. 建立一個新的設定檔並為其設定存取權限:

    mv -f /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.backup

    touch /etc/snmp/snmpd.conf

    chown root:root /etc/snmp/snmpd.conf

    chmod 600 /etc/snmp/snmpd.conf

  3. 指定 snmpd 服務必須偵聽傳入請求的協定、網路介面位址和連接埠號。
    • 如果您要監聽所有網路介面上的請求,請將以下行新增至設定檔:

      # 透過 UDP 偵聽傳入的 SNMP 請求

      agentAddress udp:161

    • 如果只想監聽本機網路介面上的請求,例如監控系統安裝在同一台機器上,則新增下列行:

      # 透過 UDP 偵聽傳入的 SNMP 請求

      agentAddress udp:127.0.0.1:161

  4. 指定 UNIX 套接字的路徑和權限,snmpd 服務必須在該套接字上偵聽透過 AgentX 協定的子代理程式連線。為此,請將以下行新增至設定檔:

    # 透過 UNIX 套接字監聽子代理連線

    master agentx

    agentXSocket unix:/var/run/agentx-master.socket

    agentXPerms 770 770 kluser klusers

  5. 如有必要,您可以提供系統描述、系統位置以及管理員的聯絡地址。為此,請將以下行新增至設定檔:

    # 系統基本資訊

    sysDescr <system_description>

    sysLocation <system_location>

    sysContact <contact_address>

    sysServices 72

  6. 指定您希望透過 SNMP 協定供監控系統使用的OID 樹的範圍。若要存取 KSMG 資料,請將以下行新增至設定檔:

    # Kaspersky Secure Mail Gateway SNMP statistics

    view monitoring included .1.3.6.1.4.1.23668.1735

  7. 您也可以指定 OID 樹的範圍,其中包含 snmpd 服務儲存的有關作業系統的資訊。此範圍將可供您的監控系統使用。

    有關作業系統的資訊包括例如有關 CPU 和 RAM 使用情況、磁碟分割區上的可用空間、網路介面負載的資訊;已安裝軟體的清單;已開啟的網路連線清單;以及正在執行的處理程序的清單。該資訊的一部分可能是機密的。

    • 如果您只想允許存取一般系統資訊以及有關RAM、CPU 和磁碟裝置使用情況的資訊,請將以下行新增至設定檔:

      # SNMPv2-MIB - 基本系統訊息

      view monitoring included .1.3.6.1.2.1.1

      # HOST-RESOURCES-MIB - CPU、記憶體、檔案系統

      view monitoring included .1.3.6.1.2.1.25.1

      view monitoring included .1.3.6.1.2.1.25.2

      view monitoring included .1.3.6.1.2.1.25.3

      view monitoring included .1.3.6.1.2.1.25.5

      # UCD-SNMP-MIB - 記憶體和 CPU 使用情況

      view monitoring included .1.3.6.1.4.1.2021.4

      view monitoring included .1.3.6.1.4.1.2021.10

      view monitoring included .1.3.6.1.4.1.2021.11

      # UCD-SNMP-DISKIO-MIB - 區塊裝置 I/O 統計資訊

      view monitoring included .1.3.6.1.4.1.2021.13

      # IF-MIB - 網路介面 I/O 統計訊息

      view monitoring included .1.3.6.1.2.1.2

      view monitoring included .1.3.6.1.2.1.31

    • 如果要允許存取所有系統資訊,請將以下行新增到設定檔中:

      # 允許存取整個 OID 樹

      view monitoring included .1

  8. 指定建立的使用者帳戶的存取模式和資訊範圍。為此,請將以下行新增至設定檔:

    # SNMPv3 監控系統使用者的存取控制

    rouser <snmp_username> priv -V monitoring

  9. 若要傳送 SNMP 陷阱,請指定監控系統的 IP 位址和用於接收陷阱的使用者憑證。為此,請將以下行新增至設定檔:

    # 向監控系統傳送 SNMPv3 陷阱

    trapsess -Ci -v3 -t0.1 -r1 -l authPriv -u <trap_username> -a <trap_auth_algo> -A "<trap_auth_pass>" -x <trap_priv_algo> -X "<trap_priv_pass>" udp:<IP_address>:162

將設定 snmpd 服務。

若要與多個監控系統整合,請為每個系統建立一個單獨的使用者帳戶,指定每個使用者帳戶的可用資訊範圍(“view“和“rouser“指令)並配置SNMP 陷阱的傳送(“trapsess“指令)。

snmpd 服務設定檔範例:

# 透過 UDP 偵聽傳入的 SNMP 請求

agentAddress udp:161

 

# 透過 UNIX 套接字監聽子代理連線

master agentx

agentXSocket unix:/var/run/agentx-master.socket

agentXPerms 770 770 kluser klusers

 

# 系統基本資訊

sysDescr Example Mail Gateway Server, Node 05

sysLocation Example Datacenter, Ground floor, B23-U45

sysContact Mail system administrator <admin@example.com>

sysServices 72

 

# Kaspersky Secure Mail Gateway SNMP statistics

view monitoring included .1.3.6.1.4.1.23668.1735

 

# SNMPv2-MIB - 基本系統訊息

view monitoring included .1.3.6.1.2.1.1

# HOST-RESOURCES-MIB - CPU、記憶體、檔案系統

view monitoring included .1.3.6.1.2.1.25.1

view monitoring included .1.3.6.1.2.1.25.2

view monitoring included .1.3.6.1.2.1.25.3

view monitoring included .1.3.6.1.2.1.25.5

# UCD-SNMP-MIB - 記憶體和 CPU 使用情況

view monitoring included .1.3.6.1.4.1.2021.4

view monitoring included .1.3.6.1.4.1.2021.10

view monitoring included .1.3.6.1.4.1.2021.11

# UCD-SNMP-DISKIO-MIB - 區塊裝置 I/O 統計資訊

view monitoring included .1.3.6.1.4.1.2021.13

# IF-MIB - 網路介面 I/O 統計訊息

view monitoring included .1.3.6.1.2.1.2

view monitoring included .1.3.6.1.2.1.31

 

# SNMPv3 監控系統使用者的存取控制

rouser MonitoringUser priv -V monitoring

 

# 向監控系統傳送 SNMPv3 陷阱

trapsess -Ci -v3 -t0.1 -r1 -l authPriv -u TrapUser -a SHA -A "TrapAuthSecret" -x AES -X "TrapPrivSecret" udp:10.16.32.64:162

使用新設定啟動 snmpd 服務

若要套用新配置:

  1. 重啟 snmpd 服務:

    systemctl restart snmpd

  2. 檢查 snmpd 服務的狀態:

    systemctl status snmpd

    狀態必須是running

  3. 允許該服務在作業系統啟動時自動啟動:

    systemctl enable snmpd

  4. 如果您在作業系統或網路裝置中使用防火牆,請新增規則以允許 SNMP 封包通過。

snmpd 服務已設定。

檢查 snmpd 服務的運作狀況

若要測試 snmpd 服務,請在 KSMG Web 介面中設定 SNMP 的使用,並使用“snmpwalk“公用程式請求 SNMP 資料。

若要取得 KSMG 提供的 SNMP 資料的範圍:

snmpwalk -v3 -l authPriv -u <snmp_username> -a <snmp_auth_algo> -A "<snmp_auth_pass>" -x <snmp_priv_algo> -X "<snmp_priv_pass>" <IP address> .1.3.6.1.4.1.23668.1735

範例:

snmpwalk -v3 -l authPriv -u MonitoringUser -a SHA -A "MonitoringAuthSecret" -x AES -X "MonitoringPrivSecret" 127.0.0.1 .1.3.6.1.4.1.23668.1735

此文章對您有幫助嗎?
我們可以如何改善?
感謝您的意見回饋!您正協助我們改善。
感謝您的意見回饋!您正協助我們改善。