A különböző hálózati, storage, és egyéb eszközök kényelmes menedzselési formája a webes felület. Bejelentkezik az rendszergazda az adott címen a weboldalon és már szerkesztheti is a beállításokat. Egy, (pontosabban két) Brocade gyártmányű G620 típusú (Firmware version: v9.2.1a – a legújabb elérhető a bejegyzés írásakor) Gen 6 Fibre Channel SAN eszközt sodort elém az élet, amelyen az SNMP lekérdező monitoring rendszer IP-cím váltása után kellett volna beállítani az új címre. Az eszközön állítható weboldalon beállítottam a szükséges értékeket, de az eszköz csak nem válaszol – se SNMP v1-en se SNMP v3-on. A monitorozó gép és a G620-ak között a az SNMP 161-es és a SNMP trap 162-es portok a megfelelő módon nyitva voltak, de mégsem érkezett válasz a monitoring gép kéréseire, sem a helyileg indított hasonló lekérdezésre, amely így néz ki
SNMP v1 esetében:
/usr/lib64/nagios/plugins/check_snmp_brocade --community community_name --hostname 10.20.45.120 --systeminfo
És így néz ki SNMP v3 esetében:
/usr/lib64/nagios/plugins/check_snmp_brocade --hostname 10.20.45.120 -v 3 -L authPriv -a SHA -x AES -U nagios -A password2 -X password3 --systeminfo
ahol a community_name az SNMP v1 által igényelt, SAN switch-en beállított érték, és a password2 és a password3 egy 8-24 karakter hosszú, bonyolult jelszó.
A lekérdezés a v1-es:
snmpget -v 1 -c U0EEzH4OAV1TBVZBvzmL 10.20.45.120 .1.3.6.1.2.1.47.1.1.1.1.11.1
és a v3-as:
snmpget -v 3 -l authPriv -a SHA -u monitoring -A password2 -x AES -X password3 10.20.45.120 .1.3.6.1.2.1.47.1.1.1.1.11.1
formában sem hozott eredményt, a másik, snmpget parancssori eszközt használva. Az snmpwalk is használható lett volna erre a célra.
A SAN switch-be SSH-n belépve egy Unix-szerű rendszer fogad minket, pár már a GNU-ból ismerős, és jópár egyedi paranccsal.
Itt az snmpconfig paranccsal próbáltam beállítani a rendszert:
snmpConfig snmpconfig --add {snmpv1|snmpv3} snmpconfig --set {snmpv1|snmpv3|accessControl|mibCapability|systemGroup|secLevel|auditInterval} snmpconfig --default {snmpv1|snmpv3|accessControl|mibCapability|systemGroup|secLevel|auditInterval} snmpconfig --enable {snmpv1|mibCapability} snmpconfig --disable {snmpv1|mibCapability} snmpconfig --delete {snmpv1|snmpv3} snmpconfig --show {snmpv1|snmpv3|accessControl|mibCapability|systemGroup|secLevel|auditInterval}
Nézzük meg a konfigurációkat:
snmpconfig --show snmpv1 snmpconfig --show snmpv3 snmpconfig --show accessControl
Ez utóbbi egy ilyen érdekes depricated üzenetet is adott, aminek még lesz jelentőseége:
Warning: 'snmpconfig --show accesscontrol' command is being deprecated. Please use ipfilter. ipfilter --addrule <policyname> -rule <rule_num> -sip <source_IP> -dp <dest_port> -proto <protocol> -act <permit | deny> [-type <INPUT | FWD>] -dip <destination_IP> SNMP access list configuration: Entry 0: Access host subnet area 10.20.40.10 (ro)
Itt azonban még az eszköz régi IP-címe látszott, amelyet át kellett írni az újra, és ez a beállítás a webes felületen nem látszott. Feltételezem az eszköz felületéről kivezették, amikor depricated lett ez a megoldás, viszont már csak terminálból látszott, hogy valami be van állítva. Vagy csak én nem találtam meg?
Mindenesetre az
snmpconfig --set accessControl 1 -host 10.20.200.10 ro
paranccsal, vagy az
snmpconfig --set accessControl
paranccsal interaktívan elvégezhető a beállítás.
De az eszköz ezek után sem lett elérhető authPriv biztonsági beállítások mellett SNMP v3-on. A webes felületen továbbra is minden rendben, próbáltam beállítani az egyszerűbb SNMP v1-et, ami működött is már és az SNMP v3-at is, amely eddig nem volt beállítva, de egy kis biztonsági szintemelés soha sem hátrány az ilyen háttérben meghúzódó igásló eszközöknél. Ehhez előbb telepíteni kellett a
yum install perl-Crypt-Rijndael
paranccsal az perl SNMP modulja által igényelt Crypt::Rijndael modult.
De hiába próbáltam meg egyező
- authentication protocol-t a lehetésges MD5 és SHA közül választva,
- privacy protocol-t a lehetséges DES és AES közül választva
a webes felületen és a check_snmp_brocade lekérdezőben is ugyanazokat a beállításokat használva – de sajnos nem sikerült eredményt elérni. Viszont az kecsegtető volt, hogy legalább noAuthNoPriv beállítással már ment az SNMP v3-is.
Ezek után ismét a terminálhoz fordultam - Az:
snmpconfig --default accessControl
továbbá az:
snmpconfig --default snmpv1
és az:
snmpconfig --default snmpv3
parancsokkal töröltem az eddigi konfigurációt. Majd az dokumentációnak megfelelően felvettem az igényelt SNMP v3 beállításokat.
Lekérdeztem Beállítottam a secLevel-t:
snmpconfig --show secLevel GET security level = 0, SET level = 3 SNMP GET Security Level: No security SNMP SET Security Level: No Access
Majd beállítottam a secLevel-t:
snmpconfig --set secLevel Select SNMP GET Security Level (0 = No security, 1 = Authentication only, 2 = Authentication and Privacy, 3 = No Access): (0..3) [0] 2 Select SNMP SET Security Level (0 = No security, 1 = Authentication only, 2 = Authentication and Privacy, 3 = No Access): (2..3) [3] 3
Itt csak SNMP lekérdezést használatát állítottam be, a beállítást itt nem használják. Így csak az legyen engedélyezve amit használunk jegyében ez is letiltásra került.
Természetesen egyezőre próbáltam beállítani az authentication protocol-t (MD5|SHA), a -a PROTOCOL paraméterrel, amelynek lehetséges értékei:
- 1 - MD5
- 2 - SHA
- 3 - noAuth
- 4 - SHA512
és az egyező próbáltam beállítani a privacy protocol-t (DES|AES), -x PROTOCO paraméterrel, amelynek lehetséges értékei:
- 1 - DES
- 2 - noPriv
- 3 - AES128
- 4 - AES256
Webes felületről beállítva valamilyen titkosítást, nem hozott eredményt, amint titkosítást állítottam be nem működött a lekérdezés. Végül terminálból sikerült beállítani a megfelelő értéket, mind a teljes beállítás:
snmpconfig --add snmpv3 -index 1 -user monitoring -groupname ro -auth_proto 2 -auth_passwd password2 -priv_proto 3 -priv_passwd password3
mind a parancsori interaktív beállítás működő konfigurációt eredményezett:
snmpconfig --set snmpv3
10.20.45.120 eszköz parancsai:
snmpconfig --default accessControl snmpconfig --default snmpv1 snmpconfig --default snmpv3 snmpconfig --add snmpv3 -index 1 -user monitoring -groupname ro -auth_proto 2 -auth_passwd password2 -priv_proto 3 -priv_passwd password3
10.20.45.121 eszköz parancsai:
snmpconfig --default accessControl snmpconfig --default snmpv1 snmpconfig --default snmpv3 snmpconfig --add snmpv3 -index 1 -user monitoring -groupname ro -auth_proto 2 -auth_passwd password4 -priv_proto 3 -priv_passwd password5
Ahogy azt fentebb írtam az snmpconfig --show accesscontrol parancs jelzése kapcsán megvizsgáltam az eszköz tűzfalazási lehetőségeit is, ahogy itt ajánlotta:
Warning: 'snmpconfig --show accesscontrol' command is being deprecated. Please use ipfilter.
Ennek kapcsán azt találtam, hogy az alap tűzfal policy nem változtatható, egy újat kell létrehozni, ahova az összes szükséges beállítás fel kell venni, majd a pedig ezt az új policy-t kell akívvá tenni. Az SNMP-t érintő beállítás eszközönként az alábbiak lettek:
ipfilter --addrule work -rule 1 -sip 10.20.200.10 -dp 161 -proto udp -act permit -dip 10.20.45.120
és az
ipfilter --addrule work -rule 1 -sip 10.20.200.10 -dp 161 -proto udp -act permit -dip 10.20.45.121
szűrési szabály.