Bảo mật VPS Ubuntu nên bắt đầu từ quyền truy cập, tường lửa và cập nhật phần mềm. Tài liệu Ubuntu khuyến nghị dùng tài khoản không phải root, chỉ nâng quyền khi quản trị và sử dụng SSH để truy cập từ xa. Checklist dưới đây chuyển các khuyến nghị đó thành thứ tự thực hành: chuẩn bị đường khôi phục, kiểm tra đăng nhập, điều chỉnh cấu hình rồi xác nhận kết quả. Các lệnh là ví dụ để người quản trị thực hiện trên VPS của mình, không phải kết quả kiểm thử một máy cụ thể.

1. Chuẩn bị đường khôi phục và kiểm tra tài khoản

Trước khi sửa SSH, hãy xác nhận cách mở bảng điều khiển khôi phục mà nhà cung cấp VPS của bạn hỗ trợ. Giữ phiên quản trị hiện tại và chuẩn bị một cửa sổ kết nối khác để thử. Ubuntu cảnh báo cấu hình sai có thể khiến dịch vụ SSH không khởi động hoặc người dùng mất quyền truy cập. Vì vậy, hãy lưu bản gốc của /etc/ssh/sshd_config và ghi lại những tệp trong /etc/ssh/sshd_config.d/ mà bạn định thay đổi; đừng đóng đường truy cập duy nhất trước khi thử lại.

Theo hướng dẫn quản lý người dùng của Ubuntu, tài khoản được cấp quyền sudo có thể tạm nâng quyền để làm việc quản trị. Nếu cần tạo tài khoản riêng, ví dụ tên quantri, thực hiện lần lượt trên VPS:

sudo adduser quantri

sudo adduser quantri sudo

Sau đó đăng nhập bằng tài khoản mới và thử một tác vụ cần sudo trước khi hạn chế tài khoản cũ. Hãy cấp quyền theo nhu cầu thực tế; không đưa mọi tài khoản ứng dụng vào nhóm quản trị chỉ để tránh lỗi quyền.

Tiếp theo, chuẩn bị khóa SSH trên máy cá nhân bằng lệnh ssh-keygen -t ed25519 và đặt mật khẩu bảo vệ khóa khi được hỏi. Tài liệu Ubuntu phân biệt khóa công khai với khóa riêng; OpenSSH cũng mô tả mật khẩu bảo vệ tệp khóa riêng. Chỉ chuyển khóa công khai lên tài khoản đích. Với công cụ có sẵn trên máy cá nhân, ví dụ thực hiện ssh-copy-id quantri@DIA_CHI_VPS, thay DIA_CHI_VPS bằng địa chỉ thực. Sau đó mở kết nối mới để xác nhận tài khoản đăng nhập được bằng khóa.

Minh họa 1. Chuẩn bị đường khôi phục và kiểm tra tài khoản
Minh họa mục 1: 1. Chuẩn bị đường khôi phục và kiểm tra tài khoản. Không phải ảnh chụp hệ thống thực tế.

2. Siết SSH và mở đúng cổng tường lửa

Khi đăng nhập bằng khóa và sudo đều hoạt động, mới cân nhắc chặn root đăng nhập trực tiếp và bỏ xác thực bằng mật khẩu. Theo tài liệu OpenSSH, ba chỉ thị tương ứng cho một cấu hình chỉ dùng khóa là:

PermitRootLogin no

PasswordAuthentication no

KbdInteractiveAuthentication no

Đây là nội dung cấu hình, không phải lệnh shell. Không áp dụng nguyên mẫu nếu bạn đang dùng xác thực nhiều yếu tố qua keyboard-interactive. Ubuntu hỗ trợ tệp cấu hình bổ sung trong /etc/ssh/sshd_config.d/; với phần lớn chỉ thị, giá trị được đọc đầu tiên có hiệu lực, nên cần kiểm tra cấu hình đang áp dụng.

Trên VPS, chạy sudo sshd -t để kiểm tra cú pháp và khóa máy chủ; dùng sudo sshd -T để xem cấu hình hiệu lực. Với quy tắc Match, cần kiểm tra theo đúng thông số kết nối liên quan. Nếu có lỗi, sửa hoặc hoàn tác trước khi nạp cấu hình. Khi kiểm tra đạt yêu cầu, tài liệu Ubuntu hướng dẫn dùng sudo systemctl restart ssh.service. Thử một kết nối mới bằng khóa. Nếu không vào được, sử dụng đường quản trị còn hoạt động hoặc console để khôi phục các tệp đã sửa, kiểm tra lại rồi khởi động lại dịch vụ.

