Home

Configuring IKEv2 Site-to-Site VPN with IOS 15 and ASAv

Leave a comment

What we are going to learn

  • The theory of IKEv2
  • How to configure IKEv2 site-to-site VPN with Cisco Router (IOS v15 mandatory)
  • How to configure IKEv2 site-to-site VPN with Cisco ASAv
  • Hopefully, how to develop it using Juniper Junos and with vSRX (part 2, coming soon)

Requirement:

  • GNS3
  • IOS 15 (search: C7200-ADVIPSERVICESK9-M Version 15.2(4), google it yourself)
  • ASAv .vmdk (same, look it up yourself)
  • WinXP VM .vmdk (same, but you can use your loopback interface if you wish)

Prerequisite for learning:

  • VPN knowledge
  • ASA basic configuration

———————

The Idea

Design

IKEv2 Router-ASAv.png

—————————

What is IKEv2? Even more…what is IKE itself??

Ada baiknya baca kriptografi fundamental dulu…but if you want to skip, I’ll explain it to you briefly

Before IKE, there was ISAKMP (Internet Security Association and Key Management Protocol)…sebuah protocol yang berisi framework bagaimana cara mengatur SA (security Association) dan metode2 kriptografi di jaringan

Apa itu SA? Parameter2 seperti hashing, enkripsi, authentikasi, dsb yang harus dipenuhi dan disepakati oleh kedua belah pihak (peer) untuk bikin VPN

Nah, protocol ISAKMP itu hanya untuk securing “channel”nya (jaringannya saja, phase 1), dengan IKE kita bisa securing traffic-nya juga (with IPsec, phase 2)

So, ISAKMP is a part of IKE, and IKEv2 add more robustness to Key Exchange mechanism…one of them is by supporting EAP (Extensible Authentication Protocol) by default, itu loh yang digunain ama 802.1x alias EAP over LAN alias EAPOL, yang pake AAA Server itu

Sebenernya banyak lagi keunggulan IKEv2, hanya saja gw sendiri ga terlalu dig deeper, perbedaan lebih banyak bisa dilihat disini

And last…IKEv1 dan IKEv2 not compatible with each other…

Eh…IKEv1 config-nya yang kek mana? Ya itu…yang site-to-site VPN biasa…itu IKEv1 (yang securing DMVPN gw waktu itu pun termasuk IKEv1)

——————————-

The Configuration

IKEv2 ada beberapa step…

  • Bikin domain sama rubah default hostname
  • Bikin ACL, bikin list IP-IP mana aja yang bisa VPN (important note ada dibawah)
  • Bikin Proposal, ini kek ISAKMP-nya IKEv2
  • Bikin Policy, kita bikin policy yang dimana policy itu ada proposal-nya
  • Bikin Keyring (gantungan kunci?!?)
  • Bikin Transform-set, settingan IPsec-nya
  • Bikin Mapping, join all pieces above together
  • Mapping itu IKEv2 ke interface, ke outside/peer tentunya

On Cisco Router (mau bikin site2site VPN antar router juga bisa pake contoh ini)

Pertama2, ganti hostname dan domain dulu…

The truth is, gw juga ga tau apa hubungannya domain & hostname dengan IKEv2 (di GNS3 dengan IOS yang gw punya…entah kenapa klo ga pake 2 command ini, ga jalan IKEv2-nya)

Next, the Access-list

ACL IKEv2

Important: jangan bikin “permit ip ANY ANY“…kadang suka ga jalan (I learned it the hard way *Sad*), biasain spesifik bikinnya

The Third one is, The Proposal

Biasa…nego2 dulu sama peer sebelah…gw maunya pake enkripsi ini, pake hashing anu…harus sama satu sama lain

encryption: bikin data ga bisa dibaca

integrity: bikin data ga bisa dirubah

group:…ini diffie-hellman algorithm…untuk secure key exchange, angka 5 dan 2 itu tingkat kesulitan algorithmanya (dont ask me the detail, i dont know either lol)

