Home

IS-IS Fundamentals

3 Comments

*Recommended pre-learning this article: OSPF

Introduction

IS-IS (atau ISIS) adalah singkatan dari Intermediate System-to-Intermediate System, salah satu dari Link State Routing Protocol (saingannya OSPF inih)

Intermediate System (IS) itu sendiri adalah Router…jadi Router-ke-Router

Klo OSPF pake metode TCP/IP-nya IETF (now you know why OSPF popular), sedangkan ISIS pake metode OSI (ISO/IEC 10589:2002)

Masi ada ga ini orang? Masi…in fact, masi banyak yang make…terutama Service Provider

ISIS di develop bukan dengan TCP/IP…jadi secara teori, algoritma ISIS tidak berubah ketika migrasi dari IPv4 ke IPv6 (beda dengan OSPF…ada OSPFv3 untuk IPv6)

Which is….quite reliably for ISP (ISIS hanya memodifikasi TLV – Type Length Value, nanti dibawah dijelasin)

ISIS memakai service OSI Layer 2 yang bernama CLNS (ConnectionLess Network Service) untuk adjacency-nya (kek service-nya IP dan UDP…connectionless)

Didalam CLNS ini terdapat CLNP (ConnectionLess Network Protocol….ini IP Protocol-nya ISIS)

Trus CLNP-nya dikirim dengan format NSAP (Network Service Access Point…ini IP addressing-nya versi ISIS)

Loh…sebenernya dia pake Layer 3 ga sih?!? Well, untuk adjacency ISIS pake Layer 2 ga kaya OSPF pake Layer 3, jadi ip route-nya di “carry” oleh Layer 2

=========================

ISIS Domain that called “level”

ISIS punya konsep mirip OSPF dalam membuat suatu domain

Klo OSPF punya istilah namanya “area“, klo ISIS namanya “level

Hanya saja ISIS Cuma punya 2 level: Level 1 dan Level 2 (level 0 buat ES (End System) ke IS dan level 3 buat external route ga kepake di Cisco)

Kita liat bedanya dengan OSPF dari gambar dibawah

Klo OSPF, untuk menghubungkan inter-area kita punya ABR (Area Boundary Router), dimana dia letaknya “ditengah2” dua area

Klo ISIS, untuk menghubungkan inter-level, kita perlu L2L1 link (routernya ga perlu berada di dua area)

Dan, ISIS ga perlu kek OSPF yang semua router harus konek ke area backbone (area 0) yang sama

Ga perlu lagi pake Virtual-Link untuk “extend” area 0/backbone

Jadi, kita bisa bikin ISIS Router itu ada di level 1, level 2 (ini kek area backbone-nya ISIS), atau yang bisa 2-2nya alias L2L1 router (default-nya ini)

Level 1 hanya bisa konek ke Level 1, Level 2 juga begitu, yang bisa 2-2nya Cuma Level 2-Level 1 Router

By default, L2L1 router hanya akan meng-import route dari L2 router, tapi ga akan mengimport dari L1 Router (ga ngasi informasi rute dari L1 network yang lain)

Nah, jadi…lebih sedikit LSP yang dikirim (ISIS version of LSA) dari pada OSPF

Klo lebih sedikit trus impactnya??…ISIS ga ada “customized” area kek Stub dan NSSA

===============================

ISIS Addressing that called NSAP

Contoh: 49.0002.0010.0100.1001.0010.00

Now let me explain:

NSAP addressing structure: AFI.Area ID.System ID.NSEL

  • AFI (Authority and Format Identifier): nilainya fix (bisa 39, 45, 47, atau 49)

    Karena kita setting ISIS buat Internal Gateway Protocol (IGP), dimana kita setting sendiri…makanya nilainya 49

    Bisa ga kita setting beda sendiri?? Sebenernya bisa…cuma ini kek IP Private dan Public, IP Private ga bole masuk ke internet bukan?!?!

    Nah, tau kan kenapa ISIS address depannya hamper selalu “49”

  • Area ID: ini buat nentuin, router kita ada di level 2 (0002) apa level 1 (0001)

    AFI dan Area ID ini disebut IDP (Initial Domain Part)

    contoh IDP itu kek 47.0005 itu buat U.S Civilian Government dan 47.0006 buat U.S D.o.D (department of defence)…yup, ISIS dipake di U.S Goverment

  • System ID: ini mac-address atau ip address yang “dipaksain” masuk sini (nanti dibawah tak jelasin)
  • NSEL (NSAP Selector): klo ISIS dijalanin di Router valuenya harus 0 (00), value selain itu berarti bukan IS (Intermediate System/Router)

    NSEL dengan value 0 disebut NET (Network Entity Title), System ID dan NSEL ini disebut DSP (Domain Selector Part)

Ini diagram lebih detail-nya

Nah, bagaimana klo kita mau pake IP untuk dijadiin System ID…

Contoh: IP address 10.1.2.3

1st step: tambahin jadi tiga digit untuk tiap octet, contoh: 010.001.002.003

