Bạn đang tìm kiếm sự trợ giúp? Gõ thông tin cần tìm. Tối thiểu 4 ký tự.

HƯỚNG DẪN CÁC BƯỚC CẤU HÌNH BẢO MẬT BAN ĐẦU CHO ECLOUD VPS LINUX

1. Giới thiệu tổng quan

Khi bạn vừa khởi tạo thành công một máy chủ ảo eCloud VPS chạy hệ điều hành Linux (như Ubuntu, CentOS, AlmaLinux hay Rocky Linux) tại ESC.VN, hệ thống sẽ được cấp phát một địa chỉ IP Public tĩnh. Ngay lập tức, địa chỉ IP này sẽ lọt vào tầm quét của hàng triệu robot tự động (botnet) trên Internet nhằm dò tìm tài khoản quản trị mặc định qua cổng SSH để chiếm quyền điều khiển.

Để đảm bảo máy chủ hoạt động an toàn và bảo mật tuyệt đối dữ liệu doanh nghiệp, việc thiết lập các lớp phòng thủ ban đầu là cực kỳ cấp thiết. Tài liệu này hướng dẫn chi tiết 6 bước chốt chặn bảo mật từ cơ bản đến nâng cao mà bất kỳ quản trị viên nào cũng cần thực hiện ngay sau khi nhận bàn giao VPS.

2. Quy trình 6 bước bảo mật eCloud VPS Linux

Lưu ý an toàn trước khi thực hiện: Trong quá trình thay đổi cấu hình bảo mật (đặc biệt là đổi cổng SSH hoặc cấu hình tường lửa), bạn không nên tắt cửa sổ kết nối SSH hiện tại. Hãy mở thêm một cửa sổ terminal mới để kiểm tra thử kết nối bằng cấu hình mới thành công rồi mới đóng cửa sổ cũ. Điều này giúp bạn tránh tình trạng bị khóa tài khoản hoặc mất quyền truy cập VPS ngoài ý muốn.

Bước 1: Cập nhật hệ thống lên phiên bản mới nhất

Nhà phát triển hệ điều hành luôn liên tục cập nhật các bản vá lỗi bảo mật (security patches) để ngăn chặn các lỗ hổng zero-day nguy hiểm. Việc đầu tiên là nâng cấp toàn bộ hệ thống.

  • Đối với các bản phân phối hệ Debian/Ubuntu:

    sudo apt update && sudo apt upgrade -y

  • Đối với các bản phân phối hệ RedHat (CentOS, AlmaLinux, Rocky Linux):

    sudo dnf update -y

Bước 2: Tạo tài khoản User mới và cấu hình quyền Sudo (Hạn chế dùng Root)

Tài khoản root là tài khoản có quyền hạn tối cao nhất trên hệ điều hành Linux. Sử dụng tài khoản này hàng ngày tiềm ẩn rủi ro thao tác sai gây lỗi hệ thống hoặc bị hacker nhắm mục tiêu tấn công dò mật khẩu trực tiếp. Giải pháp an toàn nhất là tạo một user thông thường và chỉ cấp quyền quản trị (Sudo) khi thực sự cần thiết.

1. Tạo tài khoản người dùng mới (Ví dụ tên user là esc_admin):

sudo adduser esc_admin

Hệ thống sẽ yêu cầu bạn nhập mật khẩu mới và xác nhận lại mật khẩu cho user này.

2. Cấp quyền quản trị (Sudo/Wheel) cho user mới:

  • Đối với Ubuntu/Debian:

    sudo usermod -aG sudo esc_admin

  • Đối với CentOS/AlmaLinux/Rocky Linux:

    sudo usermod -aG wheel esc_admin

3. Kiểm tra đăng nhập thử bằng user mới:

Hãy mở một cửa sổ SSH mới trên máy tính của bạn và đăng nhập bằng tài khoản esc_admin. Để kiểm tra quyền Sudo, bạn chạy lệnh:

sudo whoami

Nếu hệ thống trả về kết quả là root, tài khoản mới đã được cấp quyền quản trị thành công.

Bước 3: Thay đổi cổng kết nối SSH mặc định (Port 22)

Mặc định dịch vụ SSH lắng nghe trên cổng 22. Các botnet liên tục dò quét cổng này. Thay đổi sang một cổng ngẫu nhiên khác sẽ giảm thiểu đến 99% lượng log tấn công dò mật khẩu tự động.

1. Mở file cấu hình dịch vụ SSH:

sudo nano /etc/ssh/sshd_config

2. Tìm dòng chứa tham số Port:

Mặc định hệ thống sẽ để dòng ẩn #Port 22. Bạn hãy xóa dấu # ở đầu dòng và thay đổi số 22 thành một cổng ngẫu nhiên bảo mật nằm trong khoảng từ 1024 đến 65535 (Ví dụ chọn cổng 2288):

Port 2288

3. Cấu hình SELinux (Chỉ áp dụng với hệ CentOS/AlmaLinux/Rocky Linux):

Mặc định, chính sách bảo mật SELinux sẽ chặn dịch vụ SSH khởi động trên các cổng không phải cổng 22. Nếu VPS của bạn đang bật SELinux, bạn cần khai báo cổng mới:

sudo semanage port -a -t ssh_port_t -p tcp 2288

Nếu hệ thống báo lệnh semanage không tồn tại, bạn cài đặt thêm bằng lệnh: sudo dnf install policycoreutils-python-utils -y.

4. Khởi động lại dịch vụ SSH để áp dụng cấu hình:

  • Đối với Ubuntu/Debian:

    sudo systemctl restart ssh

  • Đối với CentOS/AlmaLinux/Rocky Linux:

    sudo systemctl restart sshd

Bước 4: Thiết lập và kích hoạt tường lửa (Firewall) bảo vệ VPS

Tường lửa đóng vai trò là chốt chặn lọc mọi dữ liệu ra vào máy chủ ảo. Bạn chỉ nên mở các cổng dịch vụ thực sự cần thiết (như SSH mới, HTTP, HTTPS) và khóa tất cả các cổng còn lại.

A. Hướng dẫn cấu hình UFW (Dành cho Ubuntu/Debian)

Cấu hình cho phép cổng SSH mới hoạt động (Ví dụ: 2288):

sudo ufw allow 2288/tcp

Cho phép các cổng chạy dịch vụ Web (HTTP và HTTPS):

sudo ufw allow 80/tcp

sudo ufw allow 443/tcp

Kích hoạt tường lửa hệ thống:

sudo ufw enable

Nhấn y để đồng ý kích hoạt.

Kiểm tra trạng thái hoạt động:

sudo ufw status verbose

B. Hướng dẫn cấu hình Firewalld (Dành cho CentOS/AlmaLinux/Rocky Linux)

Kích hoạt dịch vụ Firewalld chạy cùng hệ thống:

sudo systemctl enable firewalld –now

Thêm cổng SSH mới vào danh sách cho phép (Ví dụ: 2288):

sudo firewall-cmd –permanent –add-port=2288/tcp

Cho phép cổng Web mặc định hoạt động:

sudo firewall-cmd –permanent –add-service=http

sudo firewall-cmd –permanent –add-service=https

Áp dụng các thay đổi cấu hình tường lửa:

sudo firewall-cmd –reload

Kiểm tra danh sách các cổng đang mở:

sudo firewall-cmd –list-all

Bước 5: Cấu hình xác thực bằng SSH Key thay cho mật khẩu thường

Xác thực bằng cặp khóa SSH Key (Private Key / Public Key) là phương thức bảo mật tối ưu nhất hiện nay. Hacker hoàn toàn không thể dò tìm mật khẩu vì hệ thống chỉ chấp nhận tệp tin khóa bí mật trùng khớp lưu trên máy tính cá nhân của bạn để mở khóa.

1. Tạo cặp khóa SSH Key trên máy tính cá nhân của bạn (Client)

  • Mở Terminal (trên macOS/Linux) hoặc PowerShell (trên Windows) của máy tính cá nhân và chạy lệnh:

    ssh-keygen -t rsa -b 4096 -C “email_cua_ban@example.com”

  • Nhấn Enter để lưu khóa tại thư mục mặc định (~/.ssh/id_rsa). Bạn có thể đặt thêm mật khẩu bảo vệ khóa (passphrase) hoặc nhấn Enter để bỏ qua.

2. Sao chép khóa Public Key lên máy chủ eCloud VPS

Chạy lệnh sau từ máy tính cá nhân của bạn để chuyển khóa Public lên server (nhớ chỉ định đúng cổng SSH mới ở Bước 3, ví dụ: 2288):

ssh-copy-id -p 2288 esc_admin@IP_CỦA_VPS

Nhập mật khẩu của user esc_admin để xác nhận tải khóa lên.

3. Kiểm tra đăng nhập không cần mật khẩu

Thử kết nối lại từ máy tính cá nhân:

ssh -p 2288 esc_admin@IP_CỦA_VPS

Nếu bạn truy cập thẳng vào màn hình VPS mà không yêu cầu nhập mật khẩu, cấu hình SSH Key đã hoạt động.

