Apache Mod规避电子邮件通知问题
我们正在尝试设置Apache Mod Evasion,以防止将来对我们的一台服务器进行DOS攻击。除了电子邮件通知之外,一切似乎都运转良好。该堆栈在Ubuntu服务器16.04上运行PHP7.1和Apache2.4 通过测试命令,电子邮件工作正常: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
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