最近試著架設了 SNMP,SNMP 的運作跟 Prometheus 相似,SNMP Agent 相當於 nodeexporter ,提供 Agent 所在的主機資訊;需要知道該台主機資訊的管理主機,就用 SNMPWalk 去抓取主機資訊,這就相當於 Prometheus。
在 RHEL8 裡的安裝很簡單
sudo yum install -y net-snmp net-snmp-utils
安裝完成,就啟用 SNMP Agent,這個 snmpd 就是 SNMP Agent。
# 啟用 SNMP Agent 服務
sudo systemctl enable --now snmpd
# 開啟防火牆
sudo firewall-cmd --add-service=snmp --permanent
sudo firewall-cmd --reload
啟用之後,就可以取得基本的系統資訊。
可以用以下指令確認
snmpwalk -v1 -c public <IP>
如果要提供額外的系統資訊,就需要再增加設定,例如網路介面資訊、磁碟資訊或是負載,就需要在 /etc/snmp/snmpd.conf
裡去增加以下設定
# 網路介面資訊
view systemview included .1.3.6.1.2.1.2
view systemview included .1.3.6.1.2.1.6
view systemview included .1.3.6.1.2.1.7
# 磁碟資訊
disk / 10%
view systemview included .1.3.6.1.4.1.2021.9
# 負載
load 12 14 14
view systemview included .1.3.6.1.4.1.2021.10
驗證是否有輸出這些資訊,一樣也是用 snmpwalk
snmpwalk -v1 -c public <IP> system
snmpwalk -v1 -c public <IP> interfaces
snmpwalk -v1 -c public <IP> .1.3.6.1.4.1.2021.9
snmpwalk -v1 -c public <IP> .1.3.6.1.4.1.2021.10
透過 SNMP 可以很方便的取得主機資訊,管理時可以利用這些資訊,而無需登入該台主機。但這樣對於駭客來說,也便利很多,他們能透過 SNMP Agent 得到主機的資訊,進而做出攻擊。因此在實務上會建議使用 SNMP v3 ,加入驗證,只允許讓特定的使用者才能取得資訊,這部份下一篇再來介紹。
沒有留言:
張貼留言