Kamis, 24 Januari 2013

Pengertian Firewall


Firewall adalah  sebuah sistem atau grup sistem yang menjalankan kontrol akses keamanan diantara jaringan internal yang aman dan jaringan yang untrusted seperti internet.Firewall didesain untuk mengijinkan trusted data atau data yang dipercaya lewat, menolak layanan yang mudah diserang, mencegah jaringan internal dari serangan  luar yang bisa menembus firewall setiap waktu.




Konfigurasi Firewall

Menggunakan IPFW :
IPFW merupakan salah satu pengaturan firewall yang ada di dalam FreeBSD. Setting dan aplikasinya cukup mudah.Dengan IPFW kita dapat mengatur jaringan kita.Kita dapat menolak paket yang masuk dan yang keluar serta kita juga dapat membuat aplikasi NAT dengan menggunakan IPFW. Contoh rule set dari IPFW berada pada directory /etc/rc.firewall. Namun kita juga dapat mensetting sesuai dengan keinginan kita.
Untuk dapat mengaktifkan IPFW diperlukan konfigurasi kernel.
-Compile kernel FreeBSD untuk IPFW
Pastikan IPFW support belum ter-compile pada kernel :
#ipfw list
-Jika anda mendapatkan error seperti berikut ini, maka anda harus meng compile ulang kernel FreeBSD anda.
ipfw: getsockopt(IP_FW_GET): Protocol not available
Opsi lain dengan mengecek file config kernel nya /usr/src/sys/i386/conf dan dari option IPFIREWALL :
# grep IPFIREWALL /usr/src/sys/i386/conf
-Recompile ulang Kernel dengan opsi IPFW
Copy file baru dari default kernel:
# cd /usr/src/sys/i386/conf
# cp GENERIC IPFWKERNEL
-tambahkan dengan option IPFW support :
# mc IPFWKERNEL
options IPFIREWALL  # required for IPFW
options IPFIREWALL_VERBOSE # optional; logging
options IPFIREWALL_VERBOSE_LIMIT=10 # optional; don’t get too many log entries
options IPDIVERT # needed for natd
-simpan dan tutup file tersebut, recompile kernel, tulis perintah berikut ini :
# cd /usr/src
# make buildkernel KERNCONF=IPFWKERNEL
-Install kernel baru tersebut :
# make installkernel KERNCONF=IPFWKERNEL
-Rebootsistemnya :
# reboot
-Langkah 1 :Enabling IPFW Buka file /etc/rc.conf
# mcedit /etc/rc.conf
-tambahkan berikut ini:
firewall_enable=”YES”
firewall_script=”/usr/local/etc/ipfw.rules”
-Simpan dan tutup file.
-Langkah 3 :  Buat Script Firewall Rule Anda buat file ipfw.rule dan letakkan script firewall tersebut pada /usr/local/etc/ipfw.rule :
# mcedit /usr/local/etc/ipfw.rules
-tambahkan contoh perintah berikut :
IPF=”ipfw -q add”
ipfw -q -f flush
#loopback
ipfw add 10 allow all from any to any via lo0
ipfw add 20 deny all from any to 127.0.0.0/8
ipfw add 30 deny all from 127.0.0.0/8 to any
ipfw add 40 deny tcp from any to any frag
# statefull
ipfw add 50 check-state
ipfw add 60 allow tcp from any to any established
ipfw add 70 allow all from any to any out keep-state
ipfw add 80 allow icmp from any to any
# open port ftp (20,21), ssh (22), mail (25)
# http (80), dns (53) etc
ipfw add 110 allow tcp from any to any 21 in
ipfw add 120 allow tcp from any to any 21 out
ipfw add 130 allow tcp from any to any 22 in
ipfw add 140 allow tcp from any to any 22 out
ipfw add 150 allow tcp from any to any 25 in
ipfw add 160 allow tcp from any to any 25 out
ipfw add 170 allow udp from any to any 53 in
ipfw add 175 allow tcp from any to any 53 in
ipfw add 180 allow udp from any to any 53 out
ipfw add 185 allow tcp from any to any 53 out
ipfw add 200 allow tcp from any to any 80 in
ipfw add 210 allow tcp from any to any 80 out
# deny and log everything
ipfw add 500 deny log all from any to any
-Jika kita ingin menambahkan rule IPFW yang baru dapat dilakukan dengan mengetikkan perintah :
# ipfw add (no perintah) (aksi yg diinginkan) from (alamat) to (alamat)
-Untuk menghentikannya:
# ipfw delete (nomor perintah.


 Komponen Sistem Firewall 
Firewall dapat berupa PC, router, midrange, mainframe, UNIX workstation, atau gabungan dari yang tersebut diatas.Firewall dapat terdiri dari satu atau lebih komponen fungsional sebagai berikut :
  - Packet-filtering router
  - Application level gateway (proxy)
  - Circuit level gateway  
Contoh Tipe Firewal
Firewall terdiri dari satu atau lebih elemen software yang berjalan pada satu atau lebih host.
Tipe-tipe firewall adalah  sebagai berikut:
  - Packet-filtering Firewall
  - Dual-homed Gateway Firewall
  - Screened Host Firewall
  - Screened Subnet Firewall 
Packet-filtering Firewall 
 •Terdiri dari sebuah router yang diletakkan diantara jaringan eksternal dan jaringan internal yang aman. 
 •Rule Packet Filtering didefinisikan untuk mengijinkan atau menolak traffic.




Dual-homed Gateway Firewall 

•Dual-home host sedikitnya mempunyai dua interface jaringan dan dua IP address.
•IP forwarding dinonaktifkan pada firewall, akibatnya trafik IP pada kedua interface tersebut kacau di firewall karena tidak ada jalan lain bagi IP melewati firewall kecuali melalui proxy atau SOCKS.
•Serangan yang datang dari layanan yang tidak dikenal akan diblok. 



Screened Host Firewal

•Terdiri dari sebuah packet-filtering router dan application level gateway
•Host berupa application level gateway yang dikenal sebagai “bastion host”
•Terdiri dari dua router packet filtering dan sebuah bastion host




Screened Subnet Firewall 

•Menyediakan tingkat keamanan yang tinggi daripada tipe firewall yang lain
•Membuat DMZ(Demilitarized Zone) diantara jaringan internal dan eksternal,sehingga router luar hanya mengijinkan akses dari luar bastion host ke information server dan router dalam hanya mengijinkan akses dari jaringan internal ke bastion host 
 •Router dikonfigurasi untuk meneruskan semua untrusted traffic ke bastion host dan pada kasus yang sama juga ke information server. 


Konfigurasi Server ipchains

Mengeluarkandua perintahberikut untuk mengaktifkanipchains:

echo 1>/proc/sys/net/ipv4/ip_forward
ipchains-A forward-j MASQ-s 192.168.1.0/24-d 0.0.0.0/0

Baris pertamamemungkinkanip_forwarding, danbaris keduamemberitahu serverjaringan yang akanmemberikanhak istimewainternet
menjadi saham. Dalamcontoh di atassubnet192.168.1. *Diperbolehkanuntuk berbagikoneksiinternet. Gantisubnetdengan Anda. Keduaperintahharus dikeluarkanoleh root. Untuk memulaiipchainspada saat boot, tambahkan sajaduabaris di ataskeakhir file/etc /rc.d/rc.local.


Konfigurasi Client ipchains

Paraklienharus dikonfigurasiuntuk menggunakanipchains. Ada dua langkahpentingyang terlibat.

Mengaturgatewayke alamatIPdariserver.
MengaturnomorDNSke nomorDNSdaripenyedia jasa layanan internet(DNS yang samasebagai server).

Hal ini dapat dilakukandalam berbagaicara yang berbeda, termasuk mengeluarkanperintahdari baris perintah, mengeditfile konfigurasidengan tangan, menggunakanlinuxconf, atau menggunakannetcfg, utilitasRed Hat. Jika Andainginmengeditfiledengan tangan, gatewayterletakdi file/ fileetc /sysconfig/jaringan dannomorDNSharusterdaftardi / etc/resolv.conf.

Contoh / etc/sysconfig/networkfile:
NETWORKING=yes
FORWARD_IPV4=no
HOSTNAME=hostname.domain.net
DOMAINNAME=domain.net
GATEWAY=192.168.1.1
GATEWAYDEVeth0=

