Giới thiệu
vDDOS là giải pháp Antiddos Layer 7 giúp hạn chế vấn nạn DDoS hiện nay. Các Hacker thường dùng các Tool DDoS được chia sẻ công khai trên Internet hoặc thuê dịch vụ từ các trang Stresst Test để ngay nghẽn mạng máy chủ Web, làm suy kiệt tài nguyên dẫn đến Web không thể hoạt động bình thường.
Để tránh tình trạng bị DDoS có rất nhiều cách từ cơ bản đến nâng cao, thường là sẽ sử dụng Cloudflare để làm Proxy đứng trước che bớt cho Web và bạn có thể tăng thêm sức mạnh cho công cụ Antiddos Webserver bằng vDDoS Proxy Protection. Một sản phẩm của bác Võ Duy đang được nhiều Server lớn trên thế giới sử dụng.
vDDoS là một Proxy sẽ đứng trước Webserver và hứng request trước khi vào được Server chính. vDDOS có chức năng phân tích, trích lọc được những request sạch và request xấu để đưa ra quyết định nó cho request đó tiếp tục đi đến Webserver hay không.
Hướng dẫn cấu hình
Chuẩn bị
- 1 VPS ít nhất RAM 1Gb, CPU 1 Core. Có thể tạo VPS miễn phí vĩnh viễn của Oracle để làm vDDoS cho tiết kiệm.
- Hoặc bạn có thể cài vDDOS hay trên VPS Webserver của bạn.
- Dùng hệ điều hành Centos 7 hoặc Ubuntu (khuyến khích dùng Centos 7 vì sẽ có cấu hình ở Kernel cấp nâng cao)
Cài đặt vDDOS
Bạn có thể cài vDDos ở 1 Server riêng để làm proxy hoặc cài ngay trên VPS Webserver của bạn.
CentOS
yum -y install epel-release ; yum -y install wget zip unzip tar curl && \
yum -y install nano net-tools curl wget gc gcc gcc-c++ pcre-devel zlib-devel make wget openssl-devel libxml2-devel libxslt-devel gd-devel perl-ExtUtils-Embed GeoIP-devel gperftools gperftools-devel perl-ExtUtils-Embed && \
yum -y install screen htop iotop iptraf nano net-tools gcc automake libffi-devel zlib zlib-devel gcc gcc-c++ autoconf apr-util-devel gc gcc gcc-c++ pcre-devel zlib-devel make wget openssl openssl-devel libxml2-devel libxslt-devel gd-devel perl-ExtUtils-Embed GeoIP-devel gperftools gperftools-devel perl-ExtUtils-Embed && \
yum -y install gnutls-utils sshpass rsync && \
yum -y install bind-utils sysstat bc tar curl wget gc gcc gcc-c++ pcre-devel zlib-devel make wget openssl-devel libxml2-devel libxslt-devel gd-devel perl-ExtUtils-Embed GeoIP-devel gperftools gperftools-devel perl-ExtUtils-Embed gcc automake autoconf apr-util-devel gc gcc gcc-c++ pcre-devel zlib-devel make wget openssl openssl-devel libxml2-devel libxslt-devel gd-devel perl-ExtUtils-Embed GeoIP-devel gperftools gperftools-devel perl-ExtUtils-Embed perl perl-devel perl-ExtUtils-Embed libxslt libxslt-devel libxml2 libxml2-devel gd gd-devel GeoIP GeoIP-devel gperftools-devel wget yum-utils make gcc openssl-devel bzip2-devel libffi-devel zlib-devel screen htop iotop iptraf nano net-tools gcc automake libffi-devel zlib zlib-devel gcc gcc-c++ autoconf apr-util-devel gc
wget https://files.voduy.com/vDDoS-Proxy-Protection/latest.sh ; chmod 700 latest.sh ; bash latest.sh
Ubuntu
apt update; apt -y install wget zip unzip tar curl ca-certificates && \
apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev && \
apt-get -y install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev libgd-dev libxml2 libxml2-dev uuid-dev && \
apt -y install curl wget build-essential checkinstall && \
apt -y install net-tools sshpass rsync sysstat bc dnsutils && \
apt -y install libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
wget https://files.voduy.com/vDDoS-Proxy-Protection/latest.sh ; chmod 700 latest.sh ; bash latest.sh
Sau khi lệnh chạy xong, nhập số 1 và nhấn Enter để vDDOS cài ở chế độ Master.
Quá trình cài đặt diễn ra tầm 5 – 10 phút, sẽ chạy ngầm ở Terminal, đó nếu bạn thấy bị đứng yên 1 thời gian, thì cứ để yên đó, đừng tắt Terminal đi nhé. Như khúc dưới hình thì chờ hơi lâu 1 xíu.
Sau khi cài xong ta vào phần cấu hình vDDoS để anti DDoS Layer 7 nhé
Thêm Website vào AntiDDos Layer7
Thư mục vDDos sau khi cài xong sẽ nằm ở: /vddos
Cấu hình Website được vDDos bảo vệ: nano /vddos/conf.d/website.conf
Cấu trúc file sẽ là:
- Website: tên Domain Website của bạn
- Listen: lắng nghe ở Port 80 và 443 (2 dòng)
- Backend: IP Webserver của bạn, trường hợp cài vDDOS chung 1 VPS với Webserver thì để 127.0.0.1 và để 2 Port 80, 443. Trường hợp vDDOS cài ở Server khác, thì thay 127.0.0.1 thành IP của Webserver hiện tại của bạn.
- Cache: Yes
- Security: có 4 mức: 307 , 200, click, high, capt. Nếu Web không bị tấn công thì nên để 200, còn bị tấn công thì chuyển thì high hoặc capt.
- SSL-Prikey: đường dẫn file primary key SSL của domain
- SSL-CRTkey: đường dẫn file CRT key SSL của domain
Sau khi thiết lập xong thì bạn save lại và gõ lệnh: vddos reload
Như vậy bạn đã cấu hình Website với vDDoS xong ở mức cơ bản.
Tự Renew SSL khi dùng vDDoS-Auto
Lưu ý: Nếu như bạn đã có SSL sẵn rồi thì không cần thực hiện các bước bên dưới.
nano /vddos/auto-add/setting.conf
Thay HTTP_Backend
và HTTPS_Backend
về đúng IP Webserver.
Sau đó gõ lệnh: vddos-add your-domain.org
(thay your-domain.org thành Domain Website của bạn)
Kiểm tra Log xem đã tạo được SSL chưa: tail -f /vddos/auto-add/log.txt
Trong file log có đường dẫn SSL được tạo ra, bạn chỉnh lại đường dẫn 2 file your-domain.org.pri
và your-domain.org.crt
trong /vddos/conf.d/website.conf
cho đúng nhé.
Trường hợp tạo SSL bị lỗi thì bạn nhập lệnh: /usr/bin/vddos-autoadd ssl-again
Khởi động lại vDDoS: vddos restart
Bật chế độ AntiDDos cho Website bằng vDDoS
Nếu một ngày đẹp trời, Website bạn bị DDoS, bạn cần chuyển Mod Security cho vDDoS lên cấp độ cao hơn. Đây là danh sách 5 cấp độ bảo vệ của vDDoS.
Cách 1: mở file website.conf và chỉnh ở cột Security
nano /vddos/conf.d/website.conf
Cách 2: gõ lệnh: vddos-switch your-domain.com cấp-độ
Ví dụ: vddos-switch your-domain.com high
Nếu muốn chuyển hết tất cả Domain sang cấp độ khác thì dùng lệnh: vddos-switch allsite cấp-độ
Ví dụ: vddos-switch allsite no
Ở cấp độ no thì vDDOS sẽ hoạt động như Proxy bình thường, không có chức năng Antiddos chỉ có Limit Rate là hoạt động.
Bật chế độ tự động AntiDDos khi Website bị tấn công
vDDOS có một tính năng rất hay là khi phát hiện Website đang bị DDoS sẽ tự động bật Mod Security lên để chống DDoS. Bình thường bạn có thể để Mod no
, nhưng khi có dấu hiệu bị tấn công, bạn có thể để vDDOS tự chuyển qua Mod high
và sau khoảng 1 thời gian trở về Mod no
lại.
Tính năng đó gọi là vddos-autoswitch
, bạn thực hiện như sau:
Mở file setting.config
trong /vddos/auto-switch
:
nano /vddos/auto-switch/setting.conf
Bạn chỉ cần quan tâm 2 dòng:
default_switch_mode_not_attack="no" //đặt no khi Web hoạt động bình thường
default_switch_mode_under_attack="high" // đặt high hoặc capt khi Web có dấu hiệu bị DDoS
Sau đó save lại và chạy lên Crontab cho vddos-autoswitch
:
echo '*/5 * * * * root /usr/bin/vddos-autoswitch checkalldomain high' >> /etc/crontab
echo '0 */3 * * * root /usr/bin/vddos-switch allsite no && /usr/bin/vddos reload' >> /etc/crontab
echo '* * * * * root /usr/bin/vddos-sensor' >> /etc/crontab
Kiểm tra log Antiddos
Nếu Website bạn đang bị tấn công hoặc vừa bị tấn công xong, bạn có thể kiểm tra Log kết nối bằng lệnh sau:
tail -f /var/log/vddos/tên-website.com.access.log
Nếu xem log dạng giao diện trên Web thì bạn mở file Monitor_GUI.txt trong thư mục /vddos
, truy cập vào đường dẫn trong file bạn sẽ thấy giao diện thống kê rất trực quan:
Cấu hình nâng cao vDDOS
- Chặn quốc gia cụ thể không được truy cập Webserver:
nano /vddos/conf.d/blacklist-countrycode.conf
- Thêm whitelist IP để không bị vDDOS chặn:
nano /vddos/conf.d/whitelist-botsearch.conf
- Cấu hình recaptcha dùng cho Mod capt:
nano /vddos/conf.d/recaptcha.conf
- vDDOS tương thích hoàn toàn với Cloudflare, do đó khuyến khích bạn nên bật Cloudflare Proxy lên để ẩn IP gốc.
Để cấu hình nâng cao vDDoS để Antiddos Layer7 một cách toàn diện cho Webserver như:
- Cấu hình random cookie
- Kết hợp Cloudflare bật Rule Clouflare khi có dấu hiệu DDoS
- Kết hợp CFS AntiDDoS Layer 4
- Cấu hình Limit Rate, giới hạn kết nối cho mỗi IP
- Tối ưu hóa SEO khi đang bật AntiDDoS
- Cấu hình Load Balancing
- Cấu hình High Availability
- ….