ada 3 hal yang bisa di secure dalam Cisco Devices: Management Plane, Control Plane, dan Data Plane
kali ini gw bahas dulu tentang “how to secure management plane”
bahasannya tentang securing priviledge,securing password, securing vty access, securing with AAA, security policy (on management plane interface), Secure OOB Interface, and Secure Boot Process
===============================
Securing Privilege
Ada 2 default level security dalam Cisco Management Plane
Yaitu level 1 dan level 15, sisanya lo modif sendiri
Level 15 dapet semua command-nya dan level 1 Cuma dapet fitur basic command
Trus level 2 sampe 14 ngapain? Lo sendiri yang define, jadi level 2 bisa ping, level 4 bisa conf t, dll.
Untuk mengetahui privilege…kita bisa ketik show privilege
Nah sekarang…kita create level 5 privilege (bikin dulu privilege passwordnya), ceritanya dia bisa “ping”
Ada 2 mode dalam securing priviledge
- Enable secret cisco = password-nya dienkripsi pake MD5
- Enable password cisco = plain text
Contoh password yang sudah di enkripsi (ena sec cisco)
Lets see…
Penjelasan:
- Command “ping” default-nya ada di level 1
- Tapi karena gw pindahin itu command ke level 5, itu artinya level 1 sampe 4 ga bisa pake command ping lagi
- Untuk masuk ke level tertentu kita bisa pake command “enable [privilege level number]“
- Setelah masuk ke privilege level 5 (input password secret level 5 yang tadi), kita tes ping…mau
- Tapi pas kita ketik “conf t” untuk masuk ke global config mode…ga mau
- Karena command “conf t” itu default-nya ada di level 15
=================================================
Securing Password
Take a look on these configurations below
Ketika kita ketik password untuk secure console connection, mungkin tanpa sengaja keliatan dari belakang punggung lo (ada yang ngintip)
Nah, untuk bikin ini password ga kebaca…kita bisa ketik service password-encryption
Bisa di hack ga itu enkripsi? SANGAT…wkwkw, dalam waktu kurang dari 5 detik
Nih gw kasi screenshot-nya…SANGAT-SANGAT BISA DI HACK wkwkwk
Trus buat apa di enkripsi kek gitu? Biar ga KEBACA…dah, itu doang…bukan buat enkripsi
=====================================================
Securing Telnet (VTY Access)
Penjelsan:
- Line vty 0 4: bisa ada 5 sesi telnet ke device ini (line 0 sampe 4)
Nah, itu kan diatas pake password…sekarang kita pake username password
Penjelasan:
- Diatas adalah cara bikin userpass dengan level privilege masing2
- Dan di line vty nya dikasi login local
- Login local artinya klo ada telnet…please cek the local database will ya!! (makanya login local)
Lets cek
Nah, disini kita juga bisa liat siapa aja, dari mana, dan lewat interface mana aja yang telnet ke R1 dengan command “who”
Bisa ga klo kita store userpass nya di tempat lain, jadi ga di local database? Bisa, kita pake command “aaa new-model” (tapi nanti kitaga bisa pake “login local” lagi)
Dengan command itu kita bilang ke router bahwa klo ada username password masuk…crosscheck ke Server (AAA Server, nanti dibawah gw jelasin)
Telnet pasti pake plain text, contohnya (dari cbt nugget):
Ketauan itu password-nya “cisco-bob”, usernamenya bob (bboobb itu network stream, jadi wireshark baca “b” yang dikirim oleh keyboard dan baca “b” yang di-reply oleh device alias kita ngetiknya 1x tapi dibaca di jaringan 2x…satu buat dikirim, satu lagi…WYSWYG – What You See is What You Get)
Untuk itu kita harus pake SSH (Secure Shell), caranya
Penjelasan:
- bikin domain dulu
- trus bikin enkripsi pake rsa dengan enkripsi 1024 bit
- SSH 1.99 artinya dia capable untuk SSH v1 dan SSH v2 (more secure)
- Nah, agar telnet ga ngirim pake plain text lagi, kita input di line vty command transport input ssh
Silakan cek di wireshark
=======================================
Securing Username Password with AAA Server
Disini gw pake packet tracer aja de…kebetulan bisa (repot klo GNS T_T)
Konfigurasi AAA Server-nya (ip R1 adalah 1.1.1.1)
Penjelasan:
- Client name “R1” adalah hostname si router itu
- Client IP adalah Router IP (AAA Server ya Server…yang minta authentikasi ya client, si R1)
- Secret adalah password untuk authentikasi antara router dengan AAA Server
- Server Type kita pake TACACS (ada 2 yang umum…RADIUS dan TACACS)
- Setelah itu kita setting user pass database-nya di server AAA ini
Tapi sebelum itu, konfigur “Failover”-nya dulu alias setting metode default untuk login untuk refer ke local database dulu
Buat apa? Klo lo salah konfig atau AAA Server-nya ga bisa di akses…BISA2 ELO KE-LOCKED OUT, ga bisa masuk lagi lo…
Konsep AAA itu kek gini (yang bagus):
- Authentikasi lewat AAA Server
- klo ga bisa…authentikasi pake Local Database
- klo ga bisa lagi…pake “enable” biasa
Konsep AAA seperti ini disebut method list, “gw mau authentikasi pake METODE APA…klo ga bisa, gw harus PAKE METODE APA lagi”
Nah, sekarang kita setting routernya supaya ngecek username password ke AAA Server
Penjelasan:
- kita pake method list dengan nama AAA-Server (bikin sendiri)
- dimana method-list AAA-Server ini pake metode authentikasi TACACS+ (nanti kapan2 gw jelasin RADIUS dan TACACS+)
- nah, klo TACACS ini ga bisa, pake method-list local alias pake local database
- pasang deh di line console (ato di VTY)
selanjutnya kita bikin R1 “pointing” authentikasi dia ke server (ip si server dan password-nya)
Yuk kita tes…pake debug juga deh (debug aaa authentication)
Berhasil….sekarang AAA Servernya kita MATIIN
Yuk kita tes lagi
Coba kita pake local database-nya
Noh, bisa masuk ke R1…
THAT’S WHY I TOLD YOU TO CREATE AT LEAST ONE ACCOUNT OF USERNAME PASSWORD IN THE LOCAL DATABASE
IN CASE OF AAA SERVER FAILURE…YOU WILL NOT BE LOCKED OUT
==================================================
Security Policy on Management Plane
Setting minimum password length string (jadi password baru bisa di create klo memenuhi “kuota” karakter)
The command is below:
See…setting password with “abcd” strings is not enough (below 5 character)
Setting maximum connection attempts
Back to GNS3… Aktifkan dulu aaa new-model nya (klo ga nanti ga di-recognize command kita)
trus ketik di global config “aaa authentication login [nama] local”
jadi klo method-list AAA ga bisa dipake…pake local database
trus masukin method-list yang bernama AAA tadi ke line vty
Yuk keep smile *eh* yuk kita test
Yup…user admin 2x salah password…langsung di LOCK…
Kita bisa liat account siapa yang di lock dengan cara “show aaa local user lockout”
Dan kita bisa clear user account yang di lockout dengan cara “clear aaa local user lockout [nama user | all]”
Itu local ya? Iya…klo pake AAA Server gimana? Ya di server-nya dong di buka-nya,bukan di router…router kan local database
Tapi klo ada orang iseng pake account admin, bisa aja sengaja di lock-out, yang admin sebenernya ga bisa masuk dong?
Betoooelll…nah, untuk itu kita setting temporary block
Itu orang iseng bisa coba 2x attempt dalam waktu 60 detik, klo gagal akan di blok selama 5 menit (300 detik)
=======================================
Securing OOB Interface
Metode ini digunakan klo kita pengen salah satu interface kita hanya nerima protocol2 tertentu kedalamnya (yang memang biasanya buat Out-of-band management)
Kita pengen interface ini ga nerima ping, ga nerima ftp, ga nerima tftp, dan traffic2 lainnya karena kita pengen network engineer/network admin kita bisa manage device via interface ini aja (that’s why it called OOB Interface)
Nah, jadi di interface fa0/1 hanya bole nerima traffic telnet ssh dan https saja (klo ada software GUI yang traffic-nya via HTTPS seperti CCP – Cisco Configuration Professional atau ASDM – ASA Security Device Manager)
note: hanya di router2 high-end tertentu yang bisa…gw tes di 1841 ga bisa, di 3745 bisa, ga tau de di 2801 dll
===================================================
Securing Boot Process
Nah, satu lagi nih…
Kita pengen untuk startup-config dan IOS Image yang di flash…ga bole di delete via TELNET
Bahaya klo hacker masuk lewat telnet trus delete startup-config trus IOS-nya juuga dihapus dan di reload pula…suram dunia bisa haha
Nah itu dia…boot-config dan boot-image (ga bisa dicobain di GNS…ga ada flash-nya kan hahaha)
Klo diasli kek gini nih, nanti pas di “show flash“…itu IOS Image ga keliatan…jadi ga bisa di delete
Trus…cara delete-nya gimana? Masa ga bisa di delete sama sekali? Bisa, bukan lewat telnet, tapi lewat console…