Home

Securing DMVPN

Leave a comment

Sebenernya article ini tentang IPSec Site2Site VPN, Cuma karena IPSec ini bisa dipasang ke DMVPN…so let try to secure this VPN using it

Pre-requisite

  • DMVPN (config can be found here)
  • Cryptography Fundamental (link can be found here)

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

The topology is still the same

Lets show initial DMVPN in the R2 perspective

Only 1 Peer of NBMA Address (which is R1_Hub)…after ping to R3 there goes 35.0.0.3 which is NMBA Addres of R3

Default framework untuk security VPN kita bisa cek dengan cara show crypto isakmp policy

Nah kita bisa liat default yang dikasi klo kita mau VPN-an (klo kita mau config, default-nya ini), nanti ini bakal kita rubah2…

Btw…isakmp itu apa? (Internet Security Association and Key Management Protocol) A framework for negotiation and management of security association between peers

Framework? Jadi klo lo mau masang LCD TV…tentu harus dengan kabel yang sesuai, masang antenna juga harus sesuai, remote-TV nya juga harus sesuai…klo ga, ya jadi ga bisa nonton kan? (Encryption nya harus sesuai, protocol authentication nya harus sesuai, key-password nya harus sesuai), negosiasi antar 2 node sebelum bisa kirim2an data itulah disebut ISAKMP framework

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

IPSec VPN Site2Site Phases

Untuk bisa konfigurasi IPSec, kita harus melewati (baca: konfig) 2 tahap dulu

Tahap pertama: IKE Phase (Internet Key Exchange Phase), tahap bikin key sama tuker2 key-nya

Tahap kedua: IPSec Phase, ini packet mau di enkripsi “dalemnya” aja atau semuanya

ISAKMP Phase 1


Penjelasan:

  • Crypto isakmp policy [nomor]: kita bikin IKE-nya dengan nomor 10 (semakin kebawah alias <10 artinya semakin bagus/priority)
  • Hash [protocol]: Mau pake hashing tipe apa? MD5 (less secure) atau SHA (more secure but little slow)
  • Authentication [mode]: metode authentikasi-nya mau pake PSK (Pre-shared key), RSA-Encr (RSA Encryption), atau mau pake Digital Certificate (RSA-Sig)
  • Group [nomor]: Tuker2an key-nya mau pake metode apa? Diffie-Hellman 1 (DH-1), atau DH-2, DH-5, dan seterusnya (banyak soalnya)
  • Lifetime [second]: key yang kita exchange itu validitasnya berapa lama (86400 itu 1 hari, default)
  • Encryption [mode] [bit]: data kita mau di enkripsi pake apa? DES, 3DES, atau AES (dan variannya banyak)
  • Crypto isakmp key [STRING] address [ip address]: nah ini key yang kita bikin (end-to-end harus sama yaks) trus ip mana yang boleh join VPN (0.0.0.0 itu semuanya boleh join VPN ke router ini, not secure, tapi gpp…ini cuma contoh hahaha)

Note: ada kalanya kita harus pake RSA-sig karena ketergantungan dengan address-nya itu (ganti IP, rubah lagi konfig-nya, repot)

Atau pake crypto isakmp key [STRING] hostname [HOSTNAME] untuk resolve via DNS address-nya

ISAKMP Phase 2


Penjelasan:

  • Crypto ipsec transform-set [STRING] [ESP type] [bit] [HMAC type]: kita mau bikin IPSec dengan nama [STRING] dimana ESP (encapsulating security payload) nya pake, besarnya berapa (128, 192, 256, etc.), dan HMAC (hashing message authentication code) mau pake apa
  • Mode [tipe]: ada 2 tipe mode untuk IPSec
    • Tunnel mode: semua isi berikut header2 IP-nya di enkripsi

    • Transport mode: data payload-nya aja di enkripsi, header IP-nya masih kebacaipsec-modes-transport-tunnel-3
  • Trus kita bikin IPSec profile (jadi tiap VPN ke beberapa company bisa kita bedain profile-nya) dengan cara crypto ipsec profile [nama profile]
  • Trus masukin framework IPSec (yang transform-set itu) ke sini dengan cara set transform-set [STRING]


