Jumat, 21 Desember 2012

Firewall dengan IPTables

Definisi 
   

        Firewall adalah sebuah bagian dari sistem komputer atau jaringan yang didesain untuk memblok atau mengijinkan sebuah jaringan lain untuk mengakses jaringan kita. Firewall bisa berbentuk hardware atau software atau pun kombinasi dari keduanya. Firewall digunakan untuk melindungi jaringan kita dari jaringan-jaringan yang berpotensi menimbulkan bahaya ke dalam sistem kita. Seluruh pesan yang masuk atau meninggalkan jaringan kita melalui firewall akan dicek setiap pesan dan memblok setiap pesan yang tidak memenuhi kriteria yang telah kita tetapkan di dalam firewall.


 
Fungsi Firewall

          Fungsi Firewall di dalam jaringan adalah sebagai berikut :

  1. Packet Filtering : memeriksa header dari paket TCP/IP ( tergantung arsitektur jaringannya, dalam contoh ini adalah TCP IP ) dan memutuskan apakah data ini memiliki akses ke jaringan.
  2. Network Address Translation ( NAT ) : biasanya sebuah jaringan memiliki sebuah IP public dan di dalam jaringan sendiri memiliki IP tersendiri. Firewall berfungsi untuk meneruskan paket data dari luar jaringan ke dalam jaringan dengan benar sesuai IP komputer lokal.
  3. Application Proxy : firewall bisa mendeteksi protocol aplikasi tertentu yang lebih spesifik.
  4. Traffic management : mencatat dan memantau trafik jaringan.  
Letak pada Jaringan (LAN & WAN) 


Bila ditinjau dari peran server di kedua tipe jaringan tersebut, maka server di jaringan tipe peer to peer diistilahkan non-dedicated server, karena server tidak berperan sebagai server murni melainkan sekaligus dapat berperan sebagai workstation.



Keunggulan :

  1. Antar komputer dalam jaringan dapat saling berbagi-pakai fasilitas yang dimilikinya seperti: harddisk, drive, fax/modem, printer.
  2. Biaya operasional relatif lebih murah dibandingkan dengan tipe jaringan client-server, salah satunya karena tidak memerlukan adanya server yang memiliki kemampuan khusus untuk mengorganisasikan dan menyediakan fasilitas jaringan.
  3. Kelangsungan kerja jaringan tidak tergantung pada satu server. Sehingga bila salah satu komputer/peer mati atau rusak, jaringan secara keseluruhan tidak akan mengalami gangguan.

Kelemahan :

  1. Troubleshooting jaringan relatif lebih sulit, karena pada jaringan tipe peer to peer setiap komputer dimungkinkan untuk terlibat dalam komunikasi yang ada. Di jaringan client-server, komunikasi adalah antara server dengan workstation.
  2. Sistem keamanan jaringan ditentukan oleh masing-masing user dengan mengatur keamanan masing-masing fasilitas yang dimiliki.
  3. Karena data jaringan tersebar di masing-masing komputer dalam jaringan, maka backup harus dilakukan oleh masing-masing komputer tersebut.
IPTables


Iptables merupakan sebuah aplikasi firewall terbaik yang biasa digunakan oleh para administrator linux. Iptables merupakan aplikasi yang dibuat oleh proyek the netfilter.org.

Sebelum membuat iptables yang berjalan mulai dari linux kernel 2.4.x sampai sekarang, proyek tersebut sudah membuat aplikasi ipchains untuk kernel 2.2.x dan aplikasi ipfwadm untuk kernel 2.0.x. Saat ini, banyak distro-distro besar sudah memaketkan firewall di dalam distro mereka sehingga memudahkan kita untuk menginstal iptables ke dalam sistem kita. Pada tutorial kali ini kita akan menggunakan distro Centos 5.4. Tutorial iptables pada artikel ini hanya menjelaskan tentang dasar-dasar iptables saja dan aplikasi iptables pada jaringan lokal saja.


Alur Paket Data


Membahas prinsip dasar firewall IPTables, mengelola akses internet berdasarkan alamat IP,port aplikasi dan MAC address. Firewall IPTables packet filtering memiliki tiga aturan (policy), yaitu:

·      INPUT
Mengatur paket data yang memasuki firewall dari arah intranet maupun internet. kita bisa mengelolakomputer mana saja yang bisa mengakses firewall.
     misal: hanya komputer IP 192.168.1.100 yang bisa SSHke firewall dan yang lain tidak boleh.
    
    OUTPUT
Mengatur paket data yang keluar dari firewall ke arah intranet maupun internet. Biasanya output tidak diset,karena bisa membatasi kemampuan firewall itu sendiri.

·      FORWARD
Mengatur paket data yang melintasi firewall dari arah internet ke intranet maupun sebaliknya. Policy forward paling banyak dipakai saat ini untuk mengatur koneksi internet berdasarkan port, mac address dan alamat IP Selain aturan (policy) firewall iptables juga mempunyai parameter yang disebut dengan TARGET, yaitu status yang menentukkan koneksi di iptables diizinkan lewat atau tidak. TARGET ada tiga macam yaitu:

1. ACCEPT
Akses diterima dan diizinkan melewati firewall

