Panduan Installasi ClamAV di Ubuntu Server

Pada artikel kali ini kita akan membahas salah satu aplikasi antivirus berbasis opensource yang cukup banyak digunakan, dan pada implementasinya akan kita installkan di ubuntu. Untuk Distro lain dapat menyesuakan dengan panduan lengkapnya.

Mengenal ClamAV

ClamAV merupakan aplikasi berbasis opensource yang multiplatfrom, memiliki fungsi utama sebagai antivirus yang akan menjaga komputer server kamu agar tetap waspada apabila terdapat virus yang menyerang.

Dalam websitenya sendiri ClamAV mengcalim dapat mendeteksi trojan, virus, malware dan serangan lainnya yang serupa. Untuk detailnya kamu dapat membaca dari websitenya langsung www.clamav.net

Installasi

$ sudo apt install clamav

Setelah installasi selesai, matikan service dan update database malware

$ sudo systemctl stop clamav-freshclam.service
$ sudo freshclam

Hasil outputnya akan terlihat seperti dibawah ini :

Mon Apr 29 06:42:54 2024 -> ClamAV update process started at Mon Apr 29 06:42:54 2024
Mon Apr 29 06:42:54 2024 -> daily.cvd database is up-to-date (version: 27259, sigs: 2060227, f-level: 90, builder: raynman)
Mon Apr 29 06:42:54 2024 -> main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
Mon Apr 29 06:42:54 2024 -> bytecode.cvd database is up-to-date (version: 335, sigs: 86, f-level: 90, builder: raynman)

Jangan lupa untuk menghidupkan kembali ClamAV setelah melakukan update database

$ sudo systemctl start clamav-freshclam.service

Warning !
Apabila kamu tidak mematikan service clamAV terlebih dahulu maka akan muncul Error seperti dibawah ini, maka pastikan kamu mematikan terlebih dahulu service dari clamAV sebelum update database.

$ sudo freshclam
ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
ERROR: initialize: libfreshclam init failed.
ERROR: Initialization error!

Scan Malware

Selanjutnya kita akan melakukan scanning dengan menggunakan perintah clamscan -r {lokasi scan} seperti berikut. Dan dibawah sebagai contoh apabila tidak terdapat malware.

$ clamscan -r /home
/home/vagrant/.cache/motd.legal-displayed: Empty file
/home/vagrant/.ssh/me.pub: OK
/home/vagrant/.ssh/authorized_keys: OK
/home/vagrant/.bashrc: OK
/home/vagrant/.profile: OK
/home/vagrant/.vimrc: OK
/home/vagrant/.bash_logout: OK
/home/vagrant/.bash_history: OK

----------- SCAN SUMMARY -----------
Known viruses: 8691863
Engine version: 0.103.11
Scanned directories: 4
Scanned files: 7
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 14.148 sec (0 m 14 s)
Start Date: 2024:04:29 06:44:15
End Date:   2024:04:29 06:44:29

Apabila terdapat malware maka hasilnya akan seperti dibawah ini, contohnya malware yang terdeteksi dengan nama textmedia.txt.

$ clamscan -r /home
/home/vagrant/.cache/motd.legal-displayed: Empty file
/home/vagrant/.ssh/me.pub: OK
/home/vagrant/.ssh/authorized_keys: OK
/home/vagrant/.bashrc: OK
/home/vagrant/.profile: OK
/home/vagrant/.vimrc: OK
/home/vagrant/.bash_logout: OK
/home/vagrant/.bash_history: OK
/home/textmedia.txt: Eicar-Signature FOUND

----------- SCAN SUMMARY -----------
Known viruses: 8691863
Engine version: 0.103.11
Scanned directories: 7
Scanned files: 8
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 13.952 sec (0 m 13 s)
Start Date: 2024:04:29 06:45:42
End Date:   2024:04:29 06:45:56

Karantina Malware

Perintah scan sebelumnya hanya sebatas melakukan scanning tanpa memindahkan file kedalam karantina, untuk memindahkan file tersebut kita dapat gunakan perintah dibawah :

$ sudo clamscan -r --move=/tmp/quarantine /home

Contoh outputnya akan seperti berikut:

$ clamscan -r --move=/tmp/quarantine /home 
/home/vagrant/.cache/motd.legal-displayed: Empty file
/home/vagrant/.ssh/me.pub: OK
/home/vagrant/.ssh/authorized_keys: OK
/home/vagrant/.selected_editor: OK
/home/vagrant/.bashrc: OK
/home/vagrant/.profile: OK
/home/vagrant/.vimrc: OK
/home/vagrant/.bash_logout: OK
/home/vagrant/eicar.com: OK
/home/vagrant/.wget-hsts: OK
/home/vagrant/.bash_history: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/test-doc-see-as-virus-by-clamav.txt: Win.Test.EICAR_HDB-1 FOUND
/home/vagrant/0843f8828fef7c60558a58248fcb724c/test-doc-see-as-virus-by-clamav.txt: moved to '/tmp/quarantine/test-doc-see-as-virus-by-clamav.txt'
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/description: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/index: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/info/exclude: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/hooks/post-update.sample: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/hooks/update.sample: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/hooks/commit-msg.sample: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/hooks/pre-commit.sample: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/hooks/applypatch-msg.sample: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/hooks/prepare-commit-msg.sample: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/hooks/pre-rebase.sample: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/hooks/pre-push.sample: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/hooks/pre-applypatch.sample: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/hooks/pre-receive.sample: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/hooks/fsmonitor-watchman.sample: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/hooks/pre-merge-commit.sample: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/refs/remotes/origin/HEAD: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/refs/heads/master: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/objects/66/de4c97774eabd78d372914bafbe521308bdc4a: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/objects/ad/f08a420987c3cd70386a735ba779d70590d996: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/objects/a2/463df6d6421be9fe983071e5a69d379f09c84e: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/objects/c4/fe57f87405ec1cbc5612a81381e2638507c699: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/config: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/logs/refs/remotes/origin/HEAD: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/logs/refs/heads/master: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/logs/HEAD: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/HEAD: OK
/home/vagrant/0843f8828fef7c60558a58248fcb724c/.git/packed-refs: OK

----------- SCAN SUMMARY -----------
Known viruses: 8691863
Engine version: 0.103.11
Scanned directories: 29
Scanned files: 38
Infected files: 1
Data scanned: 0.09 MB
Data read: 0.07 MB (ratio 1.33:1)
Time: 13.965 sec (0 m 13 s)
Start Date: 2024:04:29 07:46:35
End Date:   2024:04:29 07:46:49

Setelah itu kita dapat melihat file yang dianggap virus pada directory /tmp/quarantine. Tapi pastikan kamu membuat directory quarantine di /tmp.

Remove Malware

Perintah sebelumnya hanyalah sebatas memeriksa apakah ada file yang dicurigai sebagai virus malware atau memindahkannya, apabila kita ingin melakukan action langsung untuk menghapus file yang dicurigai kita dapat menggunakan perintah berikut.

$ sudo clamscan --infected --remove --recursive /home

Outputnya akan seperti berikut

/home/textmedia.txt: Eicar-Signature FOUND
/home/textmedia.txt: Removed.

----------- SCAN SUMMARY -----------
Known viruses: 8691863
Engine version: 0.103.11
Scanned directories: 7
Scanned files: 8
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 14.341 sec (0 m 14 s)
Start Date: 2024:04:29 06:48:18
End Date:   2024:04:29 06:48:32

ClamAV akan langsung menghapus file yang sudah ditemukan pada saat proses scanning, apabila kita ingin melakukan pengecualian pada directory tertentu kita dapat menggunakan perintah dibawah ini.

$ sudo clamscan --infected --remove --recursive --exclude-dir="^/sys" /

Scan berkala dengan Cronjob

Apabila kita ingin melakukan scanning secara berkala, maka kita bisa tambahkan perintah scan dan remove pada cronjob di /etc/crontab. Lalu masukan jadwal dengan contoh scema setiap minggu pukul 01:00.

00 01  * * 0  root  clamscan -r --move=/tmp/quarantine /home 

Simpan dan restart cronjob, maka clamAV akan melakukan scanning setiap hari minggu pagi.

Sample Virus Malware

Untuk melakukan percobaan ini kamu perlu memiliki sample malware, agar dapat membedakan berhasil tidaknya installasi ini. Kamu dapat gunakan salah satu sample ini dengan mengunduhnya menggunakan wget

$ wget https://gist.github.com/mikecastrodemaria/0843f8828fef7c60558a58248fcb724c#file-test-doc-see-as-virus-by-clamav-txt

Penutup

Sekian panduan dari installasi ClamAV, aplikasi antivirus berbasis opensource. Kamu dapat manfaatkan dan aplikasikan pada komputer server maupun desktop yang kamu miliki. Terkait jaminan aman dari virus atau tidaknya ya bisa dikatakan relative, karena setiap waktu virus terus berkembang tapi setidaknya kita sudah coba untuk antisipasi. Selamat Mencoba.

Referensi

  • https://www.jagoanhosting.com/tutorial/tutorial-vps/cara-mengatasi-malware-di-linux
  • OpenAI – ChatGPT
  • https://docs.clamav.net
  • https://aaronbrighton.medium.com/installation-configuration-of-clamav-antivirus-on-ubuntu-18-04-a6416bab3b41
Tresna Widiyaman Avatar