我正在尝试安装一个上传扫描器,用于通过 Web 服务器 Apache 进行任何上传检查文件ModSecurity 中的方法。我在这里使用的扫描脚本由 Maldet 本身提供,而 Maldet 又使用 clamd 引擎。
我尝试在服务器上部署的文件是。
内容/etc/apache2/conf.d/modsec/modsec2.user.conf是
# 猫/etc/apache2/conf.d/modsec/modsec2.user.conf SecRule FILES_TMPNAMES "@inspectFile /usr/local/maldetect/modsec.sh" "id:99,deny,log,status:406,msg:'发现恶意软件'"
和内容/usr/local/maldetect/modsec.sh是:
# 猫 /usr/local/maldetect/modsec.sh /usr/bin/env bash 文件=“$1” inspath='/usr/local/maldetect' intcnf="$inspath/internals/internals.conf" 如果 [ -f "$intcnf" ]; 那么 源$intcnf 菲 ## 这些值可以在 conf.maldet.hookscan 中被覆盖 隔离命中数=1 隔离清洁=0 scan_tmpdir_paths='' isclamd =`pidof clamd 2> / dev / null` 如果 [ “$isclamd” ] && [ -f “$clamdscan” ]; 然后 clamd_scan=1 别的 clamd_scan=0 菲 hookcnf="$inspath/conf.maldet.hookscan" 如果 [ -f "$hookcnf" ]; 那么 源$hookcnf 菲 cd /tmp;$inspath/maldet --config-optionquarantine_hits=$quarantine_hits,quarantine_clean=$quarantine_clean,tmpdir=/var/tmp,scan_tmpdir_paths=$scan_tmpdir_paths,scan_clamscan=$clamd_scan --hook-scan -a“$file”
内容/usr/local/maldetect/internals/internals.conf是:
# 猫/usr/local/maldetect/internals/internals.conf ## # Linux 恶意软件检测 v1.5 # (C) 2002-2016,R-fx 网络 #(C)2016,Ryan MacDonald # 本程序可根据 GNU GPL v2 条款自由重新分发 ## # inspath=/usr/local/maldetect intcnf="$inspath/internals/internals.conf" libpath="$inspath/internals" intfunc="$libpath/functions" logdir="$inspath/logs" confpath="$inspath" cnffile="conf.maldet" cnf="$confpath/$cnffile" varlibpath="$inspath" maldet_log="$logdir/event_log" clamscan_log="$logdir/clamscan_log" datestamp=`日期 +"%y%m%d-%H%M"` utime=`日期+“%s”` 用户=`whoami` wget_timeout="5" wget_retries="3" wget =`wget 2> / dev / null` 如果 [ “$(echo $OSTYPE | grep -i 'freebsd')” ]; 然后 md5sum="/sbin/md5 -q" 别的 md5sum=`md5sum 2> /dev/null` 菲 hostid=`哪个主机 ID 2> /dev/null` 如果 [ “$hostid” ]; 那么 hostid =`$hostid | $md5sum | awk'{print$1}'` 别的 hostid =`uname -a | $md5sum | awk'{print$1}'` 菲 storename_prefix="$hostid.$RANDOM" od =`哪个od 2> / dev / null` find=`查找 2> /dev/null` perl =`perl 2> / dev / null` nice=`哪个好 2> /dev/null` cpulimit =`哪个 cpulimit 2> / dev / null` ionice =`ionice 2> / dev / null` wc=`哪个 wc 2> /dev/null` mail=`邮件 2> /dev/null` pidof =`pidof 2> / dev / null` stat =`哪个统计 2> / dev / null` logger =`哪个记录器 2> / dev / null` clamdscan=`clamdscan 2> /dev/null` ignore_paths="$confpath/ignore_paths" ignore_sigs="$confpath/ignore_sigs" ignore_inotify="$confpath/ignore_inotify" ignore_file_ext="$confpath/ignore_file_ext" quardir="$varlibpath/quarantine" sessdir="$varlibpath/sess" sigdir="$varlibpath/sigs" cldir="$varlibpath/clean" tmpdir="$inspath/tmp" userbasedir="$varlibpath/pub" hits_history="$sessdir/hits.hist" quar_history="$sessdir/quarantine.hist" clean_history="$sessdir/clean.hist" suspend_history="$sessdir/suspend.hist" monitor_scanned_history="$sessdir/monitor.scanned.hist" sig_version_file="$sigdir/maldet.sigs.ver" 如果 [ -f "$sig_version_file" ]; 那么 sig_version=`cat $sig_version_file` 菲 sig_version_url="http://cdn.rfxn.com/downloads/maldet.sigs.ver" sig_sigpack_url="http://cdn.rfxn.com/downloads/maldet-sigpack.tgz" sig_clpack_url="http://cdn.rfxn.com/downloads/maldet-cleanv2.tgz" sig_md5_file="$sigdir/md5v2.dat" sig_hex_file="$sigdir/hex.dat" sig_cav_hex_file="$sigdir/rfxn.ndb" sig_cav_md5_file="$sigdir/rfxn.hdb" sig_cust_md5_file="$sigdir/custom.md5.dat" sig_cust_hex_file="$sigdir/custom.hex.dat" lmd_versionsion_file="$inspath/版本" lmd_version="$ver" lmd_referer="LMD:$ver:$hostid" lmd_hash_file="$inspath/internals/VERSION.hash" lmd_hash_url="http://cdn.rfxn.com/downloads/maldet.current.hash" lmd_version_url="http://www.rfxn.com/downloads/maldet.current.ver" clamav_paths="/usr/local/cpanel/3rdparty/share/clamav//var/lib/clamav//var/clamav//usr/share/clamav//usr/local/share/clamav" tlog="$libpath/tlog" inotify =`inotifywait 2> / dev / null` inotify_log="$inspath/logs/inotify_log" inotify_user_instances=128 inotify_trim=150000 hex_fifo_path="$varlibpath/internals/hexfifo" hex_fifo_script="$libpath/hexfifo.pl" hex_string_script="$libpath/hexstring.pl" 扫描用户访问最小 ID = 40 find_opts="-regextype posix-egrep" email_template="$libpath/scan.etpl" email_subj="来自 $(hostname) 的恶意警报" cron_custom_exec="$confpath/cron/custom.cron" cron_custom_conf="$confpath/cron/conf.maldet.cron" compatcnf="$libpath/compat.conf"
问题是,Apache 仍然允许恶意软件上传和垃圾邮件从服务器发出。我在这里抓狂不已,不知道为什么它不起作用 :)
任何帮助,将不胜感激。
答案1
我也遇到了这个问题。降级到 mod_security 版本 2.7.3 解决了这个问题。