The Fourth One is, Policy

Ibarat kata, klo mau pake IKEv2…harus ada policy (dimana policy-nya pake proposal yang kita buat tadi)

And the Fifth one is, define Keyring

Konsepnya memang gantungan kunci…kunci A buat pintu A, kunci B buat pintu B, dimana Peer = Kunci (Peer Branch = Kunci ke Branch), semuanya dikumpulkan di…gantungan kunci wkwkwk

And the Sixth one is, Transform-set

transform-set IKEv2

Transform ini untuk IPsec yang mau kita gunakan apakah mau pake encapsulating security payload (esp) yang mana…disini gw pake aes untuk authentikasi dan pake sha512-hmac buat hashing key-nya

Next, the Seventh one, Profile

Kita bikin profile, klo mau ke peer pake authentikasi model apa (match address local sama identity remote address), disini gw pake pre-shared-key

And the eighth one, joining all pieces togetherMapping

And last, taro itu crypto map di interface OUTSIDE alias yang ke WAN alias yang kearah Peer VPN kita

On ASA

Untuk ASA sebenernya ada Site-to-Site VPN Wizards-nya, but im not gonna do that way (menyusahkan diri sendiri sih)…in case of some troubleshooting…

(Disclaimer: entah kenapa kadang IKEv2 nya ga jalan…gw konfig IKEv1 dulu trus bikin IKEv2 baru tuh traffic jalan, termasuk di Router-nya juga, kek ga mau “ngangkat” gitu VPN-nya…pas IKEv2 udah jalan, gw apus yg IKEv1 masih normal2 aja, let me know why that happen)

Step2-nya adalah

  • Bikin Object group dulu (contoh: INSIDE-NET Object buat network 10.2.1.0-nya kita)
  • Bikin ACL, biar INSIDE object (yg isinya network 10.2.1.0) bisa ke OUTSIDE (bikin juga object ini, ke 10.1.1.0)
  • Routing nya jgn lupa (biar bisa ping lah -_- )
  • Bikin IKEv2 Policy dan Proposal
  • Pastikan koneksi IKEv2 dari luar di enable
  • Bikin group policy sama tunnel group
  • Dan bikin crypto-map nya

On Firewall Menu Configuration (Object network & access-list)

On Configuration (next to Home icon) > Firewall > Objects > Network Objects/Groups > add

Trus ke Firewall > Advanced > ACL Manager > add

ACL Manager

Versi CLI-nya (I know some of you are “CLI-freak” hahaha)

trus ke Device Setup menu untuk setting Routing-nya

masuk ke Device Setup > Routing > Static Routes > add

Versi CLI-nya:”route outside 10.1.1.0 255.255.255.0 1.1.1.1” (pendek ya, daripada klak klik ga jelas, that’s why I know some people prefer the “old fashioned way”)

Trus bikin Policies-nya di Site-to-Site VPN menu

Site-to-Site VPN > Advanced > IKE Policies > add (IKEv2 policies)

Versi CLI:

Jgn lupa di centang “Allow IKEv2 Access” (klo pake cli:”crypto ikev2 enable outside“, gambar dibawah ini)

Next, the proposal…Site-to-Site VPN > Advanced > IPsec Proposals > add (IKE v2 IPsec Proposals)

Versi CLI:

Trus configure group policy-nya…klo mau konek ke peer 1.1.1.1 pake tunnel apa (ikev1/ikev2)

Site-to-Site VPN > Group Policies > add

The CLI way:

Trus configure tunnel-group-nya on Site-to-Site VPN > Advanced > Tunnel Groups > add

The CLI way:

Last, define crypto map, Site-to-Site VPN > Advanced > Crypto Maps > add

crypto-map

The CLI way:

————————————————————————–

Verification

On Router, we can type “show crypto session

Alrite, IKEv2 is UP and ACTIVE

On ASA…masuk ke Monitoring > VPN > VPN Connection Graphs > IPsec Tunnels (atau sessions juga bisa)

