VPS (Virtual Private Server) là nơi lưu trữ website, mã nguồn, database, email, hệ thống quản trị và nhiều dữ liệu quan trọng khác. Tuy nhiên, nếu không được cấu hình bảo mật đúng cách, VPS có thể trở thành mục tiêu của bot scan, brute force, malware, ransomware hoặc các cuộc tấn công DDoS.

Ngay sau khi một VPS mới được khởi tạo, các bot tự động trên Internet có thể rà quét những cổng phổ biến như SSH port 22 hoặc RDP port 3389 để tìm điểm yếu. Vì vậy, bảo mật VPS không nên là việc làm sau cùng, mà cần được thực hiện ngay từ lúc nhận thông tin máy chủ.

Bài viết này sẽ hướng dẫn chi tiết các cách bảo mật VPS Windows và Linux, phù hợp cho người quản trị website, doanh nghiệp, lập trình viên, kỹ thuật viên hosting hoặc người mới thuê VPS lần đầu.

1. Đổi mật khẩu VPS ngay sau khi nhận máy chủ

Sau khi thuê VPS, việc đầu tiên cần làm là đổi mật khẩu mặc định do nhà cung cấp gửi. Một mật khẩu mạnh nên có:

Đổi mật khẩu trên Linux

Bash
passwd

Hoặc đổi mật khẩu cho user cụ thể:

Bash
sudo passwd username

Đổi mật khẩu Administrator trên Windows Server

Mở PowerShell với quyền Administrator:

Bash
net user Administrator MatKhauMoi

Nên sử dụng password manager để tạo và lưu mật khẩu mạnh thay vì ghi ra file text hoặc gửi qua chat.


2. Tạo user quản trị riêng, hạn chế dùng root hoặc Administrator

Không nên đăng nhập trực tiếp bằng tài khoản có quyền cao nhất trong quá trình sử dụng hằng ngày.

Trên Linux

Tạo user mới:

Bash
adduser deployer

Cấp quyền sudo:

Bash
usermod -aG sudo deployer

Sau đó kiểm tra đăng nhập bằng user mới. Khi đã chắc chắn user mới hoạt động ổn định, bạn có thể tắt đăng nhập root qua SSH.

Mở file cấu hình SSH:

Bash
sudo nano /etc/ssh/sshd_config

Tìm và chỉnh dòng:

Bash
PermitRootLogin no

Khởi động lại SSH:

Bash
sudo systemctl restart ssh

Hoặc trên một số hệ thống:

Bash
sudo systemctl restart sshd

Trên Windows Server

Bạn nên tạo một user mới thuộc nhóm Administrators, sau đó hạn chế dùng tài khoản Administrator mặc định.


3. Sử dụng SSH Key thay cho mật khẩu

Đối với VPS Linux, SSH Key là một trong những phương pháp bảo mật quan trọng nhất. Thay vì nhập mật khẩu, bạn sử dụng cặp khóa public/private key để xác thực.

Tạo SSH Key trên máy cá nhân

Bash
ssh-keygen -t ed25519 -C "[email protected]"

Đẩy public key lên VPS

Bash
ssh-copy-id username@IP_VPS

Sau khi kiểm tra đăng nhập bằng SSH Key thành công, bạn có thể tắt đăng nhập bằng mật khẩu.

Mở file:

Bash
sudo nano /etc/ssh/sshd_config

Chỉnh:

Bash
PasswordAuthentication no

Khởi động lại SSH:

Bash
sudo systemctl restart ssh

Lưu ý: trước khi tắt PasswordAuthentication, hãy mở một phiên SSH khác để kiểm tra chắc chắn SSH Key hoạt động, tránh bị khóa khỏi VPS.


4. Đổi port SSH hoặc RDP mặc định

Đổi port không phải là lớp bảo mật chính, nhưng giúp giảm đáng kể lượng bot scan tự động vào port mặc định.

Đổi port SSH trên Linux

Mở file:

Bash
sudo nano /etc/ssh/sshd_config

Tìm dòng:

Bash
#Port 22

Đổi thành ví dụ:

Bash
Port 2288

