Pages

Selasa, 23 Januari 2018

Konfigurasi Firewall dan Proxy pada CentOS


Pendahuluan

     sebelum mengetahui cara konfigurasi Firewall / Proxy pada CentOS, yuk kita mengenal dulu sedikit penjelasan mengenai firewall dan Proxy. secara garis beras firewall berguna untuk mengontrol data dan melindungi keamanan jaringan, sedangkan proxy sendiri adalah pidak ketiga yang berfungsi sebagai penghubung antara client kepada server lain yang berada diinternet. untuk lebih jelasnya langsung liat ajh yuk penjelasan masing-masing :

Pengertian Firewall
     
    Firewall adalah jenis alat keamanan jaringan yang mengendalikan lalu lintas jaringan masuk dan keluar sesuai dengan aturan yang telah ditetapkan sebelumnya. Kita bisa menggunakan firewall dan langkah-langkah keamanan lainnya untuk melindungi server kita dari serangan dan serangan hacker.
     Pendeknya Firewall adalah sebuah sistem yang dirancang untuk membatasi atau mengatur akses dari dan ke jaringan lokal atau sistem komputer.firewall disini bisa berupa hardware dan software atau gabungan dari keduanya.

Cara kerja Firewall

     Firewall bekerja memfilter data berdasar model pembagian layer TCP/IP dan OSI . tiap jenis firewall beroperasi membaca paket data danmemfilternya dilevel layer yang berbeda.maka dari itu kamu perlu tau pembagian layer TCP/IP dan OSI sebagai modal memahami pemffilteran paket data dalam jaringan . Layer terendah yang bisa digunakan firewall untuk memfilter paker data adalah layer 3 (Network /Internet Protocol [IP]) firewall akan menggunakan informasi IP header yang ada disetiap paket utnuk menentukan apakah paket akan diijinkan/diblock.


     Ketika komputer saling berkomunikasi ,komputer akan menggunakan IP address sebagai identitas agar saling mengenal,membentuk session, menggunakan protokol tertentu sesuai kebutuhan dan menggunakan port number tertentu  sebagai jalan pertukaran data. kedua komputer akan membentuk sesi dan mulai saling berkomunikasi dengan mengirim dan menerima data.
Fungi Firewall
     Banyak sekali fungsi dari firewall bergantung dari jenis dan tujuan firewall dibuat.Disini akan dijelaskan secara umum fungsi firewall yang sering digunakan dalam dunia IT
  • Mengatur Remote Login
  • Menyembunyikan Resource jaringan local intranet
  • Menangkal serangan aktiv dari internet
  • Membatasi akses internet
Pengertian Proxy

       Proxy Server merupakan sebuah server yang ditaruh diantara sebuah aplikasi klien dan aplikasi server yang dihubungi. Sebuah aplikasi klien bisa berupa browser web, FTP klien, dan lainnya. Sedangkan aplikasi server bisa berupa sebuah server web, server FTP dan lainnya. Proxy Server yang ditaruh di antara aplikasi klien dan aplikasi server tersebut, dapat digunakan untuk mengendalikan maupun memonitor terhadap lalu-lintas paket data yang melewatinya.

Cara kerja Proxy server

     Sebenarnya prinsip kerja proxy server sangatlah sederhana, saat user menggunakan layanan suatu proxy lalu meminta file atau data yang terdapat di public server (internet) maka proxy akan meneruskannya ke internet jadi seolah-olah proxy tersebut yang memintanya. Dan saat proxy server telah mendapatkan apa yang diminta oleh user, proxy akan memberikan respon kepada user jadi seolah-olah dialah public servernya.

Fungsi proxy
Berikut di bawah ini adalah beberapa fungsi proxy:
1. Fungsi conecting sharing
    Salah satu fungsi proxy adalah sebagai connecting sharing yaitu sebagai penghubung atau perantara pengambilan data dari suatu alamat IP dan diantarkan ke alamat IP lainnya ataupun kepada IP komputer user.