4. Tắt tính năng đăng nhập bằng mật khẩu thường và tắt tài khoản Root đăng nhập trực tiếp

Khi SSH Key đã chạy ổn định, bạn hãy tiến hành khóa hẳn tính năng đăng nhập bằng mật khẩu truyền thống và chặn hoàn toàn tài khoản root kết nối SSH:

  • Mở lại file cấu hình SSH trên VPS:

sudo nano /etc/ssh/sshd_config

  • Tìm và thay đổi các cấu hình sau (xóa dấu # ở đầu dòng nếu có):

PermitRootLogin no

PasswordAuthentication no

PubkeyAuthentication yes

  • Lưu file và khởi động lại dịch vụ SSH (sudo systemctl restart ssh hoặc sudo systemctl restart sshd). Từ thời điểm này, không ai có thể đăng nhập bằng tài khẩu root hoặc dùng mật khẩu thông thường để kết nối vào VPS của bạn nữa.

Bước 6: Cài đặt và cấu hình Fail2ban ngăn chặn Brute Force

Fail2ban là một dịch vụ bảo vệ nền tảng chạy ngầm mạnh mẽ. Nó sẽ liên tục đọc tệp tin lịch sử hệ thống (log files) để phát hiện các IP đang cố tình kết nối sai mật khẩu nhiều lần liên tục, sau đó tự động kích hoạt tường lửa block (cấm) IP đó trong một khoảng thời gian thiết lập trước.

1. Tiến hành cài đặt Fail2ban:

  • Đối với Ubuntu/Debian:

    sudo apt install fail2ban -y

  • Đối với CentOS/AlmaLinux/Rocky Linux:

    sudo dnf install epel-release -y

    sudo dnf install fail2ban -y

2. Cấu hình bảo vệ dịch vụ SSH:

Tạo một file cấu hình riêng để ghi đè cấu hình mặc định:

sudo nano /etc/fail2ban/jail.local

Sao chép nội dung cấu hình sau và dán vào file (Nhớ sửa cổng port = 2288 trùng với cổng SSH bạn đã đổi ở bước 3):

[sshd]
enabled = true
port = 2288
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600
findtime = 600

Giải thích thông số cấu hình:

  • maxretry = 5: Nếu một IP kết nối sai quá 5 lần.
  • findtime = 600: Trong khoảng thời gian cửa sổ giám sát là 600 giây (10 phút).
  • bantime = 3600: Thì IP đó sẽ bị tường lửa khóa chặn kết nối hoàn toàn trong 3600 giây (1 tiếng).

Lưu ý: Đối với hệ điều hành CentOS/AlmaLinux, bạn hãy đổi đường dẫn log thành logpath = /var/log/secure.

3. Khởi động dịch vụ Fail2ban hoạt động cùng hệ thống:

sudo systemctl enable fail2ban –now

3. Tổng kết và danh sách kiểm tra nhanh (Checklist)

Sau khi hoàn tất 6 bước cấu hình trên, máy chủ eCloud VPS Linux của bạn đã có một lớp áo bảo vệ vô cùng kiên cố. Dưới đây là bảng checklist kiểm tra nhanh các hạng mục bảo mật đã triển khai thành công:

STT
Hạng mục kiểm tra
Trạng thái bảo vệ đạt được
1
Cập nhật hệ thống
Hệ thống vận hành trên phiên bản nhân nhân và gói ứng dụng bảo mật mới nhất.
2
Hạn chế Root
Không sử dụng trực tiếp tài khoản root cho thao tác công việc thường ngày.
3
Đổi Port mặc định
Tránh được 99% các đợt quét cổng dịch vụ tự động từ bên ngoài mạng.
4
Kích hoạt Firewall
Chỉ các cổng dịch vụ mong muốn được mở, chặn đứng mọi kết nối rác qua các cổng khác.
5
Áp dụng SSH Key
Khóa hoàn toàn tính năng xác thực mật khẩu thông thường, triệt tiêu nguy cơ rò mật khẩu.
6
Cài đặt Fail2ban
Tự động phát hiện và ngăn chặn hiệu quả các cuộc tấn công Brute Force vào cổng SSH.

Nếu bạn gặp khó khăn trong bất kỳ thao tác nào hoặc vô tình cấu hình sai tường lửa dẫn đến bị khóa kết nối, đừng ngần ngại truy cập trực tiếp tính năng View Console cứu hộ trên trang quản trị khachhang.esc.vn hoặc liên hệ ngay hotline hỗ trợ kỹ thuật 24/7 của ESC 1900 2069 để được kỹ sư hệ thống xử lý hỗ trợ nhanh chóng.

 

Related Knowledge Base Posts