# Bảng kiểm hardening máy chủ Linux & SSH trước khi đưa ra Internet

> Bảng kiểm · Vai trò: Quản trị hệ thống · Mức độ: Cơ bản · Thời gian ước tính: 45 phút
> Nguồn: https://news.huecybersec.xyz/cam-nang/hardening-may-chu-linux-ssh · Cập nhật: 2026-11-13

## 1. Mục tiêu

Các cấu hình tối thiểu cho máy chủ Linux (Ubuntu/Debian/RHEL) để giảm bề mặt tấn công: SSH chỉ dùng khoá, tường lửa mặc định chặn, cập nhật tự động và giám sát đăng nhập.

## 2. Khi nào áp dụng

Dùng cho máy chủ mới cài đặt hoặc rà soát định kỳ máy chủ đang chạy dịch vụ công khai.

## 3. Quy trình thực hiện

### 3.1. Tài khoản & SSH

- [ ] Tạo khoá Ed25519 trên máy quản trị và chép khoá công khai lên máy chủ [1]
  ```
  ssh-keygen -t ed25519 -C "admin@hueca" && ssh-copy-id user@server
  ```
- [ ] **[BẮT BUỘC]** Tắt đăng nhập root qua SSH (PermitRootLogin no) [1][3]
- [ ] **[BẮT BUỘC]** Tắt xác thực mật khẩu (PasswordAuthentication no, KbdInteractiveAuthentication no) sau khi đã đăng nhập được bằng khoá [1][3]
- [ ] Kiểm tra cú pháp và giá trị cấu hình hiệu lực trước khi tải lại dịch vụ [3]
  ```
  sudo sshd -t && sudo sshd -T | grep -Ei 'permitrootlogin|passwordauthentication|kbdinteractiveauthentication|maxauthtries'
  ```
- [ ] Tải lại SSH (giữ phiên hiện tại mở để tránh tự khoá mình) [3]
  ```
  sudo systemctl reload ssh || sudo systemctl reload sshd
  ```

### 3.2. Mạng & dịch vụ

- [ ] Liệt kê cổng đang lắng nghe, tắt dịch vụ không cần thiết [2]
  ```
  sudo ss -tulpn
  ```
- [ ] **[BẮT BUỘC]** Tường lửa mặc định chặn kết nối vào, chỉ mở cổng cần thiết [2]
  ```
  sudo ufw default deny incoming && sudo ufw allow 22/tcp && sudo ufw enable
  ```
- [ ] Rà dịch vụ được bật khởi động cùng hệ thống [2]
  ```
  systemctl list-unit-files --type=service --state=enabled
  ```

### 3.3. Cập nhật

- [ ] **[BẮT BUỘC]** Bật cài bản vá bảo mật tự động (Debian/Ubuntu) [2]
  ```
  sudo apt install -y unattended-upgrades && sudo dpkg-reconfigure -plow unattended-upgrades
  ```
- [ ] Kiểm tra gói đang chờ cập nhật bảo mật (RHEL/Rocky/Alma) [2]
  ```
  sudo dnf updateinfo list --security
  ```

### 3.4. Nhật ký & giám sát

- [ ] Chống dò mật khẩu bằng fail2ban [2]
  ```
  sudo apt install -y fail2ban && sudo systemctl enable --now fail2ban
  ```
- [ ] Xem đăng nhập thành công/thất bại gần đây [2]
  ```
  last -a | head -n 20; sudo lastb | head -n 20
  ```
- [ ] Tìm tệp SUID bất thường [2]
  ```
  sudo find / -xdev -perm -4000 -type f 2>/dev/null
  ```
- [ ] Đẩy nhật ký xác thực về hệ thống tập trung (SIEM/syslog) để không bị xoá dấu vết tại chỗ [2]

## 4. Kho lệnh tham khảo

> Chạy trên hệ thống được phép, với quyền phù hợp; đọc kỹ lệnh trước khi chạy.

**Xem khoá SSH được phép đăng nhập** (Linux)
```
cat ~/.ssh/authorized_keys
```

**Nhật ký SSH hôm nay** (Linux)
```
sudo journalctl -u ssh -u sshd --since today
```

## 5. Tài liệu tham khảo

[1] Mozilla — OpenSSH security guidelines. https://infosec.mozilla.org/guidelines/openssh
[2] Center for Internet Security — CIS Benchmarks (Ubuntu Linux, Red Hat Enterprise Linux). https://www.cisecurity.org/cis-benchmarks
[3] OpenBSD / OpenSSH — sshd_config(5) manual. https://man.openbsd.org/sshd_config

---
Tài liệu do HueCA-CYBER tổng hợp. Ghi rõ nguồn khi sử dụng lại.