MTCTCE
NETKROMACADEMY 2017
2
Selamat Datang!
Resources training
Winbox & updates – http://www.mikrotik.com/download
4
Persiapan
DNS Static
Digunakan router pada aplikasi web-proxy dan
hotspot.
Meng-override dynamic entry yang ada di DNS Cache
Bermanfaat untuk mempercepat proses traceroute
DNS Cache
Meminimalisir waktu request DNS dari client
(berfungsi pada saat “Allow Remote Request”
diaktifkan).
Berfungsi sebagai server DNS sederhana
10
LAB Static DNS
Skema komunikasi
12
Dynamic Host Configuration Protocol
Hapus konfigurasi IP
address wlan1 dan
default gateway
Jadikanlah router anda
sebuah client DHCP
untuk jaringan wlan1
Cek kembali konfigurasi
IP dan gateway router
16
LAB Server DHCP
Hubungkan komputer
client ke Eth2, cek
apakah komputer
tersebut mendapatkan
IP
Hubungkan client lain
ke Eth3, cek apakah
komputer tersebut
mendapatkan IP.
29
Proxy
LAN merupakan jaringan sederhana di area lokal yang dinaungi oleh alamat
network dan alamat broadcast yang sama.
Untuk menghubungkan node-node dalam sebuah jaringan LAN, diperlukan
perangkat yang disebut switch atau bridge yang menjembatani komunikasi
di layer 2 dalam lapisan OSI, yaitu Data Link
Keamanan dari setiap layer tersebut harus diperhatikan, termasuk layer
data link, karena pasti berpengaruh juga terhadap keseluruhan proses
komunikasi.
41
Keamanan
Packet flow adalah diagram alir proses paket data yang keluar masuk
router. Terdapat perbedaan antara packet flow di RouterOS v.3 dengan versi
sebelumnya:
Penggunaan IP Firewall pada bridge
Posisi routing decision
BROUTE dihilangkan
Packet Flow 62
63
Packet Flow 64
65
Interface Masuk
Prerouting Global-In
Luar Router Input
Input Global-Total
Global-Out
Output
Router Luar Output Global Total
Postrouting
Interface
Global-In
Prerouting
Global-Out
Luar Luar Forward Forward
Global-Total
Postrouting
Interface
70
Chain
Chain Input: untuk traffic yang menuju router (proses lokal), tidak bisa
memilih out-interface
Chain Forward: untuk traffic yang melalui router, bisa memilih in & out-
interface
Chain Output: untuk traffic yang berasal dari proses lokal, tidak bisa memilih
in-interface
Chain Prerouting: untuk traffic yang menuju proses lokal atau yang melalui
router, tidak bisa memilih out-interface
Chain Postrouting: untuk traffic yang berasal dari proses lokal atau yang
melalui router, tidak bisa memilih in-interface
71
Firewall Layer 3
Accept: paket data yang datang ke chain diterima dan tidak dicek lagi di rule
bawahnya serta langsung keluar dari chain.
Jump: paket data akan dilempar ke chain lain sesuai parameter Jump-Target.
Return: paket data akan dikembalikan ke chain asal sesuai urutan rule firewall jump
sebelumnya.
Log: akan menambahkan informasi paket di system log .
Passthrough: mengabaikan rule dan akan diteruskan ke rule dibawahnya.
Add-dst-to-address-list: menambahkan informasi dst-address dari paket ke address-
list tertentu.
Add-src-to-address-list: menambahkan informasi src-address dari paket ke address-
list tertentu.
77
Mangle Actions
Chain: hanya ada 3 chain dalam filter, yaitu Input, Forward, dan Output.
Src-address & dst-address: dapat berupa 1 alamat (misal: 192.168.1.1),
atau 1 subnet (misal: 192.168.1.0/24), atau bentangan (misal: 192.168.1.1 –
192.168.1.10)
Port: dapat berupa 1 port, bentangan, atau multiport
Any port: sesuai dengan (salah satu) src-port atau dst-port, misalnya:
Untuk memblokir request HTTP, gunakan dst-port=80
Untuk memblokir response HTTP, gunakan src-port=80
Untuk memblokir keduanya, gunakan any-port=80
Filter Parameter - 2
In/out bridge port: digunakan apabila router tidak menggunakan mode routing, tetapi
mode bridge, dimana:
In/out interface gunakan nama bridge-nya, misalnya bridge1, dan
In/out bridge port gunakan nama interface fisiknya, misalnya eth1 atau eth2
Src-mac-address: hanya digunakan ketika client terhubung langsung ke router tsb,
tidak melalui router lain.
Random: membuat rule ini hanya berlaku secara random dengan probabilitias yang
ditentukan (1-99)
Ingress-priority: prioritas yang didapatkan dari protocol VLAN atau WMM (0-63)
Connection-byte: bentangan yang menyatakan ukuran seluruh paket data yang masuk
dalam sebuah connection, misalnya 100000-45000000.
Connection mark diperlukan apabila: jaringan tsb menggunakan src-nat, dan rule ini
diimplementasikan untuk koneksi downlink dengan parameter alamat IP client. Hal ini
disebabkan karena connection tracking dilakukan sebelum pembalikan NAT pada chain
prerouting.
Filter Parameter - 3
Packet-size: besar paket data yang lewat
Layer7-protocol: mengklasifikasikan paket sesuai dengan jenis aplikasinya
Icmp-options: menentukan jenis ICMP, misalnya untuk PING: 0:0 dan 8:0, untuk
TRACEROUTE: 11:0 dan 3:3, Path MTU discovery: 3:4.
Contoh rule untuk memblokir Traceroute: /ip firewall add chain=forward
action=drop protocol=icmp icmp-options=3:3
Connection-limit: membatasi jumlah koneksi per alamat IP atau per blok alamat IP,
misalnya: limit=200 netmask=26, artinya rule ini akan dijalankan ketika setiap
subnet /26 membuat ≤200 koneksi.
Web Proxy bertugas menyimpan data yang diakses user dan jika nanti user
mengakses hal yang sama, maka data tersebut akan diberikan kembali.
HIT: berarti data tersebut sudah tersedia di cache, maka akan langsung
diberikan kepada user.
MISS: berarti data tidak tersedia di cache, proxy perlu memintanya ke server,
kemudian menyimpannya di cache, lalu diberikan kepada client.
Jika terjadi akses HIT pada proxy, maka proxy akan memberikan nilai TOS=4
(dapat diubah sesuai kebutuhan). Nilai TOS ini dapat dipakai sebagai
parameter pada firewall mangle.
104
LAB Proxy
L7 dapat bekerja optimal jika bisa melihat traffic dari kedua arah, sehingga
disarankan untuk meletakkan rule L7 pada chain forward. Jika ingin
diletakkan di chain prerouting/input, maka rule yang sama harus diletakkan
juga di chain postrouting/output
L7 menggunakan sumber daya (CPU & memory) yang cukup besar,
sehingga jika jaringan kita cukup besar dan menggunakan pengaturan L7
yang intensif, maka sebaiknya menggunakan router yang spesifikasinya
memadai.
116
Regular Expression
L7 dapat mengenali sekitar 150 jenis traffic dengan menginspeksi pola dari
suatu connection yang disebut regular expression (regexp)
Regexp adalah sebuah string yang mendeskripsikan pola (pattern) yang
dijadikan pembanding pada waktu mencari connection yang diinginkan.
Contoh: "hello" , "220 ftp server ready", "* ok", atau "HTTP/1.1 200 ok".
Tidak semua connection bisa diidentifikasi, misalnya traffic-traffic yang
terenkripsi atau traffic yang menggunakan SSL tunnel. Hal ini disebabkan
karena pada proses handshake, hanya sertifikat SSL nya saja yang bisa
terbaca.
Syntax
Kita bisa mendapatkan regular expression dari spesifikasi protocol yang telah
distandarisasi oleh RFC. Namun apabila kita menginginkan regexp dari protocol
yang proprietary, lakukanlah teknik reverse-engineering
Gunakan software sniffer seperti Wireshark untuk mengamati isi dari sebuah
paket, kemudian cari pola yang menjadi ciri khas paket dalam connection tersebut.
Lakukan testing untuk memastikan apakah rumusan regexp dapat berfungsi.
Library regexp:
http://l7-filter.sourceforge.net/protocols
Contoh
Aplikasi RegExp
AIM ^(\*[\x01\x02].*\x03\x0b|\*\x01.?.?.?.?\x01)|flapon|toc_signon.*
0x
Applejuice ^ajprot\x0d\x0a
Ares ^\x03[]Z].?.?\x05$
Bittorrent ^(\x13bittorrent protocol|azver\x01$|get /scrape\?info_hash=)
Counter Strike ^\xff\xff\xff\xff.*cstrikeCounter-Strike
Doom 3 ^\xff\xffchallenge
IRC ^(nick[\x09-\x0d -~]*user[\x09-\x0d -~]*:|user[\x09-\x0d -
~]*:[\x02-\x0d -~]*nick[\x09-\x0d -~]*\x0d\x0a)
Jabber ^<stream:stream[\x09-\x0d ][ -~]*[\x09-\x0d ]xmlns=['"]jabber
Skype ^..\x02.............
World of Warcraft ^\x06\xec\x01
Yahoo ^(ymsg|ypns|yhoo).?.?.?.?.?.?.?[lwt].*\xc0\x80
Gtalk ^<stream:stream to="gmail\.com"
120
LAB L7 Protocol
Scheduler Queue: mengatur aliran paket data sesuai dengan jumlah paket
data. Jika ada yang melampaui batas, maka paket-paket tersebut akan
dimasukkan ke dalam “antrian”.
Shaper Queue: mengatur kecepatan dan rate. Apabila ada yang melampaui
batas, paket-paket dari koneksi tersebut akan di-drop.
128
Algoritma
Scheduler Queues
BFIFO: Bytes First-In-First-Out
PFIFO: Packets First-In-First-Out
MQ-PFIFO: Multi Queue Packets First-In-First-Out
RED: Random Early Detect
SFQ: Stochastic Fairness Queueing
Shaper Queues
PCQ: Per Connection Queue
Queues > Queue Types
HTB: Hierarchical Token Bucket > [+] > [Kind]
129
FIFO
Algoritma Random Early Detect tidak membatasi kecepatan, tetapi jika buffer
sudah penuh, secara tidak langsung RED akan menyeimbangkan data rate
setiap user.
Ketika ukuran buffer mencapai min-threshold, RED secara random akan
memilih paket-paket untuk di-drop. Ketika buffer mencapai max-threshold,
maka semua paket yang melebihi batas akan di-drop.
RED sebaiknya digunakan jika traffic di jaringan sangat padat. RED sangat
sesuai untuk traffic TCP, tapi kurang sesuai untuk UDP.
132
RED: Skema
133
RED: Logika
134
SFQ
Rule untuk parent paling atas (utama) hanya memerlukan max-limit, tanpa limit-
at, dan priority.
Priority hanya diperhitungkan pada child paling bawah
Priority hanya berfungsi untuk menetukan besar pinjaman bandwidth yang tersisa
dari parent setelah semua child mendapatkan limit-at.
HTB: Distribusi – Kasus 1
B, C1 dan C2 mendapat 2
Mbps. C1 dan C2
mendapat bonus hingga
max-limit karena
parentnya, C, memiliki
limit-at hingga 4 mbps
HTB: Distribusi – Kasus 6
Kasus 10
161
Simple Queue
Simple Queue dapat membatasi Queues > Simple Queue > [+]
bandwidth upload, download,
dan total dalam sebuah rule.
Bisa menggunakan target-
address, atau interface sebagai
parameter
Bisa mengguanakan lebih dari
satu packet mark
Bisa menggunakan parameter
waktu
162
Simple Queue: Target Address
Lanjutkanlah lab
firewall dual
gateway dengan
proksi internal.
Buatlah pengaturan
QoS untuk semua
traffic
LAB Simple Queue
/queue simple
add name="CLIENT IIX" target=192.168.113.2 packet-marks=PAKET_IIX max-
limit=64000/64000
add name="CLIENT IIX HIT" target=192.168.113.2 packet-
marks=PAKET_IIX_HIT max-limit=256000/256000
add name="CLIENT INT" target=192.168.113.2 packet-marks=PAKET_INT max-
limit=16000/16000
add name="CLIENT INT HIT" target=192.168.113.2 packet-
marks=PAKET_INT_HIT max-limit=256000/256000
166
Queue Tree