Sunucunuzun güvenliği için kurduğunuz clamav tarama işlemlerini manuel olarak yapmak zorunda değilsiniz Clamav Otomatik Tarama ayarlayıp işlemi otomatiğe bağlayacağız. Bunun için cron kullanarak günlük olarak public_html içindeki tüm dosyaları taratıp eğer bir zararlı dosya varsa e-posta ile kendinize bilgilendirme göndereblirsiniz.
Günlük tarama için <span class="lang:default decode:true crayon-inline ">/etc/cron.daily</span> içinde <span class="lang:default decode:true crayon-inline ">clamscan_daily</span> adında bir dosya oluşturun.
Bash dosyası kodları şu şekilde olsun:
#!/bin/bash
# email subject
SUBJECT="`hostname` sunucusunda virüs bulundu !!! (/var/log/clamav/scan.log)"
# Email To ?
EMAIL="iletisim@kariha.net"
# Log location
LOG=/var/log/clamav/scan.log
check_scan () {
# Check the last set of results. If there are any "Infected" counts that aren't zero, we have a problem.
if [ `tail -n 12 ${LOG} | grep Infected | grep -v 0 | wc -l` != 0 ]
then
EMAILMESSAGE=`mktemp /tmp/virus-alert.XXXXX`
echo "To: ${EMAIL}" >> ${EMAILMESSAGE}
echo "From: alert@domain.com" >> ${EMAILMESSAGE}
echo "Subject: ${SUBJECT}" >> ${EMAILMESSAGE}
echo "Importance: High" >> ${EMAILMESSAGE}
echo "X-Priority: 1" >> ${EMAILMESSAGE}
echo "`tail -n 50 ${LOG}`" >> ${EMAILMESSAGE}
sendmail -t < ${EMAILMESSAGE}
fi
}
clamscan --recursive --log=${LOG} --quiet --infected /home/*/public_html/*
check_scan
[caption id="attachment_2339" align="alignright" width="150"]<img class="wp-image-2339 size-thumbnail" src="https://www.kariha.net/wp-content/uploads/clamav-150x150.png" alt="Clamav Otomatik Tarama" width="150" height="150" /> Clamav Otomatik Tarama[/caption]
Not: Dosyanızın çalıştırılabilir olması için <span class="lang:default decode:true crayon-inline ">chmod +x /etc/cron.daily/clamscan_daily</span> komutunu girmeyi unutmayınız. E-posta adresinizi kendinize göre düzenleyiniz. Sunucunuz her gün otomatik olarak sessiz şekilde tüm public_html klasörlerinin içini tarayacak tarama
sonucunuzu <span class="lang:default decode:true crayon-inline ">/var/log/clamav/scan.log</span> dosyasına yazacak ve zararlı bir dosya varsa sizi e-posta ile bilgilendirecek.
<h3>Peki ya diğer kritik dizinler ne olacak?</h3>
Yayına açık public_html'lerin yanı sıra sunucunuzda kritik problemler için <span class="lang:default decode:true crayon-inline ">/etc/cron.hourly/</span> içine <span class="lang:default decode:true crayon-inline ">clamscan_hourly</span> dosyası oluşturun ve şu içeriği girin:
<pre class="lang:default decode:true">#!/bin/bash
# email subject
SUBJECT=" `hostname` sunucusunda virus bulundu!!! (/var/log/clamav/scan.log)"
# Email To ?
EMAIL="iletisim@kariha.net"
# Log location
LOG=/var/log/clamav/scan.log
check_scan () {
# Check the last set of results. If there are any "Infected" counts that aren't zero, we have a problem.
if [ `tail -n 12 ${LOG} | grep Infected | grep -v 0 | wc -l` != 0 ]
then
EMAILMESSAGE=`mktemp /tmp/virus-alert.XXXXX`
echo "To: ${EMAIL}" >> ${EMAILMESSAGE}
echo "From: alert@domain.com" >> ${EMAILMESSAGE}
echo "Subject: ${SUBJECT}" >> ${EMAILMESSAGE}
echo "Importance: High" >> ${EMAILMESSAGE}
echo "X-Priority: 1" >> ${EMAILMESSAGE}
echo "`tail -n 50 ${LOG}`" >> ${EMAILMESSAGE}
sendmail -t < ${EMAILMESSAGE}
fi
}
find / -not -wholename '/sys/*' -and -not -wholename '/proc/*' -mmin -61 -type f -print0 | xargs -0 -r clamscan --exclude-dir=/proc/ --exclude-dir=/sys/ --quiet --infected --log=${LOG}
check_scan
find / -not -wholename '/sys/*' -and -not -wholename '/proc/*' -cmin -61 -type f -print0 | xargs -0 -r clamscan --exclude-dir=/proc/ --exclude-dir=/sys/ --quiet --infected --log=${LOG}
check_scan</pre>
yine dosyanın çalıştırılabilmesi için <span class="lang:default decode:true crayon-inline ">chmod +x /etc/cron.hourly/clamscan_hourly</span> komutunu unutmayınız. Her saat tarama işlemi yapılacak ve aynı şekilde zararlı bir dosya bulunması halinde tanımladığınız e-posta adresine bilgilendirme yapılacak. Log dosyamız aynı: (/var/log/clamav/scan.log)