Tulisan ini aq buat karena saking seringnya Server Samba yg aq sharing (read/write) 'disusupi' virus2 windows dari komputer windows (spt virus shortcut, virus doc, dsb).
Ada beberapa cara yg bisa dilakukan untuk mengantisipasi penyebaran virus tsb, diantaranya yaitu dengan melacak dr komputer mana (sumber) virus tsb dibuat. Selain itu bisa ditambahkan cron job yg secara periodik akan menghapus file2 virus tsb.
Untuk memonitor aktivitas yg dilakukan user terhadap forder sharing (Samba), caranya dengan menambahkan Samba Virtual Filesystem modul (Samba VFS Module). VFS modul sangat cocok di install di samba server yang melayani permintaan publik (public share) alias menangani share yang dapat diakses oleh semua pengguna, sehingga diperlukan suatu log untuk melakukan monitoring file yang ada didalam public share, misalkan log terhadapa aktivitas copy, move, delete, rename, dll, semuanya itu dapat di monitoring oleh VFS full audit, VFS modul sendiri sangat banyak macamnya, bebrapa modul sudah include secara otomatis pada samba 3.x.x misalnya modul audit, full_audit, fake_perm, recycle, default_quota, extd_audit, nettalk, dan shadow_copy (bukan bakcup), beberapa modul juga sudah dibuat oleh komunitas, misalnya saja vscan (open antivirus scan), vscan-clamav.
Kita asumsikan OS yg kita pakai adalah Ubuntu (turunan Debian), untuk penggula Linux distro lain bisa menyesuaikan sendiri.
untuk melihat VFS module apa saja yang sudah terinstal di sistem kamu, buka aja /usr/lib/samba/vfs
kn@server1:~$ ls -al /usr/lib/samba/vfs/
total 380
drwxr-xr-x 2 root root 4096 2009-06-16 08:18 .
drwxr-xr-x 5 root root 4096 2009-06-16 08:18 ..
-rw-r--r-- 1 root root 22864 2009-03-28 02:39 acl_tdb.so
-rw-r--r-- 1 root root 18688 2009-03-28 02:39 acl_xattr.so
-rw-r--r-- 1 root root 10472 2009-03-28 02:39 audit.so
-rw-r--r-- 1 root root 14840 2009-03-28 02:39 cap.so
-rw-r--r-- 1 root root 6136 2009-03-28 02:39 default_quota.so
-rw-r--r-- 1 root root 10336 2009-03-28 02:39 expand_msdfs.so
-rw-r--r-- 1 root root 14608 2009-03-28 02:39 extd_audit.so
-rw-r--r-- 1 root root 6096 2009-03-28 02:39 fake_perms.so
-rw-r--r-- 1 root root 10304 2009-03-28 02:39 fileid.so
-rw-r--r-- 1 root root 36624 2009-03-28 02:39 full_audit.so
-rw-r--r-- 1 root root 14560 2009-03-28 02:39 netatalk.so
-rw-r--r-- 1 root root 14528 2009-03-28 02:39 preopen.so
-rw-r--r-- 1 root root 10272 2009-03-28 02:39 readahead.so
-rw-r--r-- 1 root root 22632 2009-03-28 02:39 readonly.so
-rw-r--r-- 1 root root 18624 2009-03-28 02:39 recycle.so
-rw-r--r-- 1 root root 23040 2009-03-28 02:39 shadow_copy2.so
-rw-r--r-- 1 root root 10336 2009-03-28 02:39 shadow_copy.so
-rw-r--r-- 1 root root 14600 2009-03-28 02:39 smb_traffic_analyzer.so
-rw-r--r-- 1 root root 14568 2009-03-28 02:39 streams_depot.so
-rw-r--r-- 1 root root 18776 2009-03-28 02:39 streams_xattr.so
-rw-r--r-- 1 root root 10368 2009-03-28 02:39 syncops.so
-rw-r--r-- 1 root root 18600 2009-03-28 02:39 xattr_tdb.so
VFS modul yang dibahas hanya VFS full audit, yang akan merekam aktivitas user di samba server, antara lain connect, disconnect, directory,a opens, create, remove, file open, close, rename, unlink, dan chmod.
Oke sebagai permulaan, tambahkan beberapa baris dibawah ini pada /etc/samba/smb.conf anda
vfs objects = full_audit
full_audit:prefix = %u|%I|%m|%S
full_audit:success = mkdir rename unlink rmdir open pwrite
full_audit:failure = none
sehingga pada /etc/samba/smb.conf aku, akan tampak seperti dibawah ini (4 baris terakhir merupakan baris tambahan untuk modul full_audit).
[umum]
comment = Folder R/W untuk Umum
writeable = yes
public = yes
path = /media/sdb1/umum
vfs objects = full_audit
full_audit:prefix = %u|%I|%m|%S
full_audit:success = mkdir rename unlink rmdir open pwrite
full_audit:failure = none
langkah selanjutnya, adalah melakukan edit terhadap file /etc/syslog.conf, dan tambahkan baris dibawah ini :
# Logging for samba server activity
user.*;user.!warn /var/log/samba/audit.log
Baris diatas digunakan untuk melakukan logging semua aktivitas yang berkaitan dengan akses file kedalam /var/log/samba/audit.log
Tambahkan pula “user.none” pada baris yang tertulis /var/log/messages, penambahan ini digunakan untuk membuang log aktivitas user samba dari /var/log/messages, sebab bila tidak ditambahkan baris diatas, logging terhadap aktivitas user samba akan di log kedalam /var/log/messages dan /var/log/samba/audit.log.
Langkah berikutnya adalah melakukan restart service untuk samba dan syslog
kn@server1:~$ sudo /etc/init.d/samba restart
kn@server1:~$ sudo /etc/init.d/sysklogd restart
OK, sekarang saatnya memantau laporan.
kita bisa menggunakan perintah tail:
kn@server1:~$ tail -f /var/log/samba/audit.log
OK, selamat mencoba.
---
tulisan ini sebagian besar meng-copy paste dari sini, jika mengalami kegagalan & gangguan silahkan langsung kunjungi alamat tsb. ;)