screenshot pingnya lupa gw pasang, nanti klo ada waktu gw tambahin

——————————————-

References:

http://www.omnisecu.com/ccna-security/how-to-configure-site-to-site-ikev2-ipsec-vpn-using-pre-shared-key-authentication.php

https://www.fir3net.com/Firewalls/Cisco/cisco-how-to-configure-an-ikev2-site-to-site-vpn.html

http://rockhoppervpn.sourceforge.net/techdoc_ikev1vsikev2.html

Keith Barker SIMOS cbtnuggets video

Network Monitoring Configuration

1 Comment

One big update of Cisco CCNA RS from previous CCNA is addition of Network Monitoring Configuration (yang mana selalu lupa gw catet di blog)

What I want to share are:

  • SNMP
  • Syslog
  • NetFlow

Tools we used for this article are:

  • GNS3 with Cisco IOS Image
  • Our Host PC with Loopback Connection
  • VMWare with Win2008Server
  • Kiwi Syslog Server from Solarwind
  • PRTG Network Monitor from Paessler

(untuk 2 terbawah…terserah…bebas software nya mau pake apa)

——————————————————————

The Design

Di GNS3 ada icon “Cloud”…taro ke halaman kerja GNS3….trus configure untuk ditambahin interface loopback

Klo ga ada interface loopback…ya di add/tambahin dulu (pake interface fisik bisa sih)

Untuk nambahin interface loopback di PC kita (link)

Pastikan itu PC dan VMWare bisa ping satu sama lain via Router (setting itu VM Win2008Server pake VMNet Interface)

————————————————————————

First…SNMP

Untuk teori silahkan liat disini

Konfigurasinya cukup straight forward….

Kasi tau SNMP yg di generate mau dikasi kemana (192.168.1.2) pake community namanya SNMP-COMMU

Trus enable itu SNMP-nya dengan keyword enable traps (kita bisa spesifik mau enable trap bgp, enable trap eigrp, dll…klo ga spesifik berarti SEMUA TRAP DIAKTIFKAN)

Trus kita bisa generate additional information kek location information sama contact information-nya

Trus baca SNMP ini gimana? Contoh gw pake Paessler PRTG NetMon

Download aja…googling

Klik tab Device, masuk ke Setting

…edit itu Credentials SNMP nya (soalnya kita pake custom…default-nya “public”)

Trus masuk ke Device lagi…cari router kita (di Root>Local Probe>Network Discovery>Network Infrastructure>Gateway:192.168.1.1), trus klik aja

Nah, di PRTG kita harus aktifkan SNMP Sensor-nya…klik aja Recommend Now…nanti dicari apa aja yang bisa dimonitor/informasi2 apa saja yang bisa diambil dari router kita tersebut oleh PRTG, aga nunggu…kira2 1 menitan lah

PRTG Sensor

Nah, diatas ada recommended sensors-nya…add semua nya aja

Trus tunggu sekitar 4-5 menitan (refreshnya setiap 60 detik sekali, bisa diatur kok interval refresh statusnya), dan bisa kita cek dibawah….informasi2 yang PRTG dapet dari router kita, dari PING, CPU Load, sampe System Uptime-nya

PRTG Sensor Add

Oh iya…diatas kita pake default SNMP (v2), klo mau pake v3…edit PRTG-nya dan Router-nya juga edit seperti dibawah

—————————————————————–

Syslog

Syslog adalah system logging…log alias catetan2 aktifitas yang kita lakukan

Contoh ketika kita buat interface baru, interface loopback misalnya…

See that LINEPROTO-5-UPDOWN…that is called log, informasi2 log inilah yang kita perlukan untuk monitoring aktifitas di jaringan kita, terutama dialat yang kita monitor

Ada beberapa level tingkatan yang kita perlu tau (gw sendiri ga hapal2 ini)

Nah, angka 5 berarti normal…aman

Apa aja sih yang bisa kita setting dari loggingnya Cisco ini

