Network Security
Firewall 1
Muhammad Zen S. Hadi, ST. MSc.
Pengertian Firewall 2
Firewall adalah sebuah software atau hardware atau kombinasi k d keduanya maupun sistem i t it sendiri itu di i untuk t k mencegah h akses k yang tidak tid k berhak ke suatu jaringan sehingga ada suatu mekanisme yang bertujuan untuk melindungi, baik dengan menyaring, membatasi atau bahkan menolak suatu hubungan/kegiatan g g ((dari dari luar kedalam atau dari dalam ke luar) luar suatu segmen pada jaringan pribadi dengan jaringan luar yang bukan merupakan ruang lingkupnya berdasarkan aturan-aturan yang ditetapkan. Segmen tersebut dapat merupakan sebuah jaringan workstation, workstation server,router, atau local area network (LAN) maupun wireless.
Konsep Firewall 3
y Tujuan untuk melindungi, dengan :
Menyaring M i hubungan /kegiatan suatu segmen pada jaringan pribadi dengan jaringan luar yang { membatasi bukan merupakan ruang lingkupnya { menolak y Segmen S tersebut t b td dapatt merupakan k sebuah b h workstation, k t ti server, router, t atau t local area network (LAN) anda {
Konfigurasi Sederhana 4
pc (j p (jaringan g local)) <==> firewall <==> internet (j (jaringan g lain))
Boleh lewat mbak ? Nih surat-suratnya Anak kecil ga boleh keluar.. sudah malam
Firewall
Karakteristik Firewall 5
y Seluruh hubungan/kegiatan dari dalam ke luar , harus
melewati firewall. firewall {
Hal ini dapat dilakukan dengan cara memblok/membatasi baik secara fisik semua akses terhadap jaringan Lokal, kecuali melewati y sekali bentuk jjaringan g yyang g memungkinkan. g firewall. Banyak
y Hanya Kegiatan yang terdaftar/dikenal yang dapat
melewati/melakukan hubungan, {
hal ini dapat dilakukan dengan mengatur policy pada konfigurasi k keamanan lokal. l k l Banyak k sekali k li jenis j i firewall fi ll yang dapat d dipilih di ilih sekaligus berbagai jenis policy yang ditawarkan.
y Firewall itu sendiri haruslah kebal atau relatif kuat
terhadap serangan/kelemahan. serangan/kelemahan {
hal ini berarti penggunaan sistem yang dapat dipercaya dan dengan Operating system yang relatif aman.
Teknik Yang Digunakan 6
y Service control (kendali terhadap layanan) {
berdasarkan tipe tipe-tipe tipe layanan yang digunakan di Internet dan boleh diakses baik untuk kedalam ataupun keluar firewall. Biasanya firewall akan mencek no IP Address dan juga nomor port yang di gunakan baik pada protokol TCP dan UDP, bahkan bisa dilengkapi software untuk proxy yang akan menerima dan menterjemahkan setiap permintaan akan suatu layanan sebelum mengijinkannya. iji k Bahkan B hk bisa bi jadi j di software ft pada d server it itu sendiri di i , seperti ti layanan untuk web ataupun untuk mail.
y Direction Control (kendali terhadap arah) {
berdasarkan arah dari berbagai permintaan (request) terhadap layanan yang akan k dikenali dik li dan d diijinkan diiji k melewati l i firewall. fi ll
y User control (kendali terhadap pengguna) {
berdasarkan pengguna/user untuk dapat menjalankan suatu layanan, artinya ada user yyang g dapat p dan ada yyang g tidak dapat p menjalankan j suatu servis,hal , ini di karenakan user tersebut tidak di ijinkan untuk melewati firewall. Biasanya digunakan untuk membatasi user dari jaringan lokal untuk mengakses keluar, tetapi bisa juga diterapkan untuk membatasi terhadap pengguna dari luar.
y Behavior Control (kendali terhadap pp perlakuan) {
berdasarkan seberapa banyak layanan itu telah digunakan. Misal, firewall dapat memfilter email untuk menanggulangi/mencegah spam.
Tipe Firewall 7
y Rule Based y Packet Filtering { Static { Stateful y Application Level
I. Rules Based Firewall 8
y Rule Firewall dibuat agar sesuai dengan aturan
yang telah dibuat. y Rule berdasarkan pada: {
R i based Routing b d filters fil (Wh (Who – siapa) i ) Pengirim dan penerima Ù berasal dari mana ? Ù Mau ke mana ? Ù Tidak peduli mau ngapain di sana Ù
{
Content based filters ((What – mau apa) p ) No port TCP/IP dan layanan Ù Apa yang akan kamu lakukan di sana ? Ù Tidak semudah yang nomer 1, sebab kadang kadang-kadang kadang bisa ditipu seorang client Ù
Dua pendekatan aturan 9
y Default allow
Mengijinkan semua lewat kecuali yang terdaftar y Default deny { Semua dilarang lewat kecuali yang terdaftar {
II. Packet Filtering 10
y Packet Filtering diaplikasikan dengan cara mengatur semua
packet IP baik yang menuju, menuju melewati atau akan dituju oleh packet tersebut. y pada tipe ini packet tersebut akan diatur apakah akan di terima dan diteruskan , atau di tolak tolak. y penyaringan packet ini di konfigurasikan untuk menyaring packet yang akan di transfer secara dua arah (baik dari atau ke jaringan lokal). lokal) y Biasa dikenal sebagai packet inspection {
Menginspeksi header IP, TCP, UDP, ICMP dan no port Ù
Static packet inspection
Ù
Stateful inspection
IIa. Static Packet Filter Firewall 11
Corporate Network Permit (Pass)
Deny (Drop)
Log File
The Internet IP-H
TCP-H Application Message
IP-H
UDP-H Application Message
IP H IP-H
Static Packet Filter Fi Firewall ll
ICMP H ICMP-H
ICMP Message
Only IP, TCP, UDP and ICMP Headers Examined Arriving Packets Examined One at a Time, in Isolation; This Misses Many Attacks
IIb. Stateful Inspection Firewalls 12
y
Default Behavior { Permit connections initiated by an internal host { Deny y connections initiated byy an external host { Can change default behavior with ACL
Automatically Accept Connection Attempt Router
A tomaticall Den Automatically Deny Connection Attempt
Internet
Stateful Inspection Firewalls 13
State of Connection: Open or Closed {
State: Order of packet within a dialog
{
Often simply whether the packet is part of an open connection
Stateful Firewall Operation {
Record the two IP addresses and port numbers in state table as OK (open)
{
Accept future packets between these hosts and ports with no further inspection Ù
This can miss some attacks attacks, but it catches almost everything except attacks based on application message content
Stateful Inspection Firewall Operation I 14
2. Establish Connection
1. TCP SYN Segment From: 60.55.33.12:62600 To: 123.80.5.34:80
3. TCP SYN Segment From: 60.55.33.12:62600 To: 123.80.5.34:80
Note: Outgoing Stateful Internal Connections Firewall Client PC Allowed By 60.55.33.12 Default Connection Table Type
Internal IP
Internal Port
External IP
TCP
60.55.33.12
62600
123.80.5.34
External Webserver 123.80.5.34 External Status Port 80
OK
Stateful Inspection Firewall Operation I 15
Stateful Firewall 6. Internal TCP SYN/ACK Segment Client PC From: 123.80.5.34:80 60.55.33.12 To: 60.55.33.12:62600
Connection Table
4. TCP SYN/ACK Segment External From: 123.80.5.34:80 Webserver To: 60.55.33.12:62600123.80.5.34
5. Check Connection OK; Pass the Packet
Type
Internal IP
Internal Port
External IP
TCP
60.55.33.12
62600
123.80.5.34
External Status Port 80
OK
Stateful Inspection Firewalls 16
y Stateful f l Firewall i ll Operation i {
For UDP, also record two IP addresses and port numbers i the in h state table bl
C Connection ti T Table bl Type
Internal IP
Internal Port
External IP
External Status Port
TCP
60.55.33.12
62600
123.80.5.34
80
OK
UDP
60.55.33.12
63206
1.8.33.4
69
OK
PACKET FILTERING 17 Contohnya: packet bertujuan ke server kita menggunakan IP 202.159.121.38 dengan port 80 ((atribut yyang g dimiliki p paket tsb)) An abbreviated packet… Source SrcPort Destination DestPort 204.210.251.1 8104 128.146.2.205 31337 A Cisco packet filter access-list 2640 deny any 128.146.2.0 0.0.0.255 gt 1023
Packet Filtering Example 18
1. If source IP address = 10.*.*.*, DENY [private IP address range] 2 If source IP address = 172 2. 172.16.*.* 16 * * to 172 172.31.*.*, 31 * * DENY [private IP address range] 3. If source IP address = 192.168.*.*, DENY [private IP address range] 4. If source IP address = 60.40.*.*, 4 4 , DENY [f [firm’s internal address range] g ] 5. If source IP address = 1.2.3.4, DENY [black-holed address of attacker] 6. If TCP SYN=1 AND FIN=1,, DENY [[crafted f attack packet] p ] 7. If destination IP address = 60.47.3.9 AND TCP destination port=80 OR 443, PASS [connection to a public webserver] 8. If TCP SYN=1 AND ACK=0, DENY [attempt to open a connection from the outside] 9. If TCP destination port = 20, DENY [FTP data connection] 10 If TCP destination port = 21 10. 21, DENY [FTP supervisory control connection]
Packet Filtering Example 19
11. If TCP destination port = 23, DENY [Telnet data connection] 12 If TCP destination port = 135 through 139 12. 139, DENY [NetBIOS connection for clients] 13. If TCP destination port = 513, DENY [UNIX rlogin without password] 14. If TCP destination port = 514, DENY [UNIX rsh launch shell without login] 15. If TCP destination port = 22, DENY [SSH for secure login, but some versions are insecure] 16. If UDP destination port=69, DENY [Trivial File Transfer Protocol; no login necessary] 17. If ICMP Type = 0, PASS [allow incoming echo reply messages] 18. If TCP RST=1, DENY [do not allow outgoing resets; used in host scanning] DENY ALL
Packet Filtering Example 20
y DENY ALL {
Last rule
{
Drops p anyy p packets not specifically p yp permitted byy earlier rules
{
In the previous ACL, Rules 8-18 are not needed; Deny all would catch them
Packet Filtering 21
y Kelebihan dari tipe ini adalah mudah untuk di
implementasikan, transparan untuk pemakai, lebih cepat y Kelemahannya : Cukup rumitnya untuk menyetting paket yang akan difilter secara tepat, serta lemah dalam hal authentikasi { Mudah M d h terjadi j di miskonfigurasi i k fi i { Sukar melakukan konfigurasi terhadap protokol yang dinamis { Tidak dapat menangani content-based filtering (remove e-mail attachments, javascript, ActiveX) {
Packet Filtering 22
y Serangan g yyang g mungkin g terjadi j { IP address spoofing : Ù
{
Source routing attacks : Ù
{
intruder (penyusup) dari luar dapat melakukan ini dengan cara menyertakan/menggunakan ip address jaringan lokal yanbg telah diijinkan untuk melalui firewall. firewall tipe ini tidak menganalisa informasi routing sumber IP, sehingga memungkinkan untuk membypass firewall.
Ti Fragment Tiny F attacks k : Ù
intruder (penyusup) membagi IP kedalam bagian-bagian (fragment) yang lebih kecil dan memaksa terbaginya informasi mengenai TCP header. Serangan jenis ini di design untuk menipu aturan penyaringan yang b bergantung t k kepada d iinformasi f id darii TCP h header. d P Penyerang b berharap h hanya bagian (fragment) pertama saja yang akan di periksa dan sisanya akan bisa lewat dengan bebas. Hal ini dapat di tanggulangi dengan cara menolak semua packet dengan protokol TCP dan memiliki Offset = 1 pada IP fragment (bagian IP)
Aplication p Level Gatewayy ((Proxyy Firewall)) 23
Mekanismenya y tidak hanya y berdasarkan sumber, tujuan dan atribut paket, tetapi juga bisa mencapai isi paket tersebut
Application Level 24
y Application-level Gateway yang biasa juga di kenal sebagai proxy
server yang berfungsi untuk memperkuat/menyalurkan arus aplikasi. aplikasi Tipe ini akan mengatur semua hubungan yang menggunakan layer aplikasi ,baik itu FTP, HTTP, GOPHER dll. y Cara kerjanya adalah apabila ada pengguna yang menggunakan salah satu aplikasi semisal FTP untuk mengakses secara remote remote, maka gateway akan meminta user memasukkan alamat remote host yang akan di akses.Saat pengguna mengirimkan User ID serta informasi lainnya yang sesuai maka gateway akan melakukan hubungan terhadap aplikasi tersebut yang terdapat pada remote host host, dan menyalurkan data diantara kedua titik. Apabila data tersebut tidak sesuai maka firewall tidak akan meneruskan data tersebut atau menolaknya. Lebih jauh lagi, pada tipe ini Firewall dapat di konfigurasikan untuk hanya mendukung beberapa aplikasi saja dan menolak aplikasi lainnya untuk melewati firewall. y Biasa dikenal Application Inspection
Application Level 25 Kelebihannya : { Relatif lebih aman daripada tipe packet filtering router, lebih mudah untuk memeriksa ((audit)) dan mendata ((log) g) semua aliran data yyang g masuk p pada level aplikasi. { Tidak mengijinkan langsung koneksi antara internal dan eksternal host { Mendukung authentication, ‘classes’ of users { Mendukung akses allow/deny berdasarkan content { Dapat menyimpan log aktifitas yg detil (termasuk bagian data dari paket) { Caching y Kekurangannya { pemrosesan tambahan yang berlebih pada setiap hubungan. yang akan mengakibatkan kib tk tterdapat d td dua b buah h sambungan b k koneksi k i antara t pemakai k id dan gateway, t dimana gateway akan memeriksa dan meneruskan semua arus dari dua arah. { Lebih lambat daripada packet filtering firewall { Require additional hardware Ù more hardware for more users Ù slow hardware = slow service { Some firewalls require special client configurations on the workstations. { Some protocols may not be supported (AIM, RealAudio, Napster, H.323). { Configuration can be complex Ù Must configure proxy for each protocol y
Iptables 26
y netfilter/iptables terdiri dari 3 tabel: filter, nat, mangle y Perintah 'iptables' digunakan untuk mengelola,
memaintain, menginspeksi rule-rule IP packet filter dalam kernel linux. linu y Rule di chain : 1. ACCEPT Menerima paket dan diproses lebih lanjut oleh kernel. 2. DROP Menolak l k paket k tanpa pemberitahuan b h sama sekali. k l 3. REJECT Mengembalikan paket ke asalnya dengan pesan kesalahan ICMP.
Tabel Filter
filter: This is the default table (if no -tt option is passed). passed) It contains the built-in chains INPUT (for packets destined to local sockets), sockets) FORWARD (for packets being routed through the box), and OUTPUT OU U (fo (for locally-generated oca y ge e a ed packets). pac e s)
Tabel nat nat: This table is consulted when a packet that creates a new connection is encountered encountered. It consists of three built-ins: PREROUTING (for altering packets as soon as they come in), in) OUTPUT (for alteringlocally-generated packets before routing), and POSTROUTING O OU G (f (for altering gp packets as they y are about to go out).
Tabel mangle mangle: g This table is used for specialized packet alteration. Until kernel 2.4.17 it had two built-in chains: PREROUTING (for altering incoming packets before routing) and OUTPUT (for altering locally-generated packets before routing). Since kernel 2.4.18, 2 4 18 three other built built-in in chains are also supported: INPUT (for packets coming into the box itself), FORWARD (for altering packets being routed through the box),and POSTROUTING (for altering packets as they are about to go out).
Diagram netfilter/iptables
Contoh iptables 31
y Untuk menambah daftar
#iptables -A FORWARD -s 192.168.56.100/32 -j DROP y Untuk melihat daftar #i t bl -nL #iptables L y Untuk menghapus daftar #iptables ptab es -D FORWARD O W -ss 192.168.56.100/32 9 . 68.56. 00/3 -jj DROP O y Untuk menghapus semua daftar #iptables -F y Untuk k menyimpan iptables bl #iptables-save (akan disimpan di /etc/sysconfig/iptables)
Contoh iptables 32
y Untuk mendrop service ssh y y y y
#iptables i bl -A A FORWARD -p tcp --dport d 22 -jj DROP Untuk mendrop icmp (ping) -> semuanya #iptables p -A FORWARD -p p icmp p -jj DROP Drop icmp dari jaringan 192.168.56.0 #iptables -A FORWARD -s 192.168.56.0/24 -p icmp -j DROP Drop semuanya kecuali dari IP tertentu #iptables -A FORWARD -s ! 192.168.56.100 -p icmp -j DROP Drop ke port 80 (http) #iptables i t bl -A A FORWARD -p tcp t --dport d t8 80 -jj DROP