Dalam artikel ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi firewall CSF pada VPS Debian 9, serta melalui beberapa tips tentang cara menggunakan CSF.
ConfigServer Security &Firewall (CSF) adalah alat manajemen firewall gratis dan canggih berdasarkan iptables. CSF memberikan tingkat keamanan yang tinggi di server Anda dan sangat mudah, sehingga mudah untuk diatur dan diinstal pada semua distribusi Linux yang didukung. Kami akan menggunakan Debian 9 yang merupakan salah satu distribusi Linux yang didukung. CSF memiliki banyak fitur hebat seperti pemindaian port, banjir SYN, dan serangan brute force untuk banyak layanan yang dapat membantu Anda melindungi server Anda. Salah satu fitur yang sangat bagus di CSF adalah ia menyediakan UI web bawaan untuk mengelola firewall dari browser web. Integrasi UI ini didukung oleh cPanel, DirectAdmin, serta bekerja secara independen di server Anda.
Instalasi CSF juga dilengkapi dengan layanan lain yang disebut Login Failure Daemon (LFD). LFD sebenarnya adalah proses yang memantau file log dan mengirimkan pemberitahuan email berdasarkan aturan konfigurasi CSF. Mari kita mulai dengan penginstalan.
Langkah 1:Hubungkan ke server Anda
Sebelum kita mulai, Anda harus terhubung ke server Anda melalui SSH sebagai pengguna root. Atau, Anda dapat menggunakan akun pengguna dengan hak sudo jika Anda tidak memiliki akses ke pengguna root. Untuk melakukannya, gunakan perintah berikut:
ssh root@IP_Address -p Port_Number
tentu saja, Anda harus mengganti IP_Address
dan Port_Number
dengan alamat IP server Anda yang sebenarnya dan nomor port SSH.
Setelah masuk, pastikan server Anda mutakhir dengan menjalankan perintah berikut:
apt updateapt upgrade
Langkah 2:Instal CSF/LFD
Setelah Anda berhasil memperbarui server, Anda dapat menjalankan perintah berikut untuk mengubah direktori saat ini ke /opt, mengunduh kode sumber CSF terbaru, dan membongkarnya ke direktori yang sama.
cd /opt/wget http://download.configserver.com/csf.tgztar xzf csf.tgz
Sebelum melanjutkan instalasi, pastikan Anda tidak menggunakan firewall lain seperti UFW. Dua perintah berikut akan mengubah direktori menjadi /opt/csf/ dan menjalankan skrip instalasi.
cd /opt/csfsh install.sh
Instalasi firewall selesai, tetapi yang terbaik adalah memeriksa apakah modul iptables tersedia yang diperlukan untuk berfungsi dengan baik di CSF. Anda dapat melakukannya dengan perintah:
perl /usr/local/csf/bin/csftest.pl
Keluaran:
Pengujian ip_tables/iptable_filter...OKPengujian ipt_LOG...OKPengujian ipt_multiport/xt_multiport...OKPengujian ipt_REJECT...OKPengujian ipt_state/xt_state...OKPengujian ipt_limit/xt_limit...OKPengujian ipt_state/xt_state...OKPengujian ipt_limit/xt_limit...OKPengujian ipt_recent... .OKTesting ipt_owner/xt_owner...OKTesting iptable_nat/ipt_REDIRECT...OKTesting iptable_nat/ipt_DNAT...OKRESULT:csf seharusnya berfungsi di server ini
Jika tidak ada kesalahan fatal yang dilaporkan dari pengujian Anda, firewall CSF akan bekerja dengan baik.
Langkah 3:Konfigurasi Dasar
Jika Anda ingin mengkonfigurasi firewall CSF, Anda perlu mengedit file konfigurasi 'csf.conf'. Dalam tutorial ini, kami akan menggunakan nano sebagai editor kami, tetapi Anda dapat dengan bebas menggunakan editor favorit Anda untuk mengedit file konfigurasi.
nano /etc/csf/csf.conf
Hal pertama yang perlu kita periksa di file konfigurasi adalah port yang terbuka di server Anda. Biasanya, secara default, port yang paling umum digunakan sudah terbuka, tetapi terkadang kita perlu membuka port tertentu di server. Daftar berikut adalah port default yang dibuka oleh CSF:
# Izinkan port TCP masukTCP_IN ="20,21,22,25,53,80,110,143,443,465,587,993,995"# Izinkan port TCP keluarTCP_OUT ="20,21,22,25,53,80,110,113,43,587,993,995"# Izinkan port UDP masukUDP_IN ="20, 21,53"# Izinkan port UDP keluar# Untuk mengizinkan traceroute keluar tambahkan 33434:33523 ke daftar iniUDP_OUT ="20,21,53,113,123"
Jika beberapa layanan terdaftar default tidak digunakan di server Anda, praktik terbaik adalah menutupnya. Semakin sedikit akses ke port di server Anda, semakin baik keamanan server Anda.
CSF menawarkan banyak opsi berbeda dalam file konfigurasi. Namun kami hanya akan membahas beberapa setelan yang paling umum digunakan.
ICMP_IN – Opsi ini untuk mengontrol ketersediaan server Anda dari PING. Secara default, pengaturan ini diatur ke 1 sehingga dapat mengizinkan semua permintaan PING yang masuk. Jika Anda memilih untuk menonaktifkan opsi ini, Anda tidak akan dapat menggunakan sistem pemantauan eksternal.
ABAIKAN_PERBOLEHKAN – Jika Anda mengaktifkan opsi ini, LFD akan mengabaikan semua alamat IP yang tercantum di csf.allow
mengajukan. Opsi ini dapat berguna jika Anda menggunakan alamat IP statis di rumah atau di kantor Anda dan Anda dapat yakin bahwa alamat IP ini tidak akan pernah diblokir dari firewall server.
SINFLOOD , SUNFLOOD_RATE dan SYNFLOOD_BURST – Opsi ini harus digunakan hanya jika server Anda berada di bawah serangan banjir SYN. Harap perhatikan bahwa tidak disarankan untuk mengaktifkan opsi ini karena akan memperlambat server Anda secara signifikan, dan beberapa pengunjung mungkin mengalami masalah koneksi.
LF_ALERT_TO dan LF_ALERT_FROM – Di sinilah Anda menentukan alamat email yang ingin Anda gunakan untuk peringatan.
UJI – Secara default, TESTING diatur ke 1. Ini berarti bahwa CSF mengaktifkan pekerjaan CRON yang menghapus konfigurasi iptables Anda jika terjadi masalah konfigurasi saat Anda memulai CSF. Ini adalah tindakan pencegahan yang akan membantu Anda menghindari terkunci dari server Anda. Setelah Anda benar-benar yakin bahwa semua pengaturan baik-baik saja, Anda dapat menyetel nilainya ke nol yang akan mengaktifkan layanan LFD.
Setelah Anda menentukan semua pengaturan yang Anda inginkan, Anda dapat menyimpan file konfigurasi dan memulai ulang serta mengaktifkan layanan CSF dan LFD, yang menyebabkannya dimulai secara otomatis saat boot.
systemctl restart csfsystemctl aktifkan csfsystemctl restart lfdsystemctl aktifkan lfd
Langkah 4:Pemberitahuan CSF/LFD
Salah satu dari banyak opsi CSF LFD adalah berbagai notifikasi yang dapat membantu Anda memantau peristiwa di server Anda. Di bagian artikel ini, kami akan menunjukkan cara mengaktifkan atau menonaktifkan beberapa notifikasi ini.
Kami akan mulai dengan peringatan integritas sistem yang memeriksa perubahan dalam file sistem tertentu. Notifikasi ini membantu mendeteksi file yang disusupi, tetapi Anda juga akan menerima email saat perubahan dilakukan dengan pembaruan sistem yang sah.
Anda dapat meninggalkan jenis pemberitahuan ini jika Anda ingin melacak perubahan yang dibuat pada sistem Anda. Jika Anda telah memutuskan untuk tidak menerima pemberitahuan ini, Anda dapat menonaktifkannya dengan mencari LF_INTEGRITY parameter dalam file csf.conf dan atur nilainya menjadi 0, atau Anda dapat menjalankan perintah berikut:
sed -i 's/LF_INTEGRITY ="3600"/LF_INTEGRITY ="0"/g' /etc/csf/csf.conf
Jenis pemberitahuan kedua yang ingin kami bicarakan adalah peringatan penggunaan sumber daya yang berlebihan. Jenis pemberitahuan ini mungkin yang paling umum. LFD memiliki fitur yang dapat memantau proses yang berjalan di server Anda dan mengirimi Anda email jika mereka menggunakan terlalu banyak sumber daya. Tujuan pemberitahuan ini adalah untuk melacak proses paling intensif yang dapat menyebabkan masalah pemuatan di server. Jika Anda telah memutuskan untuk tidak menerima pemberitahuan ini, Anda dapat menonaktifkannya dengan mencari PT_USERMEM dan PT_USERTIME parameter dalam file csf.conf dan atur nilainya ke 0 atau Anda dapat menjalankan perintah berikut:
sed -i 's/PT_USERTIME ="1800"/PT_USERTIME ="0"/g' /etc/csf/csf.confsed -i 's/PT_USERMEM ="512"/PT_USERMEM ="0"/g' /etc/csf/csf.conf
Opsi Pelacakan Proses memeriksa file yang dapat dieksekusi yang mencurigakan atau port jaringan yang terbuka di server Anda. Pemberitahuan ini membantu mendeteksi proses yang berpotensi eksploitatif, bahkan jika proses ini muncul sebagai layanan sistem. Jika Anda telah memutuskan untuk tidak menerima pemberitahuan ini, Anda dapat menonaktifkannya dengan mencari PT_LIMIT parameter di file csf.conf dan atur nilainya ke 0 atau Anda bisa menjalankan perintah SSH berikut:
sed -i 's/PT_LIMIT ="60"/PT_LIMIT ="0"/g' /etc/csf/csf.conf
Jenis notifikasi terakhir yang akan kami bahas dalam artikel ini adalah notifikasi tentang blok IP.
CSF/LFD memiliki kekuatan untuk memblokir alamat IP karena alasan tertentu. Setiap kali sistem memblokir alamat IP, Anda akan diberi tahu melalui email yang berisi alamat IP yang diblokir dan alasan pemblokirannya. Jika Anda ingin mengelola jenis pemberitahuan ini, Anda dapat membuka file csf.conf dan menemukan opsi berikut:
LF_EMAIL_ALERT – Kirim peringatan email jika alamat IP diblokir oleh salah satu pemicu [*]
LF_PERMBLOCK_ALERT – Jika alamat IP diblokir lebih dari beberapa kali (untuk mengonfigurasi, gunakan LF_PERMBLOCK_COUNT ) maka opsi ini akan mengirimkan email pemberitahuan ketika alamat IP diblokir secara permanen.
LF_NETBLOCK_ALERT – Jika kelas jaringan IP diblokir, Anda akan menerima pemberitahuan email.
LF_DISFTP_ALERT – Jika LF_DISFTP dipicu, Anda akan menerima pemberitahuan email dengan alamat IP yang telah diblokir dengan alasan terlibat dalam serangan terdistribusi FTP.
LF_DISTSMTP_ALERT – Jika LF_DISTSMTP dipicu, Anda akan menerima pemberitahuan email dengan alamat IP yang telah diblokir dengan alasan terlibat dalam serangan terdistribusi SMTP.
LT_EMAIL_ALERT – Jika akun melebihi jumlah login harian per alamat IP, maka Anda akan menerima email peringatan.
CT_EMAIL_ALERT – Jika alamat IP diblokir karena pelacakan konektivitas, maka Anda akan menerima peringatan email. Jenis lansiran email ini dipicu oleh CT_LIMIT fitur. CT_LIMIT opsi ini dimaksudkan untuk melindungi server Anda dari serangan DOS.
Jika Anda memilih untuk tidak menerima pemberitahuan ini, Anda dapat mematikannya dengan mencarinya di file csf.conf dan menyetel nilainya ke 0, atau Anda cukup menjalankan perintah berikut:
sed -i 's/LF_EMAIL_ALERT ="1"/LF_EMAIL_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/LF_PERMBLOCK_ALERT ="1"/LF_PERMBLOCK_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/LF_NETBLOCK_ALERT ="1"/LF_NETBLOCK_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/LF_DISTFTP_ALERT ="1"/LF_DISTFTP_ALERT ="0 "/g' /etc/csf/csf.confsed -i 's/LF_DISTSMTP_ALERT ="1"/LF_DISTSMTP_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/LT_EMAIL_ALERT ="1"/ LT_EMAIL_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/CT_EMAIL_ALERT ="1"/CT_EMAIL_ALERT ="0"/g' /etc/csf/csf.conf
Setelah perubahan dibuat, Anda perlu memulai ulang CSF dan LFD menggunakan perintah systemctl berikut:
systemctl restart csf systemctl restart lfd
Langkah 5:Kelola CSF dari Baris Perintah
Anda dapat mengelola CSF dari baris perintah atau melalui Antarmuka Pengguna Web bawaan. Di bagian tutorial ini, kami akan membuat daftar singkat perintah berguna yang dapat membantu Anda mengelola CSF dari baris perintah Anda.
Mulai, Berhenti, dan Mulai Ulang/Muat Ulang CSF:
csf -s :Mulai csf
csf -f :Hentikan csf
csf -r :Muat ulang/Mulai ulang csf
Izinkan IP dan tambahkan ke csf.allow (Masukkan IP ke Daftar Putih):
csf -a 123.45.67.89
Keluaran:
Menambahkan 123.45.67.89 ke csf.allow dan iptables ACCEPT...ACCEPT all opt -- in !lo out * 123.45.67.89 -> 0.0.0.0/0 ACCEPT all opt -- in * out !lo 0.0.0.0 /0 -> 123.45.67.89
Hapus dan hapus IP dari csf.allow:
csf -ar 123.45.67.89
Keluaran:
Menghapus aturan...TERIMA semua keikutsertaan -- masuk !lo keluar * 123.45.67.89 -> 0.0.0.0/0 TERIMA semua keikutsertaan -- masuk * keluar !lo 0.0.0.0/0 -> 123.45.67.89Tolak IP dan tambahkan ke csf.deny (Daftar Hitamkan IP):
csf -d 123.45.67.89Keluaran:
Menambahkan 123.45.67.89 ke csf.deny dan iptables DROP...DROP all opt -- in !lo out * 123.45.67.89 -> 0.0.0.0/0 LOGDROPOUT all opt -- in * out !lo 0.0.0.0 /0 -> 123.45.67.89Hapus dan hapus IP dari csf.deny (Buka blokir alamat IP):
csf -dr 123.45.67.89Keluaran:
Menghapus aturan...HAPUS semua keikutsertaan -- masuk !lo keluar * 123.45.67.89 -> 0.0.0.0/0 LOGDROPOUT semua keikutsertaan -- masuk * keluar !lo 0.0.0.0/0 -> 123.45.67.89Hapus dan Buka Blokir semua alamat IP dari csf.deny:
csf -dfKeluaran:
HAPUS semua keikutsertaan -- masuk !lo keluar * 123.45.67.88 -> 0.0.0.0/0 LOGDROPOUT semua keikutsertaan -- masuk * keluar !lo 0.0.0.0/0 -> 123.45.67.88 HENTIKAN semua keikutsertaan -- masuk ! keluar * 123.45.67.89 -> 0.0.0.0/0 LOGDROPOUT semua keikutsertaan -- masuk * keluar !lo 0.0.0.0/0 -> 123.45.67.89 csf:semua entri dihapus dari csf.denyCari kecocokan pola di iptables mis:IP, CIDR, Nomor Port:
csf -g 123.45.67.89Keluaran:
Jumlah Rantai Tabel pkts byte target prot opt in out source destinationfilter DENYIN 1 0 0 DROP semua -- !lo * 123.45.67.89 0.0.0.0/0filter DENYOUT 1 0 0 LOGDROPOUT semua -- * !lo 0.0.0.0/0 123.45.67.89Menampilkan daftar entri IP yang diizinkan dan ditolak sementara dengan TTL dan komentarnya:
csf -tPeriksa pembaruan untuk csf dan tingkatkan versi jika tersedia:
csf -uNonaktifkan CSF dan LFD sepenuhnya:
csf -xAktifkan CSF dan LFD jika sebelumnya dinonaktifkan:
csf -eTampilkan versi CSF:
csf -vKeluaran:
csf:v13.04 (generik)Untuk opsi lainnya, Anda dapat memeriksa perintah berikut:
csf -hLangkah 6:Aktifkan UI Web Firewall CSF
Pada langkah ini, kami akan menunjukkan cara mengaktifkan Antarmuka Pengguna Web CSF. Langkah ini opsional dan hanya boleh digunakan jika Anda tidak menggunakan panel kontrol yang mendukung UI CSF (mis. WHM/cPanel, DirectAdmin, Webmin, dll.)
CSF UI memerlukan beberapa modul Perl untuk diinstal di server Anda. Anda dapat memenuhi persyaratan ini dengan menginstal modul Perl dengan perintah berikut:
apt install libio-socket-ssl-perl libcrypt-ssleay-perl libnet-libidn-perl libio-socket-inet6-perl libsocket6-perlSelanjutnya adalah mengaktifkan CSF Web User Interface. Anda dapat mengaktifkan antarmuka web CSF dengan mengedit file csf.conf:
nano /etc/csf/csf.confdan perbarui nilai berikut:
# 1 untuk mengaktifkan, 0 untuk menonaktifkan UI web ui ="1"# Setel port untuk UI web. Port default adalah 6666, tapi# Saya mengubahnya ke 7171 untuk akses mudah. Port default membuat beberapa masalah# dengan browser chrome dan firefox (dalam kasus saya)UI_PORT ="7171"# Biarkan kosong untuk mengikat semua alamat IP di server UI_IP =""# Tetapkan nama pengguna untuk otentikasi UI_USER ="admin"# Tetapkan kata sandi yang kuat untuk otentikasi UI_PASS ="Str0n9_PasSw0rD"Jangan ragu untuk mengubah nilai contoh kita dengan nilai yang sesuai. Setelah membuat dan menyimpan perubahan, Anda dapat memasukkan alamat IP publik ke daftar putih dengan mengedit file konfigurasi ui.allow.
Ganti ‘
Your_Public_IP_Address
' dengan alamat IP Anda yang sebenarnya dan jalankan perintah:sudo echo "Alamat_Publik_IP_Anda">> /etc/csf/ui/ui.allowUntuk menerapkan perubahan yang telah Anda buat, Anda perlu me-restart layanan LFD. Mulai ulang daemon LFD di server Anda dengan menggunakan perintah berikut:
layanan sudo lfd restartAnda sekarang seharusnya dapat mengakses UI CSF di browser Anda dengan alamat IP server Anda dan port spesifik yang Anda gunakan di file csf.conf. Dalam contoh kami, kami menggunakan port 7171.
https://Your_Public_IP_Address:7171
Setelah login berhasil, Anda seharusnya dapat melihat antarmuka pengguna CSF.
Quick Allow, Quick Deny, atau Quick Unblock bisa menjadi opsi yang sangat berguna dari UI CSF.
Dalam artikel ini, kami menunjukkan kepada Anda cara menginstal dan mengonfigurasi Firewall dengan CSF di Debian 9, serta segera menggunakan CSF. Sekarang Anda dapat menggunakan pengetahuan dari panduan ini dan mulai membuat aturan firewall CSF Anda sendiri yang akan membantu Anda melindungi server Anda.
Tentu saja, jika Anda adalah salah satu pelanggan Debian Hosting kami, Anda tidak perlu mengonfigurasi firewall Anda dengan CSF di server Anda – cukup tanyakan pada admin kami, duduk, dan santai. Admin kami akan segera mengonfigurasi aturan firewall di server Anda untuk Anda.
PS. Jika Anda menyukai posting ini tentang cara mengkonfigurasi Firewall dengan CSF di Debian 9, silakan bagikan dengan teman-teman Anda di jejaring sosial menggunakan tombol bagikan di bawah ini, atau cukup tinggalkan komentar di bagian komentar. Terima kasih.
Debian