Daaaann….jgn lupa itu profile dimasukin ke tunnel nya (metode nya mirip kek kita bikin ACL, masukin ke interface itu ACL)


Nanti ada pemberitahuan kek diatas…kenapa?? Karena R2 dan teman2nya belum dikasi ginian juga….

Caranya?? Ya bikin aja sama kek R1…

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

Verifikasi



Sekarang kita liat via Wireshark…

GRE Biasa…


GRE with IPSec


Reference

Protected DMVPN vide by Keith Barker #6783

http://www.firewall.cx/networking-topics/protocols/870-ipsec-modes.html

http://packetlife.net/media/library/6/IPsec.pdf

IPv6 Anycast

1 Comment

According to Cisco: “An anycast address is an address that is assigned to a set of interfaces that typically belong to different nodes. A packet sent to an anycast address is delivered to the closest interface (as defined by the routing protocols in use) identified by the anycast address. Anycast addresses are syntactically indistinguishable from unicast addresses, because anycast addresses are allocated from the unicast address space. Assigning a unicast address to more than one interface makes a unicast address an anycast address. Nodes to which the anycast address is assigned must be explicitly configured to recognize that the address is an anycast address.

According to Wikipedia: “Anycast is a network addressing and routing methodology in which datagrams from a single sender are routed to the topologically nearest node in a group of potential receivers, though it may be sent to several nodes, all identified by the same destination address.

According to Me: “metode pengalamatan jaringan (network addressing) dan routing jaringan dimana setiap akses pengguna akan di routing menuju titik (node) terdekat dari kumpulan beberapa node yang aktif (one-to-one-of-many).

Melemparkan akses ke node yang paling dekat…

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

Well, berawal dari keingintahuan tentang mengapa IPv6 meninggalkan broadcast dan menggantinya menjadi Anycast, I made this article…hope its helps

Pengganti dari broadcast adalah Multicast dan Anycast, why broadcast disappear in IPv6?? Because not bandwidth friendly and not processor friendly (link)

Multicast…you guys already knows this…

But anycast?…let me give you an example

Klo kita mau internetan…pasti pake DNS (siapa yang mau ngapalin IP address 112.215.88.25 atau 173.252.120.6?!?!)

Apa lagi pake IPv6…mau lu ngapain ip 2a03:2880:2130:cf05:face:b00c:0:1 hanya untuk ke facebook aja?

Untuk itu ada DNSv6 untuk IPv6, nah…Anycast di IPv6 bisa bikin 2 Server DNS punya IPv6 address yang sama persis

Dari arah Router R1…traffic ke DNS akan diarahkan ke SERVER_DNS1, sedangkan dari R3 akan diarahkan ke SERVER_DNS2

Jadi klo interface fa0/0 di R1 yang kearah DNS1 mati…otomatis traffic DNS dari R1 akan diarahkan ke SERVER_DNS2 yang ada di R3

———————————

Anycast Configuration

First…lets do some routing, we use OSPFv3 for all connection

In R1 and R3

The requirement for Anycast is:

  • Pake IPv6 IP Address network (1234::/64) for interface (jgn HOST address kek 1234::1234/64)
  • Defaultnya klo kita pake network address…akan dianggap anycast juga
  • Kenapa dipake juga keyword anycast…untuk bilang ke router secara spesifik address mana yang jadi Anycast

DNS1 and DNS2 you can config on your own like this

See…same IPv6 for those 2 DNS

———————————

Lets verify

Dari R1…kita cek ping dan trace ke 1234::1234

Lets bring Fa0/0 on R1 down

Dan R1 masih bisa ping ke 1234::1234 (lemparnya ke DNS2) in case klo fa0/0 yang ke arah DNS1 down

This is the definition of anycast

Trus kok bisa R1 nganterinnya ke DNS1, ga ke DNS2, anggeplah Fa0/0 nya ga mati?

Remember kids…Anycast is one to NEAREST…what nearest in this term is…metrics of course (OSPF cost in this case)

And that’s folks…the configuration of Anycast

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

Reference:

Cbt Nugget IPv6 Video from Keith Barker #6783

http://www.e-tutes.com/lesson5/networking_fundamentals_lesson5_2.htm1

Older Entries Newer Entries