Cara install CSF
Terus terang sebelumnya saya punya opini bahwa CSF (ConfigServer Security & Firewall) ini hanyalah paket aplikasi tambahan untuk firewall di Linux. Saya anggap berbeda dengan iptables. Ternyata ini salah besar. Ya memang tepat peribahasa tak kenal maka tak sayang. 😛
Jadi CSF ini sebenarnya merupakan alat pembantu untuk setting firewall dan mesin yang dipakai pun tetaplah iptables dibaliknya. Asli saya kira dulu perlu uninstall iptables untuk memakainya dan ini yang membuat enggan mencobanya. Main – main dengan firewall itu bisa membuat servernya terblokir. Nah… kalau iptables bisa dikatakan firewall yang bodoh, maksudnya apa perintahnya ya itu saja yang dilakukan, maka dengan CSF katanya akan dilengkapi dengan analisa trafik, sudah diikutkan peraturan default untuk protokol dan aplikasi populer juga optimasi lainnya.
Tampaknya script instalasi CSF ini otomatis mengenali distro Linux yang digunakan, jadi langkah – langkahnya akan sama saja. Semoga. 😀 Yang saya tahu kalau distro Linux yang dipakai sudah ada firewallnya tapi bukan iptables seperti Ubuntu dengan ufw
dan CentOS 7 dengan firewalld
. Ini harus dihapus dulu baru diinstall CSFnya.
Pertama mari kita download dulu:
wget https://download.configserver.com/csf.tgz
Kemudian mari kita ekstrak arsipnya:
tar -xzf csf.tgz
Masuk ke direktori hasil ekstrakannya:
cd csf
Dan mari kita eksekusi script installernya:
sh install.sh
Log prosesnya akan seperti ini:
Don't forget to:
1. Configure the following options in the csf configuration to suite your server: TCP_*, UDP_*, IPV6, TCP6_*, UDP6_*
2. Restart csf and lfd
3. Set TESTING to 0 once you're happy with the firewall, lfd will not run until you do so
Adding current SSH session IP address to the csf whitelist in csf.allow:
*WARNING* URLGET set to use LWP but perl module is not installed, reverting to HTTP::Tiny
Adding 192.168.1.94 to csf.allow only while in TESTING mode (not iptables ACCEPT)
*WARNING* TESTING mode is enabled - do not forget to disable it in the configuration
`lfd.sh' -> `/etc/init.d/lfd'
`csf.sh' -> `/etc/init.d/csf'
mode of `/etc/init.d/lfd' retained as 0755 (rwxr-xr-x)
mode of `/etc/init.d/csf' retained as 0755 (rwxr-xr-x)
`csf/LICENSE.txt' -> `webmin/csf/images/LICENSE.txt'
`csf/bootstrap/fonts/glyphicons-halflings-regular.woff' -> `webmin/csf/images/bootstrap/fonts/glyphicons-halflings-regular.woff'
`csf/bootstrap/fonts/glyphicons-halflings-regular.eot' -> `webmin/csf/images/bootstrap/fonts/glyphicons-halflings-regular.eot'
`csf/bootstrap/fonts/glyphicons-halflings-regular.woff2' -> `webmin/csf/images/bootstrap/fonts/glyphicons-halflings-regular.woff2'
`csf/bootstrap/fonts/glyphicons-halflings-regular.ttf' -> `webmin/csf/images/bootstrap/fonts/glyphicons-halflings-regular.ttf'
`csf/bootstrap/fonts/glyphicons-halflings-regular.svg' -> `webmin/csf/images/bootstrap/fonts/glyphicons-halflings-regular.svg'
`csf/bootstrap/js/bootstrap.min.js' -> `webmin/csf/images/bootstrap/js/bootstrap.min.js'
`csf/bootstrap/css/bootstrap.min.css.map' -> `webmin/csf/images/bootstrap/css/bootstrap.min.css.map'
`csf/bootstrap/css/bootstrap.min.css' -> `webmin/csf/images/bootstrap/css/bootstrap.min.css'
`csf/configserver.css' -> `webmin/csf/images/configserver.css'
`csf/csf-loader.gif' -> `webmin/csf/images/csf-loader.gif'
`csf/csf.svg' -> `webmin/csf/images/csf.svg'
`csf/csf_small.png' -> `webmin/csf/images/csf_small.png'
`csf/jquery.min.js' -> `webmin/csf/images/jquery.min.js'
`csf/loader.gif' -> `webmin/csf/images/loader.gif'
`/etc/csf/csfwebmin.tgz' -> `/usr/local/csf/csfwebmin.tgz'
Installation Completed
Selesai. 😀
Aslinya saya cari ada tidak repository untuk install CSF dan tampaknya tidak ada. Bakal agak repot waktu updatenya nanti. Semoga saja tidak.
Tapi yang terpenting sekarang kita harus tahu lebih dulu apakah CSF dapat berfungsi normal pada VPS tersebut.
cd /usr/local/csf/bin/
Dan eksekusi:
perl csftest.pl
Semoga hasilnya seperti ini:
Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK
RESULT: csf should function on this server
Kalau iya ya berarti sukses terinstall.
Ada satu hal menarik yang baru saya tahu setelah menginstall CSF, tampaknya kita tidak perlu menginstall Fail2Ban karena sudah ada LFD (Login Failure Daemon) sepaket dalam instalasinya. Dan ini baru bekerja setelah menghidupkan CSF juga karena secara default masih dalam mode percobaan.
Mari kita edit konfigurasinya dulu:
nano /etc/csf/csf.conf
Kemudian ubah setting didalamnya jadi seperti berikut:
###############################################################################
# SECTION:Initial Settings
###############################################################################
# Testing flag - enables a CRON job that clears iptables incase of
# configuration problems when you start csf. This should be enabled until you
# are sure that the firewall works - i.e. incase you get locked out of your
# server! Then do remember to set it to 0 and restart csf when you're sure
# everything is OK. Stopping csf will remove the line from /etc/crontab
#
# lfd will not start while this is enabled
TESTING = "0"
Intinya kita matikan mode testing.
Setelah itu kita restart:
csf -r
Tutorial kali ini sampai disini dulu karena penjelasan instalasinya sudah habis. 😀 Nanti akan saya lanjutkan dengan pembahasan setting peraturan CSF. Tapi setelan defaultnya sudah cukup bagus kalau saya baca dokumentasinya.
Bagi yang terbiasa menggunakan murni iptables saja (seperti saya) tampaknya sudah patut dipertimbangkan untuk menambahkan CSF karena kerjanya adalah melengkapi dan mengoptimasi. Tapi saat ini saya masih eksperimen mempelajari setting – settingnya yang pas.
sementara pakai yang defaultnya dulu di centos 6 tapi tertarik juga ini sudah include dengan aplikasi semacam fail2ban karna selama ini selalu instal itu juga 😀
Saya nyobanya juga di CentOS 6 mbak. 😀 Tampaknya kalau isinya stack standar bisa langsung pasang saja.
Halaman produknya disini mbak: http://www.configserver.com/cp/csf.html
Dan secara fitur tampaknya bagus banget:
ini nggak makan banyak resource kan mas? secara droplet $5 hehe 😀
Seharusnya ngga mbak. Karena aslinya ya cuma iptables tapi disuntik doping. 😀 Dan saya cek Google sekilas ga ketemu ada yang komplain soal penggunaan memori, setidaknya sampai halaman 5. 😀
Karena pakai DigitalOcean, itu dibuat snapshotnya saja dulu baru install CSF mbak. Ada apa – apa tinggal direstore saja.
Tapi kalau mau dihapus juga bisa:
ini g bisa kolaborasi sama firewalld ya? jadi kalau firewalld harus remove/disable?
saya install fail2ban+csf+firewalld malah firewalldnya g jalan? ada solusi g mas? dengan pengalaman mas chandra, untuk hardening security pd centos 7 kira2 apa saja selain firewalld, fail2ban/csf, ssh, dll?
btw bahas lebih detail lagi mengenai user sama group dong setelah fresh install, plng tidak 2 user root dgn user tmbahan, utk user tambahan apakah harus memberikan akses seperti root untuk bisa menangani masalah permission di httpd? saya sering framework CI forbidden, internal server error & tidak bisa rewrite karena belum tahu memberikan akses kepada user tambahan. maklum baru belajar server unix. 🙂
Betul mas, tidak bisa setahu saya.
Saran saya sih cukup CSF saja kalau bisa, termasuk lengkap fiturnya.
Ini error permission apa karena mas upload file pakai root juga? Masalah yang umum sih ini, saya sendiri kadang lupa. 😛
haha betul mas, lah wong sy habis install langsung wget ke hosting yg dulu. trs extract habis itu import db. kasih setting di config(CI)dikit selesai. work(ingat sama di windows akhirnya t coba malah g work (di centos). kalau boleh geh mas, minta tutornya dong dari tahap pembuatan user baru seperti useradd/adduser terus kasih permissionnya apa utk bisa /copy/extract/menjalankan system tanpat error permission. apa cukup dengan yang mas sebut pada artikel lain www-data seperti itu atau gimana mas?maaf mas masih baru linux
Secara garis besar, untuk web server maka cukup disamakan dengan yang dipakai aplikasi web servernya. Misal Nginx pakai nginx atau Apache pakai www-data. Ini supaya web servernya bisa melakukan modifikasi pada file dan folder yang dipakai.
mas, apakah ada setting tambahan kalau di vps tersebut dipasangin cloudflare?
thanks
Halo mas, terima kasih banyak atas tutorilanya.
Mungkin bisa diperdalam lagi untuk csf untuk secure server dari berbagai serangan, teruntuk saya yang masih awam dengan dunia sysAdmin tentu akan sangat membantu.