67 Nguyễn Thị Định, Phường An Hải, TP. Đà Nẵng
An Ninh - Bảo Mật

20 việc nên làm để bảo mật hệ thống CentOS

20 việc nên làm để bảo mật hệ thống CentOS
Chia sẻ

Hardening là bước quan trọng để bảo vệ máy chủ Linux. Bài viết tổng hợp 20 việc nên làm để bảo mật hệ thống CentOS, áp dụng được cho phần lớn bản phân phối Linux.

Mục lụcHardening là gì và vì sao cần cân bằng bảo mật với tiện dụng1. Bảo mật vật lý và khởi động (việc 1-4)2. Phân vùng và mã hóa dữ liệu (việc 5-9)3. Quản lý phần mềm và dịch vụ (việc 10-15)4. Bảo mật mạng và giám sát (việc 16-20)

Bài viết được xuất bản lần đầu tháng 01/2021 và được biên tập, cập nhật lại năm 2026. Một số lệnh, công cụ hoặc phiên bản hệ điều hành có thể đã thay đổi theo thời gian; bạn nên đối chiếu với tài liệu chính thức của bản phân phối đang dùng khi áp dụng.

Lưu ý: CentOS 7 và CentOS 8 đã kết thúc vòng đời hỗ trợ (End of Life). Với hệ thống mới, bạn nên cân nhắc dùng Rocky Linux, AlmaLinux hoặc CentOS Stream. Tuy vậy, các nguyên tắc tăng cường bảo mật (hardening) dưới đây vẫn áp dụng được cho phần lớn bản phân phối Linux, từ máy chủ vật lý đến máy chủ ảo.

Hardening là gì và vì sao cần cân bằng bảo mật với tiện dụng

Một hệ thống vừa phải an toàn, vừa phải đủ "mở" để phục vụ các nhu cầu vận hành. Xây dựng hệ điều hành cân bằng giữa hai yếu tố này không đơn giản: nếu siết bảo mật quá mức, chính đội quản trị cũng khó làm việc; nếu quá lỏng, hệ thống dễ bị tấn công. Vì vậy phần lớn bản phân phối Linux đi kèm mức bảo mật vừa phải, kèm các tùy chọn để siết chặt hơn khi cần.

System hardening (tăng cường bảo mật hệ thống) là tập hợp các hành động giúp hệ thống an toàn hơn và trở thành mục tiêu khó khăn hơn với kẻ tấn công. Hình dung một hàng rào gỗ quanh sân: người có ý thức sẽ không bước vào, nhưng một đứa trẻ vẫn có thể trèo qua. Hardening giống như thay hàng rào gỗ bằng hàng rào sắt cao - không phải là không thể vượt qua, nhưng đủ khó để ngăn phần lớn các nỗ lực xâm nhập.

Điểm mấu chốt là sự cân bằng: bảo mật không nhất thiết phải đạt mức bất khả xâm phạm, chỉ cần đủ an toàn để khó bị đột nhập, trong khi hệ thống vẫn vận hành trơn tru mọi dịch vụ. Một máy chủ web được bảo mật tới mức không thể chạy được website trên đó là vô nghĩa - giống như hàng rào sắt nhưng không có cổng. Khi áp dụng các biện pháp dưới đây (ví dụ gỡ giao diện đồ họa GUI không cần thiết trên máy chủ, quản lý quyền sudo cẩn thận, tắt các dịch vụ thừa), hãy cân nhắc theo đúng nhu cầu thực tế để giữ được sự cân bằng đó.

1. Bảo mật vật lý và khởi động (việc 1-4)

1. Bảo vệ ở mức vật lý

Đảm bảo phòng server được khóa cẩn thận, có kiểm soát ra vào và camera an ninh. Người không có thẩm quyền tiếp cận phòng server có thể gỡ pin CMOS để xóa mật khẩu BIOS, hoặc boot một bản Linux Live để sao chép dữ liệu mà khó bị phát hiện.

2. Giảm thiểu tác động gián điệp

Với dữ liệu đặc biệt nhạy cảm, có thể dùng các biện pháp vật lý nâng cao như đặt server trong lồng Faraday hoặc áp dụng tiêu chuẩn TEMPEST để giảm rò rỉ thông tin qua sóng radio hoặc nguồn điện.

3. Bảo mật BIOS/UEFI

Đặt mật khẩu cho BIOS/UEFI, chặn boot từ thiết bị bên ngoài (CD/DVD/USB) và ngăn việc thay đổi cài đặt BIOS. Lưu ý kiểm tra mainboard có hỗ trợ các tính năng bảo mật này không.

4. Bảo mật Boot Loader

Đặt mật khẩu cho GRUB để ngăn việc khởi động vào chế độ single-user và đặt lại mật khẩu root nhằm chiếm quyền hệ thống.

2. Phân vùng và mã hóa dữ liệu (việc 5-9)

5. Sử dụng các phân vùng ổ đĩa riêng biệt

Khi cài đặt, nên tách các thành phần chính của hệ thống ra các phân vùng riêng, ví dụ: /(root), /boot, /home, /tmp, /var.

6. Sử dụng LVM và RAID

Phân vùng /var là nơi ghi log nên có thể tăng dung lượng rất nhanh. Bạn có thể dùng LVM để linh hoạt mở rộng dung lượng, hoặc dùng RAID (ví dụ RAID 1) để tăng khả năng dự phòng dữ liệu.

