Một VPS Linux mới có quyền quản trị rất cao, vì vậy vài thao tác đầu tiên sau khi nhận máy chủ có ảnh hưởng lớn đến mức độ an toàn về sau. Thay vì cài ứng dụng ngay, người quản trị nên chuẩn hóa tài khoản, SSH, firewall, cập nhật, log và backup trước. Bài viết này trình bày quy trình bảo mật VPS Linux theo từng bước, tập trung vào các biện pháp dễ áp dụng, có thể kiểm tra và hạn chế nguy cơ tự khóa mình khỏi máy chủ.
Mục lục
- Vì sao cần bảo mật VPS ngay sau khi thuê?
- Bước 1: cập nhật hệ điều hành
- Bước 2: tạo tài khoản quản trị riêng
- Bước 3: cấu hình SSH an toàn
- Bước 4: bật firewall
- Bước 5: chống dò mật khẩu
- Bước 6: quản lý dịch vụ và cổng mạng
- Bước 7: cập nhật, backup và giám sát
- Sai lầm thường gặp
- Câu hỏi thường gặp
- Kết luận
Vì sao cần bảo mật VPS ngay sau khi thuê?
VPS public trên Internet có thể bị quét cổng và thử đăng nhập tự động chỉ sau thời gian ngắn. Máy chủ mới thường chưa có ứng dụng quan trọng, vì vậy đây là thời điểm thuận lợi nhất để thiết lập nền tảng bảo mật trước khi dữ liệu và dịch vụ được đưa lên.
Bảo mật VPS Linux không có nghĩa là cài càng nhiều công cụ càng tốt. Mục tiêu thực tế là giảm bề mặt tấn công, dùng cơ chế xác thực mạnh, chỉ mở dịch vụ cần thiết, cập nhật đều và có khả năng phục hồi khi sự cố xảy ra.
Nếu bạn mới làm quen với VPS, có thể xem thêm các bài trong blog HUONG CLOUD để bổ sung kiến thức quản trị cơ bản trước khi vận hành hệ thống thật.
Bước 1: cập nhật hệ điều hành
Việc đầu tiên nên làm là cập nhật danh sách gói và các bản vá bảo mật. Với Ubuntu hoặc Debian, có thể dùng:
sudo apt update
sudo apt upgrade -y
Sau cập nhật lớn liên quan kernel hoặc thư viện nền, có thể cần reboot. Trước khi khởi động lại máy chủ đang chạy dịch vụ, hãy kiểm tra tiến trình, backup và khả năng truy cập console nếu nhà cung cấp hỗ trợ.
Kiểm tra phiên bản hệ điều hành
Bạn có thể xem thông tin hệ thống bằng:
cat /etc/os-release
uname -a
Điều này giúp tránh làm theo hướng dẫn dành cho phiên bản khác hoặc dùng repository không tương thích.
Bước 2: tạo tài khoản quản trị riêng
Không nên dùng root cho mọi thao tác hằng ngày. Hãy tạo một user riêng và cấp quyền sudo khi cần.
Ví dụ trên Ubuntu/Debian:
sudo adduser adminuser
sudo usermod -aG sudo adminuser
Sau đó đăng nhập bằng tài khoản mới và kiểm tra:
sudo whoami
Nếu trả về root, quyền sudo đang hoạt động.
Vì sao hạn chế root?
Khi đăng nhập trực tiếp bằng root, kẻ tấn công đã biết sẵn tên tài khoản cần thử. Việc dùng tài khoản riêng kết hợp SSH key giúp giảm một lớp rủi ro và hỗ trợ ghi nhận thao tác rõ ràng hơn.
Bước 3: cấu hình SSH an toàn
SSH là cổng quản trị quan trọng nhất của nhiều VPS Linux. Nếu cấu hình sai, bạn có thể tự khóa mình khỏi máy chủ, vì vậy hãy giữ nguyên một phiên SSH đang hoạt động trong lúc kiểm tra cấu hình mới.
Dùng SSH key thay mật khẩu
Trên máy cá nhân, tạo cặp khóa nếu chưa có:
ssh-keygen -t ed25519
Sau đó sao chép public key lên VPS, ví dụ:
ssh-copy-id adminuser@IP_VPS
Kiểm tra đăng nhập bằng key thành công trước khi tắt password authentication.
Hạn chế đăng nhập root
Mở file cấu hình SSH:
sudo nano /etc/ssh/sshd_config
Thiết lập phù hợp có thể gồm:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Sau khi thay đổi, kiểm tra cú pháp:
sudo sshd -t
Nếu không có lỗi, reload dịch vụ SSH:
sudo systemctl reload ssh
Tên service có thể khác tùy bản phân phối. Luôn xác minh trước khi thao tác.
Có nên đổi cổng SSH?
Đổi port có thể giảm bớt log từ bot quét cổng mặc định, nhưng không thay thế SSH key, firewall hoặc cập nhật bảo mật. Nếu đổi port, phải cập nhật firewall trước và kiểm tra kết nối mới trước khi đóng phiên cũ.
Bước 4: bật firewall
Firewall giúp chỉ cho phép những kết nối bạn thực sự cần. Trên Ubuntu, UFW là lựa chọn dễ dùng cho người mới.
Trước tiên cho phép SSH:
sudo ufw allow OpenSSH
Nếu website dùng HTTP/HTTPS:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Sau đó bật firewall:
sudo ufw enable
sudo ufw status verbose
Nguyên tắc quan trọng là cho phép cổng quản trị trước khi bật firewall. Nếu đang dùng SSH port tùy chỉnh, hãy cho phép đúng port đó.
Chỉ mở cổng cần thiết
Database như MySQL hoặc PostgreSQL thường không cần public ra Internet nếu chỉ được ứng dụng trên cùng VPS sử dụng. Có thể bind database vào localhost và tránh mở port công khai.
Bước 5: chống dò mật khẩu
Nếu còn dịch vụ sử dụng xác thực bằng mật khẩu, Fail2ban có thể giúp chặn IP có nhiều lần đăng nhập thất bại.
Trên Ubuntu/Debian:
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
Sau đó cấu hình jail phù hợp với SSH hoặc dịch vụ khác. Không nên sao chép một cấu hình Fail2ban từ Internet mà không hiểu tham số, vì ngưỡng quá chặt có thể chặn cả người quản trị hợp lệ.
SSH key và vô hiệu hóa password authentication vẫn là biện pháp quan trọng hơn trong trường hợp SSH hỗ trợ được.
Bước 6: quản lý dịch vụ và cổng mạng
Một VPS càng chạy nhiều dịch vụ thì bề mặt tấn công càng lớn. Hãy kiểm tra các cổng đang lắng nghe:
sudo ss -tulpn
Và các dịch vụ đang bật:
systemctl --type=service --state=running
Nếu thấy dịch vụ không dùng đến, hãy xác định chức năng trước khi tắt. Không nên disable bừa các service hệ thống chỉ vì tên lạ.
Gỡ phần mềm không cần thiết
Control panel, web server, database, FTP server hoặc công cụ thử nghiệm đều tạo thêm thành phần phải cập nhật. Một VPS tối giản thường dễ bảo mật và vận hành hơn.
Không public panel quản trị không cần thiết
Nếu một panel chỉ dành cho quản trị nội bộ, cân nhắc giới hạn IP, VPN hoặc lớp xác thực bổ sung thay vì để public cho toàn Internet.
Bước 7: cập nhật, backup và giám sát
Bảo mật không kết thúc sau ngày đầu tiên. Một hệ thống an toàn cần quy trình vận hành lặp lại.
Cập nhật định kỳ
Theo dõi bản vá hệ điều hành, web server, database, framework và ứng dụng. Với hệ thống quan trọng, nên backup hoặc snapshot trước thay đổi lớn để có đường lui nếu phát sinh lỗi tương thích.
Thiết lập backup
Tối thiểu nên sao lưu:
- Cấu hình hệ thống quan trọng.
- Database.
- Source code hoặc dữ liệu ứng dụng.
- File upload của người dùng.
- Chứng chỉ, script triển khai và tài liệu cấu hình cần thiết.
Không nên chỉ giữ bản backup trên chính VPS đang chạy. Nếu ổ đĩa hoặc tài khoản bị sự cố, backup cùng máy có thể mất theo.
Kiểm tra khả năng khôi phục
Một file backup chỉ có giá trị khi khôi phục được. Hãy thử restore định kỳ trên môi trường thử nghiệm hoặc ít nhất kiểm tra tính toàn vẹn của bản sao lưu.
Theo dõi log
Một số nơi cần xem thường xuyên:
journalctl -p warning
sudo tail -f /var/log/auth.log
Đường dẫn log có thể khác tùy distro. Bạn cũng nên theo dõi dung lượng đĩa bằng df -h, bộ nhớ bằng free -m và tải hệ thống bằng top hoặc htop.
Bảo mật ứng dụng web trên VPS
Hệ điều hành an toàn nhưng ứng dụng lỗi thời vẫn có thể bị tấn công. Nếu VPS chạy website, cần chú ý thêm:
- Bật HTTPS.
- Cập nhật CMS, plugin, theme và framework.
- Phân quyền file hợp lý.
- Không để file
.env, backup database hoặc khóa API trong thư mục public. - Tắt directory listing nếu không cần.
- Hạn chế quyền ghi của web server.
- Dùng mật khẩu database riêng và không dùng tài khoản root database cho ứng dụng.
Nếu bạn đang vận hành game server thay vì website, nguyên tắc tương tự vẫn áp dụng: chỉ mở đúng port game, cập nhật server software và backup dữ liệu người chơi. Bạn có thể tham khảo VPS Game nếu cần tìm hiểu nhóm dịch vụ theo nhu cầu này.
Sai lầm thường gặp
Tắt password SSH trước khi thử key
Đây là lỗi dễ khiến người mới mất quyền truy cập. Luôn mở một phiên thứ hai và xác nhận SSH key hoạt động trước.
Bật firewall trước khi mở SSH
Nếu UFW chặn cổng SSH, bạn có thể phải dùng console cứu hộ. Trình tự đúng là allow SSH trước, sau đó mới enable firewall.
Cài mọi “script bảo mật” tìm thấy trên mạng
Script không rõ nguồn có thể thay đổi firewall, SSH hoặc repository theo cách khó kiểm soát. Với VPS quan trọng, nên hiểu từng thay đổi trước khi chạy với quyền root.
Không lưu backup ngoài VPS
Backup cùng ổ đĩa giúp khôi phục một số lỗi thao tác nhưng không bảo vệ tốt khi toàn máy chủ bị mất dữ liệu hoặc tài khoản bị xâm nhập.
Dùng một mật khẩu cho nhiều dịch vụ
Nếu một dịch vụ bị lộ thông tin xác thực, kẻ tấn công có thể thử lại trên SSH, panel hoặc database. Hãy dùng mật khẩu riêng và trình quản lý mật khẩu.
Mẹo dành cho người mới
- Ghi lại mọi thay đổi vào một file tài liệu riêng.
- Sau mỗi thay đổi SSH hoặc firewall, thử đăng nhập bằng một cửa sổ terminal mới.
- Không mở database public nếu không thực sự cần.
- Dùng key ED25519 cho SSH khi hệ thống hỗ trợ.
- Theo dõi cảnh báo disk full vì VPS hết dung lượng có thể gây lỗi dịch vụ và log.
- Định kỳ rà soát user, key SSH và cron job không còn sử dụng.
- Nếu cần proxy cho game, nên phân biệt rõ nhu cầu với VPS; bạn có thể xem Proxy Game.
Có thể truy cập HUONG CLOUD để tham khảo thêm các dịch vụ và tài nguyên liên quan.
Câu hỏi thường gặp
Có cần đổi port SSH để bảo mật VPS không?
Không bắt buộc. Đổi port có thể giảm bot quét cổng mặc định nhưng không thay thế SSH key, firewall, cập nhật và hạn chế root.
Có nên tắt đăng nhập root qua SSH?
Trong đa số trường hợp, nên dùng tài khoản quản trị riêng với sudo và vô hiệu hóa root login qua SSH sau khi đã kiểm tra quyền truy cập thay thế hoạt động ổn định.
UFW có đủ để bảo mật VPS không?
UFW chỉ là một lớp kiểm soát mạng. Bạn vẫn cần cập nhật phần mềm, xác thực mạnh, phân quyền, backup và bảo mật ứng dụng.
Fail2ban có thay thế SSH key không?
Không. Fail2ban chủ yếu phản ứng với các lần đăng nhập thất bại. SSH key giúp loại bỏ phụ thuộc vào mật khẩu cho SSH và nên được ưu tiên nếu phù hợp.
Nên backup VPS bao lâu một lần?
Tần suất phụ thuộc mức thay đổi dữ liệu và mức mất mát có thể chấp nhận. Website cập nhật liên tục cần lịch backup khác hệ thống gần như tĩnh. Quan trọng là có bản sao ngoài VPS và thử restore.
Làm sao biết VPS đang mở cổng nào?
Có thể dùng ss -tulpn trên Linux để xem tiến trình đang lắng nghe, kết hợp ufw status hoặc công cụ firewall tương ứng để kiểm tra cổng được cho phép.
Kết luận
Bảo mật VPS Linux hiệu quả bắt đầu từ những nguyên tắc cơ bản: cập nhật hệ thống, dùng tài khoản quản trị riêng, SSH key, hạn chế root, firewall tối thiểu, giảm dịch vụ không cần thiết và backup có thể khôi phục. Đừng cố tối ưu bằng hàng chục “mẹo” trước khi hoàn thành các lớp nền tảng này.
Nếu VPS của bạn phục vụ game hoặc workload cần máy chủ riêng, có thể tham khảo thêm dịch vụ VPS Game của HUONG CLOUD. Sau khi triển khai, hãy duy trì lịch cập nhật, rà soát log và kiểm thử backup như một phần của vận hành thường xuyên.
Kết luận
Nếu chưa chắc cấu hình hoặc loại dịch vụ nào phù hợp, hãy gửi nhu cầu thực tế để đội ngũ hỗ trợ tư vấn trước khi mua.
Chưa biết nên chọn gói nào?
Xem bảng giá VPS hoặc liên hệ đội ngũ hỗ trợ để chọn cấu hình phù hợp.
Xem bảng giá VPS →