使用vDDoS保护你的网站
1.安装vDDoS
Github地址:https://github.com/duy13/vDDoS-Protection
官网有详细的安装方法
2.升级vDDoS
保留旧文件:
mv /vddos/conf.d/website.conf ~/
删除旧程序:
rm -rf /vddos
rm -rf /usr/lib64/vddos/modules
rm -rf /var/log/vddos
rm -rf /var/cache/vddos
安装新程序:
curl -L https://github.com/duy13/vDDoS-Protection/raw/master/vddos-x.x.x-centos7 -o /usr/bin/vddos
chmod 700 /usr/bin/vddos
/usr/bin/vddos help
/usr/bin/vddos setup
恢复配置文件:
mv ~/website.conf /vddos/conf.d/
重启 vDDoS:
vddos restart
3.用法
如何使用vDDoS保护您的网站?
请在 /vddos/conf.d 中编辑您的 website.conf 文件
示例 编辑website.conf:
# nano /vddos/conf.d/website.conf
# Website Listen Backend Cache Security SSL-Prikey SSL-CRTkey
default http://0.0.0.0:80 http://127.0.0.1:8080 no 200 no no
your-domain.com http://0.0.0.0:80 http://127.0.0.1:8080 no 200 no no
default https://0.0.0.0:443 https://127.0.0.1:8443 no 307 /vddos/ssl/your-domain.com.pri /vddos/ssl/your-domain.com.crt
your-domain.com https://0.0.0.0:443 https://127.0.0.1:8443 no 307 /vddos/ssl/your-domain.com.pri /vddos/ssl/your-domain.com.crt
your-domain.com https://0.0.0.0:4343 https://103.28.249.200:443 yes click /vddos/ssl/your-domain.com.pri /vddos/ssl/your-domain.com.crt
"your-domain.com "是在Apache后台的网站http://127.0.0.1:8080,希望得到vDDoS的保护
"default" 是所有其余站点的选项
/vddos/ssl/your-domain.com.pri是网站的SSL私钥
/vddos/ssl/your-domain.com.crt是网站的SSL公钥
Cache:
variable: no, yes (在vDDoS上设置代理缓存网站)
Security:
variable: no, 307, 200, click, 5s, high, captcha (设置一个有效的安全级别保护)
注意 安全级别: no < 307 < 200 < click < 5s < high < captcha
保存后重启 vDDoS:
vddos restart
设置来自代理或 CDN 的真实 IP 流量:
请编辑文件 cdn-ip.conf
# nano /vddos/conf.d/cdn-ip.conf
# Cloudflare
set_real_ip_from 103.21.244.0/22;
...
可以用脚本自动更新IP,给出cloudflare的示例
#!/bin/bash
echo "#Cloudflare" > /vddos/conf.d/cdn-ip.conf;
for i in `curl https://www.cloudflare.com/ips-v4`; do
echo "set_real_ip_from i;" >> /vddos/conf.d/cdn-ip.conf;
done
for i in `curl https://www.cloudflare.com/ips-v6`; do
echo "set_real_ip_fromi;" >> /vddos/conf.d/cdn-ip.conf;
done
echo "" >> /vddos/conf.d/cdn-ip.conf;
echo "real_ip_header X-Forwarded-For;" >> /vddos/conf.d/cdn-ip.conf;
echo "real_ip_recursive on;" >> /vddos/conf.d/cdn-ip.conf;
定时运行就可以自动更新IP
0 5 * * 1 /bin/bash /usr/local/nginx/conf/update_cf_ip.sh
#每周1的5点进行自动更新Cloudflare的IP conf文件
拒绝国家或 IP:
请编辑文件 blacklist-countrycode.conf
#nano /vddos/conf.d/blacklist-countrycode.conf
geoip_country /usr/share/GeoIP/GeoIP.dat;
map $geoip_country_code $allowed_country {
default yes;
US yes;
CN no;
}
deny 1.1.1.1;
IP白名单设置
请编辑文件 whitelist-botsearch.conf
# nano /vddos/conf.d/whitelist-botsearch.conf
#Alexa Bot IP Addresses
204.236.235.245; 75.101.186.145;
...
使用模式 reCaptcha:
请编辑文件 recaptcha-secretkey.conf & recaptcha-sitekey.conf
# nano /vddos/conf.d/recaptcha-sitekey.conf
# Website reCaptcha-sitekey (View KEY in https://www.google.com/recaptcha/admin#list)
your-domain.com 6Lcr6QkUAAAAAxxxxxxxxxxxxxxxxxxxxxxxxxxx
...
# nano /vddos/conf.d/recaptcha-secretkey.conf
DEBUG=False
RE_SECRETS = { 'your-domain.com': '6Lcr6QkUAAAAxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'your-domain.org': '6LcKngoUAAAAxxxxxxxxxxxxxxxxxxxxxxxxxxx' }
(转到https://www.google.com/recaptcha/admin#list并获取 vDDoS 密钥)
将攻击者IP列表交给Cloudflare来处理
需要安装插件
vDDoS Layer4 Mapping:https://github.com/duy13/vDDoS-Layer4-Mapping
Cloudflare:
Register account on CloudFlare.com > Add Your Website > Overview > Zone ID
Email > My Setting > API Key > Global API Key > View API Key
选项翻译
欢迎来到vDDoS,一个HTTP(S)DDoS保护反向代理。谢谢您的使用!
请选择vDDoS第四层运行模式。
CloudFlare模式。
1. 启用Captcha-All-Country模式(推荐此模式用于大型DDoS攻击)
2. 启用监控-vDDoS-日志和验证码模式
3. 启用监控-vDDoS-日志和拦截模式
4. 删除CloudFlare防火墙上存在的所有规则。
CSF模式。
5. 启用Monitor-vDDoS-logs-and-Block模式
6. 移除CSF上存在的所有规则
结束并退出。
7. 结束所有进程(杀死所有运行的进程模式)
8. 8.退出
输入你的答案[1,2,3...或8]。
如果您使用 CSF:
主页:https://configserver.com/cp/csf.html
安装 CSF:
cd /usr/src/
wget 'https://download.configserver.com/csf.tgz'
tar -xvf csf.tgz
cd csf
sh install.sh
chkconfig --levels 235 csf on
chkconfig --levels 235 lfd on
配置 CSF:
cd /etc/csf/
sed -i 's/TESTING = "1"/TESTING = "0"/g' /etc/csf/csf.conf
重启:
csf -r && csf -q && service lfd restart
使用 vDDoS-Layer4-Mapping:
/usr/bin/vddos-layer4
(根据你的需要选择选项2或5)
如果您使用 CloudFlare => 检查您的 Cloudflare 防火墙页面 => 查看攻击者服务器的 IP 地址
如果您使用CFS 检查你的 /etc/csf/csf.deny 文件 => 查看攻击者服务器的 IP 地址
注意
(CloudFlare是Mitigate Firewall第3-4层)
(vDDoS保护是Mitigate Firewall第7层)
验证vDDoS是否启用成功
curl -L http://example.com
#如果内容显示不全说明被拦截,则启用正常
还有更多用法比如根据网站负载自动切换防护模式,vDDoS前置和宝塔共存等可自行发掘
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。