Mình sẽ nói thẳng: “bị lộ IP nên bị DDoS” chỉ là một phần rất nhỏ của vấn đề. Trên internet, IP server gần như luôn có thể bị tìm ra. Vấn đề thật sự là hệ thống của bạn không có lớp bảo vệ đủ tốt nên khi bị nhắm tới thì “toang”.
Dưới đây là một bài phân tích chuyên sâu, đầy đủ góc nhìn thực tế triển khai, nhưng vẫn giữ ở mức phòng thủ (không hướng dẫn tấn công).
I. IP bị lộ từ đâu?
1. DNS cấu hình sai
Đây là nguyên nhân phổ biến nhất.
Case hay gặp:
Bạn dùng Cloudflare nhưng:
Có record A trỏ thẳng IP (không bật proxy)
Subdomain phụ (api.domain.com, admin.domain.com) lộ IP thật
Hacker chỉ cần:
nslookup domain.com
hoặc scan subdomain là ra IP gốc.
2. Lộ qua dịch vụ bên thứ 3
Ví dụ:
Email server (MX record)
FTP / SSH mở public
API call trực tiếp IP
Nếu server vừa chạy web vừa chạy mail → dễ bị lộ IP thật.
3. Lộ qua lịch sử DNS
Các tool như:
SecurityTrails
ViewDNS
Có thể xem IP cũ trước khi bạn bật CDN.
4. Lộ qua code / config
Ví dụ:
Hardcode API URL:
http://123.45.67.89/api
JS file public chứa IP backend
5. Lộ qua outbound request
Server gọi ra ngoài:
webhook
API bên thứ 3
Bên kia log lại IP của bạn.
6. Scan toàn internet
Thực tế:
Bot scan toàn bộ IPv4 liên tục
Nếu server bạn mở port (80, 443, 22…) → bị phát hiện
Không cần lộ IP, vẫn bị “random hit”.
II. DDoS là gì (hiểu đúng bản chất)
1. Không phải chỉ là “spam request”
DDoS có nhiều loại:
Layer 3/4 (Network)
SYN flood
UDP flood
Đánh thẳng băng thông
Layer 7 (Application)
HTTP flood
fake browser
Đánh vào web/app
Botnet
Hàng nghìn IP thật
rất khó chặn bằng firewall đơn giản
III. Tại sao bị DDoS “chết ngay”?
1. Không có CDN / WAF
Server nhận traffic trực tiếp → quá tải ngay
2. Server yếu / cấu hình sai
Ví dụ:
Nginx default
PHP-FPM không limit
MySQL max connection thấp
3. Không rate limit
1 IP spam 1000 req/s vẫn cho vào
4. Không có cache
mỗi request đều query DB → sập nhanh
5. Không tách layer
Web + DB + API chung 1 server → chết dây chuyền
IV. Sơ đồ hệ thống dễ bị DDoS
[User] ---> [Server IP thật] ---> [Web + DB]
Đi thẳng → không có bảo vệ
V. Sơ đồ hệ thống chuẩn chống DDoS
┌───────────────┐
│ Cloudflare │
│ (CDN + WAF) │
└──────┬────────┘
│
┌────────▼────────┐
│ Reverse Proxy │
│ (Nginx / HAProxy)│
└────────┬────────┘
│
┌──────────▼──────────┐
│ App Servers │
│ (Multiple instances) │
└──────────┬──────────┘
│
┌────▼────┐
│ DB │
└─────────┘
VI. Cách khắc phục CHUẨN (mạnh – chuyên sâu)
1. Ẩn IP thật (BẮT BUỘC)
Dùng CDN
Cloudflare (phổ biến nhất)
Checklist:
Bật proxy (mây cam)
Không để lộ IP qua subdomain
Chặn direct IP:
Nginx:
if ($host !~* ^(domain.com|www.domain.com)$ ) {
return 444;
}
2. Firewall chuẩn
UFW / iptables
Chỉ mở:
80, 443
SSH (giới hạn IP)
3. Rate limiting (rất quan trọng)
Nginx:
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
server {
location / {
limit_req zone=one burst=10 nodelay;
}
}
Chặn spam request
4. Chặn bot xấu
User-Agent filter
if ($http_user_agent ~* (curl|wget|python)) {
return 403;
}
5. Cache để giảm tải
Nginx cache:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m;
location / {
proxy_cache my_cache;
proxy_pass http://backend;
}
6. Tách server
Không dùng 1 VPS cho tất cả
Tách:
Web
API
DB
7. Dùng Load Balancer
Ví dụ:
HAProxy
Nginx upstream
8. Anti-DDoS chuyên nghiệp
Nếu bị đánh mạnh:
Lựa chọn:
Cloudflare Pro / Business
AWS Shield
Google Cloud Armor
9. Chặn theo quốc gia (nếu cần)
geoip_country /usr/share/GeoIP/GeoIP.dat;
if ($geoip_country_code !~ (VN|US)) {
return 403;
}
10. Giới hạn connection
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 10;
VII. Cách kiểm tra bạn đang yếu ở đâu
Checklist nhanh:
Có dùng CDN không?
IP thật có bị ping trực tiếp không?
Có rate limit không?
Có cache không?
Server chịu được bao nhiêu req/s?
Có log traffic không?
VIII. Sai lầm phổ biến
Nghĩ đổi IP là xong
→ Sai, attacker scan lại ra ngay
Chỉ dùng firewall
→ Không đủ với botnet
Dùng VPS yếu
→ 1Gbps bị đánh là chết
Không monitor
→ Không biết bị đánh kiểu gì
IX. Mô hình bảo vệ “chuẩn bài”
Internet
↓
Cloudflare (ẩn IP + chống DDoS)
↓
Firewall (chặn IP lạ)
↓
Nginx (rate limit + cache)
↓
App (scale ngang)
↓
Database (private network)
X. Nếu bạn đang bị DDoS ngay lúc này
Làm nhanh:
Bật Cloudflare proxy ngay
Đổi IP server
Chặn truy cập direct IP
Bật rate limit
Tắt service không cần thiết
XI. Kết luận
IP luôn có thể bị lộ
Vấn đề không phải “giấu IP” mà là:
dù biết IP vẫn không đánh sập được
Dưới đây là một bài phân tích chuyên sâu, đầy đủ góc nhìn thực tế triển khai, nhưng vẫn giữ ở mức phòng thủ (không hướng dẫn tấn công).
I. IP bị lộ từ đâu?
1. DNS cấu hình sai
Đây là nguyên nhân phổ biến nhất.
Case hay gặp:
Bạn dùng Cloudflare nhưng:
Có record A trỏ thẳng IP (không bật proxy)
Subdomain phụ (api.domain.com, admin.domain.com) lộ IP thật
Hacker chỉ cần:
nslookup domain.com
hoặc scan subdomain là ra IP gốc.
2. Lộ qua dịch vụ bên thứ 3
Ví dụ:
Email server (MX record)
FTP / SSH mở public
API call trực tiếp IP
Nếu server vừa chạy web vừa chạy mail → dễ bị lộ IP thật.
3. Lộ qua lịch sử DNS
Các tool như:
SecurityTrails
ViewDNS
Có thể xem IP cũ trước khi bạn bật CDN.
4. Lộ qua code / config
Ví dụ:
Hardcode API URL:
http://123.45.67.89/api
JS file public chứa IP backend
5. Lộ qua outbound request
Server gọi ra ngoài:
webhook
API bên thứ 3
Bên kia log lại IP của bạn.
6. Scan toàn internet
Thực tế:
Bot scan toàn bộ IPv4 liên tục
Nếu server bạn mở port (80, 443, 22…) → bị phát hiện
Không cần lộ IP, vẫn bị “random hit”.
II. DDoS là gì (hiểu đúng bản chất)
1. Không phải chỉ là “spam request”
DDoS có nhiều loại:
Layer 3/4 (Network)
SYN flood
UDP flood
Đánh thẳng băng thông
Layer 7 (Application)
HTTP flood
fake browser
Đánh vào web/app
Botnet
Hàng nghìn IP thật
rất khó chặn bằng firewall đơn giản
III. Tại sao bị DDoS “chết ngay”?
1. Không có CDN / WAF
Server nhận traffic trực tiếp → quá tải ngay
2. Server yếu / cấu hình sai
Ví dụ:
Nginx default
PHP-FPM không limit
MySQL max connection thấp
3. Không rate limit
1 IP spam 1000 req/s vẫn cho vào
4. Không có cache
mỗi request đều query DB → sập nhanh
5. Không tách layer
Web + DB + API chung 1 server → chết dây chuyền
IV. Sơ đồ hệ thống dễ bị DDoS
[User] ---> [Server IP thật] ---> [Web + DB]
Đi thẳng → không có bảo vệ
V. Sơ đồ hệ thống chuẩn chống DDoS
┌───────────────┐
│ Cloudflare │
│ (CDN + WAF) │
└──────┬────────┘
│
┌────────▼────────┐
│ Reverse Proxy │
│ (Nginx / HAProxy)│
└────────┬────────┘
│
┌──────────▼──────────┐
│ App Servers │
│ (Multiple instances) │
└──────────┬──────────┘
│
┌────▼────┐
│ DB │
└─────────┘
VI. Cách khắc phục CHUẨN (mạnh – chuyên sâu)
1. Ẩn IP thật (BẮT BUỘC)
Dùng CDN
Cloudflare (phổ biến nhất)
Checklist:
Bật proxy (mây cam)
Không để lộ IP qua subdomain
Chặn direct IP:
Nginx:
if ($host !~* ^(domain.com|www.domain.com)$ ) {
return 444;
}
2. Firewall chuẩn
UFW / iptables
Chỉ mở:
80, 443
SSH (giới hạn IP)
3. Rate limiting (rất quan trọng)
Nginx:
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
server {
location / {
limit_req zone=one burst=10 nodelay;
}
}
Chặn spam request
4. Chặn bot xấu
User-Agent filter
if ($http_user_agent ~* (curl|wget|python)) {
return 403;
}
5. Cache để giảm tải
Nginx cache:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m;
location / {
proxy_cache my_cache;
proxy_pass http://backend;
}
6. Tách server
Không dùng 1 VPS cho tất cả
Tách:
Web
API
DB
7. Dùng Load Balancer
Ví dụ:
HAProxy
Nginx upstream
8. Anti-DDoS chuyên nghiệp
Nếu bị đánh mạnh:
Lựa chọn:
Cloudflare Pro / Business
AWS Shield
Google Cloud Armor
9. Chặn theo quốc gia (nếu cần)
geoip_country /usr/share/GeoIP/GeoIP.dat;
if ($geoip_country_code !~ (VN|US)) {
return 403;
}
10. Giới hạn connection
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 10;
VII. Cách kiểm tra bạn đang yếu ở đâu
Checklist nhanh:
Có dùng CDN không?
IP thật có bị ping trực tiếp không?
Có rate limit không?
Có cache không?
Server chịu được bao nhiêu req/s?
Có log traffic không?
VIII. Sai lầm phổ biến
Nghĩ đổi IP là xong
→ Sai, attacker scan lại ra ngay
Chỉ dùng firewall
→ Không đủ với botnet
Dùng VPS yếu
→ 1Gbps bị đánh là chết
Không monitor
→ Không biết bị đánh kiểu gì
IX. Mô hình bảo vệ “chuẩn bài”
Internet
↓
Cloudflare (ẩn IP + chống DDoS)
↓
Firewall (chặn IP lạ)
↓
Nginx (rate limit + cache)
↓
App (scale ngang)
↓
Database (private network)
X. Nếu bạn đang bị DDoS ngay lúc này
Làm nhanh:
Bật Cloudflare proxy ngay
Đổi IP server
Chặn truy cập direct IP
Bật rate limit
Tắt service không cần thiết
XI. Kết luận
IP luôn có thể bị lộ
Vấn đề không phải “giấu IP” mà là:
dù biết IP vẫn không đánh sập được
Mình sẽ nói thẳng: “bị lộ IP nên bị DDoS” chỉ là một phần rất nhỏ của vấn đề. Trên internet, IP server gần như luôn có thể bị tìm ra. Vấn đề thật sự là hệ thống của bạn không có lớp bảo vệ đủ tốt nên khi bị nhắm tới thì “toang”.
Dưới đây là một bài phân tích chuyên sâu, đầy đủ góc nhìn thực tế triển khai, nhưng vẫn giữ ở mức phòng thủ (không hướng dẫn tấn công).
I. IP bị lộ từ đâu?
1. DNS cấu hình sai
Đây là nguyên nhân phổ biến nhất.
Case hay gặp:
Bạn dùng Cloudflare nhưng:
Có record A trỏ thẳng IP (không bật proxy)
Subdomain phụ (api.domain.com, admin.domain.com) lộ IP thật
👉 Hacker chỉ cần:
nslookup domain.com
hoặc scan subdomain là ra IP gốc.
2. Lộ qua dịch vụ bên thứ 3
Ví dụ:
Email server (MX record)
FTP / SSH mở public
API call trực tiếp IP
👉 Nếu server vừa chạy web vừa chạy mail → dễ bị lộ IP thật.
3. Lộ qua lịch sử DNS
Các tool như:
SecurityTrails
ViewDNS
👉 Có thể xem IP cũ trước khi bạn bật CDN.
4. Lộ qua code / config
Ví dụ:
Hardcode API URL:
http://123.45.67.89/api
JS file public chứa IP backend
5. Lộ qua outbound request
Server gọi ra ngoài:
webhook
API bên thứ 3
👉 Bên kia log lại IP của bạn.
6. Scan toàn internet
Thực tế:
Bot scan toàn bộ IPv4 liên tục
Nếu server bạn mở port (80, 443, 22…) → bị phát hiện
👉 Không cần lộ IP, vẫn bị “random hit”.
II. DDoS là gì (hiểu đúng bản chất)
1. Không phải chỉ là “spam request”
DDoS có nhiều loại:
Layer 3/4 (Network)
SYN flood
UDP flood
👉 Đánh thẳng băng thông
Layer 7 (Application)
HTTP flood
fake browser
👉 Đánh vào web/app
Botnet
Hàng nghìn IP thật
rất khó chặn bằng firewall đơn giản
III. Tại sao bị DDoS “chết ngay”?
1. Không có CDN / WAF
👉 Server nhận traffic trực tiếp → quá tải ngay
2. Server yếu / cấu hình sai
Ví dụ:
Nginx default
PHP-FPM không limit
MySQL max connection thấp
3. Không rate limit
👉 1 IP spam 1000 req/s vẫn cho vào
4. Không có cache
👉 mỗi request đều query DB → sập nhanh
5. Không tách layer
👉 Web + DB + API chung 1 server → chết dây chuyền
IV. Sơ đồ hệ thống dễ bị DDoS
[User] ---> [Server IP thật] ---> [Web + DB]
👉 Đi thẳng → không có bảo vệ
V. Sơ đồ hệ thống chuẩn chống DDoS
┌───────────────┐
│ Cloudflare │
│ (CDN + WAF) │
└──────┬────────┘
│
┌────────▼────────┐
│ Reverse Proxy │
│ (Nginx / HAProxy)│
└────────┬────────┘
│
┌──────────▼──────────┐
│ App Servers │
│ (Multiple instances) │
└──────────┬──────────┘
│
┌────▼────┐
│ DB │
└─────────┘
VI. Cách khắc phục CHUẨN (mạnh – chuyên sâu)
1. Ẩn IP thật (BẮT BUỘC)
Dùng CDN
Cloudflare (phổ biến nhất)
Checklist:
Bật proxy (mây cam)
Không để lộ IP qua subdomain
Chặn direct IP:
Nginx:
if ($host !~* ^(domain.com|www.domain.com)$ ) {
return 444;
}
2. Firewall chuẩn
UFW / iptables
Chỉ mở:
80, 443
SSH (giới hạn IP)
3. Rate limiting (rất quan trọng)
Nginx:
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
server {
location / {
limit_req zone=one burst=10 nodelay;
}
}
👉 Chặn spam request
4. Chặn bot xấu
User-Agent filter
if ($http_user_agent ~* (curl|wget|python)) {
return 403;
}
5. Cache để giảm tải
Nginx cache:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m;
location / {
proxy_cache my_cache;
proxy_pass http://backend;
}
6. Tách server
Không dùng 1 VPS cho tất cả
Tách:
Web
API
DB
7. Dùng Load Balancer
Ví dụ:
HAProxy
Nginx upstream
8. Anti-DDoS chuyên nghiệp
Nếu bị đánh mạnh:
Lựa chọn:
Cloudflare Pro / Business
AWS Shield
Google Cloud Armor
9. Chặn theo quốc gia (nếu cần)
geoip_country /usr/share/GeoIP/GeoIP.dat;
if ($geoip_country_code !~ (VN|US)) {
return 403;
}
10. Giới hạn connection
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 10;
VII. Cách kiểm tra bạn đang yếu ở đâu
Checklist nhanh:
Có dùng CDN không?
IP thật có bị ping trực tiếp không?
Có rate limit không?
Có cache không?
Server chịu được bao nhiêu req/s?
Có log traffic không?
VIII. Sai lầm phổ biến
❌ Nghĩ đổi IP là xong
→ Sai, attacker scan lại ra ngay
❌ Chỉ dùng firewall
→ Không đủ với botnet
❌ Dùng VPS yếu
→ 1Gbps bị đánh là chết
❌ Không monitor
→ Không biết bị đánh kiểu gì
IX. Mô hình bảo vệ “chuẩn bài”
Internet
↓
Cloudflare (ẩn IP + chống DDoS)
↓
Firewall (chặn IP lạ)
↓
Nginx (rate limit + cache)
↓
App (scale ngang)
↓
Database (private network)
X. Nếu bạn đang bị DDoS ngay lúc này
Làm nhanh:
Bật Cloudflare proxy ngay
Đổi IP server
Chặn truy cập direct IP
Bật rate limit
Tắt service không cần thiết
XI. Kết luận
IP luôn có thể bị lộ
Vấn đề không phải “giấu IP” mà là:
👉 dù biết IP vẫn không đánh sập được