Hướng Dẫn Bảo Mật VPS Cho Người Mới 2026: 10 Bước Cơ Bản Không Thể Bỏ Qua

📅 06/2026 · ⏱ 8 phút đọc · 🏷 VPS · Bảo Mật

Bạn vừa thuê VPS, cài xong Ubuntu, triển khai website — mọi thứ chạy ngon. Nhưng bạn có biết: một VPS mới tinh không cấu hình bảo mật sẽ bị bot quét và tấn công brute-force trong vòng vài phút sau khi online? Thống kê từ Cloudflare: 32% traffic internet là bot độc hại. Đừng để server của bạn thành miếng mồi. 10 bước dưới đây — làm trong 30 phút, bảo vệ VPS cả năm.

🔐 Thực tế đáng sợ: Một VPS mới cài CentOS mặc định bị bot Trung Quốc brute-force SSH chỉ sau 7 phút. Log cho thấy 2,341 lần thử login trong 1 giờ đầu tiên. Sau khi bật fail2ban: 0 lần thành công.

Tổng Quan: Tại Sao Bảo Mật VPS Lại Quan Trọng?

10 bước dưới đây được sắp xếp theo thứ tự ưu tiên — từ những thay đổi có tác động lớn nhất đến các lớp bảo vệ bổ sung. Mỗi bước đều có lệnh cụ thể, giải thích rõ ràng, và những cạm bẫy cần tránh. Bạn không cần phải là chuyên gia sysadmin để bảo vệ VPS của mình — chỉ cần làm theo từng bước.

Bước 1: Đổi Port SSH Mặc Định (Port 22)

Port 22 là mục tiêu số 1 của bot scan. Đổi sang port khác giảm 95% tấn công tự động ngay lập tức.

# Ubuntu/Debian
sudo nano /etc/ssh/sshd_config

# Tìm dòng #Port 22, sửa thành:
Port 2222

# Restart SSH
sudo systemctl restart sshd

Quan trọng: Đừng logout khỏi session hiện tại trước khi test port mới! Mở terminal thứ 2 test kết nối: ssh -p 2222 user@your-ip. Nếu OK thì mới đóng session cũ.

Port SSHLượt tấn công/ngàyRủi ro
22 (mặc định)5,000 - 50,000Cao
2222 / 2222250 - 500Thấp
Port random >10000< 10Rất thấp

Bước 2: Dùng SSH Key Thay Vì Mật Khẩu

Mật khẩu có thể bị brute-force. SSH key dài 2048-bit thì bất khả thi về mặt tính toán. Đây là lớp bảo vệ mạnh nhất cho SSH.

# Trên máy local (Mac/Linux):
ssh-keygen -t ed25519 -C "your-email@example.com"

# Copy public key lên VPS:
ssh-copy-id -p 2222 user@your-vps-ip

# Vô hiệu hóa đăng nhập bằng password:
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no

sudo systemctl restart sshd
💡 Mẹo: Dùng Ed25519 thay vì RSA. Key ngắn hơn, nhanh hơn, bảo mật tương đương RSA 3072-bit. Tất cả VPS hiện đại đều hỗ trợ.

Bước 3: Cài Đặt & Cấu Hình Firewall (UFW)

Tường lửa là lớp phòng thủ đầu tiên. UFW (Uncomplicated Firewall) cực kỳ đơn giản, ai cũng dùng được.

# Cài UFW
sudo apt install ufw -y

# Thiết lập rules cơ bản
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp    # SSH port mới
sudo ufw allow 80/tcp       # HTTP
sudo ufw allow 443/tcp      # HTTPS

# Bật firewall
sudo ufw enable
sudo ufw status verbose

Tuyệt đối: Allow SSH port trước khi enable UFW. Quên bước này → tự khóa mình ngoài server. Kiểm tra bằng sudo ufw status numbered trước khi enable.

Bước 4: Cài Fail2Ban Chống Brute-Force

Fail2ban theo dõi log, phát hiện IP đăng nhập sai nhiều lần và tự động chặn IP đó bằng firewall.

# Cài đặt
sudo apt install fail2ban -y

# Copy config mặc định
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

# Cấu hình SSH protection:
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 3600
findtime = 600

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

# Kiểm tra trạng thái
sudo fail2ban-client status sshd
Tham sốÝ nghĩaKhuyến nghị
maxretrySố lần sai tối đa3
bantimeThời gian chặn (giây)3600 (1 giờ)
findtimeKhung thời gian đếm lỗi600 (10 phút)

