Mengamankan Akses Virtual Terminal Router Cisco

Terdapat beberapa cara untuk mengamankan Router Cisco  dari tangan jahil orang -  orang yang tidak berhak. Umumnya untuk mengakses Router Cisco dapat dilakukan dengan dua cara, akses secara fisik, menggunakan kabel console dan akses remote menggunakan telnet atau ssh (disarankan).
Pada kali ini kita akan belajar cara mengamankan router menggunakan access contol list. ACL yang digunakan adalah Standard ACL. Bisa juga menggunakan Extended ACL, tetapi tidak akan efisien, karena kita akan mengkonfigurasikan setiap interface router hanya untuk mem-blok telnet, disamping itu ruoter akan bekerja berat memproses setiap paket data. Bayangkan jika kita bertanggung jawab untuk selusin router atau bahkan ratusan. Solusi yang lebih baik, gunakan saja Standard ACL, yang hanya menggunakan source IP Address sebagi filter-nya. Jadi kita hanya mengontrol darimana asal user (source IP address).
Ok topologi yang akan digunakan seperti dibawah ini, 
Skenario: 
- Semua router menggunakan statik routing untuk saling terhubung.
- Hanya linux host yang dapat mengakses virtual terminal Router R3 menggunakan telnet.
- Gunakan enable secret router3 dan password test  

Konfigurasi Router R3

R3# configure terminal
R3(config)# enable secret router3
R3(config)# access-list 50 remark === Telnet ===
R3(config)# access-list permit 192.168.1.2 0.0.0.0
R3(config)# line vty 0 4
R3(config-line)# access-class 50 in
R3(config-line)# password test
R3(config-line)# login
R3(config-line)# end

Kita coba akses Router R3 dari Router R2
telnet dari Router Cisco R2
telnet dari Router Cisco R2
Kita coba akses Router R3 dari host Linux_host
telnet dari Linux_host
telnet dari Linux_host

Dari demontrasi diatas, dapat kita lihat bahwa Standard ACL efektif untuk mengontrol siapa saja yang boleh mengakses router cisco, disamping itu juga menambah keamanan untuk router cisco. Satu hal lagi, sedapat mungkin gunakan ssh, karena telnet akan mengirimkan password dalam plaintext, yang artinya seseorang dengan kemampuan lebih dapat melihat trafik dari linux_host menggunakan packet analyzer -wireshark- untuk melihat password. 

Lab Standard Access Control List

Setelah membaca teori tentang Standard Access Control List, dan Extended Access Control List, kita akan belajar bagaimana membuat rule - rule yang efektif dan efisien, mengkonfigurasi router, menerapkan ACL pada interface dan melihat hasil dari ACL yang kita buat. 
Secara garis besar, langkah - langkah untuk membuat Access Control List adalah sebagai berikut:

1. Tetapkan tipe Access List mana yang akan digunakan dengan pedoman bahwa Standard ACL sebaiknya ditempatkan sedekat mungkin dengan destination, dan Extended ACL ditempatkan sedekat mungkin dengan source. Tujuannya adalah untuk menghemat resource router.
2. Buat rule -rule dengan perintah "ip access-list" dan terapkan pada interface dengan perintah "ip access-group". Buatlah sependek mungkin, seefektif mungkin dan seefisien mungkin. Tujuannya sama menghemat resource router dan meringankan beban router. Ingat satu rule per protokol, per direction dan per interface. 
Ok, topologi yang akan digunakan  seperti dibawah ini,

Topologi Lab Access Control List
topologi jaringan


Skenario:
Router R1 terhubung dengan dua isp, dengan IP Address ISP1 adalah 1.1.1.0 /30 dan IP Address ISP 2 adalah 2.2.2.0/30. LAN Sales terhubung pada Router R2, dan LAN Manager terhubung melalui Router R3. Sebagai administrator jaringan kita diberi tugas untuk mengijinkan hanya LAN Manager yang boleh mengakses Internet melalui isp 1 sedangkan LAN Sales hanya boleh mengakses internet melalui ISP 2. Bagaimana tugas  ini dapat dilaksanakan ?

Konfigurasi Router

Disini kita akan menggunakan routing protocol RIP versi 2. Mari kita buat interface loopback yang mewakili ISP pada Router R1 dan kemudian konfigurasi interface serial sehingga semua router saling terkoneksi. 

Router R1
R1# configure terminal
R1(config)# interface fa0/0

R1(config-if)# description R1 --> ISP1
R1(config-if)# ip address 1.1.1.2 255.255.255.252

R1(config-if)# no shutdown
R1(config-if)# interface fa2/0

R1(config-if)# description R1 --> ISP2
R1(config-if)# ip address 2.2.2.2 255.255.255.252