2. Fungsi filtering
     Terdapat beberapa proxy yang dilengkapi dengan firewall yang dapat memblokir beberapa atau sebuah alamat IP yang tidak diinginkan, sehingga beberapa website tidak dapat diakses dengan memakai proxy tersebut. Itulah salah satu fungsi dari proxy sebagai filtering. 
3. Fungsi caching
   Dan fungsi proxy yang lainnya yaitu sebagai fungsi caching, disini maksudnya proxy juga dilengkapi dengan media penyimpanan data dari suatu web, dari query ataupun permintaan akses user. Misalnya permintaan untuk mengakses suatu web dapat lebih cepat jika telah ada permintaan akses ke suatu web pada pemakai proxy sebelumnya. Itulah fungsi proxy sebagai chacing.

Konfigurasi Firewall
     pada konfigurasi firewall kali ini kita menggunakan iptables, Jika Anda menggunakan CentOS 7, Anda harus melihat konfigurasi firewalld, yang menggabungkan fungsionalitas iptables dan ip6tables, meskipun mungkin masih menggunakan iptables sama saja.
Ikuti Langkah-langkah dibawah ini :
    Pada CentOS dan varian Red Hat lainnya iptables sering hadir dengan beberapa peraturan yang telah dikonfigurasikan, periksa peraturan iptable saat ini dengan menggunakan perintah berikut :
sudo iptables -L
    Ini akan mencetak daftar tiga rantai, input , forward dan output , seperti contoh tabel kosong contoh output di bawah ini.
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
 
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
 
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
      Chain menunjukkan lalu lintas mana aturan di setiap daftar akan diterapkan, input untuk koneksi apa pun yang datang ke server awan Anda, output adalah lalu lintas yang tertinggal dan forward untuk melewati semua. Setiap rantai juga memiliki pengaturan policy yang menentukan bagaimana lalu lintas ditangani jika tidak sesuai dengan aturan tertentu, secara default sudah diatur untuk accept .
Menambahkan Aturan
     Firewall biasanya dapat dikonfigurasi dengan salah satu dari dua cara, baik menetapkan aturan default untuk menerima lalu memblokir lalu lintas yang tidak diinginkan dengan aturan tertentu, atau dengan menggunakan aturan untuk menentukan lalu lintas yang diizinkan dan memblokir hal lainnya. Yang terakhir ini sering merupakan pendekatan yang disarankan, karena memungkinkan lalu lintas yang menghalangi secara pre-emptively, daripada harus secara sadar menolak koneksi yang seharusnya tidak mencoba mengakses server awan Anda.
     Untuk mulai menggunakan iptables, Anda harus terlebih dahulu menambahkan aturan untuk lalu lintas masuk yang diizinkan untuk layanan yang Anda butuhkan. Iptables dapat melacak keadaan koneksi, jadi gunakan perintah di bawah ini untuk memungkinkan koneksi yang dapat terus berlanjut.
sudo iptables -A INPUT -m conntrack --kststate ESTABLISHED, RELATED -j ACCEPT
     Anda dapat memeriksa bahwa aturan itu ditambahkan dengan menggunakan sudo iptables yang sama -L seperti sebelumnya. Selanjutnya, biarkan lalu lintas ke port tertentu untuk mengaktifkan koneksi SSH dengan yang berikut
sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
      ssh di perintah menterjemahkan ke nomor port 22, yang menggunakan protokol secara default. Struktur perintah yang sama dapat digunakan untuk memungkinkan lalu lintas ke port lain juga. Untuk mengaktifkan akses ke server web HTTP, gunakan perintah berikut
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT     
     Setelah menambahkan semua aturan yang diizinkan yang Anda butuhkan, ubah kebijakan masukan agar terhapus.
sudo iptables -P INPUT DROP
     Sekarang jika Anda me-restart server Anda semua konfigurasi iptables ini akan dihapus. Untuk mencegah hal ini, simpan aturan ke file.
sudo iptables-save> / etc / sysconfig / iptables
   itulah langkah-langkah konfigurasi firewall menggunakan iptables yang berguna untuk mengijinkan dan menghapus lalu lintas jaringan.
Konfigurasi Proxy
     pada konfigurasi kali ini saya menggunakan proxy squid yang proxy digunakan oleh berbagai organisasi dan penyedia internet untuk mengurangi bandwidth dan untuk meningkatkan response time.