Bước 5: Tự Động Cập Nhật Bảo Mật

Lỗ hổng được phát hiện mỗi ngày. Tự động cài security update đảm bảo bạn không bỏ sót bản vá quan trọng.

# Ubuntu/Debian
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

# Kiểm tra đã bật chưa
sudo systemctl status unattended-upgrades

Bước 6: Tạo User Riêng, Không Dùng Root

Root là target mặc định của mọi cuộc tấn công. Tạo user thường + sudo là best practice.

sudo adduser deployer
sudo usermod -aG sudo deployer

# Kiểm tra
su - deployer
sudo whoami  # Phải in ra "root"

Bước 7: Vô Hiệu Hóa IPv6 Nếu Không Dùng

Nhiều VPS provider gán IPv6 nhưng bạn chỉ dùng IPv4. IPv6 để mở = thêm một bề mặt tấn công. Tắt nếu không cần.

sudo nano /etc/sysctl.conf
# Thêm vào cuối file:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

sudo sysctl -p

Bước 8: Giám Sát Log Định Kỳ

Bảo mật không phải "set and forget". Cần kiểm tra log để phát hiện bất thường.

# Kiểm tra ai đang đăng nhập
who
last -20

# Log SSH attempts
sudo grep "Failed password" /var/log/auth.log | tail -20

# Log fail2ban
sudo zgrep "Ban" /var/log/fail2ban.log* | tail -20

Bước 9: Backup Tự Động — Cứu Cánh Cuối Cùng

Dù bảo mật tốt đến đâu, luôn có rủi ro: lỡ tay xóa, ransomware, ổ cứng die. Backup là insurance policy của bạn.

# Script backup đơn giản
sudo nano /usr/local/bin/backup.sh
#!/bin/bash
tar -czf /backup/www-$(date +%Y%m%d).tar.gz /var/www
tar -czf /backup/db-$(date +%Y%m%d).tar.gz /var/lib/mysql
find /backup -name "*.tar.gz" -mtime +7 -delete

# Cron hàng ngày 3AM
sudo crontab -e
0 3 * * * /bin/bash /usr/local/bin/backup.sh

Bước 10: Cài Đặt & Cấu Hình 2FA Cho SSH

Xác thực 2 yếu tố cho SSH — kể cả hacker có private key, không có mã OTP thì vẫn không vào được.

sudo apt install libpam-google-authenticator -y
google-authenticator  # Làm theo hướng dẫn, quét QR

sudo nano /etc/pam.d/sshd
# Thêm dòng:
auth required pam_google_authenticator.so

sudo nano /etc/ssh/sshd_config
ChallengeResponseAuthentication yes

sudo systemctl restart sshd

Bảng So Sánh: VPS Đã Bảo Mật vs Chưa Bảo Mật

Tiêu chíVPS Mặc ĐịnhVPS Sau 10 Bước
SSH brute-forceHàng nghìn lần/ngày0 — fail2ban chặn hết
Port scanPort 22, 80, 443 mởChỉ port cần thiết
Cập nhật bảo mậtManual (dễ quên)Tự động mỗi ngày
BackupKhông cóTự động mỗi đêm
Đăng nhập rootBị khóa
2FAKhôngCó — OTP 6 số

Câu Hỏi Thường Gặp

Làm hết 10 bước mất bao lâu?

Khoảng 30-40 phút nếu làm lần đầu. Từ lần thứ 2: 15 phút. Có thể script hóa toàn bộ.

Bước nào quan trọng nhất?

SSH key (bước 2) + fail2ban (bước 4). Chỉ 2 bước này đã chặn 99% tấn công tự động. Nhưng đừng dừng ở đó — backup (bước 9) cứu bạn khi mọi thứ khác thất bại.

VPS giá rẻ có bảo mật được không?

Tất cả 10 bước trên đều miễn phí, chạy được trên VPS 1GB RAM. Bảo mật không phụ thuộc vào giá VPS — nó phụ thuộc vào bạn có làm hay không.

Bắt Đầu Với VPS Bảo Mật Ngay Hôm Nay

VPS SSD tốc độ cao, IPv4 riêng, cài sẵn Ubuntu 24.04 — sẵn sàng cho 10 bước bảo mật trên

Thuê VPS Tại TrumVPS →

Xem thêm: Cài PostgreSQL + Redis Trên VPS · VPS Cho Lập Trình Viên · Hướng Dẫn Deploy Website Lên VPS