R1(config-if)# no shutdown
R1(config-if)# interface serial 1/0

R1(config-if)# ip address 192.168.254.1 255.255.255.252
R1(config-if)# description R1 --> R2
R1(config-if)# no shutdown
R1(config-if)# interface serial 1/1
R1(config-if)# ip address 192.168.254.5 255.255.255.252
R1(config-if)# description R1 --> R3
R1(config-if)# no shutdown
R1(config-if)# end

Router R2
R2# configure terminal
R2(config)# interface serial 1/0
R2(config-if)# description R2 --> R1
R2(config-if)# ip address 192.168.254.2 255.255.255.252
R2(config-if)# no shutdown
R2(config-if)# interface serial 1/1
R2(config-if)# description R2 --> R3
R2(config-if)# ip address 192.168.254.9 255.255.255.252
R2(config-if)# no shutdown

R2(config-if)# interface fa0/0
R2(config-if)# ip address 192.168.1.1 255.255.255.0
R2(config-if)# description R2 --> LAN Sales
R2(config-if)# no shutdown
R2(config-if)# end



Router R3
R3# configure terminal
R3(config)# interface serial 1/0
R3(config-if)# description R3 --> R1
R3(config-if)# ip address 192.168.254.6 255.255.255.252
R3(config-if)# no shutdown
R3(config-if)# interface serial 1/1
R3(config-if)# description R3 --> R2
R3(config-if)# ip address 192.168.254.10 255.255.255.252
R3(config-if)# no shutdown

R3(config-if)# interface fa0/0
R3(config-if)# description R3 --> LAN Manager
R3)config-if)# ip address 172.16.1.1 255.255.255.0 
R3(config-if)#end

Tes koneksi antar Router 
result of ping test

Konfigurasi RIP Versi 2

saatnya kembali ke basic. Sebelum kita membuat acl, kita pastikan RIP berjalan dan saling bertukar informasi update.

R1# configure terminal
R1(config)# router rip
R1(config-router)# no auto-summary
R1(config-router)# version 2
R1(config-router)# network 1.1.1.0
R1(config-router)# network 2.2.2.0
R1(config-router)# network 192.168.254.0
R1(config-router)end

R2# configure terminal
R2(config)# router rip
R2(config-router)# no auto-summary
R2(config-router)# version 2  
R2(config-router)# network 192.168.254.0
R2(config-router)# network 192.168.1.0
R2(config-router)# end

R3# configure terminal
R3(config)# router rip
R3(config-router)# no auto-summary
R3(config-router)# version 2  
R3(config-router)# network 172.16.1.0
R3(config-router)# network 192.168.254.0
R3(config-router)# end



Verifikasi RIP

Verifikasi RIP Router Cisco R1

Verifikasi RIP Router cisco R2

Verifikasi RIP Router Cisco R3

Konfigusari DHCP

Untuk memudahkan hidup kita, pada Router R2 dan R3 menggunakan DHCP, cara konfigurasi DHCP pada router cisco dapat dilihat disini
dhcp client pada host

Konfigurasi ACL 

Ok, setelah routing RIP berjalan dan saling bertukar paket update, kita akan membuat rule - rule ACL yang seefektif dan efisien mungkin. Pada topologi diatas, kita mengijinkan LAN Sales untuk mengakses ISP 2 (network 2.2.2.0/24), dan Lan Manager hanya boleh mengakses ISP 1 (network 1.1.1.0 /24). 

LAN Sales dapat mencapai ISP 2 melalui 2 rute. Rute 1 dari R2 --> R1 dan rute 2 dari R2 --> R3 --> R1. Begitu pula LAN Manager. Jika ACL Diterapkan pada inbound interface Fast Ethernet 0/0 Router R2, paket dari LAN Sales tidak akan pernah keluar dari Router R2, sehingga tempat terbaik untuk membuat acl adalah di Router R1, pada outbound interface fast ethertnet 0/0  untuk memblok traffik dari LAN Sales, dan pada outbound interface fast ethernet 2/0 untuk memblok traffic dari LAN Manager.

Alasan lain adalah kemungkinan adanya lubang sekuriti, yang mungkin terjadi jika link antara router down. Paket yang melalui rute yang baru  -jika salah satu link down- mungkin saja tidak melalui pemeriksaan acl.


OK kita konfigurasi acl untuk memblok Lan Sales dan menerapkan pada interface Fast Ethernet 0/0 Router R1,
R1# configure terminal
R1(config)# access-list 1 remark == Blok Lan Sales ==
R1(config)# access-list 1 deny 192.168.1.0 0.0.0.255
R1(config)# access-list 1 permit any
R1(config)# interface fa0/0
R1(config-if)# ip access-group 1 out 
R1(config-If)# end
R1(config)#