Với tường lửa, hướng dẫn Ubuntu dùng UFW để quản lý quy tắc trên máy chủ. Trước tiên xem hiện trạng bằng sudo ufw status verbose. Nếu SSH thực sự dùng cổng TCP 22, cho phép cổng đó bằng sudo ufw allow 22/tcp trước khi bật UFW. Nếu máy dùng cổng khác, thay bằng cổng thực tế. Lập danh sách dịch vụ cần phục vụ và bổ sung quy tắc tương ứng; đừng sao chép danh sách cổng của một máy khác. Sau khi chuẩn bị đủ quy tắc, chạy sudo ufw enable.

Kiểm tra lại bằng sudo ufw status numbered, rồi thử SSH và các dịch vụ cần dùng từ bên ngoài. UFW hỗ trợ --dry-run để xem thay đổi dự kiến mà chưa áp dụng. Nếu một quy tắc vừa thêm sai, dùng sudo ufw delete theo đúng quy tắc đó. Khi cần khôi phục truy cập khẩn cấp qua console, sudo ufw disable sẽ tắt UFW; hãy sửa nguyên nhân và bật lại sau khi kiểm tra. Việc hoàn tác này là biện pháp xử lý sự cố, không nên trở thành cấu hình vận hành lâu dài.

Minh họa 2. Siết SSH và mở đúng cổng tường lửa
Minh họa mục 2: 2. Siết SSH và mở đúng cổng tường lửa. Không phải ảnh chụp hệ thống thực tế.

3. Duy trì bản vá và thử phục hồi dữ liệu

Ubuntu khuyến nghị cập nhật hệ thống thường xuyên. Trong thời gian bảo trì phù hợp, thực hiện sudo apt update, sau đó sudo apt upgrade và đọc các thay đổi trước khi chấp nhận. Với cập nhật tự động, tài liệu Ubuntu Security mô tả unattended-upgrades; nếu gói chưa có, có thể cài bằng sudo apt install unattended-upgrades. Đừng mặc định mọi kho phần mềm đều được xử lý: kho bên thứ ba cần cấu hình riêng. Kiểm tra nguồn được phép cập nhật thay vì chỉ nhìn việc gói đã được cài.

Có thể chạy sudo unattended-upgrade -v --dry-run để xem nguồn và các gói dự kiến được xử lý mà không thực hiện nâng cấp thật. Tài liệu Ubuntu cũng lưu ý một số bản cập nhật cần khởi động lại; cơ chế tự khởi động lại có thể cấu hình và gây gián đoạn. Hãy quyết định lịch bảo trì trước khi bật tùy chọn này. Khi một thay đổi gây lỗi ứng dụng, nên khôi phục theo phương án đã chuẩn bị và điều tra gói liên quan, thay vì tắt cập nhật vô thời hạn.

Cuối cùng, lập danh sách dữ liệu và cấu hình cần sao lưu, chọn lịch cùng thời gian lưu giữ phù hợp. Ubuntu khuyến nghị giữ bản sao quan trọng ở địa điểm khác và kiểm tra kho lưu bằng cách phục hồi tệp. Với người mới, nên thử khôi phục vào thư mục riêng hoặc môi trường tách biệt rồi đối chiếu nội dung, thay vì ghi đè trực tiếp lên dữ liệu đang phục vụ. Ghi lại thời điểm sao lưu, nơi lưu và lần thử phục hồi gần nhất; chỉ đánh dấu mục này hoàn thành khi đã kiểm tra được dữ liệu cần lấy lại.

Minh họa 3. Duy trì bản vá và thử phục hồi dữ liệu
Minh họa mục 3: 3. Duy trì bản vá và thử phục hồi dữ liệu. Không phải ảnh chụp hệ thống thực tế.

Nguồn tham khảo

ubuntu.com (7 tài liệu)
man.openbsd.org (3 tài liệu)
manpages.ubuntu.com (1 tài liệu)
documentation.ubuntu.com (1 tài liệu)