Network Security
Firewall
1
Pengertian Firewall
2
Firewall adalah sebuah software atau hardware atau kombinasi
k d i t it di i t k h k tid k
keduanya maupun sistem itu sendiri untuk mencegah akses yang tidak berhak ke suatu jaringan sehingga ada suatu mekanisme yang
bertujuan untuk melindungi, baik dengan menyaring, membatasi atau bahkan menolak suatu hubungan/kegiatan (darig g (dari luarluar kedalamkedalam atauatau daridari dalam
dalam keke luarluar) 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 Segmen tersebut dapat merupakan sebuah jaringan workstation, server,router, atau local area network (LAN) maupun wireless.
Konsep Firewall
3
y Tujuan untuk melindungi, dengan :
M i hubungan /kegiatan suatu segmen pada
{ Menyaring { membatasi { menolak
S t b t d t k b h k t ti t t
hubungan /kegiatan suatu segmen pada jaringan pribadi dengan jaringan luar yang bukan merupakan ruang lingkupnya
y Segmen tersebut dapat merupakan sebuah workstation, server, router, atau
Konfigurasi Sederhana
4
pc (jaringan local) <==> firewall <==> internet (jaringan lain)
p (j
g
)
(j
g
)
Boleh lewat mbak ? Nih surat-suratnya
Anak kecil ga boleh keluar.. sudah malam keluar.. sudah malam
Karakteristik Firewall
5
y
Seluruh hubungan/kegiatan dari dalam ke luar , harus
melewati firewall
melewati firewall.
{ Hal ini dapat dilakukan dengan cara memblok/membatasi baik
secara fisik semua akses terhadap jaringan Lokal, kecuali melewati firewall. Banyak sekali bentuk jaringan yang memungkinkan.y j g y g g
y
Hanya Kegiatan yang terdaftar/dikenal yang dapat
melewati/melakukan hubungan,
{ hal ini dapat dilakukan dengan mengatur policy pada konfigurasi
k l k l k k li j i fi ll d di ilih keamanan lokal. Banyak sekali jenis firewall yang dapat dipilih sekaligus berbagai jenis policy yang ditawarkan.
y
Firewall itu sendiri haruslah kebal atau relatif kuat
terhadap serangan/kelemahan
terhadap serangan/kelemahan.
{ hal ini berarti penggunaan sistem yang dapat dipercaya dan dengan
Teknik Yang Digunakan
6
y Service control (kendali terhadap layanan)
{ berdasarkan tipe-tipe layanan yang digunakan di Internet dan boleh diakses { berdasarkan 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
iji k B hk bi j di ft d it di i ti mengijinkannya. Bahkan bisa jadi software pada server itu sendiri , seperti layanan untuk web ataupun untuk mail.
y Direction Control (kendali terhadap arah)
{ berdasarkan arah dari berbagai permintaan (request) terhadap layanan yang
k dik li d diiji k l i fi ll akan dikenali dan diijinkan melewati firewall.
y User control (kendali terhadap pengguna)
{ berdasarkan pengguna/user untuk dapat menjalankan suatu layanan, artinya
ada user yang dapat dan ada yang tidak dapat menjalankan suatu servis,hal ini y g p y g p j , 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 perlakuan)p p
{ berdasarkan seberapa banyak layanan itu telah digunakan. Misal, firewall dapat
Tipe Firewall
7y
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
b
d fil
(Wh
i
)
{
Routing based filters (Who – siapa)
Ù 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 bisa ditipu Ù Tidak semudah yang nomer 1, sebab kadang kadang bisa ditipu
Dua pendekatan aturan
9
y
Default allow
{
Mengijinkan semua lewat kecuali yang terdaftar
y
Default deny
II. Packet Filtering
10
y
Packet Filtering diaplikasikan dengan cara mengatur semua
packet IP baik yang menuju melewati atau akan dituju oleh
packet IP baik yang 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
terima dan diteruskan , atau di tolak.
y
penyaringan packet ini di konfigurasikan untuk menyaring
packet yang akan di transfer secara dua arah (baik dari
atau ke jaringan lokal)
atau ke jaringan 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 The Internet
IP-H TCP-H Application Message Permit
(Pass)
IP-H UDP-H Application Message
IP H ICMP H
Deny
ICMP Message
IP-H ICMP-H
(Drop) ICMP Message
Only IP, TCP, UDP and ICMP Headers Examined
Log File Static Packet Filter Fi ll
Arriving Packets Examined One at a Time, in Isolation; This Misses Many Attacks
IIb. Stateful Inspection Firewalls
12
y
Default Behavior
yDefault Behavior
{
Permit connections initiated by an internal host
{Deny connections initiated by an external host
y
y
{Can change default behavior with ACL
Automatically Accept Connection Attempt
Internet Router
A tomaticall Den Connection Attempt Automatically Deny Connection Attempt
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
{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 but it catches almost everything
ÙThis can miss some attacks, but it catches almost everything
Stateful Inspection Firewall Operation I
14 2. Establish 1. TCP SYN Segment From: 60.55.33.12:62600 Establish Connection 3. TCP SYN Segment From: 60.55.33.12:62600 Internal To: 123.80.5.34:80 To: 123.80.5.34:80 Stateful Note: Outgoing Connections External Webserver 123.80.5.34 Internal Client PC 60.55.33.12 Firewall Connection Table Connections Allowed By Default Type Internal IP Internal Port External IP External Port Status Connection Table TCP 60.55.33.12 62600 123.80.5.34 80 OKStateful Inspection Firewall Operation I
15 Stateful Firewall Internal 6. 4. Stateful Firewall External Webserver 123.80.5.34 Internal Client PC 60.55.33.12 TCP SYN/ACK Segment From: 123.80.5.34:80 To: 60.55.33.12:62600 5. TCP SYN/ACK Segment From: 123.80.5.34:80 To: 60.55.33.12:62600 5. Check Connection OK;Pass the Packet Connection Table Type Internal IP Internal Port External IP External Port Status Connection Table TCP 60.55.33.12 62600 123.80.5.34 80 OK
Stateful Inspection Firewalls
16
f l i
ll
i
y
Stateful Firewall Operation
{
For UDP, also record two IP addresses and port numbers
i
h
bl
in the state table
C ti T bl Type Internal IP Internal Port External IP External Port Status Connection Table TCP UDP 60.55.33.12 60.55.33.12 62600 63206 123.80.5.34 1.8.33.4 80 69 OK OK
PACKET FILTERING
17
Contohnya: packet bertujuan ke server kita menggunakan IP 202.159.121.38 dengan port 80 (atribut yang dimiliki paket tsb)
( y g p )
An abbreviated packet…
Source SrcPort Destination DestPort 204.210.251.1 8104 128.146.2.205 31337 A Cisco packet filter
Packet Filtering Example
18
1. If source IP address = 10.*.*.*, DENY [private IP address range] 2 If source IP address 172 16 * * to 172 31 * * DENY [private IP 2. If source IP address = 172.16.*.* to 172.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.*.*, DENY [firm’s internal address range]
4 4 , [f 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 attack packet], [ f 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 DENY [FTP supervisory control 10. If TCP destination port = 21, DENY [FTP supervisory control
Packet Filtering Example
19
11. If TCP destination port = 23, DENY [Telnet data connection] 12 If TCP destination port 135 through 139 DENY [NetBIOS 12. If TCP destination port = 135 through 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] 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 DENY ALL
Packet Filtering Example
20
y
DENY ALL
{
Last rule
{
Drops any packets not specifically permitted by earlier rules
p
y p
p
y p
y
{In the previous ACL, Rules 8-18 are not needed; Deny all
Packet Filtering
21
y
Kelebihan dari tipe ini adalah mudah untuk di
Kelebihan dari tipe ini adalah mudah untuk di
implementasikan, transparan untuk pemakai,
lebih cepat
y
Kelemahannya :
y
Kelemahannya :
{
Cukup rumitnya untuk menyetting paket yang akan
difilter secara tepat, serta lemah dalam hal authentikasi
M d h j di i k fi
i
{
Mudah terjadi miskonfigurasi
{
Sukar melakukan konfigurasi terhadap protokol yang
dinamis
{
Tidak dapat menangani
content-based filtering (remove
Packet Filtering
22
y
Serangan yang mungkin terjadi
g
y g
g
j
{ IP address spoofing :
Ù intruder (penyusup) dari luar dapat melakukan ini dengan cara
menyertakan/menggunakan ip address jaringan lokal yanbg telah diijinkan untuk melalui firewall
diijinkan untuk melalui firewall.
{ Source routing attacks :
Ù tipe ini tidak menganalisa informasi routing sumber IP, sehingga
memungkinkan untuk membypass firewall.
Ti F k
{ Tiny Fragment attacks :
Ù 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 t k d i f i d i TCP h d P b h
bergantung kepada informasi dari TCP header. Penyerang berharap 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 Level Gateway (Proxy Firewall)
p
y (
y
)
Mekanismenya tidak hanya berdasarkan
23
y
y
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 server yang berfungsi untuk memperkuat/menyalurkan arus 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 maka satu aplikasi semisal FTP untuk mengakses secara 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 dan terhadap aplikasi tersebut yang terdapat pada remote 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 konfigurasikan untuk hanya mendukung beberapa aplikasi saja dan menolak aplikasi lainnya untuk melewati firewall.
Application Level
25
y Kelebihannya :
{ Relatif lebih aman daripada tipe packet filtering router, lebih mudah untuk
memeriksa (audit) dan mendata (log) semua aliran data yang masuk pada level ( ) ( g) y g p 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
kib tk t d t d b h b k k i t k i d t
mengakibatkan terdapat dua buah sambungan koneksi antara pemakai dan gateway, 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 Ù 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
{ Configuration can be complex
Iptables
y
netfilter/iptables terdiri dari 3 tabel: filter, nat, mangle
26
y
Perintah 'iptables' digunakan untuk mengelola,
memaintain, menginspeksi rule-rule IP packet filter
dalam kernel linu
dalam kernel linux.
y
Rule di chain :
1. ACCEPT
1. ACCEPT
Menerima paket dan diproses lebih lanjut oleh kernel.
2. DROP
l k
k
b
h
k l
Menolak paket tanpa pemberitahuan sama sekali.
3. REJECT
Mengembalikan paket ke asalnya dengan pesan
Mengembalikan paket ke asalnya dengan pesan
Tabel Filter
filter:
This is the default table (if no t option is passed)
This is the default table (if no -t option is passed).
It contains the built-in chains INPUT (for
packets destined to local sockets) FORWARD (for
packets destined to local sockets), FORWARD (for
packets being routed through the box), and
OUTPUT (for locally-generated packets).
OU
U (fo oca y ge e a ed pac e s)
Tabel nat
nat:
nat:
This table is consulted when a packet that creates a
new connection is encountered It consists of
new connection is encountered. It consists of
three built-ins: PREROUTING (for altering
packets as soon as they come in) OUTPUT (for
packets as soon as they come in), OUTPUT (for
alteringlocally-generated packets before routing),
and POSTROUTING (for altering packets as they
O
OU
G (f
g p
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 three other built-in chains are also
Since kernel 2.4.18, three other built 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).
Contoh iptables
yUntuk menambah daftar
31
#iptables -A FORWARD -s 192.168.56.100/32 -j DROP
y
Untuk melihat daftar
#i t bl L
#iptables -nL
y
Untuk menghapus daftar
#iptables -D FORWARD -s 192.168.56.100/32 -j DROP
ptab es O W
s 9 . 68.56. 00/3 j O
y
Untuk menghapus semua daftar
#iptables -F
k
bl
y
Untuk menyimpan iptables
#iptables-save
(akan disimpan di /etc/sysconfig/iptables)
(akan disimpan di /etc/sysconfig/iptables)
Contoh iptables
yUntuk mendrop service ssh
i
bl A FORWARD
d
j DROP
32
#iptables -A FORWARD -p tcp --dport 22 -j DROP
y
Untuk mendrop icmp (ping) -> semuanya
#iptables -A FORWARD -p icmp -j DROP
p
p
p j
y
Drop icmp dari jaringan 192.168.56.0
#iptables -A FORWARD -s 192.168.56.0/24 -p icmp -j DROP
y
Drop semuanya kecuali dari IP tertentu
yDrop semuanya kecuali dari IP tertentu
#iptables -A FORWARD -s ! 192.168.56.100 -p icmp -j DROP
y