Contoh /etc /resolv.conf:
caridomain.com
nameserver207.217.120.92
nameserver207.217.126.91

nameserver207.217.77.90


Konfigurasi IP Tables
Syarat dalam konfigurasi iptables :
iptables -t -A | -I < (PREROUTING;INPUT;FORWARD;OUTPUT;POSTROUTING) > [opsi]
iptables -t -D [opsi]
iptables -t -N | - X | -F [nama chain]
opsinya :
-s [source-ip = ip asal]
-d [destination-ip = ip tujuan]
-p [protokol digunakan untuk proses-proses seperti tcp,icmp,udp,dsb untuk lebih jelasnya bisa dilihat dalam “/etc/protocol” jika menggunakan putty, melihat protokol-protokol yang ada bisa dengan menggunakan “less /etc/services“]
–dport [destination-port = port asal]
–sport [source-port = port tujuan]
-j [jump-target]
untuk nama tabel :
filter digunakan untuk filtering paket
nat digunakan network address translation (mengubah alamat jaringan)
mangle digunakan untuk penandaan paket
untuk perintah :
A –> APPEND (memberikan aturan ke dalam tabel yang dibuat)
I –> INSERT (memasukkan aturan ke dalam tabel yang dibuat)
D –> DELETE (menghapus aturan di dalam tabel yang dibuat)
N –> create NEW chain (membuat chain baru)
X –> delete chain yang dibuat (menghapus chain yang dibuat)
F –> FLUSH (menghapus semua aturan yang ada)
berikut ini adalah rantai built-in (untuk aturan) yang ada di dalam tabel :
1. PREROUTING : paket yang datang sebelum routing/sebelum paket melalui table routing
2. INPUT : paket yang memasuki suatu mesin
3. FORWARD : paket yang melintasi suatu mesin
4. OUTPUT : paket yang keluar dari suatu mesin
5. POSTROUTING : paket setelah routing/setelah paket melalui table routing
untuk tabel filter mempunyai rantai built-in 2,3 dan 4
untuk tabel nat mempunyai rantai built-in 1,3 dan 5
untuk tabel mangle mempunyai keseluruhan rantai built-in, mulai dari 1 sampai 5
-j, –jump target mempunyai opsi yang bisa dilakukan yaitu :
>chain yang dibuat
>DROP
drop semua paket
>ACCEPT
menerima semua paket
>REJECT, –reject-with
menolak semua paket, dengan mengirimkan alasan :
icmp-net-unreachable
icmp-host-unreachable
icmp-port-unreachable
icmp-proto-unreachable
icmp-net-prohibited
icmp-host-prohibited
icmp-admin-prohibited (*)
>MASQUERADE
menutupi alamat asal dengan alamat gateway
>DNAT, –to-destination
destination nat, mempunyai fungsi mentranslasi alamat network tujuan, membelokkan alamat tujuan tetapi hanya mempunyai opsi PREROUTING dan OUTPUT
>SNAT, –to-source
source nat, mempunyai fungsi mentranslasi alamat network asal, membelokkan alamat asal tetapi hanya mempunyai opsi POSTROUTING
>REDIRECT, –to-ports
membelokkan port, dari port mana ke port mana tetapi hanya ada di tabel.
menggunakan chain PREROUTING dan OUTPUT
Contoh :
1. Membelokkan akses SSH dari suatu jaringan ke jaringan/host lainnya
Misal :
Kita mempunyai ip1 yaitu 10.40.7.34 akan dibelokkan ke ip2 yaitu 10.40.7.2 dan diantaranya dipisahkan oleh sebuah router. Maka iptables akan diletakkan di router tersebut dan perintahnya adalah :
iptables -t nat -A PREROUTING -s 10.40.7.34 -p TCP –to-destination 10.40.7.2 -j DNAT
2. Membuat sebuah chain rule baru yang berfungsi untuk mencatat semua koneksi TCP ke jaringan tertentu
Misal :
Jaringan tersebut mempunyai NetID 10.126.73.80/28. Maka perintah untuk soal diatas adalah :
iptables -N chain_baru
iptables -A FORWARD -p TCP -d 10.126.73.80/28 -j chain_baru.

Tidak ada komentar:

Posting Komentar

Pages