Kesalahan Akses Juniper SNMPv3 Tidak Dapat Diprediksi


8

Kami mengalami masalah saat SNMPv3 berhenti menerima permintaan SNMP pada switch seri Juniper EX kami. Dalam apa yang tampak seperti kejadian acak, node Juniper menolak kredensial otentikasi SNMP.

Inilah yang akhirnya kami dapatkan:

rj@MHN00525SYS01:~$ snmpwalk -v 3 -a SHA -A "PASS" -l authPriv -x AES -X "PASS" 
  -u "username" mhn00416an01 iso.3.6.1.2.1.1.1.0
snmpwalk: Unknown user name
rj@MHN00525SYS01:~$

Perangkat kami berfungsi, tetapi kemudian berhenti. Nama pengguna benar dan dimuat ke dalam sistem.

rj@MHN00416AN01# run show snmp v3 users

Engine ID: 80 00 0a 4c 04 31 33 <...snip...>
    User                            Auth/Priv   Storage      Status
    username                         sha/aes128 nonvolatile  active

Setelah berurusan dengan ini selama beberapa waktu, kami akhirnya memutuskan untuk menyelidiki. Saya melihat entri ini sebelum sistem berhenti menerima permintaan:

Nov  6 09:44:32  MHN00416AN01 mgd[7996]: UI_COMMIT: User 'rj' requested 'commit' 
  operation (comment: none)
Nov  6 09:44:35  MHN00416AN01 snmpd[1260]: LIBJSNMP_NS_LOG_ERR: ERR: snmpd: send_trap: USM 
  unknown security name (no such user exists) (plaintext scopedPDU header type 00: s/b 30)
Nov  6 09:44:35  MHN00416AN01 snmpd[1260]: SNMPD_ENGINE_ID_CHANGED: Warning: Local 
  engine ID has changed. Passwords for all the users under [edit snmp v3 usm local-engine] 
  need to be reconfigured.

Saya telah menemukan bahwa dengan hanya memasukkan kembali nama pengguna / kata sandi mengembalikan akses ke perangkat.

rj@MHN00416AN01# set snmp v3 usm local-engine user username 
  authentication-sha authentication-password PASS

{master:0}[edit]
rj@MHN00416AN01# set snmp v3 usm local-engine user username 
  privacy-aes128 privacy-password PASS

Setelah commitoperasi, kita dapat mengaksesnya lagi.

rj@MHN00525SYS01:~$ snmpwalk -v 3 -a SHA -A "PASS" -l authPriv -x AES -X "PASS" 
  -u "username" mhn00416an01 iso.3.6.1.2.1.1.1.0
iso.3.6.1.2.1.1.1.0 = STRING: "Juniper Networks, Inc. ex3300-48p Ethernet Switch, kernel 
  JUNOS 12.3R3.4, Build date: 2013-06-14 02:21:01 UTC Copyright (c) 1996-2013 Juniper 
  Networks, Inc."
rj@MHN00525SYS01:~$

Masalah ini terjadi di banyak perangkat yang berbeda. Model termasuk EX2200-c, EX3300, EX4200 dan EX4550 pada versi 12.3.

Mengapa ini terjadi dan bagaimana saya bisa menghentikannya?

Jawaban:


6

Masalah ini adalah hasil dari perubahan engine-id. Jika Anda mengalami pesan syslog ini, itulah definisi masalah yang sebenarnya.

Nov  6 09:44:35  MHN00416AN01 snmpd[1260]: SNMPD_ENGINE_ID_CHANGED: Warning: Local 
  engine ID has changed. Passwords for all the users under [edit snmp v3 usm local-engine] 
  need to be reconfigured.

Sayangnya, saya telah menemukan bahwa ini terjadi tanpa alasan yang jelas. Komit yang dilakukan sebelum engine-id ini diubah adalah syslog-hosttambahan sederhana yang mengakibatkan engine-id berubah. Juniper mencakup engine-idopsi di TechLibrary mereka , yang mengatakan opsi default adalah menggunakan alamat IP default perangkat.

Setelah banyak membenturkan kepala ke meja, kami menemukan bahwa hanya mendefinisikan satu dengan pengaturan eksplisit adalah pilihan terbaik, karena tetap konsisten.

rj@MHN00416AN01# set snmp engine-id local ***.**.244.245

{master:0}[edit]
rj@MHN00416AN01# commit
configuration check succeeds
commit complete

Juniper juga memiliki catatan untuk mengubah id mesin yang perlu dilakukan sebelum akan berfungsi. Ini secara efektif berarti sekali Anda melakukan id mesin baru, Anda juga harus memasukkan nama pengguna / kata sandi lain.

Catatan: Kunci otentikasi dan enkripsi SNMPv3 dihasilkan berdasarkan kata sandi dan ID mesin yang terkait. Jika Anda mengkonfigurasi atau mengubah ID mesin, Anda harus melakukan ID mesin baru sebelum Anda mengkonfigurasi pengguna SNMPv3. Kalau tidak, kunci yang dihasilkan dari kata sandi yang dikonfigurasi didasarkan pada ID mesin sebelumnya. Untuk ID mesin, kami sarankan menggunakan alamat MAC port manajemen.

Anda harus memasukkan pengguna baru ke dalam konfigurasi setelah perubahan mesin. Ini penting karena pengguna SNMPv3 tidak akan berfungsi jika Anda tidak melakukan ini meskipun apa yang sebenarnya dikatakan di bawah show snmp v3 users. Jadi pastikan Anda mendefinisikan pengguna baru.

rj@MHN00416AN01# set snmp v3 usm local-engine user username 
  authentication-sha authentication-password PASS

{master:0}[edit]
rj@MHN00416AN01# set snmp v3 usm local-engine user username 
  privacy-aes128 privacy-password PASS

{master:0}[edit]
rj@MHN00416AN01# commit
configuration check succeeds
commit complete

Sebelum perubahan:

rj@MHN00416AN01# run show snmp v3

Local engine ID: 80 00 0a 4c 01 ** ** f4 f5
Engine boots:           1
Engine time:       421043 seconds
Max msg size:       65507 bytes

Engine ID: 80 00 0a 4c 04 31 33 <...snip...>
    User                            Auth/Priv   Storage      Status
    Username                         sha/aes128 nonvolatile  active

Setelah perubahan:

Local engine ID: 80 00 0a 4c 04 31 33 <...snip...>   <---- previously Engine ID
Engine boots:           1
Engine time:       421110 seconds
Max msg size:       65507 bytes

Engine ID: local   <------ changed
    User                            Auth/Priv   Storage      Status
    Username                         sha/aes128 nonvolatile  active

Ini memberikan pengaturan SNMP yang lebih andal yang tidak rentan terhadap perubahan engine-id dan menghilangkan akses. Juniper tidak merekomendasikan agar Anda menggunakan use-mac-addressopsi yang bertentangan dengan local engine-id-suffix. Opsi ini rentan terhadap masalah dalam pengaturan sasis virtual. Jika mesin perutean cadangan mengambil alih, SNMP engine-id akan berubah ke me0antarmuka master baru.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.