Perlu beberapa penyesuaian dengan environtment dengan satu vendor perangkat network ini, meski saya sudah pernah ikut training mengenai vendor ini tetap saja masih perlu menyesuaikan lagi. Juniper SRX merupakan perangkat sejenis Firewall, jadi default deny beda dengan router. Dalam artian semua paket/traffic yang masuk atau keluar melewati SRX ini akan di drop, jadi perlu membuat policy-policy yang sesuai untuk mengijinkan paket tersebut lewat. Perlu diketahui untuk perangkat satu ini ada yang namanya security-zone kalau di cisco bisa disamakan seperti route-map jadi semua network itu dibuat zone-zone tersendiri sesuai dengan peruntukanya masing-masing. Setelah dibuat zone maka kita masih perlu membuat policy (aturan) agar masing-masing zone tersebut bisa berkomunikasi satu dengan yang lain.
Security Zone
Dari prespektif security policies, semua traffic akan masuk ke sebuah security zone dan akan keluar ke security zone. Mengkombinasikan metode klasik “dari mana dan mau kemana” di Juniper dikenal dengan “from-zone” dan masuk ke “to-zone”.
Security zone bisa dikatakan sebagai identitas atau grup dari network yang bakalan di”ikutkan” ke policy. Bisa berupa sebuah interface atau lebih dari satu. Masing2 security zone agar bisa berkomunikasi dengan yang lain menggunakan security policy, akan dibahas dibawah nanti.
By default, Juniper SRX sudah terdapat 2 Security Zone yaitu untrust zone untuk interface yang mengarah ke ISP (ge-0/0/0.0) dan trust zone untuk yang mengarah ke LAN (vlan.0). Berikut konfigurasi interface sesuai topology diatas.
ge-0/0/0 { unit 0 { family inet { address 202.100.100.2/29; } } } ge-0/0/1 { unit 0 { family inet { address 10.1.1.1/29; } } }
Untuk security zone seperti berikut.
security-zone trust { host-inbound-traffic { system-services { #service yang diaccept pada security zone all; } protocols { #protocols yang diaccept pada security zone all; } } interfaces { #interface yang diattach ke security zone ge-0/0/1.0; } } security-zone untrust { screen untrust-screen; interfaces { ge-0/0/0.0 { host-inbound-traffic { system-services { dhcp; tftp; } } } } }
Pada bagian untrust zone, karena interface tersebut mengarah ke public. Untuk meningkatkan security juniper by default mengaktifkan aturan keamanan berupa screen feature, fitur ini selayaknya IDS (Intrusion Detection System) untuk mencegah system attack berupa scanning port, DoS dan beberapa hal lain.
Perlu diperhatikan, service-service yang masuk ke Juniper itu diatur di security zone ini. Biasanya untuk awal-awal akan muncul pertanyaan kok ini interface gak bisa di ping yah? coba periksa service yang enabled di juniper tersebut 😀
Security Policy
Seperti yang sudah saya sebutkan sebelumnya, security policy ini ibaratnya sebagai “pengatur lalu lintas jalan raya”. Masing-masing security zone agar bisa berkomunikasi satu sama lain itu ditentukan pada security policy ini, menggunakan attribute from-zone dan to-zone.
Berikut adalah konfigurasi security policy untuk menghubungkan antara DMZ Zone dan Trust Zone.
security { policies { from-zone dmz to-zone trust { policy dmz-to-trust { match { source-address any; destination-address any; application any; } then { permit; } } } from-zone trust to-zone dmz { policy trust-to-dmz { match { source-address any; destination-address any; application any; } then { permit; } } } } }
Configure NAT
Ada 3 jenis NAT (Network Address Translation) yang tersedia untuk Juniper SRX devices. Source NAT, Destination NAT dan Static NAT. Juga akan membahas mengenai Proxy ARP. Mungkin untuk cara implementasi versi Junos SRX dengan Junos Router biasa agak berbeda, kata guru saya yang punya blog http://barliesucks.wordpress.com/
Kalo srx pake
Klo ruter enggak
Akan tetapi untuk postingan ini sudah cukup untuk membahas dasar-dasar dari rule-rule dari juniper ini.
JunOS NAT packet processing
Untuk mempermudah memahami konfigurasi NAT berikut disertakan gambar Flow Packet dari system JunOS.
Sesuai gambar diatas, sebelum SRX memproses policy, pertama kali pelu tahu zone tersebut dari mana dan akan menuju ke zone mana. Maka dari itu destination static NAT dan destination NAT menjadi tahap pertama kali. Setelah itu baru masuk ke policy dimana source dari static NAT atau source NAT akan di translasikan.
Source NAT
Traffic dari ip private yang akan menuju internet akan di source NAT-kan menjadi sebuah IP public. Kalau di mikrotik bisa dikatakan ini adalah NAT Masquerade (one-to-many) yaitu sebuah fungsi yang merubah field Source IP Private dari sebuah packet data menjadi IP Address Publik. Sederhananya metode dimana banyak host bisa terhubung ke internet menggunakan 1 ip publik saja.
set security nat source rule-set nat-trust-to-untrust from zone trust set security nat source rule-set nat-trust-to-untrust to zone untrust set security nat source rule-set nat-trust-to-untrust rule pat-interface match source-address 192.168.100.0/29 set security nat source rule-set nat-trust-to-untrust rule pat-interface match destination-address 0.0.0.0/0 set security nat source rule-set nat-trust-to-untrust rule pat-interface then source-nat interface
Yang perlu diperhatikan untuk membuat rule NAT, kita perlu membuat rule-set dan rule didalam rule-set. Hanya terdapat rule-set yang dapat diimplement ke sebuah security zone. Akan tetapi multiple rule dapat diimplement ke dalam sebuah rule-set.
Seperti contoh diatas, traffic yang berasal dari 192.168.100.0/29 akan ditujukan ke “any” (kesemuanya), dideliver dari zone TRUST menuju zone UNTRUST akan menjadi source NAT ke ip interface UNTRUST. Kalau di cisco kita bisa menyebutnya sebagai PAT (Port Address Translation), atau NAT overload. Karena beberapa ip private dapat ditranslasikan ke dalam sebuah ip publik.
Then Source-NAT Options
Dalam konfigurasi NAT diatas, bisa dilihat pada command terakhir menggunakan then source-nat. Ada terdapat 3 option yang bisa ditambahkan disini. Seperti contoh diatas kita menggunakan opsi interface pada akhir command. Ada juga pool dan off.
Pool Option
Opsi ini digunakan ketika kita tidak ingin NAT ke interface akan tetapi akan di NAT kan ke ip lain (yang tidak digunakan). Pertama kali kita perlu mendefinisikan ip yang ada di pool yang akan kita gunakan. Konfigurasinya seperti berikut.
set security nat source pool pool-pat address 202.100.100.3/32 set security nat source rule-set nat-trust-to-untrust from zone trust set security nat source rule-set nat-trust-to-untrust to zone untrust set security nat source rule-set nat-trust-to-untrust rule pat-interface match source-address 192.168.100.0/29 set security nat source rule-set nat-trust-to-untrust rule pat-interface match destination-address 0.0.0.0/0 set security nat source rule-set nat-trust-to-untrust rule pat-interface then source-nat pool pool-pat
Sebagai catatan kita masih tetep bisa membuat pool meski cuman ada 1 ip saja yang tersedia, hanya sekedar membuat pool lho ya selanjutnya akan didefinisikan ketikan source pool atau destination pool digunakan. Jika kamu memiliki berpuluh2 ribu connection yang melewati firewall kedalam sebuah IP, kita dapat membuat beberapa IP untuk dimasukan ke dalam pool dan SRX akan otomatis translate diantara beberapa ip tersebut yang berada di pool.
Off Option
Kita juga bisa mengidentify traffic yang tidak ingin kita NAT-kan. Akan berguna sekali jika kita mengenat semuanya dari DMZ menuju UNTRUST, akan tetapi kita tidak ingin NAT flow tertentu yang menuju VPN tunnel. Untuk membuatnya kita bisa menggunakan option off. Seperti berikut.
set security nat source rule-set nat-trust-to-untrust from zone trust set security nat source rule-set nat-trust-to-untrust to zone untrust set security nat source rule-set nat-trust-to-untrust rule nat-off match source-address 192.168.100.0/29 set security nat source rule-set nat-trust-to-untrust rule nat-off match destination-address 172.16.57.0/24 set security nat source rule-set nat-trust-to-untrust rule nat-off then source-nat off set security nat source rule-set nat-trust-to-untrust rule pat-interface match source-address 192.168.100.0/29 set security nat source rule-set nat-trust-to-untrust rule pat-interface match destination-address 0.0.0.0/0 set security nat source rule-set nat-trust-to-untrust rule pat-interface then source-nat interface
Sebagai catatan disini terdapat 2 rule. Yang pertama NO-NAT yang artinya akan menggunakan source-nat off pada traffic yang cocok dengan kriteria tersebut. Kenapa harus dilakukan seperti ini? Karena semisal ada spesifik traffic yang akan dideliver ke VPN dan kita tidak ingin traffic tersebut di NAT-kan akan tetapi kita tetep harus source NAt ke interface IP. Dalam hal ini biasanya dikenal sebagai NAT Zero, NAT 0, No NAT or Identity NAT.
Destination NAT
Ketika ada orang lain di internet ingin mengakses device yang berada pada internal networkl kita bisa menggunakan rule Dst-NAT, dengan cara membelokan ip publik tertentu ke arah internal network kita.
set security nat destination pool pool-webserver address 10.1.1.2/32 set security nat destination rule-set nat-untrust-to-dmz from zone untrust set security nat destination rule-set nat-untrust-to-dmz to zone dmz set security nat destination rule-set nat-untrust-to-dmz rule dest-nat match destination-address 202.100.100.4/32 set security nat destination rule-set nat-untrust-to-dmz rule dest-nat then destination-nat pool pool-webserver
Dalam contoh konfigurasi diatas semua traffic yang menuju SRX pada untrust zone pada ip 202.100.100.4 akan di translate menuju 10.1.1.2. Dalam hal ini jika terdapat 2 buah IP pada pool, SRX secara ototmatis akan load balance diantara kedua IP yang berada di pool. Melewatkan beberapa traffic ke kedua IP pada destination pool.
Port Forwarding
Terkadang kita ingin melakukan port forwarding, dalam artian yang kita forward hanya port tertentu saja menuju ke arah server. Dalam hal ini kita menggunakan destination NAT seperti berikut contohnya.
set security nat destination pool pool-port-forward address 10.1.1.2/32 port 80 set security nat destination rule-set nat-untrust-to-dmz from zone untrust set security nat destination rule-set nat-untrust-to-dmz to zone dmz set security nat destination rule-set nat-untrust-to-dmz rule dest-nat match destination-address 202.100.100.4/32 set security nat destination rule-set nat-untrust-to-dmz rule dest-nat match destination-port 8080 set security nat destination rule-set nat-untrust-to-dmz rule dest-nat then destination-nat pool pool-port-forward
Dalam contoh konfigurasi diatas, semua yang menuju SRX dari untrust zone interface pada ip 202.100.100.4 port 8080 akan di translatekan menuju 10.1.1.2 port 80
Static NAT
NAT tipe ini adalah one to one mapping dalam artian satu ip publik di mappingkan ke satu ip private. Dalam artian semua traffic akan di NAT-kan dikedua sisi masuk ataupun keluar.
set security nat static rule-set static-server1 from zone untrust set security nat static rule-set static-server1 rule rule-name match destination-address 202.100.100.3/32 set security nat static rule-set static-server1 rule rule-name then static-nat 10.1.1.2/32
Proxy ARP
Bayangkan jika ip yang tertanam pada interface fisik untrust adalah 202.100.100.2 dan kita perlu melakukan NAT pada ip 202.100.100.3 yaitu ip yang tidak digunakan dan tidak tertanam pada interface fisik akan di NAT-kan menuju ip 10.1.1.2. Dalam hal ini next-hop internet router akan melakukan ARP untuk melihat siapa sih yang memiliki ip 202.100.100.3 ini. Karena by default SRX tidak akan merespond ARP request seperti ini. Proxy ARP harus diaktifkan di SRX untuk dapat mereply “oh, itu paket untuk saya, nah ini adalah mac address miliknya”.
Berikut contoh konfigurasinya:
set security nat proxy-arp interface ge-0/0/0.0 address 202.100.100.3/32
Verification Command
Berikut adalah command untuk verifikasi proses NAT yang sudah dikonfigurasikan.
show security flow session show security nat source summary show security destination source summary
Untuk source NAT konfigurasi “destination-address 0.0.0.0/0” apakah diperlukan? Dan kalau memang diperlikan itu address di sisi trust atau untrust, mohon penjelasannya. Terima kasih.
Donny Kurniawan
Untuk command “destination-address 0.0.0.0/0” pada bagian source nat itu hanya optional, command tersebut menandakan bahwa ip publik yang terdapat pada pool atau interface itu digunakan semua. Bisa dikatakan optional karena pada bagian tersebut saya menggunakan pat interface, kalau mau lebih spesifik pada command tersebut kita bisa mendefinisikan ip address destination yang akan digunakan. Untuk perbandingan bisa dilihat pada bagian destination nat, pada bagian tersebut destination address lebih spesifik, begitu pula pada pada static nat.
itu untuk trust zone perlu d config ip gak? interface fe-0/0/2
terimah kasih banyak,
sangat membantu untuk saya yg baru mau belajar Firewall Juniper SRX