Hướng Dẫn Chống DDOS 2017, AntiDDos botnet, Chống DDos2017

20 Tháng Một, 2017

Chống DDOS cho WEBSITE bằng các công cụ hỗ trợ miễn phí: CDDoS Proxy Protection, CDDoS Layer4 Mapping, CloudFlare CDN, CSF IPtables

Phần I: Cài đặt CDDoS Protection – Reverse Proxy Layer 7 Firewall lọc giảm các loại tấn công DOS, DDOS, SYN Floods, HTTP Floods attack

CDDoS là gì?
CDDoS Protection là một phần mềm miễn phí giúp bạn cài đặt lên một máy chủ Reverse Proxy Server chạy giao thức HTTP(S) hoạt động như một tường lửa Layer 7 trong mô hình OSI có tác dụng giảm thiểu sự truy vấn tràn ngập của các công cụ auto bot DOS, DDOS, SYN Floods, HTTP Floods attack… giúp đỡ bảo vệ cho Website của bạn.

Một số tính năng cơ bản:
-Reverse Proxy
-Bảo vệ chống DDoS
-Giảm thiểu truy vấn từ Robot
-HTTP challenge/response
-Thử thách truy vấn bằng reCaptcha
-HTTP Denial of Service tools
-Cookie challenge/response
-Block/Allow Country Code bạn muốn (Status 403)
-Limit số kết nối đến từ 1 IP address (Status 503)
-Hỗ trợ CDN (CloudFlare, Incapsula…)
-Whitelist cho Botsearch (Hỗ trợ các bạn cần SEO. Chỉ cho phép 1 số Botsearch: Google, Alexa, Bing, Yahoo, Yandex, Facebook… mà bạn muốn)

Cách thức CDDoS Proxy hoạt động?
CDDoS Protection là một autoscript hoạt động trên Linux giúp bạn dựng lên tự động các thành phần bao gồm Nginx Server và các modules phụ: HTTP/2; GeoIP; Limit Req, Testcookie; reCaptcha… Cơ chế hoạt động tương tự dịch vụ CDN Cloudflare cung cấp tuy nhiên đây là 1 phần mềm nên nó chỉ giúp bạn có thể tự dựng lấy hệ thống tường của của riêng bạn và của chính bạn mà thôi.

Ví dụ trường hợp web của bạn hoạt động mà không có một cơ chế bất kỳ bảo vệ: (chấp nhận xử lý tất cả truy vấn)
Hướng Dẫn Chống DDOS 2017, AntiDDos botnet, Chống DDos2017

Như hình trên nếu bạn bị một công cụ bot truy vấn liên tục sẽ làm cho CPU, RAM, IO… của bạn đột ngột tăng và dùng hết khiến bạn lâm vào hoàn cảnh từ chối dịch vụ.

Nếu web của bạn hoạt động mà có bảo vệ: (thách thức tất cả truy vấn)
-Truy vấn từ con người :
Hướng Dẫn Chống DDOS 2017, AntiDDos botnet, Chống DDos2017

Hướng Dẫn Chống DDOS 2017, AntiDDos botnet, Chống DDos2017

-Bots xấu truy vấn:
Hướng Dẫn Chống DDOS 2017, AntiDDos botnet, Chống DDos2017

Hướng Dẫn Chống DDOS 2017, AntiDDos botnet, Chống DDos2017

Như bạn thấy khả năng nhận diện người hoặc bots của CDDoS dựa trên 2 yếu tố:
+Nếu là trình duyệt web thì sẽ phải có khả năng xử lý Javascript => 90% các tools DDoS đều không có khả năng này, nó chỉ biết truy vấn liên tục để gây lụt máy chủ. Đây cũng là kiểu checking của Cloudflare 5s để nhận biết người dùng dùng trình duyệt web tiêu chuẩn hay tools auto bot?
+Yếu tố thứ 2 đó là sử dụng reCaptcha của Google cung cấp để nhận diện là người hay là bots? Rõ ràng 99% bots đều không thể giải quyết các yêu cầu đơn giản của reCaptcha (ví dụ như Hãy chọn vào ảnh có cửa hàng, biển báo giao thông, ảnh bánh kem…)

Cách cài đặt CDDoS Proxy?
-CDDoS Protection chỉ hỗ trợ hệ điều hành CentOS Server 5/6/7 x86_64 (http://centos.org) và CloudLinux Server 5/6/7 x86_64 (http://cloudlinux.com) nên nếu là 2 nền tảng trên thì bạn hẵn cài.
-Sau đó bạn có thể vào trang chủ và tải về đúng phiên bản CDDoS Protection hoạt động được với hệ thống của bạn (cddos.net)
-CDDoS Protection nên được cài đặt trước khi bạn định cài thứ gì hoạt động chung với nó (cPanel, VestaCP, LAMP, LEMP…)

Cài một số gói cần thiết cho hệ điều hành:

Mã:
yum -y install epel-release yum -y install 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 libatomic_ops-devel perl-ExtUtils-Embed gcc automake autoconf apr-util-devel 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 libatomic_ops-devel perl-ExtUtils-Embed

Ví dụ sau máy chủ mình là CentOS 7 x86_64 và muốn cài bản CDDoS 1.10.1 (chỉ gần wget về 1 file vddos-1.10.1-centos7):

Mã:
curl -L https://github.com/duy13/vDDoS-Protection/raw/master/vddos-1.10.1-centos7 -o /usr/bin/vddos chmod 700 /usr/bin/vddos /usr/bin/vddos help /usr/bin/vddos setup

(CDDoS sẽ auto cài đặt hết cho bạn, việc cài đặt có thể tốn 15 phút hoặc hơn nữa)
Giao diện và Command Line CDDoS trông như sau:

Mã:
 Welcome to vDDoS, a HTTP(S) DDoS Protection Reverse Proxy. Thank you for using! Command Line Usage: vddos setup :installing vDDoS service for the first time into /vddos vddos start :start vDDoS service vddos stop :stop vDDoS service vddos restart :restart vDDoS service vddos autostart :auto-start vDDoS services on boot vddos attack :create a DDoS attacks to HTTP target (in 30 min) vddos stopattack :stop "vddos attack" command vddos help :display this help Please sure download vDDoS source from: vddos.voduy.com

Cách cấu hình CDDoS bảo vệ website của bạn như thế nào?
Bạn hãy tìm đến /vddos/conf.d và sửa file website.conf
Ví dụ mình sửa website.conf như sau:

Mã:
# 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” là tên domain trang web của mình đang chạy ở Apache backend http://127.0.0.1:8080 mà mình muốn được bảo vệ bởi CDDoS
“default” là ý nói các trang còn lại
/vddos/ssl/your-domain.com.pri là file SSL Private key của website (cái này chỉ cần nếu bạn chạy web HTTPS)
/vddos/ssl/your-domain.com.crt l2 file SSL Public key của website (cái này chỉ cần nếu bạn chạy web HTTPS)
Cache:
variable: no, yes (Bạn chọn yes hoặc no để quyết định có proxy cache website trên CDDoS hay không, tương tự cache của CloudFlare)
Security:
variable: no, 307, 200, click, 5s, high, captcha (bạn chọn giá trị quy định CDDoS sẽ bảo vệ Web của bạn ở mức độ nào)
Ghi chú, mức độ được đánh giá như sau: no < 307 < 200 < click < 5s < high < captcha
Nhớ rằng nó như một cái cổng trường vậy, bạn càng bảo vệ quá cao thì càng chậm khi ra vào, càng ít bảo vệ thì càng nhanh nhưng nguy hiểm.

Nhớ Restart CDDoS sau mỗi lần thay đổi cấu hình:

Mã:
# vddos restart

Cấu hình CDDoS nhận diện IP thật với traffic đến từ Proxy hoặc CDN của bạn nếu có:
Bạn hãy sửa file cdn-ip.conf và thêm dãy IP của CDN mà bạn sử dụng vào:

Mã:
# nano /vddos/conf.d/cdn-ip.conf # Cloudflare set_real_ip_from 103.21.244.0/22; ...

Cách chặn dãy IP hoặc mã quốc gia nào đó:
Bạn có thể sửa file blacklist-countrycode.conf và thêm mã nước đó vào:

Mã:
# 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;

Cách cho phép IP Address vào danh sách trắng mà không cần phải thách thức và kiểm tra đối với nó:
Nếu muốn cho một dãy IP nào đó vào danh sách trắng cần cho qua, bạn hãy sửa file whitelist-botsearch.conf và thêm IP đó vào:

Mã:
# nano /vddos/conf.d/whitelist-botsearch.conf #Alexa Bot IP Addresses 204.236.235.245; 75.101.186.145; ...

Sử dụng Mode reCaptcha (chế độ này chỉ con người mới có thể vượt qua reCaptcha):
Muốn sử dụng chế độ reCaptcha bạn cần phải đưa thông tin reCaptcha của Google vào CDDoS. Bạn có thể làm việc ấy bằng cách sửa file recaptcha-secretkey.conf & recaptcha-sitekey.conf để thêm vào KEY bí mật:

Mã:
# nano /vddos/conf.d/recaptcha-sitekey.conf # WebsitereCaptcha-sitekey (View KEY in https://www.google.com/recaptcha/admin#list) your-domain.com 6Lcr6QkUAAAAA*************************** your-domain.org 6Lcr6QkUAAAAA*************************** ...
Mã:
# nano /vddos/conf.d/recaptcha-secretkey.conf DEBUG=False RE_SECRETS = { 'your-domain.com': '6Lcr6QkUAAAA***************************', 'your-domain.org': '6LcKngoUAAAA***************************' }

(KEY bí mật ở đâu ra? Bạn có thể vào trang https://www.google.com/recaptcha/admin#list đăng ký domain và lấy thông tin đó bỏ vào đấy)

Một số khuyến cáo:
-Khuyên bạn nên dùng CDDoS với CloudFlare Free/Pro (Ẩn IP Address thật của trang web bạn)
(CloudFlare sẽ bảo vệ bạn ở Layer 3-4)
(CDDoS Protection sẽ bảo vệ ở bạn Layer 7)
-Chỉ Download CDDoS Protection packages từ trang CDDoS HomePages, không dùng một nguồn khác.
-Chỉ sử dụng phần mềm này để testing hoặc demo!

CDDoS Protection chỉ đơn giản vậy thôi! Chúc bạn bảo vệ website thành công!

Mời các bạn xem thêm Phần II: Cài đặt CDDoS Layer4 Mapping – Hỗ trợ CDDoS Proxy Protection chặn tấn công từ Layer 3-4 Tại Đây….