[Pkg-clamav-devel] Bug#761162: clamav-unofficial-sigs: Cron job results spread onto mail and logs
Alessandro Vesely
vesely at tana.it
Thu Sep 11 17:10:38 UTC 2014
On Thu 11/Sep/2014 12:20:11 +0200 Paul Wise wrote:
>
> Bill, would it be possible for you to update clamav-unofficial-sigs so
> that only signature downtime of more than one day is reported by the
> cron job? The current setup means that many admins are getting a lot of
> non-actionable cron spam, myself included.
I'd rather suggest something along the lines of the attached patch
(not tested). It should get rid of some cron spam. For reporting, I
think libclamav does issue some warnings if a database is unacceptably
old, not sure that covers all databases though.
>> shell variable si_url is hardcoded in clamav-unofficial-
>> sigs.sh. Perhaps, making it configurable may encourage
>> donations. In fact, it is not clear whether that host
>> is managed by Sanesecurity or SecuriteInfo.
At a closer look, it /is/ clear: Sanesecurity rate SecuriteInfo
databases, but neither produce nor distribute them. Sorry for the
confusion.
> You can change the default URL by putting si_url=... here:
>
> /etc/clamav-unofficial-sigs.conf.d/sanesecurl.conf
Hm... that would work if those assignments were done before sourcing
$config_source.
> I doubt the premium mirrors would resolve this issue though.
You're right. Unlike Sanesecurity, SecuriteInfo have no premium
mirror. Instead, they warn not to download files more than once a day
on pain of ip-ban[1]. Hence, I changed to "24" the default
si_update_hours (it is "4" in the dist clamav-unofficial-sigs.conf).
Ciao
Ale
[1]:
https://www.securiteinfo.com/services/clamav_unofficial_malwares_signatures.shtml
-------------- next part --------------
--- clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs.sh 2013-08-27 18:08:25.000000000 +0200
+++ clamav-unofficial-sigs-3.7.2/clamav-unofficial-sigs-patched.sh 2014-09-11 15:36:46.000000000 +0200
@@ -869,7 +869,7 @@
# Silence curl output and only report errors - useful if script is run via cron.
if [ "$curl_silence" = "yes" ] ; then
- curl_output_level="-s -S"
+ curl_output_level="-s -f"
fi
# If ClamD status check is enabled ("clamd_socket" variable is uncommented
@@ -1166,12 +1166,16 @@
else
z_opt=""
fi
- if curl $curl_proxy $curl_output_level --connect-timeout "$curl_connect_timeout" \
- --max-time "$curl_max_time" -L -R $z_opt -o $si_dir/$db_file http://$si_url/$db_file
+ curl_output=$(curl $curl_proxy $curl_output_level --connect-timeout "$curl_connect_timeout" \
+ --max-time "$curl_max_time" -L -R $z_opt -o $si_dir/$db_file \
+ --user-agent clamav-unofficial-sigs/3.7.2 --write-out http_code=%{http_code} http://$si_url/$db_file)
+ curl_rtc=$?
+ if [ $curl_rtc -eq 0 ]
then
loop="1"
- if ! cmp -s $si_dir/$db_file $clam_dbs/$db_file ; then
- if [ "$?" = "0" ] ; then
+ eval $curl_output
+ if [ "$http_code" -eq 200 ]
+ then
db_ext=`echo $db_file | cut -d "." -f2`
comment ""
comment "Testing updated SecuriteInfo database file: $db_file"
@@ -1231,10 +1235,12 @@
log "WARNING - Failed to successfully update SecuriteInfo production database file: $db_file - SKIPPING"
fi
fi
- fi
+ elif [ "$http_code" -ne 304 ]
+ then
+ log "WARNING - Failed download from $si_url (http reply code $http_code) - SKIPPED SecuriteInfo $db_file update"
fi
else
- log "WARNING - Failed curl connection to $si_url - SKIPPED SecuriteInfo $db_file update"
+ log "WARNING - Failed curl connection to $si_url (exit code $curl_rtc) - SKIPPED SecuriteInfo $db_file update"
fi
if [ "$si_db_update" != "1" ] ; then
comment ""
More information about the Pkg-clamav-devel
mailing list