OffshoreVps
Bảo mật25 thg 9 20269 phút đọcBởi đội ngũ OffshoreVps

Cách bảo mật VPS Linux mới trong 15 phút

Danh sách kiểm tra sao chép và dán cho VPS Ubuntu hoặc Debian mới: khóa SSH, người dùng không phải root, tường lửa, fail2ban, cập nhật tự động và giám sát cơ bản.

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.

Cửa sổ terminal trên VPS hiển thị các lệnh dùng để bảo mật VPS mới, bắt đầu bằng “apt update && apt full-upgrade -y”
Loại lệnh bạn sẽ chạy trên máy chủ của mình trong hướng dẫn này.

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.

Các bước của hướng dẫn này theo thứ tự: 1. 1. Cập nhật mọi thứ trước; 2. 3. Thiết lập khóa SSH; 3. 5. Bật tường lửa; 4. 6. Thêm fail2ban; 5. 8. Kiểm tra những gì đang lắng nghe; 6. Việc cần làm tiếp theo
Các bước trong hướng dẫn này, theo thứ tự.

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 today thỉnh thoảng.
  • Kiểm tra tài nguyên bằng htop và 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.