Untuk mem-blok Lan Manager,
R1# configure terminal
R1(config)# access-list 2 remark == Blok Lan Manager ==
R1(config)# access-list 2 deny 172.16.1.0 0.0.0.255
R1(config)# access-list 2 permit any
R1(config)# interface fa2/0
R1(config-if)# ip access-group 2 out
R2(config-if)# end

cek interface fast ethernet 0/0


cek interface fast ethernet 2/0

Kita coba untuk ping ISP 1 dari router R2, dan ping ISP 2 dari Router R3,
Hasil ping dari router R2
ping dari Router R2
 
Hasil ping dari router R2
ping dari Router R2
Gunakan perintah "show access-list " pada Router R1 untuk melihat hasil dari acl yang kita buat.
show access-list

Jawaban Soal tentang ACL

Seperti yang sudah dijanjikan pada artikel ini, berikut adalah jawaban pertanyaan - pertanyaan tentang Access Control List

1. Ada 3 (tiga) solusi untuk masalah ini : 
access-list 3 permit host 192.168.2.10 
access-list 2 permit 192.168.2.10 0.0.0.0 
access-list 4 permit 192.168.2.10

Semua access list diatas akan memberikan hasil yang sama, INGAT, terdapat statement "deny all" disetiap akhir access list yang tidak terlihat, dan nomor Standard Access List  antara 1 - 99 dan 1300 - 1999. 


2. access-list 5 deny host 170.192.25.251
    access-list 5 permit any

3. Karena IP Address 196.168.2.10 /24 mempunyai 254 host, kita akan menggunakan widlcard mask agar lebih mudah.
access-list 10 permit 192.168.2.0 0.0.0.255

4. interface  fastethernet0/0
    ip access-group 13 in
    access-list 13 deny host 151.25.5.28
    access-list 13 deny 101.65.2.33 0.0.0.0
    access-list 13 permit any 

5. Access list 25 diterapkan pada interface  fa0/1 dengan arah inbound (in), sehingga semua traffic IP dari host 111.23.4.1 akan di ijinkan. Sedangkan traffic dari network 202.45.0.0/24 akan di-drop, dan semua traffic dari IP Address lainnya akan diijinkan.

6. interface serial1/1
    ip access-group 15 out 
   
    access-list 15 permit host 151.25.5.28
    access-list 15 permit host 101.65.2.33
    
7. interface fastethernet1/0
    ip access-group 101 in

    interface serial1/1
    ip access-group 101 out

    access-list 101 deny tcp any host 48.55.50.24 eq www
    access-list 101 permit tcp any any eq www

8. ACL ini akan menolak traffic yang berasal dari 102.202.1.25 untuk keluar melalui interface serial 0/1, dan mengijinkan semua IP Address yang lain keluar melalui interface serial 0/1.

9. misal kan access list diterapkan pada interface serial 1/1, konfigurasinya adalah 
interface serial1/1
ip access-group 102 in

access-list 102 permit udp any 0.0.0.0 255.255.255.254 eq tftp
access-list 102 permit tcp any 0.0.0.0 255.255.255.254 eq telnet

10. access-list 10 permit 202.25.43.0 0.0.0.255
     access-list 10 deny 172.16.0.0 0.0.255.255

11. Konfigurasi ini akan menolak traffic telnet yang masuk dari 202.150.23.5 menuju ke 102.202.1.25 melalui interface serial1/0, menolak akses tftp dan mengijinkan semua IP traffic.

Soal dan Jawaban: Access Control List

Berikut ini latihan soal dan jawaban untuk membantu kita lebih memahami ACL. Untuk dasar teori dan penjelasan tentang Standard ACL dapat dilihat disini, sedangkan untuk extended ACL lihat disini

1. Buat aturan acl yang mengijinkan (permit) traffic dari host 192.168.2.10, tetapi menolak (deny) semua ip traffik dari host yang lain.

2. Design acl yang deny traffic dari 170.192.25.251, tapi membolehkan dari ip yang lain

3. Buat aturan acl yang membolehkan traffic dari host 196.168.2.10 /24 , tetapi mem-blok semua ip traffik dari host yang lain.

4. Design-lah ACL yang menolak traffic dari host 151.25.5.28 dan 101.65.2.33, mengijinkan dari IP Address yang lain. Terapkan pada inbound interface fa0/0.

5. Berikut statement acl sebuah router
interface fastethernet0/1
ip access-group 25 in

access-list 25 permit host 111.23.4.1
access-list 25 deny 202.45.0.0 0.0.0.255
access-list 25 permit any

Apa hasil dari statement acl diatas ?

6. Design-lah ACL yang mengijinkan traffic dari host 151.25.5.28 dan 101.65.2.33, menolak dari ip yang lain. Terapkan pada outbound interface serial 1/1.

7. Buatlah ACL yang menolak traffic HTTP yang menuju webserver ip 48.55.50.24, mengijinkan traffic HTTP ke webserver lain dan menolak traffic IP yang lainnya. Terapkan ACL tersebut pada inbound interface fast ethernet 1/0 dan outbound serial  1/1.

8. Berikut statement acl sebuah router 
interface serial0/1
ip access-group 150 out

access-list 150 deny host 102.202.1.25
access-list 150 permit 203.45.1.0 0.0.0.255
access-list 150 permit any

Apa hasil dari statement acl diatas ?


9. Buat ACL yang mengijinkan hanya host yang mempunyai akhiran IP Address genap dapat mengakses tftp server, menolak telnet traffic untuk host yang berakhiran IP Address ganjil.

10. Buatlah ACL yang mengijinkan semua traffic dari host pada subnet 202.25.43.0/24, menolak semua traffic yang menuju 172.16.0.0/16

11.  Berikut statement acl sebuah router 
interface serial1/0
ip access-group 150 in

access-list 150 deny tcp 202.150.25.3 0.0.0.0 host 102.202.1.25 eq 23
access-list 150 deny udp any any eq tftp 
access-list 150 permit ip any any

Apa hasil acl diatas ?

Untuk jawaban, tunggu artikel berikutnya.


Ahhh... ACL, lagi ...?

Pada postingan lalu, kita telah mempelajari Standard ACL, dan sedikit menyinggung tentang Extended ACL. Extended ACL menyediakan fitur yang lebih fleksibel untuk menyaring paket data. Jika pada Standard ACL, paket data di-filter berdasarkan source IP Address, Extended ACL akan mem-filter paket data berdasarkan source dan destination IP Address, source dan destination port serta protocol.

Fleksibilitas inilah yang membuat kita dapat membuat Access Control List yang sangat spesifik sesuai dengan kebutuhan. Contohnya kita dapat membolehkan traffik email sementara pada saat yang sama, memblok file transfer dan browsing.

Konfigurasi Extended ACL

Sintaks dasar untuk mengkonfigurasikan Extended ACL adalah :
 access-list acl-nomor [permit|deny] protocol source [source-wildcard] dest [dest-wildcard] [logic dest-port]  
contoh topologi extended acl
Pada contoh ini kita akan mengkonfigurasikan extended acl yang memblok (deny) trafik ftp ke network 10.0.0.0 /24 , tapi membolehkan ke network yang lain.
cat: 
ftp menggunakan port 20 dan 21

Definisikan protokol, source, destination dan port mana yang diblok,
Router(config)#access-list 101 deny tcp 10.0.0.0 0.0.0.255 118.10.1.6 0.0.0.0  eq 20
Router(config)#access-list 101 deny tcp 10.0.0.0 0.0.0.255 118.10.1.6 0.0.0.0 eq 21
Router(config)#access-list 101 permit ip any any

Terapkan acl 101 pada interface
Router(config)#interface fa0/0
Router(config-if)#ip access-group 101 out

Perhatikan bahwa kita harus membuat trafik lain tidak diblok ( access-list permit 101 ip any any) karena ada pada akhir setiap acl terdapat "deny all" yang memblok semua trafik.
Seperti yang kita lihat pada contoh acl diatas, destination  ditullis dengan "118.10.1.6 0.0.0.0" yang menentukan host. Kita dapat juga menggunakan perintah "host 118.10.1.6".
Pernyataan "118.10.1.6 0.0.0.0" mengunakan wildcard masking.

Logic Operator ACL

Pada contoh acl diatas, terdapat statement "eq" yang berarti "equal". Berikut ini adalah logic operator yang digunakan oleh Cisco IOS
gt = greater than
eq = equal to
neq = not equal to
range = range of port number

Named ACL

Sifat manusia yang pelupa membuat kita lebih mudah mengingat nama daripada mengingat nomor. Membuat nama ACL akan memudahkan kita mengingat fungsinya, contoh ACL diatas lebih mudah diingat dengan nama NO_FTP.
Sintaks dasar untuk mengkonfigurasikan named ACL 
ip access-list [standard | extended] nama-acl

Untuk contoh acl diatas, versi named acl

Router(config)#ip access-list NO_FTP
deny tcp 10.0.0.0 0.0.0.255 118.10.1.6 0.0.0.0  eq 20
Router(config-ext-nacl)#101 deny tcp 10.0.0.0 0.0.0.255 118.10.1.6 0.0.0.0  eq 21
Router(config-ext-nacl)#101 permit any any
Router(config-ext-nacl)#end
Router(config)#interface fa0/0
Router(config-if)# ip access-group NO_FTP out