{"id":33737,"date":"2024-06-24T09:58:37","date_gmt":"2024-06-24T02:58:37","guid":{"rendered":"https:\/\/wiki.tino.org\/staging\/?p=33737"},"modified":"2026-10-22T12:16:03","modified_gmt":"2026-10-22T05:16:03","slug":"cach-chong-ddos-cho-vps","status":"publish","type":"post","link":"https:\/\/tino.vn\/blog\/cach-chong-ddos-cho-vps\/","title":{"rendered":"C\u00e1ch ch\u1ed1ng DDoS cho VPS: ph\u00f2ng theo t\u1eebng l\u1edbp v\u00e0 x\u1eed l\u00fd khi b\u1ecb t\u1ea5n c\u00f4ng"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Ch\u1ed1ng DDoS cho VPS l\u00e0 ch\u1eb7n l\u01b0u l\u01b0\u1ee3ng t\u1ea5n c\u00f4ng tr\u01b0\u1edbc khi n\u00f3 l\u00e0m ngh\u1ebdn \u0111\u01b0\u1eddng m\u1ea1ng ho\u1eb7c l\u00e0m c\u1ea1n t\u00e0i nguy\u00ean m\u00e1y ch\u1ee7.<\/strong> M\u1ed9t VPS t\u1ef1 c\u1ea5u h\u00ecnh ch\u1ec9 x\u1eed l\u00fd \u0111\u01b0\u1ee3c t\u1ea5n c\u00f4ng nh\u1ecf \u1edf t\u1ea7ng \u1ee9ng d\u1ee5ng v\u00e0 SYN flood. T\u1ea5n c\u00f4ng l\u00e0m \u0111\u1ea7y b\u0103ng th\u00f4ng ph\u1ea3i \u0111\u01b0\u1ee3c l\u1ecdc \u1edf ph\u00eda tr\u01b0\u1edbc VPS: h\u1ec7 th\u1ed1ng c\u1ee7a nh\u00e0 cung c\u1ea5p ho\u1eb7c m\u1ed9t d\u1ecbch v\u1ee5 proxy nh\u01b0 Cloudflare.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00ec v\u1eady m\u1ed9t <a href=\"https:\/\/tino.vn\/blog\/vps-la-gi\/\">m\u00e1y ch\u1ee7 \u1ea3o VPS<\/a> c\u1ea7n \u0111\u01b0\u1ee3c ph\u00f2ng theo ba l\u1edbp: nh\u00e0 cung c\u1ea5p, CDN ho\u1eb7c reverse proxy, r\u1ed3i m\u1edbi \u0111\u1ebfn c\u1ea5u h\u00ecnh m\u00e1y ch\u1ee7. L\u1ec7nh m\u1eabu d\u00f9ng Ubuntu 24.04 v\u00e0 Nginx. C\u01a1 ch\u1ebf t\u1ea5n c\u00f4ng: xem <a href=\"https:\/\/tino.vn\/blog\/ddos-la-gi\/\">DDoS l\u00e0 g\u00ec<\/a>; c\u00e1c r\u1ee7i ro kh\u00e1c ngo\u00e0i DDoS: <a href=\"https:\/\/tino.vn\/blog\/bao-mat-vps\/\">b\u1ea3o m\u1eadt VPS<\/a>.<\/p>\n\n\n\n<h2 id=\"VPS_ch\u1ed1ng_DDoS_(VPS_anti_DDoS)_l\u00e0_g\u00ec?\">VPS ch\u1ed1ng DDoS (VPS anti DDoS) l\u00e0 g\u00ec?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">VPS ch\u1ed1ng DDoS l\u00e0 VPS m\u00e0 nh\u00e0 cung c\u1ea5p l\u1ecdc l\u01b0u l\u01b0\u1ee3ng t\u1ea5n c\u00f4ng \u1edf t\u1ea7ng m\u1ea1ng tr\u01b0\u1edbc khi l\u01b0u l\u01b0\u1ee3ng \u0111\u00f3 t\u1edbi VPS, th\u01b0\u1eddng qua trung t\u00e2m l\u1ecdc (scrubbing) ho\u1eb7c thi\u1ebft b\u1ecb l\u1ecdc \u1edf bi\u00ean m\u1ea1ng. C\u00e1c nh\u00e0 cung c\u1ea5p kh\u00e1c nhau \u1edf ng\u01b0\u1ee1ng l\u1ecdc, lo\u1ea1i t\u1ea5n c\u00f4ng \u0111\u01b0\u1ee3c x\u1eed l\u00fd v\u00e0 c\u00e1ch ph\u1ea3n \u1ee9ng khi v\u01b0\u1ee3t ng\u01b0\u1ee1ng.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C\u1ee5m &#8220;c\u00f3 ch\u1ed1ng DDoS&#8221; kh\u00f4ng cho bi\u1ebft m\u1ee9c b\u1ea3o v\u1ec7, n\u00ean h\u00e3y h\u1ecfi r\u00f5 b\u1ed1n \u0111i\u1ec1u:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>L\u1ecdc \u1edf l\u1edbp n\u00e0o:<\/strong> ch\u1ec9 t\u1ea7ng m\u1ea1ng (L3\/L4: UDP flood, SYN flood, amplification) hay c\u1ea3 t\u1ea7ng \u1ee9ng d\u1ee5ng (L7: HTTP flood)?<\/li>\n\n\n<li><strong>Ng\u01b0\u1ee1ng:<\/strong> l\u1ecdc \u0111\u01b0\u1ee3c bao nhi\u00eau Gbps v\u00e0 bao nhi\u00eau g\u00f3i m\u1ed7i gi\u00e2y (pps), v\u01b0\u1ee3t c\u00f3 t\u00ednh ph\u00ed kh\u00f4ng? T\u1ea5n c\u00f4ng g\u00f3i nh\u1ecf c\u00f3 th\u1ec3 l\u00e0m ngh\u1ebdn thi\u1ebft b\u1ecb m\u1ea1ng tr\u01b0\u1edbc khi ch\u1ea1m ng\u01b0\u1ee1ng Gbps.<\/li>\n\n\n<li><strong>Khi v\u01b0\u1ee3t ng\u01b0\u1ee1ng:<\/strong> c\u00f3 &#8220;null-route&#8221; (ch\u1eb7n m\u1ecdi l\u01b0u l\u01b0\u1ee3ng t\u1edbi IP b\u1ecb t\u1ea5n c\u00f4ng) kh\u00f4ng? Khi \u0111\u00f3 VPS v\u1eabn ch\u1ea1y nh\u01b0ng kh\u00f4ng ai truy c\u1eadp \u0111\u01b0\u1ee3c.<\/li>\n\n\n<li><strong>T\u1ef1 \u0111\u1ed9ng hay th\u1ee7 c\u00f4ng:<\/strong> l\u1ecdc lu\u00f4n b\u1eadt (always-on), ch\u1ec9 b\u1eadt khi ph\u00e1t hi\u1ec7n t\u1ea5n c\u00f4ng (on-demand) hay ph\u1ea3i m\u1edf ticket? V\u1edbi on-demand, VPS ch\u1ecbu tr\u1eadn trong l\u00fac ch\u1edd ph\u00e1t hi\u1ec7n.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Trang <a href=\"https:\/\/tino.vn\/vps-gia-re\">VPS NVMe t\u1ea1i Tino<\/a> ghi Tino \u00e1p d\u1ee5ng &#8220;h\u1ec7 th\u1ed1ng ch\u1ed1ng t\u1ea5n c\u00f4ng DDoS, t\u01b0\u1eddng l\u1eeda b\u1ea3o m\u1eadt&#8221; (ki\u1ec3m tra ng\u00e0y 21\/10\/2026) nh\u01b0ng kh\u00f4ng n\u00eau ng\u01b0\u1ee1ng hay lo\u1ea1i t\u1ea5n c\u00f4ng, n\u00ean h\u00e3y h\u1ecfi b\u1ed9 ph\u1eadn h\u1ed7 tr\u1ee3 b\u1ed1n \u0111i\u1ec3m tr\u00ean.<\/p>\n\n\n\n<h2 id=\"VPS_th\u01b0\u1eddng_b\u1ecb_DDoS_theo_nh\u1eefng_ki\u1ec3u_n\u00e0o?\">VPS th\u01b0\u1eddng b\u1ecb DDoS theo nh\u1eefng ki\u1ec3u n\u00e0o?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">C\u00e1c cu\u1ed9c t\u1ea5n c\u00f4ng DDoS v\u00e0o VPS th\u01b0\u1eddng do botnet (m\u1ea1ng thi\u1ebft b\u1ecb b\u1ecb chi\u1ebfm quy\u1ec1n) g\u1eedi t\u1eeb h\u00e0ng ngh\u00ecn IP, v\u00e0 chia th\u00e0nh ba nh\u00f3m theo m\u1ee5c ti\u00eau: l\u00e0m \u0111\u1ea7y b\u0103ng th\u00f4ng, l\u00e0m c\u1ea1n b\u1ea3ng k\u1ebft n\u1ed1i c\u1ee7a h\u1ec7 \u0111i\u1ec1u h\u00e0nh, ho\u1eb7c l\u00e0m qu\u00e1 t\u1ea3i \u1ee9ng d\u1ee5ng web. M\u1ed7i nh\u00f3m c\u1ea7n m\u1ed9t l\u1edbp ph\u00f2ng th\u1ee7 kh\u00e1c nhau.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Nh\u00f3m t\u1ea5n c\u00f4ng<\/th><th>V\u00ed d\u1ee5<\/th><th>Th\u1ee9 b\u1ecb c\u1ea1n ki\u1ec7t<\/th><\/tr><\/thead><tbody><tr><td>L\u00e0m \u0111\u1ea7y b\u0103ng th\u00f4ng (volumetric, L3\/L4)<\/td><td>UDP flood, t\u1ea5n c\u00f4ng khu\u1ebfch \u0111\u1ea1i qua DNS, NTP, Memcached<\/td><td>\u0110\u01b0\u1eddng truy\u1ec1n v\u00e0o VPS<\/td><\/tr><tr><td>T\u1ea5n c\u00f4ng giao th\u1ee9c (L4)<\/td><td>SYN flood, ACK flood<\/td><td>H\u00e0ng \u0111\u1ee3i k\u1ebft n\u1ed1i c\u1ee7a kernel, CPU<\/td><\/tr><tr><td>T\u1ea7ng \u1ee9ng d\u1ee5ng (L7)<\/td><td>HTTP flood v\u00e0o trang t\u00ecm ki\u1ebfm, wp-login.php, xmlrpc.php; Slowloris<\/td><td>PHP-FPM, database, s\u1ed1 k\u1ebft n\u1ed1i web server<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Ph\u00e2n nh\u00f3m L3\/L4 v\u00e0 L7 theo t\u00e0i li\u1ec7u DDoS Protection c\u1ee7a Cloudflare. Bi\u1ec7n ph\u00e1p n\u00e0o x\u1eed l\u00fd \u0111\u01b0\u1ee3c nh\u00f3m n\u00e0o: xem b\u1ea3ng gi\u1edbi h\u1ea1n cu\u1ed1i b\u00e0i.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Theo <a href=\"https:\/\/developers.cloudflare.com\/ddos-protection\/\" rel=\"nofollow noopener\" target=\"_blank\">t\u00e0i li\u1ec7u DDoS Protection c\u1ee7a Cloudflare<\/a>, l\u1edbp b\u1ea3o v\u1ec7 DDoS ti\u00eau chu\u1ea9n x\u1eed l\u00fd c\u1ea3 L3\/4 v\u00e0 L7 tr\u00ean m\u1ecdi g\u00f3i, k\u1ec3 c\u1ea3 g\u00f3i Free, v\u1edbi \u0111i\u1ec1u ki\u1ec7n l\u01b0u l\u01b0\u1ee3ng \u0111i qua Cloudflare.<\/p>\n\n\n\n<h2 id=\"L\u00e0m_sao_bi\u1ebft_VPS_\u0111ang_b\u1ecb_DDoS?\">L\u00e0m sao bi\u1ebft VPS \u0111ang b\u1ecb DDoS?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">D\u1ea5u hi\u1ec7u r\u00f5 nh\u1ea5t l\u00e0 website ch\u1eadm ho\u1eb7c kh\u00f4ng truy c\u1eadp \u0111\u01b0\u1ee3c trong khi CPU, RAM c\u1ee7a \u1ee9ng d\u1ee5ng kh\u00f4ng \u0111\u1ed5i. \u0110i k\u00e8m th\u01b0\u1eddng l\u00e0 b\u0103ng th\u00f4ng v\u00e0o t\u0103ng v\u1ecdt kh\u00f4ng kh\u1edbp l\u01b0\u1ee3ng kh\u00e1ch th\u1eadt, ping m\u1ea5t g\u00f3i, nhi\u1ec1u k\u1ebft n\u1ed1i SYN-RECV, log web server \u0111\u1ea7y request l\u1eb7p l\u1ea1i t\u1eeb nhi\u1ec1u IP l\u1ea1, ho\u1eb7c nh\u00e0 cung c\u1ea5p b\u00e1o IP b\u1ecb null-route.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">X\u00e1c nh\u1eadn nhanh b\u1eb1ng c\u00e1c l\u1ec7nh d\u01b0\u1edbi (log Nginx m\u1eb7c \u0111\u1ecbnh tr\u00ean Ubuntu):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># T\u1ed5ng quan k\u1ebft n\u1ed1i TCP theo tr\u1ea1ng th\u00e1i\nss -s\n\n# S\u1ed1 k\u1ebft n\u1ed1i \u0111ang ch\u1edd b\u1eaft tay (SYN-RECV); h\u00e0ng tr\u0103m, h\u00e0ng ngh\u00ecn l\u00e0 b\u1ea5t th\u01b0\u1eddng\nss -n state syn-recv | wc -l\n\n# Kernel c\u00f3 c\u1ea3nh b\u00e1o SYN flood kh\u00f4ng\nsudo journalctl -k --since \"1 hour ago\" | grep -i \"syn flooding\"\n\n# 10 IP g\u1eedi nhi\u1ec1u request nh\u1ea5t trong log truy c\u1eadp Nginx\nsudo awk '{print $1}' \/var\/log\/nginx\/access.log | sort | uniq -c | sort -rn | head\n\n# 10 URL b\u1ecb g\u1ecdi nhi\u1ec1u nh\u1ea5t\nsudo awk '{print $7}' \/var\/log\/nginx\/access.log | sort | uniq -c | sort -rn | head\n\n# L\u01b0u l\u01b0\u1ee3ng v\u00e0o\/ra c\u1ee7a card m\u1ea1ng (ch\u1ea1y 2 l\u1ea7n c\u00e1ch nhau v\u00e0i gi\u00e2y \u0111\u1ec3 so s\u00e1nh)\nip -s link show<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u01b0\u1eddng truy\u1ec1n \u0111\u00e3 \u0111\u1ea7y th\u00ec SSH c\u0169ng ch\u1eadp ch\u1eddn: v\u00e0o m\u00e1y b\u1eb1ng console c\u1ee7a nh\u00e0 cung c\u1ea5p (v\u00ed d\u1ee5 Web Console noVNC) v\u00e0 b\u00e1o nh\u00e0 cung c\u1ea5p ngay.<\/p>\n\n\n\n<h2 id=\"C\u00e1ch_ch\u1ed1ng_DDoS_cho_VPS_theo_t\u1eebng_l\u1edbp\">C\u00e1ch ch\u1ed1ng DDoS cho VPS theo t\u1eebng l\u1edbp<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ch\u1ed1ng DDoS cho VPS hi\u1ec7u qu\u1ea3 khi k\u1ebft h\u1ee3p ba l\u1edbp: nh\u00e0 cung c\u1ea5p l\u1ecdc t\u1ea5n c\u00f4ng l\u1edbn \u1edf t\u1ea7ng m\u1ea1ng, CDN ho\u1eb7c reverse proxy che IP th\u1eadt v\u00e0 l\u1ecdc t\u1ea5n c\u00f4ng HTTP, c\u00f2n m\u00e1y ch\u1ee7 t\u1ef1 gi\u1edbi h\u1ea1n request v\u00e0 k\u1ebft n\u1ed1i. L\u1ecdc c\u00e0ng s\u1edbm, VPS c\u00e0ng \u00edt ph\u1ea3i g\u00e1nh.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1400\" height=\"750\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-duong-di-luu-luong.webp\" alt=\"S\u01a1 \u0111\u1ed3 \u0111\u01b0\u1eddng \u0111i l\u01b0u l\u01b0\u1ee3ng DDoS t\u1edbi VPS: botnet v\u00e0 kh\u00e1ch th\u1eadt \u0111i qua l\u1edbp 1 nh\u00e0 cung c\u1ea5p (l\u1ecdc UDP flood, khu\u1ebfch \u0111\u1ea1i DNS\/NTP, SYN flood l\u1edbn, v\u01b0\u1ee3t ng\u01b0\u1ee1ng c\u00f3 th\u1ec3 null-route c\u1ea3 IP), l\u1edbp 2 Cloudflare \u0111\u00e1m m\u00e2y cam (l\u1ecdc HTTP flood L7 v\u00e0 L3\/4 v\u00e0o c\u1ed5ng web, ch\u1ec9 c\u1ed5ng HTTP\/HTTPS), l\u1edbp 3 UFW v\u00e0 SYN cookies (SYN flood nh\u1ecf, IP ngo\u00e0i d\u1ea3i Cloudflare; g\u00f3i b\u1ecb DROP v\u1eabn chi\u1ebfm b\u0103ng th\u00f4ng), l\u1edbp 3 Nginx v\u00e0 Fail2ban (limit_req tr\u1ea3 429, Slowloris timeout 10s, c\u1ea7n IP th\u1eadt qua CF-Connecting-IP) r\u1ed3i m\u1edbi t\u1edbi PHP-FPM v\u00e0 database; \u0111\u01b0\u1eddng t\u1eaft m\u00e0u cam: IP g\u1ed1c b\u1ecb l\u1ed9 qua l\u1ecbch s\u1eed DNS, b\u1ea3n ghi MX ho\u1eb7c \u0111\u00e1m m\u00e2y x\u00e1m th\u00ec t\u1ea5n c\u00f4ng \u0111i th\u1eb3ng v\u00e0o VPS, b\u1ecf qua l\u1edbp 2; b\u0103ng th\u00f4ng \u0111\u1ea7y \u1edf l\u1edbp 1 th\u00ec m\u1ecdi l\u1edbp sau v\u00f4 d\u1ee5ng\" class=\"wp-image-131325\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-duong-di-luu-luong.webp 1400w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-duong-di-luu-luong-300x161.webp 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-duong-di-luu-luong-1024x549.webp 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-duong-di-luu-luong-768x411.webp 768w\" sizes=\"(max-width: 1400px) 100vw, 1400px\" \/><\/figure>\n\n\n\n<h3 id=\"L\u1edbp_1:_H\u1ea1_t\u1ea7ng_nh\u00e0_cung_c\u1ea5p_v\u00e0_m\u1ea1ng\">L\u1edbp 1: H\u1ea1 t\u1ea7ng nh\u00e0 cung c\u1ea5p v\u00e0 m\u1ea1ng<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">L\u1edbp nh\u00e0 cung c\u1ea5p l\u00e0 l\u1edbp duy nh\u1ea5t x\u1eed l\u00fd \u0111\u01b0\u1ee3c t\u1ea5n c\u00f4ng l\u00e0m \u0111\u1ea7y b\u0103ng th\u00f4ng, v\u00ec l\u01b0u l\u01b0\u1ee3ng b\u1ecb l\u1ecdc tr\u01b0\u1edbc khi v\u00e0o \u0111\u01b0\u1eddng truy\u1ec1n c\u1ee7a VPS. L\u01b0u s\u1eb5n k\u00eanh h\u1ed7 tr\u1ee3 v\u00e0 th\u00f4ng tin VPS (IP, m\u00e3 d\u1ecbch v\u1ee5) \u0111\u1ec3 b\u00e1o nhanh, v\u00e0 d\u00f9ng t\u01b0\u1eddng l\u1eeda m\u1ea1ng c\u1ee7a nh\u00e0 cung c\u1ea5p (n\u1ebfu c\u00f3) \u0111\u1ec3 \u0111\u00f3ng c\u1ed5ng kh\u00f4ng d\u00f9ng.<\/p>\n\n\n\n<h3 id=\"L\u1edbp_2:_\u0110\u1eb7t_website_sau_Cloudflare_ho\u1eb7c_CDN_c\u00f3_l\u1ecdc_DDoS\">L\u1edbp 2: \u0110\u1eb7t website sau Cloudflare ho\u1eb7c CDN c\u00f3 l\u1ecdc DDoS<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cloudflare l\u00e0 reverse proxy: kh\u00e1ch k\u1ebft n\u1ed1i t\u1edbi Cloudflare, Cloudflare l\u1ecdc r\u1ed3i m\u1edbi chuy\u1ec3n request h\u1ee3p l\u1ec7 v\u1ec1 VPS. Khi b\u1ea3n ghi DNS b\u1eadt proxy (\u0111\u00e1m m\u00e2y m\u00e0u cam), ng\u01b0\u1eddi tra c\u1ee9u t\u00ean mi\u1ec1n ch\u1ec9 th\u1ea5y IP c\u1ee7a Cloudflare. L\u1edbp n\u00e0y ch\u1ec9 c\u00f3 t\u00e1c d\u1ee5ng khi k\u1ebb t\u1ea5n c\u00f4ng kh\u00f4ng bi\u1ebft IP g\u1ed1c; IP l\u1ed9 qua l\u1ecbch s\u1eed DNS ho\u1eb7c mail server th\u00ec t\u1ea5n c\u00f4ng g\u1eedi th\u1eb3ng v\u00e0o VPS (<a href=\"https:\/\/developers.cloudflare.com\/fundamentals\/concepts\/cloudflare-ip-addresses\/\" rel=\"nofollow noopener\" target=\"_blank\">Cloudflare docs<\/a>). Xem th\u00eam <a href=\"https:\/\/tino.vn\/blog\/cloudflare-la-gi\/\">Cloudflare l\u00e0 g\u00ec<\/a> v\u00e0 <a href=\"https:\/\/tino.vn\/blog\/cdn-la-gi\/\">CDN l\u00e0 g\u00ec<\/a>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>B\u1eadt proxy cho m\u1ecdi b\u1ea3n ghi web<\/strong> (A, AAAA, CNAME c\u1ee7a t\u00ean mi\u1ec1n ch\u00ednh v\u00e0 www); b\u1ea3n ghi \u0111\u00e1m m\u00e2y x\u00e1m tr\u1ea3 v\u1ec1 IP th\u1eadt.<\/li>\n\n\n<li><strong>Kh\u00f4ng g\u1eedi mail t\u1eeb IP c\u1ee7a website<\/strong>, v\u00ec b\u1ea3n ghi MX d\u1ec5 l\u00e0m l\u1ed9 IP g\u1ed1c. IP c\u0169 \u0111\u00e3 l\u1ed9 th\u00ec \u0111\u1ed5i IP, v\u00ec l\u1ecbch s\u1eed DNS v\u1eabn l\u01b0u.<\/li>\n\n\n<li><strong>Ch\u1ec9 nh\u1eadn l\u01b0u l\u01b0\u1ee3ng web t\u1eeb IP Cloudflare<\/strong> \u1edf VPS. Danh s\u00e1ch t\u1ea1i cloudflare.com\/ips thay \u0111\u1ed5i theo th\u1eddi gian, c\u1ea7n c\u1eadp nh\u1eadt \u0111\u1ecbnh k\u1ef3.<\/li>\n\n\n<li><strong>Ch\u1ec9 c\u1ed5ng HTTP\/HTTPS \u0111\u01b0\u1ee3c proxy:<\/strong> Cloudflare proxy c\u00e1c c\u1ed5ng web nh\u01b0 80, 443, 8080, 8443\u2026 (<a href=\"https:\/\/developers.cloudflare.com\/fundamentals\/reference\/network-ports\/\" rel=\"nofollow noopener\" target=\"_blank\">danh s\u00e1ch c\u1ed5ng<\/a>). SSH, game server, VPN hay mail kh\u00f4ng \u0111i qua proxy; mu\u1ed1n b\u1ea3o v\u1ec7 c\u00e1c d\u1ecbch v\u1ee5 n\u00e0y c\u1ea7n Cloudflare Spectrum (c\u00f3 tr\u00ean g\u00f3i tr\u1ea3 ph\u00ed v\u1edbi m\u1ed9t s\u1ed1 giao th\u1ee9c; \u1ee9ng d\u1ee5ng TCP\/UDP tu\u1ef3 \u00fd c\u1ea7n g\u00f3i Enterprise) ho\u1eb7c d\u1ecbch v\u1ee5 l\u1ecdc c\u1ee7a nh\u00e0 cung c\u1ea5p.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">L\u1ec7nh UFW d\u01b0\u1edbi ch\u1ec9 cho d\u1ea3i IP Cloudflare v\u00e0o c\u1ed5ng 80\/443. Ch\u1ea1y sau khi \u0111\u00e3 m\u1edf SSH v\u00e0 website \u0111\u00e3 ch\u1ea1y qua Cloudflare. Ch\u1ec9 xo\u00e1 quy t\u1eafc m\u1edf 80\/443 cho m\u1ecdi n\u01a1i (&#8220;Nginx Full&#8221; ho\u1eb7c 80\/tcp, 443\/tcp) khi \u0111\u00e3 th\u1ea5y \u0111\u1ee7 quy t\u1eafc &#8220;cloudflare&#8221;, n\u1ebfu kh\u00f4ng website b\u1ecb ch\u1eb7n ho\u00e0n to\u00e0n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1400\" height=\"750\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-khoa-ip-goc.webp\" alt=\"Th\u1ee9 t\u1ef1 an to\u00e0n khi kho\u00e1 IP g\u1ed1c ch\u1ec9 cho Cloudflare, k\u00e8m k\u1ebft qu\u1ea3 ki\u1ec3m tra: 1 m\u1edf SSH trong UFW, ufw status c\u00f3 OpenSSH; 2 b\u1eadt \u0111\u00e1m m\u00e2y cam cho m\u1ecdi b\u1ea3n ghi web, tra DNS ch\u1ec9 ra IP Cloudflare; 3 t\u1ea3i d\u1ea3i IP v\u1ec1 \/tmp\/cf-ips, wc -l kho\u1ea3ng 20 d\u00f2ng, ra 0 th\u00ec d\u1eebng; 4 th\u00eam quy t\u1eafc cloudflare cho TCP 80, 443, ufw status numbered \u0111\u1ee7 quy t\u1eafc; 5 m\u1edbi xo\u00e1 Nginx Full, web v\u1eabn m\u1edf \u0111\u01b0\u1ee3c qua t\u00ean mi\u1ec1n; 6 kh\u00f4i ph\u1ee5c IP th\u1eadt b\u1eb1ng realip v\u00e0 CF-Connecting-IP tr\u01b0\u1edbc khi b\u1eadt rate limit, Fail2ban, access.log ghi IP kh\u00e1ch\" class=\"wp-image-131326\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-khoa-ip-goc.webp 1400w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-khoa-ip-goc-300x161.webp 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-khoa-ip-goc-1024x549.webp 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-khoa-ip-goc-768x411.webp 768w\" sizes=\"(max-width: 1400px) 100vw, 1400px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code># 1. T\u1ea3i danh s\u00e1ch d\u1ea3i IP Cloudflare v\u1ec1 file v\u00e0 ki\u1ec3m tra\n{ curl -fsS https:\/\/www.cloudflare.com\/ips-v4; echo; curl -fsS https:\/\/www.cloudflare.com\/ips-v6; echo; } \\\n  | grep -E '^[0-9a-f:.]+\/[0-9]+$' &gt; \/tmp\/cf-ips\nwc -l &lt; \/tmp\/cf-ips      # ph\u1ea3i c\u00f3 kho\u1ea3ng 20 d\u00f2ng; n\u1ebfu ra 0 th\u00ec D\u1eeaNG, kh\u00f4ng l\u00e0m ti\u1ebfp\n\n# 2. Th\u00eam quy t\u1eafc cho t\u1eebng d\u1ea3i\nfor ip in $(cat \/tmp\/cf-ips); do\n  sudo ufw allow proto tcp from \"$ip\" to any port 80,443 comment \"cloudflare\"\ndone\n\n# 3. Th\u1ea5y \u0111\u1ee7 quy t\u1eafc \"cloudflare\" r\u1ed3i m\u1edbi xo\u00e1 quy t\u1eafc m\u1edf 80\/443 cho m\u1ecdi IP\nsudo ufw status numbered\nsudo ufw delete allow 'Nginx Full'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nginx ch\u1ea1y trong Docker v\u00e0 publish c\u1ed5ng 80\/443 th\u00ec quy t\u1eafc UFW kh\u00f4ng \u00e1p d\u1ee5ng cho c\u00e1c c\u1ed5ng \u0111\u00f3 (xem FAQ).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sau Cloudflare, log Nginx ghi IP Cloudflare thay v\u00ec IP kh\u00e1ch. L\u1ea5y l\u1ea1i IP th\u1eadt b\u1eb1ng <code>ngx_http_realip_module<\/code> v\u1edbi header <code>CF-Connecting-IP<\/code> (<a href=\"https:\/\/developers.cloudflare.com\/support\/troubleshooting\/restoring-visitor-ips\/restoring-original-visitor-ips\/\" rel=\"nofollow noopener\" target=\"_blank\">Cloudflare docs<\/a>) tr\u01b0\u1edbc khi b\u1eadt rate limit v\u00e0 Fail2ban, n\u1ebfu kh\u00f4ng s\u1ebd ch\u1eb7n nh\u1ea7m Cloudflare.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \/etc\/nginx\/conf.d\/cloudflare-realip.conf\n# M\u1ed7i d\u1ea3i IP Cloudflare m\u1ed9t d\u00f2ng set_real_ip_from (l\u1ea5y t\u1eeb cloudflare.com\/ips)\nset_real_ip_from 173.245.48.0\/20;\n# ... c\u00e1c d\u1ea3i c\u00f2n l\u1ea1i ...\nreal_ip_header CF-Connecting-IP;<\/code><\/pre>\n\n\n\n<h3 id=\"L\u1edbp_3:_C\u1ea5u_h\u00ecnh_m\u00e1y_ch\u1ee7_(Nginx,_kernel,_Fail2ban)\">L\u1edbp 3: C\u1ea5u h\u00ecnh m\u00e1y ch\u1ee7 (Nginx, kernel, Fail2ban)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">C\u1ea5u h\u00ecnh tr\u00ean VPS gi\u00fap ch\u1ed1ng HTTP flood nh\u1ecf, Slowloris v\u00e0 SYN flood m\u1ee9c th\u1ea5p khi l\u1edbp ph\u00eda tr\u01b0\u1edbc \u0111\u1ec3 l\u1ecdt; n\u00f3 kh\u00f4ng c\u1ee9u \u0111\u01b0\u1ee3c VPS khi \u0111\u01b0\u1eddng truy\u1ec1n \u0111\u00e3 \u0111\u1ea7y.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Gi\u1edbi h\u1ea1n t\u1ed1c \u0111\u1ed9 request trong Nginx.<\/strong> <code>limit_req<\/code> gi\u1edbi h\u1ea1n s\u1ed1 request m\u1ed7i gi\u00e2y theo IP; <code>limit_conn<\/code> gi\u1edbi h\u1ea1n s\u1ed1 k\u1ebft n\u1ed1i \u0111\u1ed3ng th\u1eddi (<a href=\"https:\/\/nginx.org\/en\/docs\/http\/ngx_http_limit_req_module.html\" rel=\"nofollow noopener\" target=\"_blank\">t\u00e0i li\u1ec7u nginx<\/a>). Vai tr\u00f2 c\u1ee7a Nginx: xem <a href=\"https:\/\/tino.vn\/blog\/nginx-la-gi\/\">Nginx l\u00e0 g\u00ec<\/a>. \u0110\u1ed5i m\u00e3 t\u1eeb ch\u1ed1i m\u1eb7c \u0111\u1ecbnh 503 sang 429 \u0111\u1ec3 d\u1ec5 ph\u00e2n bi\u1ec7t trong log. \u00c1p m\u1ee9c ch\u1eb7t cho URL t\u1ed1n t\u00e0i nguy\u00ean, kh\u00f4ng \u00e1p cho file t\u0129nh.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Trong kh\u1ed1i http { } (v\u00ed d\u1ee5 \/etc\/nginx\/conf.d\/limit.conf)\nlimit_req_zone  $binary_remote_addr zone=dong:10m rate=5r\/s;\nlimit_req_zone  $binary_remote_addr zone=dangnhap:10m rate=1r\/s;\nlimit_conn_zone $binary_remote_addr zone=ketnoi:10m;\nlimit_req_status 429;\nlimit_conn_status 429;\n\n# Gi\u1ea3m th\u1eddi gian ch\u1edd \u0111\u1ec3 ch\u1ed1ng Slowloris (m\u1eb7c \u0111\u1ecbnh 60s)\nclient_header_timeout 10s;\nclient_body_timeout   10s;\n\n# Trong kh\u1ed1i server { } c\u1ee7a website\nlimit_conn ketnoi 20;\n\nlocation = \/wp-login.php {\n    limit_req zone=dangnhap burst=3 nodelay;\n    include snippets\/fastcgi-php.conf;\n    fastcgi_pass unix:\/run\/php\/php8.3-fpm.sock;\n}\n\nlocation ~ \\.php$ {\n    limit_req zone=dong burst=20 nodelay;\n    include snippets\/fastcgi-php.conf;\n    fastcgi_pass unix:\/run\/php\/php8.3-fpm.sock;\n}\n\n# Ki\u1ec3m tra r\u1ed3i n\u1ea1p l\u1ea1i\nsudo nginx -t &amp;&amp; sudo systemctl reload nginx<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">C\u00e1c s\u1ed1 <code>rate<\/code>, <code>burst<\/code>, <code>limit_conn<\/code> l\u00e0 \u0111i\u1ec3m kh\u1edfi \u0111\u1ea7u: qu\u00e1 ch\u1eb7t s\u1ebd ch\u1eb7n nh\u1ea7m ng\u01b0\u1eddi d\u00f9ng chung IP (v\u0103n ph\u00f2ng, m\u1ea1ng di \u0111\u1ed9ng), n\u00ean theo d\u00f5i log v\u00e0i ng\u00e0y r\u1ed3i ch\u1ec9nh. Timeout m\u1eb7c \u0111\u1ecbnh theo <a href=\"https:\/\/nginx.org\/en\/docs\/http\/ngx_http_core_module.html\" rel=\"nofollow noopener\" target=\"_blank\">ngx_http_core_module<\/a>; socket PHP-FPM tu\u1ef3 phi\u00ean b\u1ea3n PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B\u1eadt SYN cookies trong kernel.<\/strong> SYN cookies gi\u00fap kernel ti\u1ebfp t\u1ee5c nh\u1eadn k\u1ebft n\u1ed1i h\u1ee3p l\u1ec7 khi h\u00e0ng \u0111\u1ee3i SYN b\u1ecb \u0111\u1ea7y. Theo <a href=\"https:\/\/docs.kernel.org\/networking\/ip-sysctl.html\" rel=\"nofollow noopener\" target=\"_blank\">t\u00e0i li\u1ec7u kernel Linux<\/a>, <code>tcp_syncookies<\/code> m\u1eb7c \u0111\u1ecbnh l\u00e0 1. Ki\u1ec3m tra l\u1ea1i v\u00ec m\u1ed9t s\u1ed1 image VPS \u0111\u00e3 ch\u1ec9nh; c\u00f3 th\u1ec3 t\u0103ng h\u00e0ng \u0111\u1ee3i v\u00e0 gi\u1ea3m s\u1ed1 l\u1ea7n g\u1eedi l\u1ea1i SYN-ACK (m\u1eb7c \u0111\u1ecbnh 5).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Xem gi\u00e1 tr\u1ecb hi\u1ec7n t\u1ea1i\nsysctl net.ipv4.tcp_syncookies net.ipv4.tcp_max_syn_backlog net.ipv4.tcp_synack_retries\n\n# Ghi c\u1ea5u h\u00ecnh ri\u00eang r\u1ed3i n\u1ea1p\nsudo tee \/etc\/sysctl.d\/90-chong-syn-flood.conf &gt; \/dev\/null &lt;&lt;'EOF'\nnet.ipv4.tcp_syncookies = 1\nnet.ipv4.tcp_max_syn_backlog = 4096\nnet.ipv4.tcp_synack_retries = 2\nEOF\nsudo sysctl --system<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>T\u1ef1 ch\u1eb7n IP v\u01b0\u1ee3t gi\u1edbi h\u1ea1n b\u1eb1ng Fail2ban.<\/strong> B\u1ed9 l\u1ecdc c\u00f3 s\u1eb5n <code>nginx-limit-req<\/code> \u0111\u1ecdc log l\u1ed7i c\u1ee7a Nginx v\u00e0 kho\u00e1 IP b\u1ecb <code>limit_req<\/code> t\u1eeb ch\u1ed1i nhi\u1ec1u l\u1ea7n (<a href=\"https:\/\/github.com\/fail2ban\/fail2ban\/blob\/master\/config\/filter.d\/nginx-limit-req.conf\" rel=\"nofollow noopener\" target=\"_blank\">Fail2ban GitHub<\/a>). C\u00e0i Fail2ban v\u00e0 jail SSH: xem <a href=\"https:\/\/tino.vn\/blog\/bao-mat-vps-ubuntu\/\">b\u1ea3o m\u1eadt VPS Ubuntu<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu 24.04 \u0111\u1eb7t Fail2ban \u0111\u1ecdc journal m\u1eb7c \u0111\u1ecbnh (<code>backend = systemd<\/code>). Jail \u0111\u1ecdc file log nh\u01b0 Nginx ph\u1ea3i ghi <code>backend = auto<\/code> k\u00e8m <code>logpath<\/code>, n\u1ebfu kh\u00f4ng jail b\u00e1o \u0111ang ch\u1ea1y nh\u01b0ng kh\u00f4ng bao gi\u1edd ch\u1eb7n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/fail2ban\/jail.d\/nginx-limit-req.local &gt; \/dev\/null &lt;&lt;'EOF'\n[nginx-limit-req]\nenabled  = true\n# Ubuntu 24.04 \u0111\u1eb7t backend = systemd m\u1eb7c \u0111\u1ecbnh; Nginx ghi log ra file n\u00ean jail n\u00e0y ph\u1ea3i \u0111\u1ecdc file\nbackend  = auto\nport     = http,https\nlogpath  = \/var\/log\/nginx\/error.log\nfindtime = 10m\nmaxretry = 10\nbantime  = 1h\nEOF\nsudo fail2ban-client -t &amp;&amp; sudo systemctl restart fail2ban\n# D\u00f2ng \"File list\" ph\u1ea3i c\u00f3 \/var\/log\/nginx\/error.log\nsudo fail2ban-client status nginx-limit-req<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Website sau Cloudflare th\u00ec Fail2ban ch\u1eb7n \u1edf t\u01b0\u1eddng l\u1eeda VPS kh\u00f4ng c\u00f3 t\u00e1c d\u1ee5ng, v\u00ec k\u1ebft n\u1ed1i t\u1edbi t\u1eeb IP Cloudflare; h\u00e3y ch\u1eb7n b\u1eb1ng quy t\u1eafc WAF ho\u1eb7c rate limiting tr\u00ean Cloudflare.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Gi\u1edbi h\u1ea1n t\u1ea7n su\u1ea5t k\u1ebft n\u1ed1i SSH.<\/strong> UFW l\u00e0 c\u00f4ng c\u1ee5 qu\u1ea3n l\u00fd <a href=\"https:\/\/tino.vn\/blog\/firewall-tuong-lua-la-gi\/\">t\u01b0\u1eddng l\u1eeda<\/a> tr\u00ean Ubuntu; <code>ufw limit<\/code> t\u1eeb ch\u1ed1i IP m\u1edf t\u1eeb 6 k\u1ebft n\u1ed1i tr\u1edf l\u00ean trong 30 gi\u00e2y (<a href=\"https:\/\/manpages.ubuntu.com\/manpages\/noble\/man8\/ufw.8.html\" rel=\"nofollow noopener\" target=\"_blank\">man ufw<\/a>), gi\u00fap gi\u1ea3m d\u00f2 m\u1eadt kh\u1ea9u ch\u1ee9 kh\u00f4ng ch\u1ed1ng DDoS b\u0103ng th\u00f4ng. \u0110\u00e3 \u0111\u1ed5i c\u1ed5ng SSH th\u00ec d\u00f9ng <code>sudo ufw limit 2222\/tcp<\/code> (thay b\u1eb1ng c\u1ed5ng c\u1ee7a b\u1ea1n).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw limit OpenSSH\nsudo ufw status<\/code><\/pre>\n\n\n\n<h2 id=\"VPS_\u0111ang_b\u1ecb_DDoS:_x\u1eed_l\u00fd_theo_th\u1ee9_t\u1ef1_n\u00e0o?\">VPS \u0111ang b\u1ecb DDoS: x\u1eed l\u00fd theo th\u1ee9 t\u1ef1 n\u00e0o?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Khi VPS \u0111ang b\u1ecb DDoS, vi\u1ec7c \u0111\u1ea7u ti\u00ean l\u00e0 x\u00e1c nh\u1eadn \u0111\u00fang l\u00e0 t\u1ea5n c\u00f4ng v\u00e0 b\u00e1o nh\u00e0 cung c\u1ea5p, v\u00ec ch\u1ec9 h\u1ecd ch\u1eb7n \u0111\u01b0\u1ee3c l\u01b0u l\u01b0\u1ee3ng tr\u01b0\u1edbc khi v\u00e0o VPS. Sau \u0111\u00f3 m\u1edbi b\u1eadt ph\u00f2ng th\u1ee7 tr\u00ean Cloudflare, ch\u1eb7n t\u1ea1m tr\u00ean m\u00e1y ch\u1ee7 v\u00e0 ghi l\u1ea1i b\u1eb1ng ch\u1ee9ng.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1400\" height=\"750\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-xu-ly-timeline.webp\" alt=\"Timeline 6 b\u01b0\u1edbc khi VPS \u0111ang b\u1ecb DDoS, k\u00e8m k\u1ebft qu\u1ea3 c\u1ea7n th\u1ea5y v\u00e0 vi\u1ec7c c\u1ea7n tr\u00e1nh: 1 x\u00e1c nh\u1eadn t\u1ea5n c\u00f4ng, th\u1ea5y SYN-RECV h\u00e0ng ngh\u00ecn, v\u00e0i IP ho\u1eb7c m\u1ed9t URL chi\u1ebfm ph\u1ea7n l\u1edbn log, tr\u00e1nh nh\u1ea7m v\u1edbi bot qu\u00e9t hay plugin l\u1ed7i; 2 b\u00e1o nh\u00e0 cung c\u1ea5p, h\u1ecd x\u00e1c nh\u1eadn \u0111ang l\u1ecdc ho\u1eb7c b\u00e1o null-route, tr\u00e1nh kh\u1edfi \u0111\u1ed9ng l\u1ea1i li\u00ean t\u1ee5c v\u00e0 n\u00e2ng CPU RAM; 3 b\u1eadt Under Attack mode, kh\u00e1ch th\u1ea5y trang ki\u1ec3m tra tr\u00ecnh duy\u1ec7t, tr\u00e1nh b\u1eadt l\u00e2u cho m\u1ecdi \u0111\u01b0\u1eddng d\u1eabn l\u00e0m ch\u1eb7n API, webhook; 4 ch\u1eb7n t\u1ea1m, th\u1ea5y m\u00e3 429 v\u00e0 IP trong fail2ban-client status, tr\u00e1nh ch\u1eb7n IP \u1edf UFW khi web sau Cloudflare; 5 \u0111\u1ed5i IP g\u1ed1c n\u1ebfu l\u1ed9, tra DNS ch\u1ec9 ra IP Cloudflare, tr\u00e1nh g\u1eedi mail t\u1eeb IP m\u1edbi; 6 l\u01b0u log v\u00e0 r\u00e0 l\u1ea1i, tr\u00e1nh xo\u00e1 log v\u00e0 qu\u00ean t\u1eaft Under Attack\" class=\"wp-image-131327\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-xu-ly-timeline.webp 1400w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-xu-ly-timeline-300x161.webp 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-xu-ly-timeline-1024x549.webp 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-chong-ddos-cho-vps-xu-ly-timeline-768x411.webp 768w\" sizes=\"(max-width: 1400px) 100vw, 1400px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>X\u00e1c nh\u1eadn:<\/strong> ch\u1ea1y c\u00e1c l\u1ec7nh \u1edf ph\u1ea7n d\u1ea5u hi\u1ec7u; lo\u1ea1i tr\u1eeb bot, plugin l\u1ed7i, kh\u00e1ch t\u0103ng th\u1eadt.<\/li>\n\n\n<li><strong>B\u00e1o nh\u00e0 cung c\u1ea5p:<\/strong> g\u1eedi IP, th\u1eddi \u0111i\u1ec3m, lo\u1ea1i l\u01b0u l\u01b0\u1ee3ng (UDP, SYN, HTTP), \u1ea3nh bi\u1ec3u \u0111\u1ed3 b\u0103ng th\u00f4ng; h\u1ecfi IP c\u00f3 b\u1ecb null-route kh\u00f4ng.<\/li>\n\n\n<li><strong>B\u1eadt Under Attack mode<\/strong> n\u1ebfu web \u0111\u00e3 sau Cloudflare; c\u00f3 th\u1ec3 ch\u1ec9 \u00e1p cho \u0111\u01b0\u1eddng d\u1eabn b\u1ecb nh\u1eafm. Ch\u1ebf \u0111\u1ed9 n\u00e0y ki\u1ec3m tra th\u00eam tr\u00ecnh duy\u1ec7t \u0111\u1ec3 l\u1ecdc L7 v\u00e0 hi\u1ec7n trang ch\u1edd, n\u00ean Cloudflare coi l\u00e0 bi\u1ec7n ph\u00e1p cu\u1ed1i (<a href=\"https:\/\/developers.cloudflare.com\/fundamentals\/reference\/under-attack-mode\/\" rel=\"nofollow noopener\" target=\"_blank\">Cloudflare docs<\/a>).<\/li>\n\n\n<li><strong>Ch\u1eb7n t\u1ea1m tr\u00ean VPS:<\/strong> si\u1ebft <code>limit_req<\/code> cho URL b\u1ecb nh\u1eafm, ch\u1eb7n IP n\u1ed5i b\u1eadt (<code>sudo ufw insert 1 deny from IP_TAN_CONG<\/code>), t\u1eaft t\u1ea1m t\u00ecm ki\u1ebfm, xmlrpc.php.<\/li>\n\n\n<li><strong>\u0110\u1ed5i IP n\u1ebfu IP g\u1ed1c \u0111\u00e3 l\u1ed9:<\/strong> ch\u1ec9 khai b\u00e1o IP m\u1edbi \u1edf b\u1ea3n ghi c\u00f3 b\u1eadt proxy, kh\u00f4ng g\u1eedi mail t\u1eeb IP \u0111\u00f3.<\/li>\n\n\n<li><strong>R\u00e0 so\u00e1t sau s\u1ef1 c\u1ed1:<\/strong> l\u01b0u log, t\u00ecm ch\u1ed7 l\u1ed9 IP g\u1ed1c, \u0111\u00f3ng c\u1ed5ng th\u1eeba, ch\u1ec9nh ng\u01b0\u1ee1ng rate limit.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u1eebng kh\u1edfi \u0111\u1ed9ng l\u1ea1i VPS li\u00ean t\u1ee5c hay n\u00e2ng c\u1ea5u h\u00ecnh khi b\u1ecb t\u1ea5n c\u00f4ng b\u0103ng th\u00f4ng: t\u00e0i nguy\u00ean m\u00e1y ch\u1ee7 kh\u00f4ng ph\u1ea3i \u0111i\u1ec3m ngh\u1ebdn.<\/p>\n\n\n\n<h2 id=\"M\u1ed7i_bi\u1ec7n_ph\u00e1p_ch\u1ed1ng_DDoS_c\u00f3_gi\u1edbi_h\u1ea1n_g\u00ec?\">M\u1ed7i bi\u1ec7n ph\u00e1p ch\u1ed1ng DDoS c\u00f3 gi\u1edbi h\u1ea1n g\u00ec?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kh\u00f4ng bi\u1ec7n ph\u00e1p \u0111\u01a1n l\u1ebb n\u00e0o ch\u1eb7n \u0111\u01b0\u1ee3c m\u1ecdi ki\u1ec3u DDoS. M\u1ed7i bi\u1ec7n ph\u00e1p ch\u1ec9 x\u1eed l\u00fd m\u1ed9t nh\u00f3m t\u1ea5n c\u00f4ng v\u00e0 \u0111a s\u1ed1 ph\u1ee5 thu\u1ed9c v\u00e0o l\u1edbp ph\u00eda tr\u01b0\u1edbc: l\u1ecdc tr\u00ean VPS v\u00f4 \u00edch khi \u0111\u01b0\u1eddng truy\u1ec1n \u0111\u00e3 \u0111\u1ea7y, Cloudflare v\u00f4 \u00edch khi IP g\u1ed1c \u0111\u00e3 l\u1ed9.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Bi\u1ec7n ph\u00e1p<\/th><th>Gi\u00fap \u0111\u01b0\u1ee3c<\/th><th>Kh\u00f4ng gi\u00fap \u0111\u01b0\u1ee3c<\/th><\/tr><\/thead><tbody><tr><td>L\u1ecdc DDoS c\u1ee7a nh\u00e0 cung c\u1ea5p<\/td><td>T\u1ea5n c\u00f4ng b\u0103ng th\u00f4ng v\u00e0 giao th\u1ee9c \u1edf t\u1ea7ng m\u1ea1ng<\/td><td>HTTP flood gi\u1ed1ng kh\u00e1ch th\u1eadt (tu\u1ef3 h\u1ec7 th\u1ed1ng); v\u01b0\u1ee3t ng\u01b0\u1ee1ng c\u00f3 th\u1ec3 b\u1ecb null-route<\/td><\/tr><tr><td>Cloudflare (proxy b\u1eadt)<\/td><td>HTTP flood, t\u1ea5n c\u00f4ng L3\/4 v\u00e0o c\u1ed5ng web; \u1ea9n IP g\u1ed1c<\/td><td>SSH, game, mail n\u1ebfu kh\u00f4ng d\u00f9ng Spectrum; t\u1ea5n c\u00f4ng v\u00e0o IP g\u1ed1c \u0111\u00e3 l\u1ed9<\/td><\/tr><tr><td>Rate limit Nginx (limit_req, limit_conn)<\/td><td>HTTP flood nh\u1ecf, d\u00f2 m\u1eadt kh\u1ea9u, bot qu\u00e9t<\/td><td>T\u1ea5n c\u00f4ng b\u0103ng th\u00f4ng; t\u1ea5n c\u00f4ng ph\u00e2n t\u00e1n r\u1ed9ng, m\u1ed7i IP g\u1eedi \u00edt request<\/td><\/tr><tr><td>SYN cookies, tinh ch\u1ec9nh sysctl<\/td><td>SYN flood m\u1ee9c th\u1ea5p l\u00e0m \u0111\u1ea7y h\u00e0ng \u0111\u1ee3i k\u1ebft n\u1ed1i<\/td><td>SYN flood \u0111\u1ee7 l\u1edbn \u0111\u1ec3 l\u1ea5p \u0111\u01b0\u1eddng truy\u1ec1n<\/td><\/tr><tr><td>Fail2ban<\/td><td>IP l\u1eb7p l\u1ea1i h\u00e0nh vi x\u1ea5u trong log<\/td><td>T\u1ea5n c\u00f4ng t\u1eeb h\u00e0ng ch\u1ee5c ngh\u00ecn IP; m\u1ea1ng \u0111\u00e3 ngh\u1ebdn; kh\u00e1ch sau Cloudflare<\/td><\/tr><tr><td>UFW, iptables, nftables tr\u00ean VPS<\/td><td>\u0110\u00f3ng c\u1ed5ng kh\u00f4ng d\u00f9ng, ch\u1eb7n IP c\u1ee5 th\u1ec3<\/td><td>L\u01b0u l\u01b0\u1ee3ng \u0111\u00e3 t\u1edbi card m\u1ea1ng v\u1eabn chi\u1ebfm b\u0103ng th\u00f4ng d\u00f9 b\u1ecb DROP<\/td><\/tr><tr><td>N\u00e2ng c\u1ea5p CPU, RAM, b\u0103ng th\u00f4ng<\/td><td>Ch\u1ecbu t\u1ed1t h\u01a1n khi l\u01b0\u1ee3ng truy c\u1eadp th\u1eadt t\u0103ng<\/td><td>Kh\u00f4ng thay \u0111\u01b0\u1ee3c l\u1ecdc; k\u1ebb t\u1ea5n c\u00f4ng t\u0103ng quy m\u00f4 nhanh h\u01a1n chi ph\u00ed b\u1ea1n n\u00e2ng<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">T\u1ed5ng h\u1ee3p t\u1eeb t\u00e0i li\u1ec7u Cloudflare, nginx, kernel Linux v\u00e0 Fail2ban (truy c\u1eadp 21\/10\/2026). Nh\u1eadn \u0111\u1ecbnh &#8220;kh\u00f4ng gi\u00fap \u0111\u01b0\u1ee3c&#8221; l\u00e0 ph\u00e2n t\u00edch c\u1ee7a Blog Tino.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">DDoS l\u00e0m gi\u00e1n \u0111o\u1ea1n d\u1ecbch v\u1ee5, kh\u00f4ng tr\u1ef1c ti\u1ebfp \u0111\u1ecdc hay xo\u00e1 d\u1eef li\u1ec7u. Th\u1ea5y ti\u1ebfn tr\u00ecnh ho\u1eb7c t\u00e0i kho\u1ea3n l\u1ea1 l\u00e0 s\u1ef1 c\u1ed1 x\u00e2m nh\u1eadp: xem <a href=\"https:\/\/tino.vn\/blog\/bao-mat-vps\/\">d\u1ea5u hi\u1ec7u v\u00e0 c\u00e1ch x\u1eed l\u00fd VPS b\u1ecb x\u00e2m nh\u1eadp<\/a> v\u00e0 kh\u00f4i ph\u1ee5c t\u1eeb <a href=\"https:\/\/tino.vn\/blog\/backup-vps\/\">b\u1ea3n sao l\u01b0u VPS<\/a>.<\/p>\n\n\n\n<h2 id=\"Khi_n\u00e0o_c\u1ea7n_d\u1ecbch_v\u1ee5_ch\u1ed1ng_DDoS_tr\u1ea3_ph\u00ed,_khi_n\u00e0o_ch\u01b0a_c\u1ea7n?\">Khi n\u00e0o c\u1ea7n d\u1ecbch v\u1ee5 ch\u1ed1ng DDoS tr\u1ea3 ph\u00ed, khi n\u00e0o ch\u01b0a c\u1ea7n?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Website nh\u1ecf, blog, trang gi\u1edbi thi\u1ec7u doanh nghi\u1ec7p ch\u1ecbu \u0111\u01b0\u1ee3c gi\u00e1n \u0111o\u1ea1n v\u00e0i gi\u1edd th\u01b0\u1eddng ch\u01b0a c\u1ea7n g\u00f3i ch\u1ed1ng DDoS tr\u1ea3 ph\u00ed ri\u00eang: l\u1edbp l\u1ecdc s\u1eb5n c\u00f3 c\u1ee7a nh\u00e0 cung c\u1ea5p, Cloudflare g\u00f3i Free v\u00e0 Nginx c\u01a1 b\u1ea3n \u0111\u00e3 \u0111\u1ee7, \u01b0u ti\u00ean \u1ea9n IP g\u1ed1c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00ean c\u00e2n nh\u1eafc g\u00f3i tr\u1ea3 ph\u00ed cho game server, d\u1ecbch v\u1ee5 ngo\u00e0i HTTP, th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed m\u00f9a cao \u0111i\u1ec3m, d\u1ecbch v\u1ee5 \u0111\u00e3 b\u1ecb t\u1ea5n c\u00f4ng l\u1eb7p l\u1ea1i ho\u1eb7c b\u1ecb t\u1ed1ng ti\u1ec1n b\u1eb1ng DDoS. H\u1ecfi r\u00f5 ng\u01b0\u1ee1ng l\u1ecdc, cam k\u1ebft b\u1eb1ng v\u0103n b\u1ea3n v\u00e0 ph\u00ed v\u01b0\u1ee3t ng\u01b0\u1ee1ng.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">M\u1edbi b\u1eaft \u0111\u1ea7u qu\u1ea3n tr\u1ecb m\u00e1y ch\u1ee7: xem <a href=\"https:\/\/tino.vn\/blog\/cach-su-dung-vps\/\">h\u01b0\u1edbng d\u1eabn s\u1eed d\u1ee5ng VPS<\/a>. Khi ch\u1ecdn <a href=\"https:\/\/tino.vn\/vps-gia-re\">g\u00f3i VPS t\u1ea1i Tino<\/a>, h\u1ecfi b\u1ed9 ph\u1eadn h\u1ed7 tr\u1ee3 24\/7 v\u1ec1 ph\u1ea1m vi ch\u1ed1ng DDoS tr\u01b0\u1edbc khi \u0111\u1eb7t mua.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/tino.vn\/vps-gia-re\">Xem c\u00e1c g\u00f3i VPS NVMe t\u1ea1i Tino<\/a><\/div>\n<\/div>\n\n\n\n<h2 id=\"C\u00e2u_h\u1ecfi_th\u01b0\u1eddng_g\u1eb7p_v\u1ec1_ch\u1ed1ng_DDoS_cho_VPS\">C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 ch\u1ed1ng DDoS cho VPS<\/h2>\n\n\n\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"Ph\u1ea7n_m\u1ec1m_ch\u1ed1ng_DDoS_cho_VPS_n\u00e0o_n\u00ean_d\u00f9ng?\">Ph\u1ea7n m\u1ec1m ch\u1ed1ng DDoS cho VPS n\u00e0o n\u00ean d\u00f9ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Tr\u00ean VPS Linux th\u01b0\u1eddng d\u00f9ng limit_req, limit_conn c\u1ee7a Nginx, Fail2ban, UFW ho\u1eb7c nftables v\u00e0 SYN cookies. C\u00e1c c\u00f4ng c\u1ee5 n\u00e0y ch\u1ec9 x\u1eed l\u00fd t\u1ea5n c\u00f4ng nh\u1ecf; t\u1ea5n c\u00f4ng l\u00e0m \u0111\u1ea7y b\u0103ng th\u00f4ng ph\u1ea3i do nh\u00e0 cung c\u1ea5p ho\u1eb7c Cloudflare l\u1ecdc.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"VPS_ch\u1ea1y_Docker_c\u00f3_b\u1ecb_UFW_b\u1ecf_qua_khi_ch\u1ed1ng_DDoS_kh\u00f4ng?\">VPS ch\u1ea1y Docker c\u00f3 b\u1ecb UFW b\u1ecf qua khi ch\u1ed1ng DDoS kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">C\u00f3. Docker t\u1ef1 ghi quy t\u1eafc iptables cho c\u1ed5ng publish b\u1eb1ng <code>-p<\/code>, n\u00ean l\u01b0u l\u01b0\u1ee3ng v\u00e0o container \u0111i qua tr\u01b0\u1edbc c\u00e1c quy t\u1eafc UFW (<a href=\"https:\/\/docs.docker.com\/engine\/network\/packet-filtering-firewalls\/\" rel=\"nofollow noopener\" target=\"_blank\">Docker docs<\/a>; c\u01a1 ch\u1ebf container: <a href=\"https:\/\/tino.vn\/blog\/docker-la-gi\/\">Docker l\u00e0 g\u00ec<\/a>). Mu\u1ed1n l\u1ecdc, ch\u1ec9 publish c\u1ed5ng v\u00e0o 127.0.0.1 r\u1ed3i \u0111\u1ec3 Nginx tr\u00ean m\u00e1y ch\u1ee7 l\u00e0m reverse proxy, ho\u1eb7c th\u00eam quy t\u1eafc v\u00e0o chain DOCKER-USER.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"C\u00f3_n\u00ean_t\u1ef1_ch\u1eb7n_c\u1ea3_d\u1ea3i_IP_qu\u1ed1c_gia_khi_b\u1ecb_t\u1ea5n_c\u00f4ng_kh\u00f4ng?\">C\u00f3 n\u00ean t\u1ef1 ch\u1eb7n c\u1ea3 d\u1ea3i IP qu\u1ed1c gia khi b\u1ecb t\u1ea5n c\u00f4ng kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Ch\u1ec9 n\u00ean d\u00f9ng t\u1ea1m, khi t\u1ea5n c\u00f4ng t\u1eadp trung \u1edf v\u00e0i qu\u1ed1c gia kh\u00f4ng c\u00f3 kh\u00e1ch th\u1eadt. Ch\u1eb7n theo qu\u1ed1c gia b\u1eb1ng quy t\u1eafc WAF c\u1ee7a Cloudflare t\u1ed1t h\u01a1n tr\u00ean VPS, v\u00ec g\u00f3i b\u1ecb DROP tr\u00ean VPS v\u1eabn chi\u1ebfm b\u0103ng th\u00f4ng. Botnet th\u01b0\u1eddng ph\u00e2n t\u00e1n nhi\u1ec1u n\u01b0\u1edbc, v\u00e0 kh\u00e1ch d\u00f9ng VPN ho\u1eb7c \u0111ang \u1edf n\u01b0\u1edbc ngo\u00e0i s\u1ebd b\u1ecb ch\u1eb7n nh\u1ea7m.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\n<script type=\"application\/ld+json\">\n\t{\n\t\t\"@context\": \"https:\/\/schema.org\",\n\t\t\"@type\": \"FAQPage\",\n\t\t\"mainEntity\": [\n\t\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"Ph\u1ea7n m\u1ec1m ch\u1ed1ng DDoS cho VPS n\u00e0o n\u00ean d\u00f9ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Tr\u00ean VPS Linux th\u01b0\u1eddng d\u00f9ng limit_req, limit_conn c\u1ee7a Nginx, Fail2ban, UFW ho\u1eb7c nftables v\u00e0 SYN cookies. C\u00e1c c\u00f4ng c\u1ee5 n\u00e0y ch\u1ec9 x\u1eed l\u00fd t\u1ea5n c\u00f4ng nh\u1ecf; t\u1ea5n c\u00f4ng l\u00e0m \u0111\u1ea7y b\u0103ng th\u00f4ng ph\u1ea3i do nh\u00e0 cung c\u1ea5p ho\u1eb7c Cloudflare l\u1ecdc.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"VPS ch\u1ea1y Docker c\u00f3 b\u1ecb UFW b\u1ecf qua khi ch\u1ed1ng DDoS kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>C\u00f3. Docker t\u1ef1 ghi quy t\u1eafc iptables cho c\u1ed5ng publish b\u1eb1ng -p, n\u00ean l\u01b0u l\u01b0\u1ee3ng v\u00e0o container \u0111i qua tr\u01b0\u1edbc c\u00e1c quy t\u1eafc UFW (<a>Docker docs<\/a>; c\u01a1 ch\u1ebf container: <a>Docker l\u00e0 g\u00ec<\/a>). Mu\u1ed1n l\u1ecdc, ch\u1ec9 publish c\u1ed5ng v\u00e0o 127.0.0.1 r\u1ed3i \u0111\u1ec3 Nginx tr\u00ean m\u00e1y ch\u1ee7 l\u00e0m reverse proxy, ho\u1eb7c th\u00eam quy t\u1eafc v\u00e0o chain DOCKER-USER.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"C\u00f3 n\u00ean t\u1ef1 ch\u1eb7n c\u1ea3 d\u1ea3i IP qu\u1ed1c gia khi b\u1ecb t\u1ea5n c\u00f4ng kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Ch\u1ec9 n\u00ean d\u00f9ng t\u1ea1m, khi t\u1ea5n c\u00f4ng t\u1eadp trung \u1edf v\u00e0i qu\u1ed1c gia kh\u00f4ng c\u00f3 kh\u00e1ch th\u1eadt. Ch\u1eb7n theo qu\u1ed1c gia b\u1eb1ng quy t\u1eafc WAF c\u1ee7a Cloudflare t\u1ed1t h\u01a1n tr\u00ean VPS, v\u00ec g\u00f3i b\u1ecb DROP tr\u00ean VPS v\u1eabn chi\u1ebfm b\u0103ng th\u00f4ng. Botnet th\u01b0\u1eddng ph\u00e2n t\u00e1n nhi\u1ec1u n\u01b0\u1edbc, v\u00e0 kh\u00e1ch d\u00f9ng VPN ho\u1eb7c \u0111ang \u1edf n\u01b0\u1edbc ngo\u00e0i s\u1ebd b\u1ecb ch\u1eb7n nh\u1ea7m.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t]\n\t}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Ch\u1ed1ng DDoS cho VPS l\u00e0 ch\u1eb7n l\u01b0u l\u01b0\u1ee3ng t\u1ea5n c\u00f4ng tr\u01b0\u1edbc khi n\u00f3 l\u00e0m ngh\u1ebdn \u0111\u01b0\u1eddng m\u1ea1ng ho\u1eb7c l\u00e0m c\u1ea1n t\u00e0i nguy\u00ean m\u00e1y ch\u1ee7. M\u1ed9t VPS t\u1ef1 c\u1ea5u h\u00ecnh ch\u1ec9 x\u1eed l\u00fd \u0111\u01b0\u1ee3c t\u1ea5n c\u00f4ng nh\u1ecf \u1edf t\u1ea7ng \u1ee9ng d\u1ee5ng v\u00e0 SYN flood. T\u1ea5n c\u00f4ng l\u00e0m \u0111\u1ea7y b\u0103ng th\u00f4ng ph\u1ea3i \u0111\u01b0\u1ee3c l\u1ecdc \u1edf ph\u00eda tr\u01b0\u1edbc [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":95352,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7721],"tags":[6187,6394],"class_list":["post-33737","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bao-mat-ssl","tag-ho-tro-developer","tag-kien-thuc-hosting"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/33737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=33737"}],"version-history":[{"count":5,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/33737\/revisions"}],"predecessor-version":[{"id":131384,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/33737\/revisions\/131384"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media\/95352"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=33737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/categories?post=33737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=33737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}