Friday, January 26, 2018

Konfigurasi Firewall CSF (Config Server Firewall) pada OS Linux Ubuntu 16.04


Firewall adalah sistem keamanan jaringan komputer yang digunakan untuk melindungi komputer dari beberapa jenis serangan dari komputer luar.

Config Server Firewall (atau CSF) adalah firewall yang bersifat open source untuk sebagian besar distribusi Linux dan VPS berbasis Linux. Selain fungsionalitas dasar dari paket penyaringan firewall - CSF menyertakan fitur keamanan lainnya, seperti deteksi login / intrusion / flood. CSF menyertakan integrasi UI untuk cPanel, DirectAdmin dan Webmin, namun pada percobaan ini hanya mengunakan command line. CSF mampu mengenali banyak serangan, seperti port scan, SYN floods, dan serangan login brute force pada banyak layanan.



Config Server Firewall (CSF) menawarkan berbagai macam perlindungan untuk VPS.

1. Login authentication failure daemon
CSF memeriksa log untuk usaha login yang gagal pada interval waktu reguler, dan dapat mengenali sebagian besar percobaan login yang gagal untuk mendapatkan akses ke server cloud. Selain itu, kita dapat menentukan file login sendiri dengan pencocokan ekspresi reguler. Hal dapat membantu jika kita memiliki aplikasi yang kemudian ada log gagal masuk, dan akan memblokir pengguna setelah gagal masuk mencapai jumlah yang ditentukan.

2. Process tracking
CSF dapat dikonfigurasi untuk melacak proses untuk mendeteksi proses yang mencurigakan dan mengirim email ke administrator sistem jika terdeteksi.

3. Directory watching
Pantauan direktori akan memantau apabila terdapat script atau folder yang mencurigakan dan akan mengirim email ke administrator sistem saat terdeteksi.

4. Messenger service
Fitur ini memungkinkan CSF mengirim pesan yang lebih informatif ke client saat sebuah pemblokiran diterapkan. Fitur ini memiliki keuntungan dan kerugian. Di satu sisi, memungkinkan untuk memberikan lebih banyak informasi kepada klien. Di sisi lain, memberikan lebih banyak informasi, yang mungkin akan mempermudah penyerang untuk menyerang VPS kita.

5. Flood protection
Pengaturan ini memberikan perlindungan terhadap serangan flood, seperti serangan DDoS. Kita dapat menentukan jumlah koneksi yang diizinkan pada setiap port dalam jangka waktu yang diinginkan.

6. Port knocking
Port knocking memungkinkan client untuk membuat koneksi server tanpa menggunakan port terbuka. Server akan menghubungkan klien ke port utama setelah urutan knock port yang berhasil.

7. Connection limit protection
Fitur ini bisa digunakan untuk membatasi jumlah koneksi yang aktif dari alamat IP pada masing-masing port.

8. Port/IP address redirection
CSF dapat dikonfigurasi untuk mengalihkan koneksi dari IP / port ke IP / port yang lain. Setelah pengalihan, alamat sumber klien akan menjadi alamat IP server.

9. UI integration
CSF juga menawarkan integrasi UI untuk cPanel dan Webmin selain interface dari command line.

10. IP block list
Fitur ini memungkinkan CSF mendownload daftar alamat IP yang diblokir secara otomatis.



Cara menginstall Config Server Firewall (CSF)

1. Download CSF

CSF merupakan aplikasi pihak ketiga yang tidak akan ada pada saat penginstallan system operasi linux Ubuntu, sehingga dibutuhkan untuk mendownload agar dapat menggunakan CSF ini. CSF dapat didownload dari website ConfigServer dengan melalui console terminal, download CSF dapat dilakukan dengan memasukkan perintah ke dalam console terminal :

wget http://download.configserver.com/csf.tgz


Kemudian tekan enter, jika berhasil, maka akan muncul pesan pada console terminal seperti di bawah ini.




2. Meng-ekstrak CSF

Hasil download yang dilakukan pada lankah sebelumnya merupakan file .tar dan harus di ekstrak agar dapat di install. Untuk meng-ekstraknya masukkan perintah pada console terminal :

tar -xzf csf.tgz


Kemudian tekan enter, jika berhasil, maka akan muncul pesan pada console terminal seperti di bawah ini.



3. Install CSF


Untuk menginstall CSF, sebelumnya harus masuk ke dalam direktori csf dengan perintah :

cd csf

setelah itu masukkan perintah pada console terminal :


sh install.sh


Kemudian tekan enter, jika berhasil, maka akan muncul pesan yang menandakan install berhasil pada console terminal seperti di bawah ini.



4. Pengecekan Module

Ini adalah langkah opsional yang dapat dilakukan untuk mengecek apakah seluruh module telah terinstall dengan baik. Pengecekan dapat dilakukan dengan memasukkan perintah ke dalam console terminal :

perl /usr/local/csf/bin/csftest.pl


Kemudian tekan enter, jika berhasil, maka akan muncul pesan yang menandakan bahwa seluruh module telah OK terinstall pada console terminal seperti di bawah ini.



5. Konfigurasi CSF

CSF dapat dikonfigurasi melalui script yang dapat diakses dengan memasukkan perintah :

nano /etc/csf/csf.conf


Tekan enter, maka pada awal akan muncul seperti tampilan di bawah ini.



6. Konfigurasi Port


Semakin sedikit akses yang ada pada VPS, maka akan semakin aman server. Namun, tidak semua port bisa ditutup karena client harus bisa menggunakan layanan server. Konfigurasi port pertama kali akan terlihat seperti ini.

TCP_IN      = "20,21,22,25,53,80,110,143,443,465,587,993,995"
TCP_OUT  = "20,21,22,25,53,80,110,113,443"
UDP_IN     = "20,21,53"
UDP_OUT = "20,21,53,113,123"


Layanan open ports :
  •         Port 20: FTP data transfer
  •         Port 21: FTP control
  •          Port 22: Secure shell (SSH)
  •          Port 25: Simple mail transfer protocol (SMTP)
  •          Port 53: Domain name system (DNS)
  •          Port 80: Hypertext transfer protocol (HTTP)
  •          Port 110: Post office protocol v3 (POP3)
  •          Port 113: Authentication service/identification protocol
  •          Port 123: Network time protocol (NTP)
  •          Port 143: Internet message access protocol (IMAP)
  •          Port 443: Hypertext transfer protocol over SSL/TLS (HTTPS)
  •          Port 465: URL Rendesvous Directory for SSM (Cisco)
  •          Port 587: E-mail message submission (SMTP)
  •          Port 993: Internet message access protocol over SSL (IMAPS)
  •          Port 995: Post office protocol 3 over TLS/SSL (POP3S)

Kita dapat menggunakan port mana saja yang dibutuhkan, sehingga kita dapat mematikan port-port yang tidak digunakan.


Berikut ini adalah konfigurasi port yang harus digunakan ketika ingin memakai server :

a. Server apa saja
  • TCP_IN: 22,53
  • TCP_OUT: 22,53,80,113,443
  • UPD_IN: 53
  • UPD_OUT: 53,113,123

b. Apache
  • TCP_IN: 80,443
  • FTP server
  • TCP_IN: 20,21
  • TCP_OUT: 20,21
  • UPD_IN: 20,21
  • UPD_OUT:20,21

c. Mail server
  • TCP_IN: 25,110,143,587,993,995
  • TCP_OUT: 25,110

d. MySQL server (membutuhkan izin akses)
  • TCP_IN: 3306
  • TCP_OUT: 3306



Jika kita mengunakan IPv6, maka kita juga harus melakukan konfigurasi yang sama pada TCP6_IN, TCP6_OUT, UPD6_IN, and UPD6_OUT.

Setelah melakukan konfigurasi port, maka simpan dengan menekan Ctrl+O untuk menyimpan konfigurasi dan tekan Ctrl+Z untuk keluar dari editor. Terapkan konfigurasi yang telah disimpan dengan memasukkan perintah pada console terminal :


csf –r




Jika semua telah berjalan baik dan dapat mengakses server, maka langkah selanjutnya mematikan testing dengan masuk ke dalam editor dengan memasukkan perintah :

nano /etc/csf/csf.conf


Ubah konfigurasi TESTING yang terdapat pada awal file dengan 0 seperti di bawah ini.
















Simpan file tersebut, dan lakukan penerapan sekali lagi dengan perintah


csf -r

7. Blokir IP


Jika ingin memblokir suatu IP, masuk ke dalam file deny dengan perintah :


nano /etc/csf/csf.deny





Maka akan terlihat tampilan awal seperti di bawah ini.





























Lakukan pemblokiran dengan memasukkan IP Address dan range jika ada, seperti contoh di bawah ini melakukan pemblokiran dua buah IP





























8. Pengizinan IP (Allow IP)

Jika ingin mengizinkan suatu IP, masuk ke dalam file allow dengan perintah :

nano /etc/csf/csf.allow





Maka akan terlihat tampilan awal seperti di bawah ini.





























Lakukan pengizinan dengan memasukkan IP Address dan range jika ada, seperti contoh di bawah ini melakukan pemblokiran sebuah IP.





















9. Ignoring IP

CSF juga memiliki kemampuan untuk mengecualikan alamat IP dari filter firewall. Alamat IP di csf.ignore akan melewati filter firewall, dan hanya dapat diblokir jika tercantum dalam file csf.deny.
Untuk masuk ke dalam file ignore, masukkan perintah ke dalam console terminal :

nano /etc/csf/csf.ignore




Tekan enter, maka akan terlihat tampilan awal seperti di bawah ini.






























IP Address dari computer kita akan langsung tercantum dalam daftar IP ignore.



Kesimpulan :


Firewall merupakan filter yang dapat mencegah apabila terdapat akses yang tidak diinginkan. Pada firewall yang menggunakan CSF, dapat melakukan pencegahan dengan menggunakan allow, deny, maupun ignore terhadap IP Address yang ingin melakukan akses ke dalam network. 


No comments:

Post a Comment