Kata sandi AAA / TACACS + pada switch Cisco selalu gagal pada prompt kata sandi kedua

9

Setiap kali masuk ke perangkat jaringan menggunakan AAA / TACACS +, jika saya lupa kata sandi setelah prompt nama pengguna, kata sandi kedua selalu gagal meskipun kata sandi sudah benar. Saya harus menunggu prompt nama pengguna lagi, dan harus mendapatkan kata sandi dengan benar pada prompt kata sandi pertama segera setelah itu. Dengan kata lain, setiap kali saya melihat prompt kata sandi kedua, itu tidak akan berfungsi.

Lihat interaksi dan konfigurasi sanitasi di bawah ini.

Verifikasi Akses Pengguna
Nama pengguna: nama pengguna
Kata sandi:

Kata sandi: (selalu gagal di sini)
% Akses ditolak

Verifikasi Akses Pengguna
Nama pengguna: nama pengguna
Kata sandi:

Terhubung ke s-site-rack-agg2.example.net pada baris 1 (nama situs).
s-site-rack-agg2 #

Apa yang bisa berbeda dengan prompt kata sandi kedua untuk memperhitungkan perilaku ini?

AAA khas dan konfigurasi terkait yang saya miliki adalah:

aaa model baru
aaa autentikasi masuk tacac grup default + baris lokal
aaa otentikasi masuk CONSOLE tidak ada
autentikasi aaa memungkinkan tacac grup + default aktif
aaa otorisasi exec tacacs grup default + lokal jika diautentikasi
perintah otorisasi aaa 1 grup tacac default + lokal jika-dikonfirmasi
perintah otorisasi aaa 7 tacac grup default + lokal jika dikonfirmasi
perintah otorisasi aaa 15 tacac grup default + lokal jika dikonfirmasi
aaa accounting exec tacac grup start-stop default +
perintah akuntansi aaa 0 tacac grup start-stop default +
aaa accounting memerintahkan 1 tacac grup start-stop default +
aaa accounting memerintahkan 7 tacac grup start-stop default +
perintah akuntansi aaa 15 tacac grup start-stop default +
aaa sistem akuntansi tacac grup start-stop default +
!
ip tacacs sumber-antarmuka Loopback0
host-server tacacs -prmiaryipremoved- koneksi tunggal
host tacacs-server -secondaryipremoved- koneksi tunggal
batas waktu tacacs-server 10
tacacs-server diarahkan-permintaan
tacacs-server key 7 -removed-
!
baris con 0
 login otentikasi CONSOLE
baris vty 0 4
 lokasi -removed-
 exec-timeout 60 0
 password 7 -removed-
 input transportasi telnet ssh
generalnetworkerror
sumber
Tidak pernah sampai di bagian bawah ini karena kata sandi gagal>> mengambil batas waktu untuk TACACS untuk membalas balasan, jadi prompt kedua adalah dari linekata sandi. Kata sandi yang benar mendapat respons dari TACACS segera. Pindah ke server ACS yang lebih baru menyelesaikan masalah, konfigurasi yang sama, jadi sepertinya itu masalah ACS.
generalnetworkerror

Jawaban:

4

Saya akan melakukan debug pada server TACACS + Anda saat Anda mencoba ini.

Saya akan berasumsi bahwa Anda hanya ingin menggunakan otentikasi TACACS dan hanya kembali ke login lokal jika tidak dapat mengakses server?

Coba gunakan ini:
aaa authentication login default group tacacs+ line
aaa authentication enable default group tacacs+ enable

Lihat juga situs ini: Ada beberapa contoh dan penjelasan yang bagus

http://my.safaribooksonline.com/book/networking/cisco-ios/0596527225/tacacsplus/i13896_ heada _4_2 # X2ludGVybmFsX0h0bWxWaWV3P3htbGlkPTA1OTY1MjcyMjlNjNjNjN

Dugaan saya adalah karena Anda memiliki kata kunci "lokal" di:
aaa authentication login default group tacacs+ local line

Otentikasi TACACS + mengembalikan kegagalan, sehingga router mencoba melakukan otentikasi lokal. Saya kira Anda harus memberi kami line vtykonfigurasi yang disanitasi. Jika Anda memiliki
line vty 0 15
login local

Maka itu akan melakukan otentikasi nama pengguna / kata sandi jika tidak melakukan kata sandi

knotseh
sumber
Menambahkan linekonfigurasi yang disanitasi ke Q.
generalnetworkerror
Dari tampilan debug yang sangat singkat, sepertinya ACS tidak kembali dengan cukup cepat pada kata sandi yang buruk karena kondisi itu adalah satu-satunya saat saya melihat timeout dengan server TACACS yang dilaporkan. Di lain waktu tidak ada timeout nol.
generalnetworkerror
4

Saya pikir konfigurasi Anda cukup berbahaya dan Anda tampaknya ragu-ragu jika Anda menggunakan 'enable / line' atau 'local' sebagai fallback, jawaban yang benar adalah lokal, tidak pernah menggunakan 'enable' dan terutama tidak pernah 'line' untuk apa pun (baris dua- cara 'terenkripsi' bukan hash satu arah).

Saya akan merekomendasikan konfigurasi ini sebagai gantinya:

