Directory Watching di CSF memungkinkan lfd
memeriksa direktori /tmp
dan /dev/shm
untuk mencari file-file yang mencurigakan, seperti skrip eksploitasi.
Jika ditemukan file yang mencurigakan, sistem akan mengirimkan email peringatan menggunakan template yang ada di /usr/local/csf/tpl/filealert.txt
. Anda juga dapat
memantau aktivitas ini melalui log file yang tersimpan di /var/log/lfd.log
.
Enable Dirwatch #
Untuk mengaktifkan Directory Watching, Anda perlu mengedit file konfigurasi csf yang tersimpan di /etc/csf/csf.conf
kemudian edit seperti berikut.
LF_DIRWATCH = "300"
LF_INTEGRITY = "3600"
LF_DIRWATCH_FILE = "30"
Untuk menambahkan direktori lain yang ingin dipantau, Anda dapat mengedit file csf.dirwatch
.
/home/*/public_html
Atau untuk menghindari false positive, Anda bisa menentukan direktori yang ingin diabaikan oleh dirwatch dengan mengedit file csf.fignore
.
/home/Maildir
Selanjutnya restart CSF dan LFD untuk menerapkan perubahan.
csf -ra
Testing #
Untuk pengetesan, Anda dapat membuat file dengan ektensi .pl
,.py
,.cgi
,.sh
di path /dev/shm
atau /tmp
. Setelah itu, ubah izin aksesnya ke level user.
touch /dev/shm/beta.pl
chown web1:web1 /dev/shm/beta.pl
Tunggu beberapa saat, maka alert akan muncul lalu dikirimkan melalui email dan tercatat juga di log file seperti berikut.
Jul 15 13:41:40 p2 lfd[5047]: *Suspicious File* /dev/shm/beta.pl [web1:web1 (1000:1000)] - Script, file extension
Pengetesan lain bisa dengan cara copy file binary linux seperti contoh berikut.
cp /usr/bin/env /dev/shm/env
chown web1:web1 /dev/shm/env
Maka dari log file akan tercatat seperti berikut.
Jul 15 13:47:02 p2 lfd[5285]: *Suspicious File* /dev/shm/env [web1:web1 (1000:1000)] - Linux Binary
Custom Log #
Anda dapat mengkustom log file untuk memantau direktori yang telah Anda tentukan sebelumnya, misalnya direktori /home/*/public_html
.
Edit file /etc/csf/lfd.pl
. Backup file terlebih dahulu jika diperlukan.
cp -p /etc/csf/lfd.pl /etc/csf/lfd.pl.ori
nano /etc/csf/lfd.pl
Kemudian tambahkan baris berikut.
if ($dirwatchfile{$file} ne "1") {
if ($md5sum ne $dirwatchfile{$file}) {
$0 = "lfd - (child) suspicious file alert for $file";
logfile("Directory *File Watching* has detected a change in $file");
# Simpan $output ke file tertentu
my $output_file = '/var/log/dirwatch.log'; # Ganti dengan nama file yang diinginkan
open(my $fh, '>>', $output_file) or die "Tidak bisa membuka file '$output_file': $!";
print $fh "Directory *File Watching* has detected a change in $output\n";
close($fh);
$dirwatchfile{$file} = $md5sum;
}
}
Simpan file dan restart csf+lfd untuk menerapkan perubahan.
csf -ra