Langkah 1: Menentukan layanan dan port yang digunakan pada server Anda
     Saya berasumsi bahwa server ini hanya akan meng-host blog WordPress, dan tidak akan digunakan sebagai router atau menyediakan layanan lainnya (misalnya, surat, FTP, IRC, dll.).
     Di sini, kita membutuhkan layanan berikut:
  • HTTP (TCP pada port 80)
  • HTTPS (TCP pada port 443)
  • SSH (TCP pada port 22 secara default, dapat diubah untuk tujuan keamanan)
  • NTP (UDP di port 123)
  • DNS (TCP dan UDP pada port 53)
  • ping (ICMP)
    Semua port lain yang tidak perlu akan diblokir.
Langkah 2: Mengkonfigurasi aturan iptables
     Iptables mengendalikan lalu lintas dengan daftar aturan. Ketika paket jaringan dikirim ke server kami, iptables akan memeriksa mereka dengan menggunakan setiap aturan secara berurutan dan melakukan tindakan yang sesuai. Jika aturan dipenuhi, aturan lainnya akan diabaikan. Jika tidak ada aturan yang terpenuhi, iptables akan menggunakan kebijakan default.
     Semua lalu lintas bisa dikategorikan sebagai INPUT, OUTPUT, dan FORWARD.
  • Lalu lintas INPUT bisa jadi normal atau berbahaya, harus diijinkan selektif.
  • Lalu lintas OUTPUT biasanya dianggap aman dan harus diizinkan.
  • Lalu lintas FORWARD tidak berguna dan harus diblokir.
     Sekarang, mari kita atur aturan iptables sesuai kebutuhan kita. Semua perintah berikut harus dimasukkan dari terminal SSH Anda sebagai root.
     Periksa peraturan yang ada:
iptables -L -n
     Siram semua peraturan yang ada:
iptables -F; iptables -X; iptables -Z
     Karena perubahan pada konfigurasi iptables akan segera berlaku, jika Anda salah mengonfigurasi aturan iptables, Anda mungkin tersingkir dari server Anda. Anda dapat mencegah pemblokiran yang tidak disengaja dengan perintah berikut. Ingatlah untuk mengganti [Your-IP-Address]dengan alamat IP publik atau alamat IP Anda sendiri (misalnya, 201.55.119.43 atau 201.55.119.0/24).
iptables -A INPUT -s [Your-IP-Address] -p tcp --dport 22 -j ACCEPT
     Biarkan semua loopback (lo) lalu lintas dan jatuhkan semua lalu lintas ke 127.0.0.0/8 selain lo:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -d 127.0.0.0/8 -j REJECT
     Blokir beberapa serangan umum:
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
     Terimalah semua koneksi inbound yang terjalin:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
     Izinkan lalu lintas masuk HTTP dan HTTPS:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
     Izinkan koneksi SSH:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
     Izinkan koneksi NTP:
iptables -A INPUT -p udp --dport 123 -j ACCEPT
     Izinkan keluar DNS:
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
     Izinkan ping:
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
     Akhirnya, tetapkan kebijakan default:
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
Langkah 3: Simpan konfigurasi
     Setiap perubahan yang kami buat di atas telah diterapkan, namun tidak permanen. Jika kita tidak menyimpannya ke hard disk, mereka akan hilang begitu sistem di-reboot.
     Simpan konfigurasi iptables dengan perintah berikut:
service iptables save
     Perubahan kami akan disimpan dalam file /etc/sysconfig/iptables. Anda dapat meninjau atau memodifikasi aturan dengan mengedit file tersebut.
#catatan
  • Jika Anda belum menyimpan peraturan modifikasi iptables Anda, Anda dapat me-restart server Anda dari antarmuka situs Vultr, maka perubahan Anda akan terjatuh.
  • Jika Anda telah menyimpan perubahan Anda, Anda dapat masuk ke server Anda melalui konsol dari antarmuka situs Vultr, dan memasukkan iptables -Fsemua aturan iptables. Kemudian Anda bisa mengatur peraturan lagi.