VPS HC
Trang Chủ / Blog / Bảo mật VPS cơ bản: SSH Key, UFW Firewall, Fail2ban, Đổi port SSH

Bảo mật VPS cơ bản: SSH Key, UFW Firewall, Fail2ban, Đổi port SSH

Tác giả
Nguyễn Chiến
Ngày đăng
16/06/2026
Lượt xem
46
Bảo mật VPS cơ bản: SSH Key, UFW Firewall, Fail2ban, Đổi port SSH

VPS mặc định khi mua có bảo mật rất cơ bản — cần thiết phải hardening ngay. Bài này hướng dẫn từng bước bảo mật VPS Linux, từ SSH đến firewall.

 Quan trọng: Thực hiện theo thứ tự và KHÔNG đóng session SSH hiện tại cho đến khi bạn xác nhận kết nối mới hoạt động.

 Tạo user mới, không dùng root trực tiếp

# Tạo user mới
adduser deploy

# Thêm vào group sudo
usermod -aG sudo deploy

# Test đăng nhập bằng user mới (mở terminal khác)
ssh deploy@YOUR_VPS_IP
sudo whoami  # Phải ra "root"

 Thiết lập SSH Key Authentication

# Trên máy cá nhân, tạo SSH key (nếu chưa có)
ssh-keygen -t ed25519 -C "your_email@example.com"

# Copy public key lên VPS
ssh-copy-id deploy@YOUR_VPS_IP

 Đổi port SSH và cấu hình bảo mật

nano /etc/ssh/sshd_config

Tìm và sửa các dòng sau:

Port 2222                    # Đổi sang port mới (1024-65535)
PermitRootLogin no           # Tắt đăng nhập root
PasswordAuthentication no    # Chỉ dùng SSH key
PubkeyAuthentication yes     # Bật SSH key
MaxAuthTries 3               # Giới hạn số lần thử sai
LoginGraceTime 20            # Timeout 20 giây
# Kiểm tra config hợp lệ trước khi restart
sshd -t

# Áp dụng (CHƯA đóng session hiện tại!)
systemctl restart sshd

# Mở terminal MỚI, test kết nối với port mới
ssh -p 2222 deploy@YOUR_VPS_IP

 Cài UFW Firewall

apt install -y ufw

# Mặc định: từ chối kết nối vào, cho phép ra
ufw default deny incoming
ufw default allow outgoing

# Cho phép SSH port mới (PHẢI làm trước khi bật UFW!)
ufw allow 2222/tcp

# Cho phép web
ufw allow 80/tcp
ufw allow 443/tcp

# Bật UFW
ufw enable

# Kiểm tra
ufw status verbose

 Cài Fail2ban (Chặn tấn công brute force)

apt install -y fail2ban

# Tạo file cấu hình local
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local

Tìm section [DEFAULT] và sửa:

[DEFAULT]
bantime  = 3600
findtime = 600
maxretry = 3

[sshd]
enabled = true
port    = 2222
logpath = /var/log/auth.log
maxretry = 3
systemctl enable fail2ban
systemctl start fail2ban

# Xem trạng thái
fail2ban-client status sshd

 Cập nhật bảo mật tự động

apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades

 Kiểm tra các port đang mở

ss -tlnp

 Checklist bảo mật

  •  Tạo user non-root với sudo
  •  SSH key đã thiết lập
  •  Đã đổi port SSH
  •  PermitRootLogin = no
  •  PasswordAuthentication = no
  •  UFW firewall bật, chỉ mở port cần thiết
  •  Fail2ban đang chạy
  •  Unattended upgrades bật
Có thể bạn cần xem thêm
Quay lại Blog
Bài viết đã được kiểm duyệt bởi VPS HC Team Cập nhật lần cuối: 16/06/2026

Bài Viết Liên Quan

Cần VPS tốc độ cao, giá hợp lý?

Khởi tạo trong vài phút · Hỗ trợ 24/7 · Uptime 99.99%

Dùng Thử Miễn Phí