Saya perlu memastikan bahwa pengguna tertentu pada router IOS hanya dapat mengetik perintah tertentu. Saya bisa melakukan ini dengan tingkat hak istimewa tetapi mereka setiap kali pengguna akan mengetik "mengaktifkan" dia akan segera kembali ke tingkat priv 15 dan akan mengetik semua perintah. Saya ingin memastikan bahwa bahkan ketika dia masuk "mengaktifkan" dia masih hanya akan dapat mengetik perintah khusus yang saya izinkan. Saya juga mencoba dengan cli Berbasis Peran tetapi mengalami masalah yang sama. Saya tidak ingin menggunakan server otentikasi eksternal.
Terima kasih!
Jawaban:
Anda sudah mengetahui sebagian besar jawaban untuk pertanyaan Anda sendiri - Anda harus mengonfigurasi perintah yang dapat dijalankan pengguna pada tingkat hak istimewa tertentu.
enable
tanpa argumen level privilege default ke privilege level 15, yang memiliki izin untuk menjalankan semua perintah. Dua hal yang perlu Anda lakukan adalah:Ubah kata sandi pengaktifan default agar pengguna tidak memiliki akses lagi dan karenanya tidak dapat memperoleh hak istimewa level 15.
Setel tingkat privilege default pengguna saat login ke level privilege yang sama dengan yang Anda ubah pada perintah yang diinginkan yang bisa dijalankan pengguna:
Router(config)#username joe privilege <x> password foobar
di mana X adalah level privilege untuk set perintah yang Anda inginkan.
EDIT: Saya harus menunjukkan bahwa ini tidak benar-benar memberikan otorisasi perintah berbasis pengguna yang benar , itu hanya memberikan otorisasi berbasis tingkat privilege , karena perintah itu sendiri hanya terikat pada satu tingkat privilege pada suatu waktu, sehingga secara efektif perubahan router-wide . Ini dimaksudkan untuk bekerja secara hierarkis; setiap level privilege dapat menjalankan perintah di level tersebut serta semua level di bawahnya. Jika Anda ingin otorisasi berbasis pengguna sejati, Anda memerlukan semacam server AAA (lihat catatan saya di bawah).
Secara teknis Anda juga bisa mengubah level privilege dari
enable
perintah menjadi yang lebih tinggi dari level privilege pengguna sehingga mereka bahkan tidak memiliki opsi untuk menjalankannya:Router(config)#privilege exec level <x> enable
Ini tentu saja mengasumsikan bahwa Anda tidak ingin pengguna dapat menjalankan perintah konfigurasi apa pun.
Opsi lain adalah memastikan bahwa ketika pengguna masuk dan mengetik
enable
mereka perlu menentukan tingkat hak istimewa mereka daripada tingkat hak istimewa, yang standarnya 15.Router>enable <x>
Jelas Anda dapat menentukan kata sandi yang diaktifkan untuk semua 16 level hak istimewa jika Anda menginginkannya.
Poin terakhir saya adalah bahwa tanpa server AAA eksternal, semua ini adalah rasa sakit yang hebat di pantat. Ada banyak implementasi TACACS + open source yang tersedia yang hanya memiliki biaya pengaturan awal, tetapi mereka membuat melakukan hal-hal seperti ini agak sepele, dan itu terpusat, jadi jika Anda memiliki beberapa router Anda tidak harus terus mengulangi perintah yang sama lompatan hak istimewa pada setiap perangkat yang Anda kelola. Inilah sebabnya mengapa server AAA ada di tempat pertama, jadi kebutuhan Anda bahwa Anda tidak ingin menggunakannya tidak masuk akal.
sumber
Membatasi perintah dapat dilakukan di Cisco ACS jika Anda mengkonfigurasi perangkat untuk menggunakan TACACS untuk AAA.
sumber