1.安装vDDoS

Github地址:https://github.com/duy13/vDDoS-Protection

官网:https://vddos.voduy.com/

官网有详细的安装方法

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

which-attack-tools-vddos-proxy-can-block

保存后重启 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前置和宝塔共存等可自行发掘

参考文章:https://lowendtalk.com/discussion/102642

https://lowendtalk.com/discussion/100518/install-vddos-proxy-to-antiddos-dos-syn-flood-http-floods-attack/p1

文章目录