Cisco ISE adalah Appliance terbaru dari Cisco (Per 2011), yang digadang2 bakal gantiin Cisco ACS (Access Control System)
Dia bukan hanya AAA Server, tapi sudah menjadi NAC (Network Admission Control) Server
Bahkan track CCNP Security akhir tahun 2013 diganti versi baru demi mengakomodir Appliance Cisco yang bernama ISE ini
Tulisan ini mengulas lebih dekat tentang CCNP Sec course track yang berjudul “Implementing Cisco Security Access Solutions – SISAS (300-208)”
Apa aja sih yang dipelajarin di course track CCNP Sec ini, dan btw…
cara nyebut ISE itu apa sih…Cisco “AIS” kah atau Cisco “ISE” ala Indonesia hahaha
==============================
Cisco ISE Fundamentals
Apa sih bagusnya ISE dibanding ACS?
Klo diliat dari table diatas…dia punya Profiling dan Service untuk Guest
Apaan tu Profiling dan Guest Service? Kita liat teknologi2 yang dipunyai ISE
Cisco ISE Technologies
- Guest Access: gw pengen bedain network buat guest dan buat employes ketika konek kejaringan, baik wire atau wireless
- Profiler: gw pengen bedain network service PC inventaris kantor dan Laptop/HP/IPAD yang dibawa employe, BYOD (bring your own device) service
- Posture: gw pengen PC inventaris kantor yang sudah terdaftar di employee network (trusted device), ga disalahgunakan (contohnya buat akses server2 tertentu)
- MACsec: gw pengen informasi layer 2 seperti mac address di enkripsi
- Security Group Access (SGA): gw pengen lebih mudah enfore policy ke beberapa orang (contohya grouping user)
- Identity–Based Firewall: gw pengen firewall policy gw tidak hanya bergantung pada IP address aja, gw pengen user dan/atau machine dikasih policy juga
Nah, ISE ini sangat mengandalkan 802.1x authentication untuk menjalankan fungsi2 diatas
Kok bisa? Ya Cuma dot1x (802.1x, biar gampang nulisnya) protocol yang bisa nge-push/pull konfigurasi dari ISE (atau ke arah ISE)
Imagine…if user plug into the switchport, and then based-on the information provided (such as userpass), the switch downloaded ACL and VLAN configuration form ISE to itself. So the user get appropriate VLAN and ACL…
Kok bisa switchnya “nge-write” config diri sendiri?? Ya itu…syaratnya adalah itu switch harus capable untuk 802.1x protocol (switch2 unmanaged dan switch2 versi lama ga support)
DAN….harus support RADIUS CoA (change of authorization, RFC 5176), jadi ga bisa radius tok…
Why CoA?? Ya itu…radius kan buat AAA, klo user/alatnya (machine) ganti…network dengan radius biasa ga bisa adapt dengan hal itu…maka dibuatlah IETF RFC 5176 alias Radius CoA
Here’s the link to that Radius CoA (baca abstract-nya aja…uda ngerti kok lu pasti)
Trus klo kek printer dan fax yang ga ada fitur 802.1x gimana? Pake MAB (Mac Address Bypass), jadi itu printer di bypass authentikasinya, tapi begitu port itu dipake oleh yg bukan printer…enforce dot1x
Lu bisa bilang 802.1x ini versi advanced-nya Switchport Port-security lah
=================================
Port-Based Authentication that called 802.1x
Yang mau gw bahas disini adalah 802.1x dalam kaitannya dengan implementasi ISE
Cisco support 3 mode untuk 802.1x implementation: Monitor mode, Low Impact mode, dan Closed Mode
- Monitor Mode: cocok buat PoC (proof of concept) dan initial implementation/deploying, karena mempunyai fitur bypass failed authentication (tapi tetep ada log-nya), so…kita bisa tau mana konfigurasi kita yang salah tanpa harus bikin existing production network down
- Low Impact Mode: klo kesalahan2 di monitor mode sudah diselesaikan, kita bisa naek level ke tahap Low Impact, dimana semua konfig (atau user2 yang failed untuk login ke network) tetep bisa masuk jaringan, tetapi akan dikasi ACL (tepatnya dACL, penjelasan dibawah)
- Closed Mode: full deployment, sebelum authentikasi berhasil…ga ada yang bisa masuk ke jaringan
Karena dot1x ini menganalisa layer 2 di port, berarti ada beberapa mode host
Klo pake VMWare Server (ato pake PC yang ada VMWare-nya) trus konek ke jaringan…cocoknya pake Multi Auth mode
=================================
Cisco ISE Encrypted Communication
Komunikasi Cisco ISE menggunakan EAP (Extensible Authentication Protocol)…tepatnya EAPOL (EAP over LAN, soalnya EAP sendiri bukan protocol, it’s a framework) yang digunakan oleh 802.1x
Klo mau baca tentang EAP itu sendiri – RFC 5247 (baca aja di bab 1.3)
Nah, EAPOL sendiri itu protocol yang isinya 3 personel: Supplicant, Authenticator, Authentication Server
Jadi konsep 802.1x itu…semua port unauthorized, mereka yang mau konek ke port harus kirim protocol EAPOL dulu baru bisa konek (itupun klo di granted request)
Contoh proses negosiasi EAPOL:
Nah, celakanya…negosiasi EAP didalam radius ini dikirim clear text (kayak telnet tanpa SSH)…so, kita harus enkripsi itu EAP dengan Protected EAP (PEAP) atau EAP-FAST
EAP-FAST pake pre-shared key (PSK), klo PEAP pake PKI Server (CA)
Nah, ISE punya 2 metode authentikasi:
- User Authentication
- Machine Authentication
Jadi, ISE bisa bikin EAP Chaining (bikin supaya yang mau masuk harus di allow baik dari user maupun machine)
Bisa jadi…user di granted access, tapi ga bisa masuk ke Server Network gara2 aksesnya pake Android (Machine Authentication ga match)
Bisa jadi…PC inventaris kantor di granted akses ke Server Network, tapi di blok gara2 username salah (User Authentication ga match)
=================================
Cisco ISE Services that called “Persona”
(gw sendiri bingung kenapa Cisco pake istilah aneh2 lagi…yang lama2 aja uda pusing gw ngapalinnya)
Service dari Cisco ISE dibagi menjadi 3:
- Administrasi: configure policy ya disini
- Policy Services: disini “engine” untuk menentukan policy yang cocok untuk diterapkan ke user/machine (berdasarkan parameter2 tentunya)
- Monitoring: ya monitor, bisa buat syslog server
Dari sini bisa kita lihat, yang berat kerjanya ya di Policy Services Persona…artinya kita bisa bikin beberapa server ISE dengan fungsi yang berbeda2
Cisco ISE Support Internal Authentication (di Server ISE itu sendiri) dan External Authentication (sync dengan ActiveDir maupun LDAP)
Bahkan bisa ngasi sequence…jadi klo server ActiveDir ga bisa diakses, dia bisa pindah ke LDAP, trus pindah ke internal authentication (bisa diatur juga ke siapa duluan yang konek)
Note: untuk ActiveDir, perbedaan waktu antara dia dan ISE maximum 5 menit (NTP Server is a must jadinya…ga tau kenapa harus 5 menit), ga support NAT, dan beberapa port harus dibuka (klo ini disisi FIREWALL-nya), dan ActiveDir juga bisa diakses secara LDAP (bukan native)…konsekuensinya: slower performance, attribute untuk sync sedikit, tapi bisa join multiple directories (klo native Cuma 1 single directory dan searchnya bisa up and down the directory tree)
============================================
How ISE Works
Policy Elements dalam ISE ada 3:
-
Condition
-
Simple Condition: [DICTIONARY][OPERAND][VALUE]
Contoh: [device type=android] [EQUALS] [WIRELESS] = RESULT [apply web authentication]
- Compound Condition: 2 simple condition atau lebih yang digabung dengan OPERAND [AND atau OR]
-
- Dictionary: list apa aja yang mau di authen, author, dan accounting
- Results: efek dari condition yang match…bisa di allow masuk ke jaringan, bisa dikasi ACL, atau bisa enforce end device untuk install agent (kek Cisco AnyConnect)
Salah satu result-nya adalah dikasi dACL (discretionary ACL): begitu user/machine konek ke jaringan (switch/AP), berdasarkan profile…ACL tertentu akan di terapkan di port yang bersangkutan (di AP, klo pake WLC)
contoh di ISE:
Nanti akan dipush ke port di Switch (tergantung fail atau tidaknya authentikasi)
(ACL-nya beda…yang satu full access, yang satu restricted…tandanya…GUE SALAH CONFIG HAHAHA)
Atau akan diredirect ke Guest Portal (URL redirection ke IP-nya ISE Server), suruh daftarin dulu device dia (klo device/machine authentication ga match alias dia ga dikenalin oleh ISE, tapi userpass-nya authentication-nya match)
Atau bikin userbaru di Sponsor Portal (cocok buat hotel2 atau tempat2 yang membutuhkan account temporary buat client/end user), jadi admin tinggal browsing ke IP Sponsor Portal (IP-nya ke ISE juga), add user dari sono
===================================
Cisco ISE with TrustSec
Apa sih Cisco TrustSec itu? Sebuah cara dari Cisco agar setiap traffic dikasi TAG (stempel), jadi setiap NAD (network access devices) dapat menentukan ACL mana yang dipake secara appropriate
Here’s how it work:
Jadi system Cisco TrustSec itu mengubah security jaringan menjadi Role-Based (contoh: Marketing hanya bisa akses marketing data, Engineer bisa akses semua)
Key dari TrustSec itu ada 3: SGT, SGACL, dan 802.1AE (MACsec)
- SGT (security group tag): begitu traffic masuk (ingress) ke port switch (yang bisa 802.1x), traffic itu akan dikasi tag (kek VLAN Tag, bedanya ini untuk security ACL)
- SGACL (security group ACL): nah, SGT yang masuk ke switch (contoh SGT dengan TAG value 3) akan nerusin ke Radius Server (ISE), berdasarkan tag yang ada di server, TAG nomor 3 dimapping dengan SGACL nomor 3 (contoh: hanya di permit untuk masuk marketing server), nanti di push itu dACL ke switch
-
MACsec (802.1AE): untuk mencegah hacker intercept data di layer 2 (termasuk ngakalin SGT nya), maka traffic antar switch di enkripsi
- SGFW: klo ga mau lempar ke server itu SGT, lempar ke Cisco ASA aja (Security Group Firewall)
So…Security nya lebih flexible (daripada lu harus manual ngetik ACL satu-satu ditiap NAD) dan lebih simple dalam administrasi (policy definition dan maintenance)
802.1AE frame lebih detailnya:
Jadi SGT di carry di Cisco TrustSec Meta Data header
Untuk perform MACsec, tiap switch harus dikonfig (ya…ngonfig CLI lagi) NDAC (Network Device Admission Control) supaya perfom MKA (MACsec Key Agreement) untuk nentuin MACsec key (dulu namanya SAP – Session Authentication Protocol)
Tenang aja ga akan lemot, soalnya yang perform adalah ASIC component inside the Switch itself
Conton config Cisco TrustSec (CTS) di switch, trus mapping deh ke ISE/ASA (konfignya sebenernya banyak):
Itu SGT berarti di switch Cisco yg bisa 802.1x plus bisa TrustSec ya? Ya, trus klo ngelewatin switch yang ga capable gimana? SGT Exchange Protocol
Jadi SGT-nya di carry di layer 3 (IP-to-SGT mapping), trus lewat TCP port 64999 (so…jgn di block di firewall ya port ini)
===========================
Cisco ISE Posture and Profile Services
Cisco ISE bisa mendeteksi “posture” client sebagai berikut:
- Deteksi OS apa yang dipakai
- Deteksi Anti-Virus apa yang dipakai
- Deteksi akses jaringan mana yang dipakai (wire/wireless)
- Deteksi “health” dari end device kita (recently updated OS/Anti-Virus or not)
- Dll
Nah, berdasarkan posture ini kita bisa nyuruh ISE untuk enfore policy ke client/user, seperti:
“sory, user dengan WinXP tidak boleh masuk ke jaringan” (banyak bug)
“anti-virusnya tolong update dulu…baru bisa masuk ke jaringan”
“tolong pake AnyConnect untuk masuk ke jaringan”
“dilarang pake Internet Explorer untuk browsing ke ISE atau ke Web2 tertentu”
Dll…
Nah, klo aturan2 tersebut match/compliant…grant access, Klo non-compliant…enforce security policy
Klo unknown…redirect ke client provisioning portal (guest access, suruh daftarin IPAD/BB/Android punya dia klo mau akses lewat jaringan kantor yang ada ISE-nya – bikin Profile/Profiling)
Contoh kita pake Persistent Agent seperti Cisco NAC Agent (download aja):
Atau mau pake Web Agent:
Contoh Cisco ISE Profile Configuration:
Dari sini kita bisa ambil kesimpulan bahwa di ISE kita bisa bikin Parent Profiling (contoh: Apple Device, check apakah mac address/OUI dari device ini bener2 dari Apple) dan bikin Child Profiling (contoh: berdasarkan Parent profile bernama “Apple Device”, kita pengen lebih specific…IPAD kah? OS X kah? Pake web browser safari kah?)
============================================
Reference:
Implementing Cisco Security Access Solutions – SISAS (300-208) Instructor Guide.pdf
RFC 5176 (RADIUS CoA) – https://tools.ietf.org/html/rfc5176
RFC 5247 (EAP) – http://tools.ietf.org/html/rfc5247#section-1.3
Fundamental of Cisco TrustSec (Youtube Video) – https://www.youtube.com/watch?v=78-GV7Pz18I
Understanding EAP – https://www.youtube.com/watch?v=3co6j0Rhm4E
Cisco ISE – http://www.cisco.com/c/en/us/products/security/identity-services-engine/index.html
MACsec MKA and SAP – http://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/identity-based-networking-services/deploy_guide_c17-663760.html