2. REJECT
Akses ditolak, koneksi dari komputer klien yang melewati firewall langsung terputus, biasanya terdapatpesan “Connection Refused”. Target Reject tidak menghabiskan bandwidth internet karena akses langsung ditolak, hal ini berbeda dengan DROP.

3. DROP
Akses diterima tetapi paket data langsung dibuang oleh kernel, sehingga pengguna tidak mengetahui kalau koneksinya dibatasi oleh firewall, pengguna melihat seakan – akan server yang dihubungi mengalami permasalahan teknis. Pada koneksi internet yang sibuk dengan trafik tinggi Target Drop sebaiknya jangan digunakan.



1. A. Memblok paket yang datang dari sebuah IP
 
       # iptables -I INPUT -s 192.168.0.149 -j REJECT
 
Peritah di atas digunakan untuk memblok paket dari IP 192.168.0.149. Ada 2 opsi yang digunakan sebenarnya yaitu DROP dan REJECT. Perbedaan dari keduanya adalah kalau REJECT, perintah ini akan memblok paket namun akan memberitahukan bahwa paket tersebut ditolak. Sedangkan kalau DROP, perintah ini akan memblok paket namun tidak diberitahu apakah paket tersebut

   B. Memblok paket yang keluar dari sebuah IP
 
      #iptables -A OUTPUT -p tcp -d 192.168.10.2 -j DROP

2. Menutup Port
     
    # iptables -A INPUT -p tcp  --dport 22 -j REJECT
Perintah di atas memblok port 22 yang biasa digunakan untuk ssh
 
    # iptables -A INPUT -p tcp -i eth0 --dport 23 -j REJECT
Perintah di atas memblok port 22 yang biasa digunakan untuk telnet

   # iptables -I INPUT -s 192.168.0.250 -p tcp --dport 23 -j REJECT
Perintah di atas untuk memblok service telnet dari IP 192.168.0.250

3. Membuat Dropped Log file.

    # iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "PORT 80 DROP: " --log-level 7

    # iptables -A INPUT -p tcp --destination-port 80 -j DROP

4. Menghapus iptables
     
     #  iptables -D INPUT 3 
Menghapus iptables pada tabel input di baris ke 3
 
     # iptables -F
Menghapus seluruh iptables
 
    # iptables -F FORWARD



Perintah Iptables


Untuk melihat apakah di dalam sistem kita sudah terinstal paket-paket iptables, ketikkan perintah berikut:

# rpm -qa | grep iptables

Jika memang belum terinstal, ketikkan perintah berikut:

# yum -y install iptables*

Agar iptables dapat berjalan otomatis setelah restart, gunakan perintah:

# chkconfig iptables on

Untuk melihat status iptables, gunakan perintah:

# service iptables status

Untuk menyalakan iptables, gunakan perintah:

# /etc/init.d/iptables start

Untuk mematikan iptables, gunakan perintah:

# /etc/init.d/iptables stop

Untuk merestart iptables, gunakan perintah:

# /etc/init.d/iptables restart 




Sebelum melangkah lebih lanjut, pastikan firewall di sistem kita di enable yaitu dengan cara ketik setup lalu pilih Firewall configuration. Setelah itu, pada bagian Security Level beri tanda bintang pada item Enabled lalu pilih tombol OK.

Squid3 Ubuntu Server 12.04

Pertama
Instal terlebih dahulu squid 3 pada ubuntu server anda, dengan menggunakan perintah:

Sudo apt-get install squid3

Kedua
Setelah proses instalasi selesai masuk ke dalam direktori squid3 dengan menggunakan perintah:

cd /etc/squid3

kemudian lanjutkan dengan perintah mengcopy squid.conf.origin dan ganti namanya dengan squid.conf, adapun perintah yang digunakan yaitu:

cp squid.conf.origin squid.conf

Ketiga
Setelah proses pengcopyan file selesai selanjutnya lakukan konfigurasi di dalam squid.conf tersebut, dengan menggunakan perintah:

sudo nano /etc/squid3/squid.conf

kemudian cari:

http port 3128 
http_access allow localhost 
dan acl localnet src 192.168.0.0/16 
hilangkan tanda # didepannya, jika semuanya telah dihilangkan save dan keluar dari jendela konfigurasi.

Keempat
Jika konfigurasi squid3 telah selesai restart squid3 dengan perintah:

sudo /etc/init.d/squid3 restart

Keelima
Selanjutnya hubungkan komputer clien dengan komputer server dengan menggunakan kartu jaringan 1 buah lagi setting ip pada kedua komputer tersebut dalam 1 kelas ip yang sama.

Keenam
Jika telah selesai tes dengan perintah ping. Pastikan kedua komputer telah terhubung dengan mendapatkan balasan reply. jika telah terhubung ketikkan perintah berikut di komputer server

sudo tail -f /var/log/squid3/access.log

Jika selesai setting proxy pada komputer clien dengan ip yang terdapat pada komputer server dan dengan port 3128 yang di konfigurasi pada squid3 tadi. Jika selesai, lakukan browser pada alamat tertentu pada komputer clien jika konfigurasi benar maka akan alamat tersebut akan tampil pada komputer server.