Trước khi restart SSH, cần mở port mới trên firewall:

Bash
sudo ufw allow 2288/tcp

Sau đó restart SSH:

Bash
sudo systemctl restart ssh

Đổi port RDP trên Windows Server

RDP mặc định dùng port 3389. Microsoft có hướng dẫn chính thức cho phép thay đổi listening port của Remote Desktop bằng Registry hoặc PowerShell.

Đường dẫn Registry thường dùng:

Bash
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber

Sau khi đổi port, cần mở port mới trong Windows Defender Firewall và restart máy chủ.


5. Cấu hình firewall cho VPS

Firewall giúp kiểm soát cổng nào được phép truy cập từ bên ngoài. Với Ubuntu, UFW là công cụ phổ biến vì dễ dùng và được thiết kế để đơn giản hóa việc cấu hình firewall.

Cấu hình UFW cơ bản trên Ubuntu/Debian

Bash
sudo apt update
sudo apt install ufw -y<br><br>sudo ufw default deny incoming
sudo ufw default allow outgoing

sudo ufw allow 2288/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

sudo ufw enable
sudo ufw status

Trong đó:

Nếu bạn dùng database như MySQL, PostgreSQL hoặc Redis, không nên mở public ra Internet nếu không thật sự cần thiết.


6. Cài Fail2Ban chống brute force

Fail2Ban giúp quét log hệ thống và ban IP có nhiều lần đăng nhập thất bại bằng cách cập nhật rule firewall.

Cài đặt Fail2Ban:

Bash
sudo apt install fail2ban -y

Bật dịch vụ:

Bash
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Kiểm tra trạng thái:

Bash
sudo systemctl status fail2ban

Bạn có thể tạo file cấu hình riêng:

Bash
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Một cấu hình SSH cơ bản:

Bash
[sshd]
enabled = true
port = 2288
maxretry = 5
bantime = 3600
findtime = 600

Ý nghĩa:


7. Cập nhật hệ điều hành và phần mềm định kỳ

Các bản cập nhật thường bao gồm bản vá bảo mật quan trọng. Nếu bạn không cập nhật VPS trong thời gian dài, máy chủ có thể tồn tại lỗ hổng đã bị công khai.

Cập nhật Ubuntu/Debian

Bash
sudo apt update
sudo apt upgrade -y

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

Bash
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure unattended-upgrades

Trên Windows Server

Nên bật Windows Update, đặc biệt là các bản vá bảo mật quan trọng. Nếu máy chủ chạy dịch vụ production, hãy lên lịch update vào thời gian ít truy cập để tránh gián đoạn.


8. Tắt các dịch vụ và port không cần thiết

Mỗi dịch vụ đang chạy là một bề mặt tấn công tiềm năng. Bạn nên kiểm tra VPS đang mở những port nào.

Kiểm tra port đang lắng nghe trên Linux

Bash
sudo ss -tulpn

Hoặc:

Bash
sudo netstat -tulpn

Ví dụ, nếu không dùng dịch vụ in ấn, mail server hoặc FTP, hãy tắt chúng.

Bash
sudo systemctl disable ten-dich-vu
sudo systemctl stop ten-dich-vu

Với Windows Server, nên kiểm tra các dịch vụ không cần thiết trong Services, đồng thời hạn chế bật SMB/File Sharing nếu không sử dụng.


9. Không sử dụng source code, theme, plugin nulled

Đây là lỗi rất phổ biến khi vận hành website WordPress, Laravel, PHP hoặc mã nguồn thương mại.

Các file nulled/crack có thể chứa:

Nếu website chạy trên VPS bị nhiễm mã độc, hacker có thể leo thang quyền, chiếm database, gửi spam hoặc biến VPS thành botnet.


10. Cài SSL cho website

SSL giúp mã hóa dữ liệu truyền giữa trình duyệt và máy chủ. Với website, bạn nên dùng HTTPS thay vì HTTP.

Nếu dùng Nginx/Apache, có thể cài SSL miễn phí bằng Let’s Encrypt.

Ví dụ với Certbot trên Ubuntu:

Bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d domain.com -d www.domain.com

Hoặc với Apache:

