Tài liệu chuẩn ESC CV v1 — phiên bản hướng dẫn ngày 16/10/2026. Bài này dành cho người thiết kế CV, lập trình viên và các trợ lý AI (ChatGPT, Gemini, Grok, Claude…). Mục tiêu là tạo file ZIP được ESC CV Studio nhận là mẫu có thể chỉnh sửa trực tuyến, không chỉ là HTML nhìn giống CV.

Đường dẫn sử dụng: Tạo CV trực tuyến. Lưu ý: hệ thống sẽ tự kiểm tra ZIP; chỉ ZIP thỏa chuẩn mới mở Builder. File không đạt chuẩn có thể chỉ được xem trước và các biến {{...}} sẽ còn nguyên.

1. Tải mẫu ZIP chính thức để bắt đầu

Đây là mẫu nhỏ đã xây dựng theo contract của ESC CV v1: 2 cột, màu xanh công nghệ, có họ tên, ảnh, liên hệ, kỹ năng, kinh nghiệm và học vấn. Bạn có thể dùng trực tiếp, đổi giao diện hoặc giao cho AI phát triển tiếp từ chính các file này.

⬇ Tải mẫu ZIP ESC CV v1 chính thức (đầy đủ HTML/CSS/JSON/ảnh)

Nên giải nén, chỉnh sửa, nén lại đúng cấu trúc, sau đó tự upload vào ESC CV Studio. Không dùng ảnh chụp mẫu CV làm thay cho mã HTML/CSS.

2. Những định dạng nào được chấp nhận?

3. Cấu trúc ZIP chính xác

ZIP cho phép đặt các tệp ở gốc hoặc trong một thư mục bao ngoài duy nhất. Tối thiểu phải có template.json, HTML, CSS và ảnh preview. Để CV có dữ liệu demo, nên thêm sample-data.json và ảnh dự phòng.

template.json
index.html
style.css
sample-data.json
preview.png
assets/avatar-placeholder.png

Tên file trong manifest phải trùng chính xác (phân biệt chữ hoa/thường). Không thêm các file tạm như .DS_Store, .git, file thực thi, hoặc đường dẫn lùi thư mục.

4. File template.json — manifest bắt buộc

{
  "id": "ESCV1",
  "version": "1.0.0",
  "name": "ESC CV v1 - Hai cột công nghệ",
  "engine": "esc-cv-v1",
  "schema": "esc-cv-v1",
  "entry": "index.html",
  "stylesheet": "style.css",
  "preview": "preview.png",
  "sample": "sample-data.json"
}

id phải là 2–32 ký tự, bắt đầu bằng chữ in hoa và chỉ gồm A–Z, 0–9, dấu _ hoặc -. version dạng ba số nguyên như 1.0.0. name tối đa 140 ký tự. Hai khóa engine và schema phải bằng esc-cv-v1. entry, stylesheet và preview trỏ đúng tệp thật trong ZIP; đường dẫn tương đối, không dùng URL ngoài.

Tệp sample là tùy chọn nhưng rất nên có để khi chọn mẫu, Builder hiển thị dữ liệu demo. Manifest hợp lệ chưa đủ; hệ thống còn kiểm tra cú pháp HTML, CSS, ảnh và các nhóm dữ liệu.

5. File index.html — mẫu hoàn chỉnh có thể chỉnh sửa

Rất quan trọng: hãy đưa phần thân HTML như ví dụ bên dưới vào index.html. Không chèn các thẻ <meta>, <link> để gọi CSS. ESC tự đưa CSS từ file đã khai báo vào tài liệu khi render.

<div class="cv">
  <aside class="sidebar">
    <img class="avatar" src="{{profile.avatarUrl}}" alt="Ảnh đại diện">
    <h2>Liên hệ</h2>
    <p>{{profile.email}}</p>
    <p>{{profile.phone}}</p>
    <p>{{profile.location}}</p>
    <h2>Kỹ năng</h2>
    {{#each skills}}
      <p class="skill">{{name}}</p>
    {{/each}}
  </aside>
  <main class="detail">
    <h1>{{profile.fullName}}</h1>
    <p class="role">{{profile.jobTitle}}</p>
    <h2>Giới thiệu</h2>
    <p>{{profile.summary}}</p>
    <h2>Kinh nghiệm làm việc</h2>
    {{#each experiences}}
      <section class="item">
        <h3>{{position}}</h3>
        <p>{{company}} · {{period}}</p>
        <p>{{description}}</p>
      </section>
    {{/each}}
    <h2>Học vấn</h2>
    {{#each education}}
      <section class="item"><h3>{{school}}</h3><p>{{degree}}</p></section>
    {{/each}}
  </main>
</div>

Bắt buộc có chính xác biến {{profile.fullName}}. Các trường khác bắt đầu bằng profile. để ESC nhận diện phần hồ sơ. Các nhóm nhiều item dùng cú pháp {{#each skills}} … {{/each}}, {{#each experiences}} … {{/each}} và mỗi item dùng thuộc tính cục bộ như {{name}}, {{position}}.

Mỗi nhóm lặp phải mở/đóng đúng cặp, không lồng quá sâu; trường trong nhóm phải trùng với keys ở sample-data.json. Dùng HTML có cấu trúc rõ ràng, nhóm lặp bao ngoài toàn bộ item để thao tác Thêm/Xóa/Đổi thứ tự.

6. File style.css — định dạng riêng, không nhúng link ngoài

*{box-sizing:border-box}
body{margin:0;background:#fff;color:#192b43;font:15px/1.65 Arial,sans-serif}
.cv{display:grid;grid-template-columns:32% 68%;max-width:900px;min-height:1110px;margin:auto}
.sidebar{padding:40px 26px;background:#10223d;color:#fff}
.avatar{display:block;width:124px;height:124px;object-fit:cover;border-radius:50%;margin:0 auto 30px}
.sidebar h2{font-size:17px;color:#85c1ff;margin-top:30px;padding-bottom:8px;border-bottom:1px solid #446288}
.sidebar p{overflow-wrap:anywhere}
.skill{margin:7px 0}
.detail{padding:43px 40px}
h1{font-size:34px;line-height:1.25;margin:0;color:#10223d}
.role{font-size:18px;color:#1683ea;font-weight:700;margin:10px 0 35px}
.detail h2{font-size:18px;text-transform:uppercase;margin-top:35px;border-bottom:2px solid #b9d7fa;padding-bottom:7px}
h3{font-size:16px;margin:15px 0 0}
p{margin:9px 0}
.item{break-inside:avoid;margin-bottom:22px}
@media(max-width:620px){.cv{grid-template-columns:1fr}.sidebar,.detail{padding:27px}}

Bạn có thể sáng tạo bố cục theo CV của mình, đặt màu sắc, khung, typography, cột, breakpoints ngay trong style.css. Hệ thống không cho CSS dùng @import, expression(...) hoặc url(http...), url(data:...). Không phụ thuộc JavaScript, Tailwind CDN, Google Fonts online hay tài nguyên mạng bên ngoài.

7. File sample-data.json — dữ liệu phải khớp 100% với HTML

{
  "profile": {
    "fullName": "Nguyễn Minh Anh",
    "jobTitle": "Frontend Developer",
    "email": "minhanh@example.com",
    "phone": "0900 123 456",
    "location": "TP. Hồ Chí Minh",
    "summary": "Lập trình viên web có kinh nghiệm xây dựng giao diện dễ dùng, chú trọng hiệu năng và khả năng truy cập.",
    "avatarUrl": ""
  },
  "skills": [
    {
      "name": "TypeScript · JavaScript"
    },
    {
      "name": "React · Astro"
    },
    {
      "name": "HTML · CSS"
    }
  ],
  "experiences": [
    {
      "position": "Frontend Developer",
      "company": "Công ty Công nghệ Mẫu",
      "period": "2023 – nay",
      "description": "Phát triển giao diện sản phẩm, tối ưu trải nghiệm và phối hợp thiết kế hệ thống."
    },
    {
      "position": "Web Developer",
      "company": "Studio Mẫu",
      "period": "2021 – 2023",
      "description": "Xây dựng website responsive và cải thiện tốc độ tải trang."
    }
  ],
  "education": [
    {
      "school": "Đại học Công nghệ",
      "degree": "Kỹ sư Công nghệ thông tin"
    }
  ]
}

Đối tượng profile chứa thông tin đơn; skills, experiences, education là mảng đối tượng (không phải một chuỗi văn bản). Ví dụ skills: [{"name":"React"}], tương ứng với {{#each skills}}{{name}}{{/each}}. Dữ liệu mẫu giúp mở Builder thấy thông tin ngay; thiếu nó, nhiều trường sẽ để trống.

8. Quy tắc ảnh đại diện và ảnh preview

9. Danh sách HTML/CSS bị từ chối vì an toàn

Không dùng trong mẫu editable Cách làm đúng
<script>, JavaScript, onclick, onload Chỉ HTML + CSS tĩnh và biến ESC
<meta>, <link>, <base> ESC tự tạo head; stylesheet được khai báo bằng manifest
<iframe>, <object>, <embed>, <form> Thay bằng phần tử hiển thị thuần túy
javascript:, thẻ PHP hoặc tài nguyên CSS từ internet Đặt tài nguyên hợp lệ trong ZIP, không thực thi mã
Đường dẫn ../, file ẩn hoặc file vượt giới hạn Chỉ đường dẫn tương đối an toàn trong đúng thư mục ZIP

Giới hạn: ZIP 100 byte – 5 MB, tối đa 100 tệp, tổng dung lượng giải nén tối đa 20 MB. HTML/CSS/JSON dùng UTF-8. Tệp ZIP dùng nén Store hoặc Deflate phổ biến, không mật khẩu; ảnh phải là PNG/JPG/WebP hợp lệ. Nội dung có thể bị từ chối vì lý do khác nếu không qua các bước kiểm tra cấu trúc hoặc giải mã.

10. Danh sách tự kiểm tra trước khi tải lên

  1. ZIP có cấu trúc và tệp hợp lệ; không mã thực thi, không thư mục ../, không file ẩn.
  2. Manifest khai báo đúng engine/schema esc-cv-v1, các đường dẫn khớp file trong ZIP.
  3. index.html có {{profile.fullName}} và các {{#each …}} đóng bằng {{/each}} đúng thứ tự.
  4. Không có meta, link, script, iframe, onload/onclick hoặc liên kết JavaScript trong HTML.
  5. CSS chỉ dùng kiểu an toàn, không @import, không tải ảnh/font từ web ngoài.
  6. sample-data.json có đối tượng profile và các nhóm danh sách dạng mảng object.
  7. Ảnh preview thật (PNG/JPG/WebP) dưới 1 MB; ảnh đại diện dùng tên dự phòng đúng quy ước.
  8. Upload lên ESC hiển thị “Có thể chỉnh sửa trực tuyến”, sau đó kiểm tra chỉnh chữ/ảnh và thêm/xóa mục.

Thử tại ESC CV Studio, bấm Tải lên mẫu CV của bạn. Nếu đạt, hệ thống hiển thị chế độ chỉnh sửa trực tiếp; nếu chỉ xem trước hoặc còn chuỗi {{…}}, hãy kiểm tra manifest, các thẻ bị cấm, dữ liệu demo và đường dẫn ảnh.

11. Prompt giao việc cho ChatGPT, Gemini, Grok hoặc Claude

Bạn có thể sao chép nội dung sau, đính kèm ZIP mẫu ở mục 1 và yêu cầu AI tạo một CV khác. Chỉ ảnh chụp thiết kế là chưa đủ để AI tự suy ra chuẩn ESC:

Hãy tạo một mẫu CV đẹp theo tiêu chuẩn ESC CV v1.
Tôi sẽ tải lên và CHỈ chấp nhận kết quả nếu chỉnh sửa trực tuyến trong ESC CV Studio.
Dùng ZIP tham chiếu ESC CV v1 tôi đính kèm làm baseline; tạo thiết kế riêng, không phá contract.
Kết quả: một ZIP <= 5 MB gồm template.json, index.html, style.css, sample-data.json,
preview.png hoặc preview.webp thật, cùng ảnh đại diện dự phòng trong assets/.
Manifest: engine và schema đều esc-cv-v1; id, version, path hợp lệ.
index.html chứa {{profile.fullName}}, các trường profile.xxx, và các nhóm
{{#each skills}}, {{#each experiences}}, {{#each education}} đóng bằng {{/each}}.
KHÔNG dùng script, meta, link, iframe, sự kiện onclick, CSS @import, tài nguyên online.
Ảnh đại diện: <img src="{{profile.avatarUrl}}"> và file assets/avatar-placeholder.png.
sample-data.json điền đủ dữ liệu thực tế cho từng trường để preview không trống.
Tự kiểm ZIP từng file và đối chiếu checklist bài hướng dẫn trước khi trả kết quả.
Nếu chưa chạy thử trực tiếp trên ESC CV Studio, phải nói rõ CHƯA XÁC NHẬN upload.
Trả duy nhất ZIP hoàn thiện và nêu mọi giới hạn chưa kiểm chứng.

12. Lỗi thường gặp khi kiểm thử

Hiện tượng Nguyên nhân hay gặp và cách xử lý
CV hiện nguyên {{profile.fullName}}, {{#each}} Đang ở chế độ chỉ xem HTML; ZIP chưa đạt chuẩn editable. Kiểm tra thẻ cấm, manifest, ảnh và cú pháp groups.
Không thấy ảnh đại diện Đừng gán avatarUrl bằng đường dẫn ảnh; đổi thành chuỗi rỗng, thêm đúng asset dự phòng.
Upload báo manifest không hợp lệ Soát các khóa engine, schema, id, version, entry, stylesheet và preview; tên file phải trùng.
Builder trống hoặc nhóm không có dữ liệu Thêm sample-data.json, tạo mảng object có key trùng biến trong mỗi nhóm.
ZIP chỉ xem dù nhìn đẹp HTML/CSS có thể chứa script/meta/link, CSS import hoặc preview bị lỗi; hãy đối chiếu lại mục 9.

Phạm vi: Tài liệu mô tả các quy tắc đang áp dụng cho ESC CV Studio tại thời điểm xuất bản, không bảo đảm mọi ZIP có thiết kế đẹp đều đạt chuẩn. Việc xác nhận cuối cùng cần tải trực tiếp ZIP lên Builder; bản mẫu tham chiếu giúp rút ngắn quá trình tạo và kiểm tra.

Quản Trị Mạng & Dịch Vụ Thư Điện Tử Doanh Nghiệp

CẤU HÌNH MAIL SERVER RIÊNG (POSTFIX & DOVECOT) CHUẨN KỸ THUẬT, XÁC THỰC SPF/DKIM/DMARC & TỐI ƯU 100% VÀO INBOX TRÊN eCLOUD VPS

Chuyên trang Hỗ trợ & Triển khai Máy chủ Đám mây ESC.VN

1. Giới thiệu tổng quan

Dịch vụ thư điện tử (Email) là kênh giao thương huyết mạch của mọi tổ chức. Tuy nhiên, việc tự triển khai một Mail Server độc lập trên máy chủ ảo eCloud VPS hoặc Dedicated Server luôn đòi hỏi tiêu chuẩn kỹ thuật nghiêm ngặt nhất:

Bài hướng dẫn này chuẩn hóa toàn bộ quy trình: cài đặt Postfix (MTA – gửi thư), Dovecot (MDA/IMAP – nhận thư), mã hóa TLS/SSL, và tích hợp bộ ba xác thực danh tính số SPF, DKIM (OpenDKIM), DMARC để đảm bảo tỷ lệ vào Hộp thư đến (Inbox) đạt mức tối đa.

2. Yêu Cầu Kỹ Thuật Tiên Quyết Trước Khi Cài Đặt

  1. Cấu hình Reverse DNS (PTR Record): Địa chỉ IP Public của máy chủ eCloud VPS bắt buộc phải phân giải ngược về đúng Hostname của Mail Server (ví dụ: mail.tenmien.vn). (Quý khách gửi Ticket tại cổng khachhang.esc.vn để kỹ thuật ESC hỗ trợ trỏ PTR record cho IP máy chủ).
  2. Mở các cổng mạng Mail trên Tường lửa (Firewall):
    • Cổng gửi thư (SMTP): 25 (Server-to-Server), 587 (Submission – Client gửi có TLS), 465 (SMTPS).
    • Cổng nhận thư (IMAP/POP3): 993 (IMAPS), 995 (POP3S).

3. Cài Đặt và Cấu Hình Mail Transfer Agent (Postfix)

3.1. Cài đặt Postfix

Trên Ubuntu / Debian:

sudo DEBIAN_FRONTEND=noninteractive apt update && sudo apt install postfix mailutils -y

Trên AlmaLinux / Rocky Linux:

sudo dnf install postfix mailx -y

3.2. Cấu hình tệp tin chính /etc/postfix/main.cf

Mở file cấu hình Postfix:

sudo nano /etc/postfix/main.cf

Thiết lập các tham số vận hành chuẩn:

myhostname = mail.tenmien.vn
mydomain = tenmien.vn
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# CHỐNG OPEN RELAY: Chỉ máy chủ cục bộ mới được gửi thư không xác thực
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
home_mailbox = Maildir/

# MÃ HÓA TLS CHO GIAO THỨC GỬI THƯ (Dùng chung chứng chỉ SSL của Nginx/Let's Encrypt)
smtpd_tls_cert_file = /etc/ssl/esc_certs/fullchain.crt
smtpd_tls_key_file = /etc/ssl/esc_certs/private.key
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_mandatory_ciphers = high

# XÁC THỰC NGƯỜI DÙNG QUA DOVECOT SASL
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

3.3. Mở cổng Submission 587 trong /etc/postfix/master.cf

Mở file master.cf và bỏ chú thích dòng dịch vụ submission:

submission inet n       -       y       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unauth_destination=yes

Khởi động lại Postfix: sudo systemctl restart postfix

4. Cài Đặt và Cấu Hình Mail Delivery Agent (Dovecot)

Dovecot quản lý việc lưu trữ hộp thư dưới định dạng Maildir và cung cấp giao thức IMAPS an toàn để người dùng kết nối qua ứng dụng (Outlook, Thunderbird, Mail iOS/Android).

4.1. Cài đặt Dovecot

# Ubuntu / Debian:
sudo apt install dovecot-core dovecot-imapd -y

# AlmaLinux / Rocky Linux:
sudo dnf install dovecot -y

4.2. Cấu hình lưu trữ Maildir (/etc/dovecot/conf.d/10-mail.conf)

mail_location = maildir:~/Maildir

4.3. Cấu hình SASL xác thực kết nối với Postfix (/etc/dovecot/conf.d/10-master.conf)

Tìm khối service auth và sửa thành:

service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
}

4.4. Cấu hình chứng chỉ SSL cho Dovecot (/etc/dovecot/conf.d/10-ssl.conf)

ssl = required
ssl_cert = </etc/ssl/esc_certs/fullchain.crt
ssl_key = </etc/ssl/esc_certs/private.key
ssl_min_protocol = TLSv1.2

Khởi động lại Dovecot: sudo systemctl enable --now dovecot

5. Cấu Hình Xác Thực Số Toàn Diện: SPF, DKIM & DMARC

Đây là mắt xích quan trọng nhất để các nhà cung cấp dịch vụ email quốc tế (Google, Microsoft) xếp hạng tín nhiệm IP và đưa thư thẳng vào Inbox.

5.1. Cấu hình Bản ghi SPF (Sender Policy Framework)

Bản ghi SPF chỉ định công khai địa chỉ IP nào được phép gửi thư đại diện cho tên miền. Thêm bản ghi TXT vào cấu hình DNS của tên miền tại ESC:

5.2. Cài đặt và Sinh khóa ký số DKIM (DomainKeys Identified Mail) với OpenDKIM

DKIM mã hóa một chữ ký số vào tiêu đề (Header) của mỗi email gửi đi để chống giả mạo nội dung.

# Ubuntu / Debian:
sudo apt install opendkim opendkim-tools -y

# AlmaLinux / Rocky Linux:
sudo dnf install opendkim -y

Khởi tạo cặp khóa cho domain:

sudo mkdir -p /etc/opendkim/keys/tenmien.vn
cd /etc/opendkim/keys/tenmien.vn
sudo opendkim-genkey -s mail -d tenmien.vn
sudo chown -R opendkim:opendkim /etc/opendkim/keys

Lệnh trên sinh ra 2 file: mail.private (khóa bí mật trên server) và mail.txt (khóa công khai để trích xuất cấu hình DNS). Đọc nội dung file mail.txt bằng lệnh sudo cat mail.txt và thêm bản ghi TXT trên hệ thống DNS:

Kết nối OpenDKIM với Postfix trong /etc/postfix/main.cf:

milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters

Khởi chạy dịch vụ OpenDKIM: sudo systemctl enable --now opendkim && sudo systemctl restart postfix

5.3. Cấu hình Chính sách DMARC (Domain-based Message Authentication)

DMARC hướng dẫn máy chủ nhận thư phải làm gì khi một email bị lỗi kiểm tra SPF hoặc DKIM. Thêm bản ghi TXT trên DNS:

6. Bảng Kiểm Tra & Đánh Giá Tín Nhiệm Mail Server (Testing & Validation)

Tiêu chuẩn kiểm tra Công cụ / Câu lệnh kiểm tra Tiêu chí đạt chuẩn
Kiểm tra điểm số Spam Gửi email thử nghiệm tới mail-tester.com Đạt điểm số 10/10 (Xanh toàn bộ SPF, DKIM, DMARC, PTR).
Kiểm tra Reverse DNS dig -x <IP_PUBLIC_VPS> +short Trả về chính xác hostname mail.tenmien.vn.
Kiểm tra chữ ký DKIM sudo opendkim-testkey -d tenmien.vn -s mail -vvv Trả về thông báo: key OK.
Kiểm tra log gửi thư sudo tail -f /var/log/mail.log Hiển thị status=sent (250 2.0.0 OK … dkim=pass).

7. Quy Trình Khẩn Cấp Khi IP Bị Cảnh Báo Spam / Blacklist

Khi phát hiện lượng email gửi đi tăng đột biến và IP bị liệt vào danh sách chặn:

  1. Khóa ngay hàng đợi thư (Freeze Queue):
    sudo postsuper -h ALL
  2. Kiểm tra tài khoản bị lộ mật khẩu:
    mailq | grep -E "([A-Z0-9]{10})" | awk '{print $7}' | sort | uniq -c | sort -nr
    Xác định user nào đang phát tán hàng nghìn thư rác để đổi mật khẩu tài khoản đó ngay lập tức.
  3. Xóa toàn bộ thư rác đang chờ gửi:
    sudo postsuper -d ALL
  4. Yêu cầu gỡ bỏ IP khỏi Blacklist: Sau khi làm sạch máy chủ, truy cập các tổ chức chống spam (như Spamhaus, Barracuda, MXToolbox) để gửi yêu cầu Delist IP.

8. Kênh Tiếp Nhận Hỗ Trợ Kỹ Thuật 24/7/365 tại ESC.VN

Trong trường hợp Quý doanh nghiệp cần triển khai giải pháp Email Relay chuyên dụng qua cổng bảo vệ cao cấp, chuyển đổi hạ tầng Mail Server Hybrid kết hợp Microsoft 365 / Google Workspace hoặc cần cấp dải IP riêng sạch để gửi thư tiếp thị/giao dịch số lượng lớn, hãy liên hệ ngay với đội ngũ kỹ sư của ESC:

🚨 CẢNH BÁO KHẨN CẤP AN NINH MẠNG (08/10/2026)

CẢNH BÁO CHIẾN DỊCH QUÉT TÌM LỖ HỔNG CHÈN WEB SHELL & DÒ QUÉT CỔNG MÁY CHỦ DOANH NGHIỆP

Hệ thống radar giám sát ATTT ESC.vn ghi nhận gia tăng đột biến các đợt tấn công Brute Force SSH/RDP, chèn Web Shell và phát tán Ransomware.

Hôm nay, ngày 08/10/2026, hệ thống radar giám sát an toàn thông tin tại ESC.vn tiếp tục phát đi cảnh báo về các đợt tấn công tự động diện rộng kết hợp khai thác chuỗi cung ứng mã nguồn và lỗ hổng web chưa kịp vá. Trong 24h qua, tin tặc tập trung đẩy mạnh hoạt động dò quét cổng SSH (Port 22), Remote Desktop (Port 3389) kết hợp khai thác các lỗ hổng trên CMS và plugin/theme để cài cắm mã độc tống tiền (Ransomware) và chiếm quyền điều khiển hạ tầng máy chủ eCloud VPS.

I. TỔNG HỢP CÁC NGUY CƠ AN NINH MẠNG TRỌNG TÂM HÔM NAY

Loại hình tấn công Hành vi & Thủ đoạn Hậu quả trực tiếp
1. Dò quét Brute Force cổng SSH & RDP Mạng botnet tự động rà quét liên tục dải IP trên cổng mặc định SSH (Port 22) và Remote Desktop (Port 3389) bằng từ điển mật khẩu cập nhật liên tục. Chiếm quyền điều khiển root/Administrator, mã hóa toàn bộ cơ sở dữ liệu máy chủ eCloud VPS và xóa sạch bản sao lưu cục bộ.
2. Chèn Web Shell qua lỗ hổng Plugin/Theme Khai thác plugin, theme WordPress hoặc module mã nguồn mở lỗi thời có lỗ hổng tải file tùy ý để đưa webshell vào máy chủ. Kiểm soát mã nguồn website, chèn link cờ bạc/lừa đảo ngầm và đánh cắp cơ sở dữ liệu khách hàng.
3. Giả mạo Email Doanh nghiệp (Phishing Mail) Gửi email mạo danh thông báo khóa dịch vụ tên miền, hosting hoặc hóa đơn khẩn cấp đính kèm file độc hại hoặc liên kết trang đăng nhập giả mạo. Lộ lọt tài khoản quản trị Portal, chiếm quyền kiểm soát Webmail và can thiệp giao dịch thanh toán.
4. Tấn công đầu độc cache DNS & Can thiệp phân giải Khai thác các tên miền chưa kích hoạt công nghệ khóa an toàn DNSSEC để can thiệp luồng phân giải bản ghi DNS. Chuyển hướng người truy cập sang website giả mạo, làm thất thoát dữ liệu và suy giảm nghiêm trọng uy tín thương hiệu.

II. CẨM NANG HƯỚNG DẪN BẢO MẬT & PHÒNG VỆ TỪ KỸ THUẬT VIÊN ESC.VN

1. Khóa cổng kết nối mặc định và thiết lập xác thực SSH Key

sudo systemctl enable fail2ban –now

2. Chặn thực thi mã độc Web Shell trong thư mục Upload

<Files *.php>
  deny from all
</Files>

3. Nâng cấp hệ điều hành và cập nhật bản vá hệ thống định kỳ

Chủ động chạy lệnh nâng cấp các bản vá bảo mật nhân Kernel và gói phần mềm máy chủ:

sudo dnf update -y
sudo apt update && sudo apt upgrade -y

4. Kích hoạt bảo vệ mở rộng DNSSEC & Chứng chỉ số SSL

5. Duy trì chiến lược Sao lưu 3-2-1 & Tận dụng Snapshot

III. KÊNH TIẾP NHẬN HỖ TRỢ KỸ THUẬT & KHẮC PHỤC SỰ CỐ 24/7 TẠI ESC.VN

Khi phát hiện máy chủ tăng tải CPU/RAM bất thường, website xuất hiện link lạ hoặc nghi ngờ tài khoản bị xâm nhập, Quý khách hàng vui lòng liên hệ ngay với Trung tâm Hỗ trợ Kỹ thuật ESC:

🚨 CẢNH BÁO KHẨN CẤP AN NINH MẠNG (27/09/2026)

GIA TĂNG CÁC ĐỢT TẤN CÔNG TỰ ĐỘNG DIỆN RỘNG KHAI THÁC LỖ HỔNG WEB VÀ DÒ QUÉT CỔNG MÁY CHỦ eCLOUD VPS

Hệ thống radar giám sát ATTT ESC.vn ghi nhận gia tăng đột biến các đợt tấn công Brute Force SSH/RDP, chèn Web Shell và phát tán Ransomware.

Hôm nay, ngày 27/09/2026, hệ thống radar giám sát an toàn thông tin tại ESC.vn tiếp tục phát đi cảnh báo về các đợt tấn công tự động diện rộng kết hợp khai thác chuỗi cung ứng mã nguồn và lỗ hổng web chưa kịp vá. Trong 24h qua, tin tặc tập trung đẩy mạnh hoạt động dò quét cổng SSH (Port 22), Remote Desktop (Port 3389) kết hợp khai thác các lỗ hổng trên CMS và plugin/theme để cài cắm mã độc tống tiền (Ransomware) và chiếm quyền điều khiển hạ tầng máy chủ eCloud VPS.

I. TỔNG HỢP CÁC NGUY CƠ AN NINH MẠNG TRỌNG TÂM HÔM NAY

Loại hình tấn công Hành vi & Thủ đoạn Hậu quả trực tiếp
1. Dò quét Brute Force cổng SSH & RDP Mạng botnet tự động rà quét liên tục dải IP trên cổng mặc định SSH (Port 22) và Remote Desktop (Port 3389) bằng từ điển mật khẩu cập nhật liên tục. Chiếm quyền điều khiển root/Administrator, mã hóa toàn bộ cơ sở dữ liệu máy chủ eCloud VPS và xóa sạch bản sao lưu cục bộ.
2. Chèn Web Shell qua lỗ hổng Plugin/Theme Khai thác plugin, theme WordPress hoặc module mã nguồn mở lỗi thời có lỗ hổng tải file tùy ý để đưa webshell vào máy chủ. Kiểm soát mã nguồn website, chèn link cờ bạc/lừa đảo ngầm và đánh cắp cơ sở dữ liệu khách hàng.
3. Giả mạo Email Doanh nghiệp (Phishing Mail) Gửi email mạo danh thông báo khóa dịch vụ tên miền, hosting hoặc hóa đơn khẩn cấp đính kèm file độc hại hoặc liên kết trang đăng nhập giả mạo. Lộ lọt tài khoản quản trị Portal, chiếm quyền kiểm soát Webmail và can thiệp giao dịch thanh toán.
4. Tấn công đầu độc cache DNS & Can thiệp phân giải Khai thác các tên miền chưa kích hoạt công nghệ khóa an toàn DNSSEC để can thiệp luồng phân giải bản ghi DNS. Chuyển hướng người truy cập sang website giả mạo, làm thất thoát dữ liệu và suy giảm nghiêm trọng uy tín thương hiệu.

II. CẨM NANG HƯỚNG DẪN BẢO MẬT & PHÒNG VỆ TỪ KỸ THUẬT VIÊN ESC.VN

1. Khóa cổng kết nối mặc định và thiết lập xác thực SSH Key

sudo systemctl enable fail2ban –now

2. Chặn thực thi mã độc Web Shell trong thư mục Upload

<Files *.php>
  deny from all
</Files>

3. Nâng cấp hệ điều hành và cập nhật bản vá hệ thống định kỳ

Chủ động chạy lệnh nâng cấp các bản vá bảo mật nhân Kernel và gói phần mềm máy chủ:

sudo dnf update -y
sudo apt update && sudo apt upgrade -y

4. Kích hoạt bảo vệ mở rộng DNSSEC & Chứng chỉ số SSL

5. Duy trì chiến lược Sao lưu 3-2-1 & Tận dụng Snapshot

III. KÊNH TIẾP NHẬN HỖ TRỢ KỸ THUẬT & KHẮC PHỤC SỰ CỐ 24/7 TẠI ESC.VN

Khi phát hiện máy chủ tăng tải CPU/RAM bất thường, website xuất hiện link lạ hoặc nghi ngờ tài khoản bị xâm nhập, Quý khách hàng vui lòng liên hệ ngay với Trung tâm Hỗ trợ Kỹ thuật ESC:

 

Hạ Tầng & Quản Trị Hệ Thống

XÂY DỰNG HỆ THỐNG LOAD BALANCING & REVERSE PROXY VỚI NGINX TRÊN eCLOUD VPS

Tối ưu khả năng chịu tải, mở rộng Scale-Out và bảo mật hạ tầng Backend chuyên nghiệp

1. Giới thiệu tổng quan

Khi website doanh nghiệp hoặc hệ thống thương mại điện tử phát triển vượt ngưỡng đáp ứng của một máy chủ đơn lẻ, mô hình mở rộng theo chiều ngang (Scale-Out) trở thành giải pháp bắt buộc. Bằng cách sử dụng một máy chủ eCloud VPS làm tầng cổng giao tiếp Reverse Proxy trung gian, quản trị viên có thể phân phối lưu lượng truy cập đồng đều tới nhiều máy chủ xử lý phía sau (Backend/Upstream Servers).

Mô hình này đem lại 3 giá trị kỹ thuật cốt lõi:

2. Mô Hình Kiến Trúc Triển Khai

Giả định kịch bản hạ tầng triển khai trên cụm máy chủ ảo eCloud VPS của ESC:

  • Nginx Load Balancer (Proxy): 10.0.0.10 (Sở hữu IP Public trỏ tên miền tenmien.vn)
  • Backend Node 01 (Web App 1): 10.0.0.11:8080 (Mạng nội bộ)
  • Backend Node 02 (Web App 2): 10.0.0.12:8080 (Mạng nội bộ)
  • Backend Backup Node: 10.0.0.13:8080 (Dự phòng khẩn cấp khi cả 2 node chính quá tải hoặc sập)

3. Cấu Hình Cân Bằng Tải Nâng Cao Trên Nginx Proxy

Mở hoặc tạo mới file cấu hình virtual host trên máy chủ proxy:

sudo nano /etc/nginx/conf.d/loadbalancer.conf

3.1. Thiết lập khối upstream với thuật toán điều phối

Nginx hỗ trợ nhiều thuật toán phân phối tải tùy theo đặc thù dịch vụ:

Cấu hình mẫu tối ưu kết hợp trọng số (Weight) và kiểm tra tình trạng kết nối:

upstream backend_cluster {
    least_conn; # Ưu tiên chuyển vào node có tải kết nối thấp nhất

    # Node 1: Cấu hình mạnh hơn, gán trọng số 3 (nhận 60% lưu lượng)
    server 10.0.0.11:8080 weight=3 max_fails=3 fail_timeout=15s;

    # Node 2: Cấu hình cơ bản, gán trọng số 2 (nhận 40% lưu lượng)
    server 10.0.0.12:8080 weight=2 max_fails=3 fail_timeout=15s;

    # Node dự phòng: Chỉ kích hoạt khi cả Node 1 và Node 2 không phản hồi
    server 10.0.0.13:8080 backup;

    # Duy trì kết nối Keepalive để giảm độ trễ TCP handshake
    keepalive 32;
}

3.2. Cấu hình khối Server, SSL Offloading và chuyển tiếp Header

Khi Reverse Proxy đảm nhiệm việc giải mã SSL, các backend phía sau chỉ cần chạy HTTP nội bộ để tối ưu tốc độ:

server {
    listen 80;
    server_name tenmien.vn www.tenmien.vn;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name tenmien.vn www.tenmien.vn;

    # Chứng chỉ SSL cài đặt tập trung tại Proxy (Let's Encrypt hoặc Commercial SSL)
    ssl_certificate /etc/ssl/esc_certs/fullchain.crt;
    ssl_certificate_key /etc/ssl/esc_certs/private.key;
    ssl_protocols TLSv1.2 TLSv1.3;

    location / {
        proxy_pass http://backend_cluster;
        
        # Bắt buộc chuyển tiếp đầy đủ Header thực của Client về cho Backend phân tích
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Thiết lập phiên HTTP/1.1 và xóa header Connection để tận dụng Keepalive
        proxy_http_version 1.1;
        proxy_set_header Connection "";

        # Tinh chỉnh Timeout kết nối tới Backend
        proxy_connect_timeout 5s;
        proxy_send_timeout 15s;
        proxy_read_timeout 15s;

        # Xử lý tự động chuyển node nếu node hiện tại trả về mã lỗi 5xx
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    }
}

4. Thiết Lập Bộ Đệm Caching Tập Trung (Proxy Microcaching)

Để tăng tốc độ tải trang lên hàng chục lần và giảm tải trực tiếp cho các máy chủ backend, ta thiết lập bộ nhớ đệm trang tĩnh và API tạm thời ngay trên ổ SSD NVMe của Proxy:

4.1. Khởi tạo vùng lưu cache trong nginx.conf

Mở file /etc/nginx/nginx.conf, thêm dòng sau vào trong khối http { ... }:

proxy_cache_path /var/cache/nginx/proxy_cache levels=1:2 keys_zone=PAGECACHE:50m max_size=5g inactive=60m use_temp_path=off;

4.2. Áp dụng Cache vào Virtual Host

Mở lại /etc/nginx/conf.d/loadbalancer.conf và điều chỉnh trong khối location /:

location / {
    proxy_cache PAGECACHE;
    proxy_cache_valid 200 301 302 5m;    # Cache kết quả hợp lệ trong 5 phút
    proxy_cache_valid 404 1m;             # Cache trang không tìm thấy trong 1 phút
    proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;

    # Bỏ qua Cache đối với các trang quản trị hoặc giỏ hàng
    proxy_cache_bypass $http_pragma $http_authorization $cookie_nocache;
    proxy_no_cache $http_pragma $http_authorization $cookie_nocache;

    # Thêm Header phản hồi để debug trạng thái Cache (HIT/MISS/BYPASS)
    add_header X-Cache-Status $upstream_cache_status;

    proxy_pass http://backend_cluster;
    # ... (Các cấu hình proxy_set_header giữ nguyên)
}

Kiểm tra cú pháp và khởi động lại Nginx:

sudo nginx -t && sudo systemctl reload nginx

5. Cấu Hình Backend Nhận Diện IP Thật Của Khách Hàng (Real IP)

Vì toàn bộ request đến máy chủ backend đều bắt nguồn từ IP của Reverse Proxy (10.0.0.10), file log và phần mềm bảo vệ (như Fail2ban, phân tích truy cập) trên Backend sẽ ghi nhận nhầm IP của Proxy. Cần cấu hình module Real IP trên máy chủ Backend.

Nếu máy chủ Backend dùng Nginx:

Mở /etc/nginx/nginx.conf trên các máy Backend, thêm vào khối http { ... }:

set_real_ip_from 10.0.0.10; # Tin cậy IP của máy chủ Reverse Proxy
real_ip_header X-Forwarded-For;
real_ip_recursive on;

Nạp lại cấu hình: sudo systemctl reload nginx

Nếu máy chủ Backend dùng Apache:

Kích hoạt module remoteip:

sudo a2enmod remoteip # Trên Ubuntu/Debian

Mở file cấu hình Apache và thêm:

RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 10.0.0.10

6. Giám Sát Và Chẩn Đoán Trạng Thái Cụm Cân Bằng Tải

Nhu cầu chẩn đoán Câu lệnh kiểm tra chuẩn Mục tiêu
Kiểm tra trạng thái Cache curl -I https://tenmien.vn Quan sát header X-Cache-Status: HIT (đã nạp từ cache) hoặc MISS.
Theo dõi tải trên Proxy sudo tail -f /var/log/nginx/access.log Xem lưu lượng request đi qua máy chủ cân bằng tải thời gian thực.
Kiểm tra phân bổ Backend Định dạng log thêm biến $upstream_addr Xác định request thực tế đang rẽ nhánh vào Node 10.0.0.11 hay 10.0.0.12.

7. Kênh Tiếp Nhận Hỗ Trợ Kỹ Thuật 24/7/365 tại ESC.VN

Trong trường hợp doanh nghiệp cần thiết kế kiến trúc cân bằng tải phần cứng độc lập, thiết lập cụm máy chủ chia sẻ Storage SAN/NFS hoặc chống tấn công DoS/DDoS tầng mạng diện rộng, đội ngũ kỹ sư hạ tầng của ESC luôn sẵn sàng đồng hành:

Hướng Dẫn Tối Ưu Hiệu Năng eCloud VPS Cho Nginx, PHP-FPM Và MariaDB

1. Giới thiệu tổng quan

Trong quá trình vận hành website doanh nghiệp hoặc ứng dụng thương mại điện tử trên hạ tầng eCloud VPS của ESC, hiện tượng phản hồi chậm, nghẽn kết nối hoặc xuất hiện lỗi 502 Bad Gateway / 504 Gateway Timeout thường không bắt nguồn từ thiếu hụt phần cứng mà do các thông số mặc định của Web Server và Database chưa được tinh chỉnh tương thích với lượng truy cập thực tế.

Tài liệu này hướng dẫn chi tiết quy trình chuẩn hóa các tham số cốt lõi của Nginx, PHP-FPM và MariaDB/MySQL nhằm khai thác tối đa tài nguyên CPU, RAM và ổ cứng SSD/NVMe trên máy chủ.

2. Tối ưu hóa Web Server Nginx

File cấu hình chính của Nginx nằm tại /etc/nginx/nginx.conf. Thực hiện mở file và điều chỉnh các khối tham số:

sudo nano /etc/nginx/nginx.conf

2.1. Cấu hình luồng xử lý (Worker Processes & Connections)

user www-data;
worker_processes auto;               # Tự động gán theo số lõi vCPU của VPS
worker_rlimit_nofile 65535;         # Tăng giới hạn file descriptor mở đồng thời

events {
    worker_connections 4096;        # Số kết nối tối đa trên mỗi worker
    use epoll;                      # Cơ chế xử lý I/O hiệu năng cao nhất trên Linux
    multi_accept on;                # Cho phép worker nhận tất cả kết nối mới cùng lúc
}

2.2. Tinh chỉnh Buffer và Keepalive Timeout

Trong khối http { ... }, thêm hoặc sửa các thông số sau để giảm tải CPU và tăng tốc độ phân phối dữ liệu tĩnh:

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 30;
    types_hash_max_size 2048;
    server_tokens off;              # Ẩn thông tin phiên bản Nginx để tăng cường bảo mật

    # Giới hạn kích thước gói tin gửi lên (Upload)
    client_max_body_size 64M;

    # Nén Gzip tiết kiệm băng thông và tăng tốc độ tải trang
    gzip on;
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 5;
    gzip_min_length 256;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml;
}

Kiểm tra cú pháp và nạp lại cấu hình:

sudo nginx -t && sudo systemctl reload nginx

3. Tinh chỉnh Pool xử lý PHP-FPM

Vấn đề nghẽn tài nguyên phổ biến nhất trên máy chủ chạy mã nguồn PHP (như WordPress, Laravel) là việc cấu hình sai chế độ quản lý tiến trình (pm – process manager).

File cấu hình pool mặc định nằm tại /etc/php/<phiên_bản>/fpm/pool.d/www.conf (Ubuntu) hoặc /etc/php-fpm.d/www.conf (AlmaLinux).

# Ví dụ trên Ubuntu với PHP 8.2:
sudo nano /etc/php/8.2/fpm/pool.d/www.conf

3.1. Công thức tính toán pm.max_children

Mỗi tiến trình PHP-FPM trung bình chiếm khoảng 40MB – 70MB RAM (đối với WordPress). Công thức phân bổ RAM cho PHP-FPM:

max_children = (Tổng RAM khả dụng cho PHP – trừ OS và MySQL) / (Bộ nhớ trung bình của 1 tiến trình PHP, VD: 50MB)

Ví dụ: Gói eCloud VPS có 4GB RAM, dành 1GB cho OS/Nginx, 1.5GB cho MySQL, còn lại 1.5GB (1536MB) cho PHP: 1536 / 50 ≈ 30 tiến trình.

3.2. Áp dụng thông số cấu hình tối ưu

pm = dynamic
pm.max_children = 30
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 12
pm.max_requests = 500              ; Tự giải phóng tiến trình sau 500 request để chống rò rỉ RAM (Memory Leak)

3.3. Kích hoạt OPcache trong php.ini

Mở file php.ini tương ứng (/etc/php/8.2/fpm/php.ini):

opcache.enable=1
opcache.memory_consumption=128     ; Bộ nhớ cấp cho OPcache (MB)
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0      ; Đặt bằng 0 trên môi trường Production để đạt hiệu năng tối đa

Khởi động lại dịch vụ PHP-FPM:

sudo systemctl restart php8.2-fpm

4. Cấu hình Tối ưu Bộ đệm Database (MariaDB / MySQL)

Cơ sở dữ liệu lưu lượng lớn cần được cấp phát đủ bộ nhớ đệm để các truy vấn đọc/ghi diễn ra trực tiếp trên RAM thay vì truy xuất liên tục vào ổ cứng.

Tạo hoặc chỉnh sửa file cấu hình tùy chỉnh /etc/mysql/mariadb.conf.d/99-custom.cnf (Ubuntu) hoặc /etc/my.cnf.d/server.cnf (AlmaLinux):

[mysqld]
# Tùy chỉnh Engine InnoDB - trái tim của cơ sở dữ liệu
innodb_buffer_pool_size = 1536M    # Chiếm khoảng 40% - 60% tổng RAM VPS
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2 # Ghi log bộ đệm mỗi giây (Tăng tốc độ ghi dữ liệu cực nhanh)
innodb_flush_method = O_DIRECT

# Quản lý kết nối
max_connections = 150              # Số kết nối tối đa phù hợp với max_children của PHP
max_connect_errors = 10000
wait_timeout = 60                  # Tự động ngắt kết nối rảnh sau 60s
interactive_timeout = 60

# Bộ nhớ đệm bảng tạm
tmp_table_size = 64M
max_heap_table_size = 64M

Khởi động lại dịch vụ MariaDB/MySQL để áp dụng:

sudo systemctl restart mariadb

5. Kiểm tra Tải và Đánh giá Hiệu quả Tối ưu

Sau khi hoàn tất tinh chỉnh, cần tiến hành đo lường để đảm bảo hệ thống phản hồi ổn định dưới áp lực truy cập:

  1. Giám sát trực quan mức tiêu thụ: Chạy htop để kiểm tra phân bổ CPU và RAM khi có lưu lượng truy cập.
  2. Kiểm tra trạng thái kết nối Nginx:
    ss -s

    Lệnh này hiển thị số lượng socket TCP đang ở trạng thái ESTABLISHED, TIME-WAIT để đánh giá mức độ dọn dẹp kết nối rác.

  3. Theo dõi truy vấn chậm (Slow Queries): Bật cờ slow_query_log = 1 trong MySQL để phát hiện các câu lệnh SQL chiếm nhiều thời gian xử lý và đánh index bổ sung.

6. Tổng hợp Kênh Hỗ trợ Kỹ thuật Chuyên môn tại ESC.VN

Đối với các hệ thống có quy mô cơ sở dữ liệu lớn hàng chục GB, kiến trúc phân tán Master-Slave, hoặc các chiến dịch cao điểm đòi hỏi giải pháp cân bằng tải (Load Balancing), Quý khách hàng có thể liên hệ ngay bộ phận kỹ sư hạ tầng của ESC để được hỗ trợ chuyên sâu:

Tài liệu hỗ trợ kỹ thuật chính thức từ ESC.VN

CẨM NANG VẬN HÀNH VÀ BẢO MẬT MÁY CHỦ LINUX CHUYÊN NGHIỆP

Chuyên trang Hỗ trợ & Triển khai Máy chủ Đám mây (eCloud VPS / Dedicated Server)

1. Giới thiệu tổng quan

Trong hạ tầng số hiện đại, hệ điều hành Linux (Ubuntu, Debian, AlmaLinux, Rocky Linux) là nền tảng cốt lõi cho hầu hết các dịch vụ web server, database và ứng dụng doanh nghiệp. Khi tiếp nhận bàn giao một máy chủ ảo eCloud VPS hoặc Dedicated Server tại ESC.VN, quản trị viên hệ thống (SysAdmin) cần nắm vững các kỹ năng vận hành, chuẩn hóa bảo mật và tối ưu tài nguyên.

Bài hướng dẫn này cung cấp quy trình toàn diện từ kết nối ban đầu, thiết lập bảo vệ đa lớp, quản lý dịch vụ hệ thống đến giám sát hiệu năng theo chuẩn kỹ thuật cao cấp nhất.

2. Kết nối và Quản lý Truy cập Ban đầu

2.1. Đăng nhập an toàn qua SSH

Trên máy trạm Linux/macOS hoặc Windows Terminal, kết nối tới máy chủ thông qua dòng lệnh:

ssh root@<IP_SERVER_ESC> -p 22

📌 Lưu ý: Trên giao diện dòng lệnh Linux, khi gõ mật khẩu hệ thống sẽ ẩn hoàn toàn ký tự (không xuất hiện dấu hoa thị). Hãy dán mật khẩu chính xác và nhấn Enter.

2.2. Khởi tạo tài khoản quản trị riêng biệt (Sudo User)

Vận hành trực tiếp bằng tài khoản root tiềm ẩn rủi ro thao tác nhầm hoặc bị tấn công dò mật khẩu. Hãy khởi tạo người dùng quản trị mới:

• Trên Ubuntu / Debian:

adduser escadmin
usermod -aG sudo escadmin

• Trên AlmaLinux / CentOS / Rocky Linux:

adduser escadmin
passwd escadmin
usermod -aG wheel escadmin

3. Cấu hình Bảo mật Cốt lõi (Server Hardening)

3.1. Cập nhật hệ điều hành và gói phần mềm

Ngay sau khi đăng nhập, thực hiện cập nhật toàn bộ bản vá bảo mật mới nhất:

# Dành cho Ubuntu/Debian:
sudo apt update && sudo apt upgrade -y

# Dành cho AlmaLinux/Rocky Linux:
sudo dnf update -y

3.2. Đổi cổng kết nối SSH và vô hiệu hóa mật khẩu trực tiếp

Thay đổi cổng SSH mặc định từ 22 sang cổng ngẫu nhiên (ví dụ 2288) để hạn chế bot quét tự động:

sudo nano /etc/ssh/sshd_config

Chỉnh sửa hoặc thêm các tham số sau trong file cấu hình:

Port 2288
PermitRootLogin no
PasswordAuthentication no

🛡️ Khuyến nghị an toàn: Trước khi tắt mật khẩu và khởi động lại dịch vụ SSH, hãy cấu hình khóa SSH Key công khai (authorized_keys) và luôn giữ một cửa sổ terminal đang kết nối để kiểm tra thông tuyến tránh tình trạng bị khóa ngoài.

3.3. Thiết lập Tường lửa Hệ thống (UFW / Firewalld)

Hệ điều hành Công cụ Tường lửa Câu lệnh mở SSH (Cổng 2288) Câu lệnh kích hoạt
Ubuntu / Debian UFW sudo ufw allow 2288/tcp sudo ufw enable
AlmaLinux / Rocky Firewalld sudo firewall-cmd --permanent --add-port=2288/tcp sudo firewall-cmd --reload

3.4. Cài đặt Fail2ban ngăn chặn Brute-force

Cài đặt Fail2ban để tự động đưa các địa chỉ IP cố tình dò mật khẩu quá số lần quy định vào danh sách cấm truy cập:

# Ubuntu / Debian:
sudo apt install fail2ban -y && sudo systemctl enable fail2ban --now

# AlmaLinux / Rocky Linux:
sudo dnf install epel-release -y
sudo dnf install fail2ban -y && sudo systemctl enable fail2ban --now

4. Quản lý Dịch vụ và Tiến trình với Systemd

Quản trị viên cần thuần thục lệnh systemctl để điều khiển các dịch vụ cốt lõi (Nginx, Apache, MariaDB, Docker):

5. Giám sát Hiệu năng và Xử lý Sự cố

5.1. Kiểm tra tài nguyên CPU, RAM và Ổ cứng

sudo du -sh /* | sort -h

5.2. Phân tích lưu lượng mạng và kết nối bất thường

Kiểm tra danh sách IP đang mở nhiều kết nối tới cổng dịch vụ (nghi vấn tấn công rà quét / DoS):

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -n 15

6. Chiến lược Sao lưu và Khôi phục Dữ liệu (Backup 3-2-1)

Bảo đảm an toàn dữ liệu là nguyên tắc sống còn trong quản trị hệ thống máy chủ:

  1. Chụp ảnh Snapshot định kỳ: Tận dụng tính năng Snapshot trên bảng điều khiển eCloud VPS tại khachhang.esc.vn trước khi tiến hành cập nhật hệ thống hoặc can thiệp mã nguồn quan trọng.
  2. Sao lưu cơ sở dữ liệu tự động: Thiết lập tác vụ Cronjob xuất bản ghi SQL và đẩy sang hệ thống lưu trữ độc lập (Cloud Storage / SFTP riêng).

7. Kênh Hỗ trợ Kỹ thuật Chuyên môn 24/7 từ ESC.VN

Khi hệ thống gặp các sự cố phức tạp vượt ngoài tầm kiểm soát như tấn công từ chối dịch vụ (DDoS) quy mô lớn, lỗi phân vùng ổ đĩa ảo hoặc cần nâng cấp phần cứng (Scale up CPU/RAM/SSD):

Trong ngày hôm nay, hệ thống giám sát an toàn thông tin tại ESC.vn ghi nhận sự gia tăng đột biến của các botnet tự động rà quét lỗ hổng ứng dụng web và cổng kết nối từ xa.

Mục tiêu trọng tâm của các đợt tấn công là chèn webshell qua plugin/theme lỗi thời nhằm chiếm quyền kiểm soát website, can thiệp cơ sở dữ liệu và biến máy chủ thành trạm phát tán thư rác hoặc tấn công DDoS.

I. CÁC NGUY CƠ BẢO MẬT ĐANG DIỄN RA MẠNH MẼ

Hình thức tấn công Chi tiết phương thức & Hậu quả
1. Tải lên Web Shell qua thư mục Upload Lợi dụng lỗ hổng kiểm duyệt tệp tin trên plugin/theme để đưa các script thực thi độc hại (.php) vào thư mục tải lên, từ đó mở đường cho tin tặc chạy lệnh trực tiếp trên server.
2. Dò quét Brute Force cổng SSH và RDP Botnet liên tục tấn công cổng SSH (22) và Remote Desktop (3389) bằng từ điển mật khẩu nhằm đoạt quyền tài khoản quản trị cao nhất (root / Administrator).
3. Email mạo danh thông báo dịch vụ (Phishing) Gửi các cảnh báo khóa hosting, tên miền hoặc yêu cầu xác thực khẩn cấp có đính kèm file độc hại hoặc liên kết giả mạo để chiếm đoạt thông tin đăng nhập Portal và Webmail.
4. Tấn công giả mạo DNS Lợi dụng các hệ thống tên miền chưa bật DNSSEC để điều hướng khách hàng sang các máy chủ giả mạo nhằm lừa đảo thông tin thanh toán.

II. CẨM NANG 5 BƯỚC BẢO VỆ HỆ THỐNG TOÀN DIỆN

🚫 Bước 1: Chặn thực thi PHP trong thư mục Upload

Bổ sung quy tắc cấm chạy file script (.php) trong thư mục tải lên (như wp-content/uploads/) để vô hiệu hóa hoàn toàn nguy cơ lây lan của webshell.

🛡️ Bước 2: Đổi cổng kết nối mặc định & Xác thực SSH Key

Thay đổi ngay cổng mặc định SSH (22) và RDP (3389); tắt xác thực bằng mật khẩu thông thường và chuyển sang cơ chế xác thực cặp khóa SSH Key an toàn tuyệt đối.

🔒 Bước 3: Kích hoạt Tường lửa & Fail2ban

Cài đặt Fail2ban và cấu hình firewall để tự động cô lập, khóa vĩnh viễn hoặc tạm thời các địa chỉ IP có hành vi dò quét mật khẩu quá số lần quy định.

🔄 Bước 4: Cập nhật hệ điều hành và CMS định kỳ

Thực hiện nâng cấp thường xuyên các bản vá bảo mật trên máy chủ và loại bỏ toàn bộ các plugin/theme không rõ nguồn gốc.

# Cập nhật hệ điều hành Linux (CentOS/AlmaLinux/RHEL)
dnf update -y

# Cập nhật hệ điều hành Linux (Ubuntu/Debian)
apt update && apt upgrade -y

💾 Bước 5: Tuân thủ quy tắc Sao lưu 3-2-1 & Chụp Snapshot

Luôn có bản backup lưu trữ ngoại vi độc lập và tận dụng công cụ Snapshot trên nền tảng eCloud VPS của ESC trước khi tiến hành cập nhật hệ thống.

HỖ TRỢ KỸ THUẬT & ỨNG CỨU SỰ CỐ BẢO MẬT 24/7/365:

ESC – Cùng bạn bảo vệ hạ tầng số và phát triển kinh doanh an toàn, bền vững!

Trong bối cảnh chuyển đổi số diễn ra mạnh mẽ, an toàn thông tin đang trở thành ưu tiên hàng đầu của mọi tổ chức và cá nhân. Tình trạng các cuộc tấn công quét lỗ hổng, lừa đảo trực tuyến (phishing) và phát tán mã độc tống tiền (ransomware) nhằm vào hệ thống website, máy chủ (VPS/Dedicated Server) và tài khoản email doanh nghiệp ngày càng diễn biến phức tạp với nhiều thủ đoạn tinh vi.

Để chủ động nhận diện rủi ro và nâng cao năng lực phòng thủ, ESC.vn xin gửi tới Quý khách hàng và bạn đọc bản tin cảnh báo an ninh mạng cùng cẩm nang hướng dẫn phòng chống mã độc, ngăn chặn tấn công hiệu quả.

I. NHẬN DIỆN CÁC HÌNH THỨC TẤN CÔNG & LÂY NHIỄM NGUY HIỂM HIỆN NAY

Hình thức tấn công Phương thức hoạt động Mục tiêu & Hậu quả
1. Tấn công dò mật khẩu (Brute Force) Tin tặc sử dụng các mạng máy tính ma (botnet) tự động quét cổng kết nối mặc định như SSH (Port 22), RDP (Port 3389) hoặc các trang quản trị CMS (wp-login.php, cPanel) và thử hàng triệu tổ hợp tài khoản/mật khẩu liên tục. Chiếm quyền root/administrator của VPS/Server; đánh cắp toàn bộ cơ sở dữ liệu và biến máy chủ thành công cụ đào coin hoặc DDOS trung gian.
2. Email lừa đảo (Phishing & Spear Phishing) Giả mạo các thông báo khẩn cấp từ nhà cung cấp dịch vụ hạ tầng (Hosting, Mail, Domain), ngân hàng hoặc cơ quan chức năng với nội dung yêu cầu xác minh tài khoản, gia hạn gấp dịch vụ kèm theo đường link giả mạo hoặc file nén độc hại (.zip, .rar, macro Word/Excel). Lộ lọt tài khoản email công ty, mã hóa toàn bộ dữ liệu máy trạm (Ransomware), can thiệp luồng giao dịch tài chính nội bộ.
3. Khai thác lỗ hổng Web & Plugin Khai thác các lỗ hổng chưa được vá (Zero-day hoặc N-day) trên các plugin, theme WordPress, CMS mã nguồn mở hoặc các thư viện dịch vụ chưa cập nhật trên hệ điều hành máy chủ. Website bị chèn mã độc chuyển hướng (redirect) cờ bạc, deface giao diện, hoặc chèn backdoor ngầm đánh cắp dữ liệu khách hàng.
4. Tấn công từ chối dịch vụ (DDoS) Phát động lưu lượng truy cập giả mạo khổng lồ làm nghẽn băng thông mạng hoặc quá tải tài nguyên CPU/RAM của hệ thống máy chủ. Website và hệ thống email tê liệt hoàn toàn, gián đoạn kinh doanh và ảnh hưởng uy tín thương hiệu.

II. CẨM NANG 6 BƯỚC BẢO VỆ TOÀN DIỆN TỪ KỸ THUẬT VIÊN ESC.VN

1. Thiết lập lại cổng kết nối & Vô hiệu hóa truy cập trực tiếp bằng mật khẩu

  • Đổi cổng kết nối mặc định: Tuyệt đối không để cổng SSH ở Port 22 hoặc Remote Desktop (RDP) ở Port 3389. Hãy chuyển sang các cổng ngẫu nhiên trong dải private (Ví dụ: 2288, 33899).
  • Sử dụng SSH Key: Chuyển sang cơ chế xác thực bằng cặp khóa công khai/riêng tư (SSH Public/Private Key) và tắt tính năng PasswordAuthentication trên máy chủ Linux.

2. Kích hoạt Tường lửa (Firewall) và Công cụ phòng thủ tự động Fail2ban

  • Chỉ mở các cổng cần thiết cho hoạt động kinh doanh (Port 80 cho HTTP, Port 443 cho HTTPS, Port Mail SSL). Khóa toàn bộ các cổng nội bộ không sử dụng.
  • Cài đặt và thiết lập Fail2ban để tự động đưa các IP nhập sai mật khẩu quá 3–5 lần vào danh sách chặn tạm thời hoặc vĩnh viễn:

[sshd]
enabled = true
port = 2288
maxretry = 3
bantime = 3600
findtime = 600

3. Bật Xác thực đa yếu tố (2FA / MFA) trên mọi nền tảng

Kích hoạt tính năng 2FA bằng ứng dụng tạo mã OTP (Google Authenticator, Microsoft Authenticator) cho tất cả:

  • Tài khoản Portal quản trị khách hàng tại ESC.vn.
  • Bảng điều khiển quản trị máy chủ (cPanel, DirectAdmin, aaPanel, Proxmox/vSphere).
  • Tài khoản Email Doanh nghiệp tên miền riêng.

4. Thường xuyên cập nhật hệ điều hành, nhân Kernel và Plugin

  • Thiết lập lịch kiểm tra và cập nhật các bản vá bảo mật định kỳ cho hệ điều hành máy chủ (chạy dnf update -y hoặc apt update && apt upgrade -y).
  • Cập nhật định kỳ phiên bản PHP, web server (Nginx/Apache) và các plugin, theme trên CMS website để đóng các lỗ hổng đã công bố.

5. Nguyên tắc an toàn khi xử lý Email và Tệp tin

  • Kiểm tra kỹ địa chỉ người gửi thực sự (phần mở rộng tên miền sau ký tự @), không bấm vào các đường link lạ có cấu trúc tên miền sai khác.
  • Không mở các file đính kèm dạng nén (.zip, .rar, .iso) hoặc các file tài liệu yêu cầu “Enable Macro” nếu chưa được quét virus bằng công cụ chuyên dụng.
  • Triển khai đầy đủ các bản ghi xác thực danh tính người gửi cho tên miền: SPF, DKIM, DMARC để phòng chống giả mạo tên miền công ty.

6. Tuân thủ chiến lược Sao lưu dữ liệu (Backup 3-2-1)

  • Lưu trữ ít nhất 3 bản sao dữ liệu quan trọng trên 2 phương tiện lưu trữ khác nhau, với ít nhất 1 bản sao lưu ngoại vi (Offsite / Cloud Storage độc lập).
  • Tận dụng tính năng Snapshot định kỳ trên hệ thống eCloud VPS của ESC trước khi thực hiện các thay đổi mã nguồn lớn.

III. KÊNH TIẾP NHẬN HỖ TRỢ VÀ KHẮC PHỤC SỰ CỐ TẠI ESC.VN

Khi phát hiện máy chủ hoặc website có dấu hiệu bị mã độc, chậm đột biến do nghẽn mạng, hoặc tài khoản email bị spam bất thường, Quý khách hàng hãy lập tức liên hệ Trung tâm Hỗ trợ Kỹ thuật ESC để được cô lập và ứng cứu kịp thời:

Hotline Hỗ trợ 24/7: 1900 2069
Hệ thống Ticket Hỗ trợ kỹ thuật: khachhang.esc.vn
Website chính thức: https://esc.vn

1. Giới thiệu tổng quan

Trong quá trình vận hành eCloud VPS tại esc.vn, đôi khi bạn sẽ gặp phải tình trạng website tải chậm, ứng dụng không phản hồi hoặc mất kết nối hoàn toàn. Sự cố này thường xuất phát từ hai nguyên nhân chính: quá tải tài nguyên phần cứng (CPU, RAM, Disk I/O) hoặc nghẽn băng thông mạng (do lượt truy cập tăng đột biến hoặc bị tấn công DDoS).

Tài liệu này hướng dẫn chi tiết cách tự kiểm tra, chẩn đoán nhanh hiệu suất của cả máy chủ VPS Linux và Windows, đồng thời đưa ra các bước xử lý sự cố kịp thời.

2. Giám sát và kiểm tra tài nguyên phần cứng VPS

2.1. Đối với eCloud VPS Linux (Ubuntu, CentOS, AlmaLinux, Rocky)

  1. Kiểm tra CPU và RAM bằng lệnh top hoặc htop

Đăng nhập SSH vào VPS và gõ:

top

Cách đọc các thông số quan trọng:

Nếu hệ thống chưa cài đặt, bạn hãy cài đặt bằng lệnh:

Sau đó khởi chạy:

htop

Giao diện htop sẽ hiển thị trực quan dạng thanh biểu đồ màu sắc cho từng Core CPU, dung lượng RAM đang sử dụng, và danh sách các tiến trình (process) đang chạy xếp theo thứ tự ngốn nhiều tài nguyên nhất. Để thoát ra ngoài, nhấn phím F10 hoặc q.

B. Kiểm tra dung lượng ổ cứng (Storage) và I/O (Đọc/Ghi)

Nếu phân vùng hệ thống bị đầy 100%, các dịch vụ như MySQL, Nginx sẽ tự động bị crash (tắt ngang). Kiểm tra bằng lệnh:

df -h

Nhìn vào cột Use% của phân vùng / hoặc /dev/sdaX. Nếu đạt mức trên 90%, bạn cần tìm và xóa các file log dư thừa hoặc file backup cũ.

Mẹo tìm thư mục chiếm nhiều dung lượng nhất trên VPS:

du -sh /* 2>/dev/null | sort -h

Sử dụng công cụ iotop để xem tiến trình nào đang ghi đĩa quá nhiều (gây lag VPS):

sudo apt install iotop -y  # Đối với Ubuntu
sudo iotop

2.2. Đối với eCloud VPS Windows Server

Sử dụng Task Manager nhanh chóng

Phân tích chuyên sâu với Resource Monitor
Nếu cần kiểm tra chi tiết luồng dữ liệu hoặc file nào đang bị khóa/ghi liên tục:

  1. Nhấn Windows + R, gõ resmon và nhấn Enter.
  2. Công cụ Resource Monitor sẽ hiển thị chi tiết các tiến trình đang đọc/ghi file nào trên Disk, kết nối đến IP nào trên Network với băng thông cụ thể.

3. Giám sát băng thông và xử lý nghẽn mạng

3.1. Các dấu hiệu nhận biết VPS bị nghẽn mạng

3.2. Giám sát băng thông mạng trên Linux

Đo băng thông thời gian thực bằng nload hoặc iftop

Hệ thống hiển thị tốc độ mạng hiện tại (Incoming – Tải vào và Outgoing – Đẩy ra) giúp bạn biết card mạng có đang chạy hết công suất băng thông định mức hay không.

Công cụ sẽ hiển thị chi tiết danh sách các IP ngoài đang kết nối tới VPS và lượng dữ liệu trao đổi giữa hai bên. Từ đây bạn dễ dàng phát hiện ra IP lạ đang cố tình tải file lớn hoặc spam request.

B. Kiểm tra số lượng kết nối TCP để phát hiện DDoS

Khi bị tấn công DDoS dạng Flood, lượng kết nối TCP ở trạng thái ESTABLISHED hoặc SYN_RECV sẽ tăng vọt. Hãy chạy lệnh sau để thống kê số lượng kết nối từ mỗi địa chỉ IP đến máy chủ của bạn:

netstat -anp | grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

Kết quả trả về sẽ có dạng:

     12 127.0.0.1
     15 42.113.12.14
    850 1.2.3.4       <-- Địa chỉ IP này đang mở tới 850 kết nối (Bất thường/Nghi ngờ DDoS)

4. Quy trình xử lý nhanh khi VPS bị sự cố

Bước 1: Khởi động lại dịch vụ bị treo hoặc tiến trình chiếm tài nguyên cao

Tìm PID (Process ID) của tiến trình gây treo từ top hoặc htop rồi chạy lệnh:

kill -9 <PID_TIẾN_TRÌNH>

Bước 2: Chặn IP có hành vi bất thường/Tấn công

Nếu phát hiện một hoặc nhiều IP lạ đang spam kết nối phá hoại hệ thống ở bước 3.2, bạn tiến hành chặn ngay lập tức qua tường lửa của VPS:

5. Khi nào cần liên hệ bộ phận kỹ thuật esc.vn hỗ trợ?

Nếu bạn đã thực hiện các bước chẩn đoán trên nhưng:

Cách thức liên hệ hỗ trợ kỹ thuật tại ESC: