Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache Mod规避电子邮件通知问题_Apache_Ddos_Ssmtp_Mod Evasive - Fatal编程技术网

Apache Mod规避电子邮件通知问题

Apache Mod规避电子邮件通知问题,apache,ddos,ssmtp,mod-evasive,Apache,Ddos,Ssmtp,Mod Evasive,我们正在尝试设置Apache Mod Evasion,以防止将来对我们的一台服务器进行DOS攻击。除了电子邮件通知之外,一切似乎都运转良好。该堆栈在Ubuntu服务器16.04上运行PHP7.1和Apache2.4 通过测试命令,电子邮件工作正常: sudo su - www-data -s /bin/bash -c 'echo "this is the body" | mail -s "Subject" webdev@domain.edu webdev@domain.edu' 以下是mod

我们正在尝试设置Apache Mod Evasion,以防止将来对我们的一台服务器进行DOS攻击。除了电子邮件通知之外,一切似乎都运转良好。该堆栈在Ubuntu服务器16.04上运行PHP7.1和Apache2.4

通过测试命令,电子邮件工作正常:

sudo su - www-data -s /bin/bash -c 'echo "this is the body" | mail -s "Subject" webdev@domain.edu webdev@domain.edu'
以下是mod evasion.conf:

<IfModule mod_evasive20.c>
    DOSHashTableSize    3097
    DOSPageCount        1
    DOSSiteCount        1
    DOSPageInterval     10
    DOSSiteInterval     10
    DOSBlockingPeriod   10

    DOSEmailNotify      root
    #DOSSystemCommand    "su - someuser -c '/sbin/... %s ...'"
    DOSLogDir           "/var/log/mod_evasive"
</IfModule>
以下是RevAlias文件:

root:noreply@domain.edu:email-smtp.us-east-1.amazonaws.com:25
www-data:noreply@domain.edu:email-smtp.us-east-1.amazonaws.com:25

mod_evasive有一个mailer调用的硬编码命令,在中定义为
mailer
,也在本节中提到

发送邮件时,
%s
被指令
doEmailNotify
的值替换。但是,现在在大多数系统上都没有使用
/bin/main
,您可能希望改用sendmail。您可以做的是创建一个包装器脚本作为
/bin/mail
(假设这个二进制文件根本不存在或没有使用)

调整
sendmail
二进制文件的路径,最后使用
chmod 0755/bin/mail
使脚本可执行

root:noreply@domain.edu:email-smtp.us-east-1.amazonaws.com:25
www-data:noreply@domain.edu:email-smtp.us-east-1.amazonaws.com:25
#define MAILER  "/bin/mail %s"
#!/bin/bash
if [ "$1" != "" ]
then
        /usr/sbin/sendmail -t "$1"
fi