7. Chỉnh sửa cài đặt fstab

Với các phân vùng chỉ dùng để lưu dữ liệu, bạn có thể ngăn việc thực thi phần mềm bằng các tùy chọn mount trong fstab:

/dev/sda5 /nas ext4 defaults,nosuid,nodev,noexec 1 2 /dev/sda6 /tmp ext4 defaults,nosuid,nodev,noexec 0 0

Việc tạo phân vùng riêng cho /tmp với nosuid,nodev,noexec giúp ngăn leo thang đặc quyền và thực thi script trái phép.

8. Mã hóa ổ đĩa cấp block với LUKS

Mã hóa ổ đĩa giúp bảo vệ dữ liệu nhạy cảm nếu ổ đĩa bị đánh cắp. Bạn có thể tìm hiểu cách mã hóa ổ đĩa Linux với LUKS qua các tài liệu chuyên ngành.

9. Sử dụng PGP và Public Key

Ngoài LUKS, bạn có thể dùng PGP, Public Key và lệnh OpenSSL để mã hóa, giải mã các file nhạy cảm.

3. Quản lý phần mềm và dịch vụ (việc 10-15)

10. Chỉ cài những package thực sự cần thiết

Hạn chế cài phần mềm không cần thiết để giảm bề mặt tấn công và tránh các lỗ hổng phát sinh. Giảm thiểu số lượng package tồn tại trên hệ thống, chỉ cài khi thực sự cần.

11. Cập nhật phần mềm thường xuyên

Thường xuyên cập nhật để nhân Linux và các phần mềm được vá các lỗ hổng. Trên CentOS có thể dùng:

yum update

Trên các bản phân phối đời mới, lệnh tương ứng là dnf update.

12. Khóa tổ hợp phím Ctrl + Alt + Del

Ngăn người dùng khởi động lại hệ thống bằng tổ hợp phím Ctrl + Alt + Del:

systemctl mask ctrl-alt-del.target

13. Gỡ bỏ các package không cần thiết

Liệt kê và gỡ bỏ các package không dùng tới:

rpm -qa yum list installed >> installed.txt yum remove [tên-package]

14. Khởi động lại Systemd Service sau khi cập nhật

Sau khi cập nhật thành công, khởi động lại các dịch vụ liên quan. Ví dụ với HTTPD:

systemctl restart httpd.service

15. Xóa bỏ các Service không cần thiết

Xác định các dịch vụ đang chạy và gỡ những dịch vụ không dùng tới:

ss -tulpn systemctl list-units -t service yum remove postfix

Ví dụ, CentOS mặc định đi kèm Postfix chạy ở port 25; nếu server không dùng làm mail server, bạn có thể gỡ bỏ.

4. Bảo mật mạng và giám sát (việc 16-20)

16. Mã hóa dữ liệu truyền dẫn

Tránh các giao thức kém an toàn như Telnet, FTP hay các giao thức plain text (SMTP, HTTP, NFS, SMB). Ưu tiên SFTP, SCP để truyền file và SSH (hoặc VNC qua SSH tunnel) khi cần truy cập từ xa. Ví dụ chuyển VNC Console qua SSH:

ssh -L 5902:localhost:5901 remote_machine vncviewer localhost:5902

17. Quét các port trong mạng

Dùng Nmap từ một máy khác trong mạng để kiểm tra các port mở và rà soát lỗ hổng, đồng thời kiểm tra các quy tắc firewall:

nmap -sT -O 192.168.1.10

18. Lọc gói tin qua Firewall

Dùng firewalld để bảo vệ các cổng hệ thống, đóng/mở cổng cụ thể (đặc biệt các port dưới 1024):

yum install firewalld systemctl start firewalld.service systemctl enable firewalld.service firewall-cmd --list-all

19. Kiểm tra gói tin với Tcpdump

Dùng tcpdump để bắt và kiểm tra các gói tin trong mạng nhằm phát hiện traffic đáng ngờ. File bắt được có thể phân tích bằng các công cụ như Wireshark:

tcpdump -i eno16777736 -w tcpdump.pcap

20. Phòng ngừa tấn công DNS

Kiểm tra nội dung bộ phân giải, đặc biệt file /etc/resolv.conf - nơi định nghĩa các máy chủ DNS dùng để truy vấn domain. Việc này giúp phòng ngừa tấn công xen giữa (man-in-the-middle), giả mạo DNS (DNS spoofing) hoặc tấn công từ chối dịch vụ (DoS).

Bảo mật hệ thống là việc cần làm nhiều lớp. Bạn nên kết hợp với bài 10 biện pháp tăng cường bảo mật cho SSH Logincách phòng chống mã độc cho máy chủ. Tìm hiểu thêm giải pháp Endpoint Security để được bảo vệ máy chủ tự động.


DỊCH VỤ HẠ TẦNG CLOUDZONE

Cần tư vấn giải pháp Cloud, Máy chủ & Hạ tầng cho doanh nghiệp?

Đội ngũ kỹ thuật Cloudzone sẵn sàng hỗ trợ và tư vấn miễn phí.

📞 0906.489.647 (Phone/SMS/Zalo)

Cloud Server Endpoint Security Máy chủ vật lý

Chia sẻ

Bài viết liên quan