Một VPS mới có địa chỉ IP công khai sẽ bắt đầu nhận các lần thử đăng nhập tự động chỉ sau vài phút. Không có gì mang tính cá nhân; bot chỉ đơn giản quét mọi địa chỉ. Vài bước cơ bản chặn gần như tất cả. Danh sách kiểm tra này giả định một máy chủ Ubuntu 24.04 hoặc Debian 12/13 mới và mất khoảng mười lăm phút.
1. Cập nhật mọi thứ trước
apt update && apt full-upgrade -y
reboot
Đăng nhập lại sau khi khởi động lại. Luôn bắt đầu từ một hệ thống đã được vá đầy đủ.
2. Tạo người dùng không phải root
Làm việc bằng root mọi lúc khiến mỗi lỗi gõ phím đều nguy hiểm. Hãy tạo một người dùng thường có quyền sudo:
adduser deploy
usermod -aG sudo deploy
3. Thiết lập khóa SSH
Trên máy tính của bạn, hãy tạo cặp khóa nếu chưa có và sao chép nửa công khai lên máy chủ:
ssh-keygen -t ed25519 -C "my-vps"
ssh-copy-id deploy@YOUR_SERVER_IP
Mở một terminal thứ hai và xác nhận bạn có thể đăng nhập bằng deploy với khóa trước khi tiếp tục. Đừng đóng phiên ban đầu cho đến khi làm được.
4. Tắt đăng nhập bằng mật khẩu và root
Chỉnh sửa cấu hình của SSH daemon:
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
Đặt các dòng sau vào tệp:
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
Kiểm tra cú pháp và tải lại:
sudo sshd -t && sudo systemctl reload ssh
5. Bật tường lửa
UFW là lựa chọn đơn giản nhất. Cho phép SSH trước, rồi bật tường lửa:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp # only if you run a web server
sudo ufw enable
sudo ufw status verbose
Chỉ mở cổng cho những dịch vụ bạn thực sự chạy. Mọi thứ khác mặc định đều đóng.
6. Thêm fail2ban
Fail2ban theo dõi nhật ký và tạm thời cấm các địa chỉ liên tục đăng nhập thất bại.
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
Cấu hình mặc định là hợp lý cho SSH. Vì bạn đã tắt mật khẩu, nó chủ yếu giúp giảm nhiễu nhật ký và lãng phí CPU.
7. Bật cập nhật bảo mật tự động
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
Điều này tự động cài các bản vá bảo mật. Thỉnh thoảng hãy khởi động lại để cập nhật kernel, hoặc để công cụ tự làm vào giờ yên tĩnh.
8. Kiểm tra những gì đang lắng nghe
sudo ss -tulpn
Bất cứ thứ gì lắng nghe trên 0.0.0.0 mà bạn không ngờ tới đều đáng để điều tra. Các dịch vụ chỉ dành cho dùng cục bộ (cơ sở dữ liệu, bộ nhớ đệm, bảng quản trị) nên lắng nghe trên 127.0.0.1.
9. Giám sát cơ bản và sao lưu
- Theo dõi nhật ký bằng
journalctl -u ssh --since todaythỉnh thoảng. - Kiểm tra tài nguyên bằng
htopvàdf -hđể ổ đĩa đầy hoặc tiến trình chạy mất kiểm soát không làm bạn bất ngờ. - Sao lưu. Chụp snapshot máy chủ trước những thay đổi lớn và giữ một bản sao ngoài máy chủ cho mọi thứ bạn không thể tạo lại.
Việc nên làm tiếp theo
Bây giờ bạn có một máy chủ khó bị xâm nhập hơn nhiều so với mặc định. Từ đây, hãy luôn cập nhật phần mềm, chạy mỗi dịch vụ dưới một người dùng không đặc quyền riêng, và chỉ mở những gì bạn cần. Nếu bạn muốn có một đường hầm riêng đến máy chủ, hướng dẫn thiết lập WireGuard của chúng tôi là bước tiếp theo phù hợp.
Câu hỏi thường gặp
Tôi nên làm gì đầu tiên trên VPS mới?
Cập nhật các gói, tạo người dùng không phải root, chuyển sang khóa SSH, tắt đăng nhập bằng mật khẩu và bật tường lửa.
Tôi có nên đổi cổng SSH không?
Nó giảm nhiễu trong nhật ký nhưng không phải bảo mật thực sự. Khóa và tường lửa quan trọng hơn nhiều.