aaa new-model
! uses tacacs, fallsback to local user if tacacs not working
aaa authentication login default group tacacs+ local
! user gets enabled by tacacs or by enable password
aaa authentication enable default group tacacs+ enable
! console user is authorized as well (gets enabled, if such permission)
aaa authorization console
! configuration commands are authorized as well as exec commands (Good to prevent dangerous commands)
aaa authorization config-commands
! user privilege level is recovered from tacacs or from local account
aaa authorization exec default group tacacs+ local
! level 15 commands are authorized (you really only need this) 
aaa authorization commands 15 default group tacacs+ if-authenticated 
! level 1, 15 commands are logged (you really only need these two)
aaa accounting commands 1 default start-stop group tacacs+
aaa accounting commands 15 default start-stop group tacacs+
!
! fallback user consulted only when tacacs is broken
username sikrit privilege 15 secret <password>

Pengguna 'sikrit' akan digunakan ketika tacacs tidak berfungsi (tidak dapat digunakan jika TACACS menjawab) tidak perlu kata sandi 'line' di bawah VTY, karena tidak pernah dikonsultasikan. Tidak perlu kata sandi 'aktifkan', karena tidak pernah dikonsultasikan. Jika Anda ingin pengguna cadangan yang tidak diaktifkan, buat saja yang lain dengan 'hak istimewa 1'.
Namun saya memang menambahkan dukungan untuk 'aktifkan' jika Anda ingin menggunakannya untuk beberapa alasan.

Jika Anda menggunakan OOB, dan akses OOB sudah diamankan / diautentikasi, Anda mungkin ingin mengizinkan pengguna OOB selalu menggunakan otentikasi lokal, kalau-kalau TACACS rusak tetapi iOS keliru mengira itu bukan, maka Anda akan menambahkan sesuatu seperti ini :

aaa authentication login CONSOLE local
!
line con 0
 login authentication CONSOLE
ytti
sumber
Gagasan memiliki aaa authentication login default group tacacs+ local lineadalah menggunakan kata sandi baris sebagai catchall jika template AAA digunakan pada perangkat di mana TACACS rusak dan tidak ada pengguna lokal yang ditentukan. Dan saya benar-benar memiliki aaa authentication login CONSOLE nonekonfigurasi yang tidak saya tampilkan pada awalnya. (Ya, saya cenderung mempercayai akses konsol fisik ke perangkat lebih dari yang seharusnya.)
generalnetworkerror
Sebenarnya saya tidak bisa meniru di lab masalah yang Anda lihat. Jika Anda tidak memiliki kata sandi 'lokal' yang dikonfigurasi dan iOS menganggap TACACS tidak dapat dijangkau, maka masuk akal untuk menanyakan kata sandi 'line', tetapi bagi saya, untuk TACACS yang dapat dijangkau, kata itu tidak mundur ke 'line'. Mungkin bug di iOS atau di TACACS yang membuat otentikasi gagal terlihat seperti koneksi TACACS gagal (mungkin layak dicoba tanpa 'koneksi tunggal')
ytti
Apakah kata sandi kedua meminta tanpa nama pengguna yang sesuai kedua memberitahu kami secara pasti bahwa linekata sandi gagal pada sistem tanpa pengguna lokal yang dibuat untuk localauth? [ aaa authentication login default group tacacs+ local line.] tacacs + gagal, lokal dilewati karena tidak ada pengguna lokal, lalu kata sandi baris?
generalnetworkerror
Saya tidak berpikir itu harus melakukan fallback pada tacacs + auth_failure, itu hanya harus melakukannya untuk tacacs yang hilang + balas. Jadi saya akan meneliti opsi mengapa IOS berpikir tacacs + tidak merespons (saya kira itu merespons). Mungkin satu hal yang harus dicoba, adalah tacacs config yang berbeda (seperti menghapus koneksi tunggal), jika itu adalah bug iOS, mungkin menghapus pemicu bug.
ytti
Anda mungkin tidak melihat komentar saya pada jawaban lain tentang debug yang menunjukkan bahwa tacacs mengambil> 30an untuk merespons hanya ketika kata sandi salah; pada saat itu, sistem menganggap balasan server tacac hilang dan pindah ke auth berikutnya. Ketika kata sandi benar, respons tacacs segera.
generalnetworkerror
4

Saya tidak yakin konfigurasi perangkat lokal Anda yang harus disalahkan untuk ini, melainkan server TACACS Anda sendiri. TACACS mem-proksi prompt nama pengguna / kata sandi dari server TACACS (dan mungkin toko identitas eksternal) ke perangkat, jadi jika Anda menggunakan ACS (misalnya) dan mengaturnya untuk berbicara dengan AD untuk melakukan otentikasi pengguna, Anda perlu untuk memikirkan permintaan nama pengguna / kata sandi berasal dari pengontrol domain dan bukan dari perangkat itu sendiri.

Saya baru-baru ini mengalami masalah persis seperti ini yang diperbaiki oleh tambalan ke ACS - sekali lagi, saya berasumsi bahwa Anda menggunakan ACS dan memilikinya menarik dari AD untuk verifikasi pengguna / grup dll. Cisco bug ID adalah CSCtz03211 dan pada dasarnya ACS 5.3 mengirimkan beberapa upaya auten ke AD per satu "nama pengguna / kata sandi" saat mencoba ke perangkat. Ini akan menghasilkan perilaku di mana jika pengguna menggunakan kata sandi pada usaha pertama, beberapa contoh dari kombinasi nama pengguna / kata sandi yang salah dikirim ke AD dan akun pengguna benar-benar dikunci, sehingga mengakibatkan upaya login gagal berikutnya untuk perangkat bahkan jika pengguna mengetik nama pengguna / kata sandi mereka dengan benar pada percobaan kedua (perilaku ini tentu saja bervariasi dengan ambang batas penguncian yang telah Anda tetapkan pada akun pengguna dalam AD).

Hanya sesuatu yang perlu dipertimbangkan (tanpa sepengetahuan implementasi server TACACS Anda).

John Jensen
sumber