Bash
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d domain.com -d www.domain.com

SSL không thể chống hack toàn bộ VPS, nhưng là lớp bảo mật bắt buộc cho website, trang đăng nhập, API và khu vực thanh toán.


11. Bật xác thực hai lớp MFA/2FA

Nếu hệ thống có trang quản trị, hãy bật xác thực hai lớp cho:

Ngay cả khi mật khẩu bị lộ, hacker vẫn khó đăng nhập nếu không có mã xác thực từ ứng dụng như Google Authenticator, Authy hoặc Microsoft Authenticator.


12. Giới hạn IP được phép đăng nhập

Nếu bạn có IP cố định, nên giới hạn SSH/RDP chỉ cho phép IP của bạn truy cập.

Ví dụ với UFW:

Bash
sudo ufw allow from YOUR_IP to any port 2288 proto tcp

Sau đó xóa rule SSH mở public nếu không cần:

Bash
sudo ufw delete allow 2288/tcp

Với Windows Server, bạn có thể cấu hình Windows Defender Firewall để chỉ cho phép IP cụ thể truy cập RDP.

Đây là một trong những cách rất hiệu quả để giảm rủi ro brute force.


13. Bảo mật database

Database thường chứa thông tin quan trọng như tài khoản khách hàng, đơn hàng, email, mật khẩu đã hash, nội dung website.

Một số nguyên tắc bảo mật database:

Ví dụ tạo user MySQL riêng:

Bash
CREATE DATABASE website_db;
CREATE USER 'website_user'@'localhost' IDENTIFIED BY 'MatKhauManh';
GRANT ALL PRIVILEGES ON website_db.* TO 'website_user'@'localhost';
FLUSH PRIVILEGES;

14. Thiết lập backup tự động

Backup là lớp bảo vệ cuối cùng khi VPS bị hack, lỗi ổ cứng, xóa nhầm dữ liệu hoặc bị ransomware.

Một chiến lược backup tốt nên có:

Nơi có thể lưu backup:

Nguyên tắc quan trọng: backup chưa được kiểm tra restore thì chưa được xem là backup an toàn.

Với dịch vụ VPS vSANVPS giá rẻ của EZ TECH đều có:


15. Giám sát tài nguyên và log hệ thống

Giám sát giúp phát hiện sớm dấu hiệu bất thường như CPU tăng đột ngột, RAM đầy, ổ cứng tăng nhanh hoặc traffic bất thường.

Một số công cụ phổ biến:

Kiểm tra tài nguyên nhanh trên Linux:

Bash
htop

Kiểm tra dung lượng ổ cứng:

Bash
df -h

Kiểm tra RAM:

Bash
free -m

Kiểm tra log đăng nhập SSH:

Bash
sudo tail -f /var/log/auth.log

Nếu thấy nhiều IP đăng nhập thất bại, bạn nên kiểm tra lại firewall, Fail2Ban, SSH Key và chính sách đăng nhập.


16. Sử dụng Cloudflare hoặc dịch vụ chống DDoS bảo mật VPS

Nếu VPS chạy website, nên dùng Cloudflare hoặc các dịch vụ reverse proxy/CDN để giảm rủi ro tấn công DDoS tầng HTTP, che IP thật của máy chủ và lọc traffic xấu.

Một số lợi ích:

Lưu ý: Cloudflare không thay thế hoàn toàn firewall ở VPS. Bạn vẫn cần cấu hình firewall, SSH Key, backup và cập nhật hệ thống.


17. Chọn nhà cung cấp VPS uy tín

Một VPS an toàn không chỉ phụ thuộc vào cấu hình bên trong máy chủ mà còn liên quan đến hạ tầng của nhà cung cấp.

Nên ưu tiên nhà cung cấp có:

Nếu dùng VPS cho website doanh nghiệp, thương mại điện tử hoặc hệ thống khách hàng, không nên chọn dịch vụ quá rẻ nhưng thiếu hỗ trợ, thiếu backup và không có khả năng xử lý sự cố. Bạn có thể tham khảo dịch vụ VPS vSAN của EZ TECH

5/5 - (1089 đánh giá)

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *