2017-09-14 317 views
2

我寫了一個自定義的SNMPV2C代理(AgentX協議)延伸netsnmp,截至目前,我允許的snmpd.conf所有視圖訪問如下SNMP的默認OID訪問

view all included .1 

它暴露MGMT(RFC1213)看起來不錯,它也暴露了snmpV2 mib(snmpMIB,snmpFrameworkMIB,VacmMIB等)。

我找不到任何的最佳實踐文件的細節,除了開放我們的企業OID樹什麼都予以曝光,有哪些安全隱患等

回答

2

哪些安全隱患

使用SNMP v2c,您沒有加密,也沒有簽名。這意味着,人在這方面的中間人攻擊既能:

  • 的泄露數據,
  • 變化在設置請求的內容,引發一些對目標indesirable(例如,你可以重新啓動有些目標是這種方式)。

此外,查詢可以通過UDP完成,因此IP源地址不需要正確路由回源。因此,可以使用IP欺騙來繞過IP ACL,並將SNMP 設置請求從假IP源發送到目標。

請注意,使用SNMP v3,可以避免所有這些風險。

所以,要麼增加您的安全增加另一個網絡層(IPsec進行實例),或者僅僅暴露只讀的OID與公共內容。

例如,性能計數器或基本配置參數(如IP地址,主機名,計數器)可能會暴露。也許你應該做一個風險分析找到哪些信息可以真正暴露。

起初,SNMP v1根本沒有保護。因此,SNMP v2已被提議添加安全性等新功能。但它非常複雜,新的安全功能已被刪除,並且其他功能已被保留,並且協議最終以名稱SNMP v2c發佈。最後,SNMP v3主要是爲了提供安全功能而創建的,但比使用SNMP v2更容易實現。

+0

謝謝,我們將在下一版本中遷移到SNMP v3,對於此版本,我們只允許只讀訪問。 ..但我主要擔心的默認模塊(我應該啓用或禁用所有)..現在查看所有.1。我看到RFC1213和SNMPV2(1.3.6.1.6.3.X)被公開..這些模塊的只讀訪問是否存在安全風險? – DevC

+0

當只讀時,MIB-2 OID並不意味着具體的安全風險:它們只包含基本信息。但是一些人可能會認爲分享一些基本信息存在一定風險:例如,發佈MAC地址可能會將信息泄露給遠離本地以太網(遠程本地網絡,當然這個信息是公開的)的遠程主機。而你的本地MAC地址是一條可以幫助你發現服務器製造商的信息。而且知道這個製造商,攻擊者可以嘗試他們的服務器的一些公共漏洞... –

+0

因此,它不是特別危險,但取決於處​​理威脅的方式,有些人可能不希望這些信息公開。 –

1

非常小心對整個ISO毯訪問(甚至包括只讀)(.1)樹,特別是如果你使用SNMPv3 USM進行身份驗證和VACM授權。

的USM用戶數據庫被暴露在MIB本身(usmUserTable),所以:

  • 隨着它只讀訪問的攻擊者可以簡單地走表並獲取所有有效主體(發動機ID /用戶名組合)值;
  • 通過讀寫訪問,攻擊者將能夠破壞隨機存儲的身份驗證密鑰和/或隱私密鑰,甚至導致所有拒絕服務攻擊。 (例如,這可以通過與垃圾舊/新密語運行snmpusm(1)完成)

同樣,VACM MIB包含訪問政策信息,如:

  • 哪個SNMP上下文是本地可用(vacmContextTable);
  • 哪個USM用戶或SNMPv2c社區映射到哪個VACM組(vacmSecurityToGroupTable);
  • 哪個VACM組可以訪問OID樹的哪些部分(vacmAccessTablevacmViewTreeFamilyTable)。

我不認爲的Net-SNMP允許這些VACM表的讀寫訪問(這個政策是/etc/snmp/snmpd.conf拍攝,而不是由代理修改),但即使只讀訪問可能透露太多的信息。例如,它可能讓攻擊者找出哪個USM用戶有權訪問攻擊者感興趣的視圖,並對該特定USM用戶發起密碼破解攻擊。

SNMPv3的USM和VACM的RFC自己明確地警告你這些表的敏感程度:

11.5 Access to the SNMP-USER-BASED-SM-MIB 

    The objects in this MIB may be considered sensitive in many 
    environments. Specifically the objects in the usmUserTable contain 
    information about users and their authentication and privacy 
    protocols. It is important to closely control (both read and write) 
    access to these MIB objects by using appropriately configured Access 
    Control models (for example the View-based Access Control Model as 
    specified in [RFC3415]). 

和:

7.4. Access to the SNMP-VIEW-BASED-ACM-MIB 

    The objects in this MIB control the access to all MIB data that is 
    accessible via the SNMP engine and they may be considered sensitive 
    in many environments. It is important to closely control (both read 
    and write) access to these to these MIB objects by using 
    appropriately configured Access Control models (for example the 
    View-based Access Control Model as specified in this document). 

我會建議明確排除了USM和VACM的MIB在最小。例如:

view most included .1 
view most excluded .1.3.6.1.6.3.15 
view most excluded .1.3.6.1.6.3.16