2nd step: geser titiknya supaya jadi 3 octet (IP address kan 4 octet), contoh: 0100.0100.2003

3rd step: pasang deh…49.0002.
0100.0100.2003.00

Pasangnya dimana? pasang di konfigurasi ISIS NET (router id-nya ISIS)

Jadi ISIS carry informasi NSAP dan ip route2 itu pake Layer 2

*For Futher Learning: kemampuan intelgensia L3 yang bisa pilih best route atau shortest path tetapi running under L2 protocol yang dipunyai ISIS inilah yang dipake untuk teknologi IEEE 802.1aq alias Shortest Path Bridging (SPB) berikut konco2-nya seperti TRILL (Transparent Interconnection of Lots of Links) dan Cisco FabricPath (by this article came up…Nexus Only), teknologi yang akan/sedang menggantikan STP (Spanning-Tree Protocol) dengan kelemahannya yang selalu nge-blok sebuah port untuk menghindari loop…which make that blocked link became Under-Utilized Link

=============================

ISIS PDU (Protocol Data Unit)

ISIS punya beberapa PDU (packet klo di OSPF)

Hello PDU:

  • ESH (End System Hello), dari end system ke IS, ga digunain di IP network
  • ISH (IS Hello), untuk discover IS
  • IIH (IS to IS Hello), untuk perform adjacency

Link State PDU/Packet (LSP): buat tuker2an LSDB, ini LSU (Link State Update) versi ISIS

Dalam LSP ini terdapat TLV (LSA-nya ISIS), hanya saja bedanya klo di OSPF LSA itu dibagi menjadi beberapa tipe (which is why OSPF can be customized into different area such as stub and nssa), sedangkan TLV alias LSA-nya ISIS ini hanya di extend (value-nya aja diganti/ditambah sesuai dengan kebutuhan)

Contoh kita mau nambahin kapabilitas untuk IPv6…tinggal tambahin value 141 (0x8d) dan 142 (0x8e), untuk ISIS dengan dual environment (pake TCP/IP) pake 131 (0x83)

Sequence Number PDU (SNP): buat singkronisasi database

Partial SNP (PSNP): untuk ACK dan kirim informasi database yang hilang

Complete SNP (CSNP): untuk mendeskripsikan database yang sudah komplit

=================================

Designated IS (DIS)

Masalah di ISIS sama dengan OSPF…begitu ketemu multi-access network, broadcast flood…

Klo di OSPF ada namanya DR/BDR…klo di IS ada namanya DIS…but no Backup DIS

Mekanismenya:

  • Hanya Router2 yang adjacency yang boleh ikutan pemilihan DIS
  • Highest Interface Priority (Cisco default for Level 1 and Level 2 is 64)
  • Klo sama, yang dipilih adalah SNPA (SubNetwork Point of Attachment) yang paling tinggi
    • LAN: SNPA à Mac-address
    • WAN (Frame-Relay): SNPA à DLCI

*btw…ISIS ga kenal konsep NBMA kek di Frame-Relay…so kita harus konfig pake point-to-point dengan sub-interface

Di OSPF ga ada mekanisme konfigurasi untuk mengganti DR/BDR secara otomatis, harus di shutdown dulu itu DR/BDR

Di ISIS ada mekanisme untuk langsung ganti DIS pada saat itu juga, namanya Preemptive

============================

Reference:

IS-IS overview @http://en.wikipedia.org/wiki/IS-IS

IS-IS Cisco White Paper @http://www.cisco.com/en/US/products/ps6599/products_white_paper09186a00800a3e6f.shtml#wp39303

CLNS and CLNP discussion @https://supportforums.cisco.com/discussion/10529716/skinny-clns-vs-clnp

CLNS and CLNP difference @http://www.nexthop.me/2014/05/16/clns-and-clnp-what-is-the-difference/ *note: di web ini, CLNS adanya di Layer 3 sedangkan di literature lain itu CLNS ada di Layer 2

RFC 1706 – NSAP @https://www.ietf.org/rfc/rfc1706.txt

ISIS Basic Configuration and NSAP Addressing @http://rekrowten.wordpress.com/2013/09/30/learn-is-is-basic-configuration-part-1/

ISIS Hello PDU @http://rekrowten.wordpress.com/2013/11/04/learn-is-is-hello-and-dead-interval-part-6/

Cisco ISIS TLV @http://www.cisco.com/c/en/us/support/docs/ip/integrated-intermediate-system-to-intermediate-system-is-is/5739-tlvs-5739.html

TLV Hostname @http://inetzeroblog.com/isis-training-and-junos-configuratio/

Complete list of ISIS TLV @http://www.iana.org/assignments/isis-tlv-codepoints/isis-tlv-codepoints.xhtml

Deploying Cisco Service Provider Network Routing – SPROUTE (642-882).pdf

Building Scalable Cisco Networks (Cisco Press) ebook (buku CCNP yang lama – BSCI)

Cisco ISE (Identity Service Engine) Overview

2 Comments

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)
  • IdentityBased 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