Penjelasan:

  • Logging count= Event2 yang terjadi akan dicatat tanggal kejadian perkaranya *uda kek detektif aja*
  • Logging userinfo= User2 yang masuk ke system juga akan dicatet
  • Logging buffered [size] [severity]= kita bisa nyuruh device Cisco kek router ini untuk nyimpen log-nya sendiri di RAM-nya, settingnya size-nya jangan besar2, biar ga berat (klo uda oversize, akan di ganti baru, log yang lama ilang), dan yang akan dilihat hanya dari level 5 kebawah aja, notif sampe emergency (contoh digambar atas)
  • Logging monitor [severity] = menampilkan log dari telnet hanya dari level notif sampe emergency (contoh digambar atas), but….lu harus aktifkan dulu log di telnet-nya (biasanya klo telnet/ssh ga ada log-nya kek di console…untuk bisa telnet “rasa” console…lu harus ketik ini pas lagi telnet:

  • Logging origin-id: kita setting klo ini device ngasih log pake nama apa (bisa IP, bisa hostname, ataupun custom/string)
  • Logging source-interface: log2 nya ini dapetnya dari interface mana….
  • Logging [ip]: set syslog server tempat kita mau kirim log2 kita (masa iya ditaro di RAM terus)
  • ***logging 192.168.1.1 = logging host 192.168.1.1, redundant config style nih Cisco…

Bahasa keren dari syslog file ini di istilah IT Security adalah FORENSIC

Nah, sekarang mari kita set Kiwi Syslog-nya

Jalanin setup-nya…di File>Setup, trus kasi IP Router kita ke kiwi syslog, trus save

Oh iya…pastikan service nya jalan (windows: services.msc)

Nyok di tes…gw telnet dari cmd Windows

Kita lihat…message-nya…dari “Cisco Router” gara2 logging origin-id yang kita set tadi

Sekarang kita liat dari CLI-nya Cisco “show logging count

Dan dari show logging-nya

show log

——————————————————–

NetFlow

NetFlow adalah salah satu teknologi Cisco yang mengutilisasikan SNMP (remember…setting SNMP dulu yg bener baru bisa connect dari NetFlow Router ke Collector/PC alias Server)

But they pushed far beyond, NetFlow ini ngeliat per-packet flow(IP Based)

Configurasinya juga cukup simple…enable monitoring traffic yang masuk pake ingress dan enable monitoring traffic yang mau keluar pake egress di interface yang mau di monitor

Oh iya…Cisco NetFlow pake port 9996 (hafalan mati nih…) sama specify NetFlow version-nya…default-nya sih uda pake versi 9

Nyok kita tes…gw ping ke server dan akses web-nya

(btw…ip nya pake 10.1.1.3 bukan 10.1.1.2 gw lupa wkwkwk)

Windows Server 2008-nya gw aktifin Web Server…untuk cek-nya ya tinggal ketik IP-nya di browser

sekarang kita jalanin PRTG, add sensor lagi…pake Technology Used>NetFlow,sFlow,jFlow, trus pilih NetFlow v9 (bukan yang custom)

add sensor netflow

Trus isi de port-nya, siapa pengirim IP-nya (IP Router) dan siapa penerimanya (IP PC kita), refresh (timeout)nya juga diisi

Nah, klo uda…tunggu 1 menit…voila…

(ga banyak yg bisa diliat….koneksinya Cuma 1 sih T_T )

sensor netflow

—————————-

Can we do it in Packet Tracer?!?

Yes hahaha, although theres limited functionality…but yes we can

———————————————————–

References:

https://kb.paessler.com/en/topic/6263-how-to-use-a-custom-community-name-for-snmp

https://supportforums.cisco.com/document/24661/how-configure-logging-cisco-ios

http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/esm/command/esm-cr-book/esm-cr-a1.html

http://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/ios-netflow/prod_white_paper0900aecd80406232.html

Older Entries Newer Entries