10 Việc Cần Làm Ngay Sau Khi Cài CentOS Stream 9: Checklist “Sống Sót” Trong Production

CentOS tutorial - IT technology blog
CentOS tutorial - IT technology blog

CentOS Stream 9 vừa lên xong, rồi sao nữa?

Màn hình đen ngóm với dấu nhắc lệnh hiện ra. Cài xong OS mới chỉ là 10% chặng đường. Nếu bạn cứ thế quăng ứng dụng lên chạy ngay, sớm muộn gì server cũng “dính chưởng” bảo mật hoặc chạy lẹt đẹt như rùa bò. Tin mình đi, chỉ cần mở port 22 mặc định khoảng 15 phút, bạn sẽ thấy log hệ thống tràn ngập các cuộc tấn công brute-force từ botnet.

Team mình từng thức trắng đêm xử lý đống hỗn độn khi migrate từ CentOS 7 sang CentOS Stream 9. Những bài học xương máu đó được gói gọn trong checklist dưới đây. Nó sẽ biến một bản cài đặt thô thành một pháo đài sẵn sàng cho môi trường Production thực thụ.

Chọn lối đi nào: Tối giản hay Đầy đủ?

Dân quản trị hệ thống thường chia làm hai phe rõ rệt:

  • Phe tối giản (Minimalist): Chỉ cài đúng những gì cần. Ưu điểm là nhẹ máy, ít bề mặt tấn công. Nhược điểm? Lúc server lăn quay ra chết, bạn sẽ loay hoay vì thiếu công cụ debug.
  • Phe đầy đủ (Full-stack): Cấu hình tận răng từ bảo mật đến tối ưu kernel. Đây là cách mình chọn để ngủ ngon mỗi đêm.

Cân nhắc giữa nhu cầu và rủi ro

Mặc định, CentOS Stream 9 khá “sạch”. Nó thiếu các Repository quan trọng như EPEL, khiến việc tìm cài những tool quen thuộc trở nên bế tắc. Tuy nhiên, ôm đồm quá nhiều thứ không cần thiết lại khiến server nặng nề. Chiến thuật hợp lý nhất là tập trung vào 3 trụ cột: Quản lý gói – Bảo mật – Hiệu suất.

Bắt tay vào triển khai checklist chi tiết

1. Cập nhật hệ thống và định danh Hostname

Đừng bao giờ bỏ qua bước này. Các bản vá bảo mật thường được tung ra ngay sau khi file ISO được đóng gói. Hãy đưa mọi thứ lên phiên bản mới nhất ngay lập tức.

# Cập nhật toàn bộ hệ thống
sudo dnf update -y

# Đặt tên server rõ ràng (Ví dụ: srv-web-prod-01)
sudo hostnamectl set-hostname srv-web-prod-01

2. Kích hoạt EPEL và CRB Repository

Muốn cài htop, ngit hay các thư viện bổ trợ mà không có EPEL thì đúng là cực hình. Trên CentOS 9, bạn cần bật thêm kho CRB (CodeReady Builder) để mọi thứ trơn tru nhất.

sudo dnf install epel-release epel-next-release -y
sudo dnf config-manager --set-enabled crb
sudo dnf update -y

3. Tạo User quản trị (Tuyệt đối không dùng Root)

Dùng root đăng nhập trực tiếp giống như việc bạn để chìa khóa vạn năng ngay trước cửa nhà. Hãy tạo một user riêng và cấp quyền sudo cho nó.

# Tạo user mới
useradd itfromzero
passwd itfromzero

# Cấp quyền sudo qua nhóm wheel
usermod -aG wheel itfromzero

4. Thắt chặt gọng kìm SSH

Dùng mật khẩu là xưa rồi. Hãy chuyển sang dùng SSH Key. Việc đổi port 22 mặc định sang một port lạ (như 2222) có thể giúp bạn giảm tới 90% lượng log rác từ các script quét dạo tự động.

Mở file /etc/ssh/sshd_config và chỉnh các dòng sau:

  • PasswordAuthentication no: Chặn đăng nhập mật khẩu.
  • PermitRootLogin no: Cấm root login từ xa.
  • Port 2222: Đổi cổng kết nối.
sudo systemctl restart sshd

5. Đồng bộ múi giờ Việt Nam

Log hệ thống ghi sai giờ sẽ khiến việc điều tra sự cố trở thành thảm họa. Hãy đưa nó về múi giờ ICT (GMT+7).

sudo timedatectl set-timezone Asia/Ho_Chi_Minh

# Kiểm tra lại thành quả
timedatectl status

6. Cứu cánh RAM thấp với SWAP

Nếu bạn thuê VPS chỉ có 1GB hay 2GB RAM, các tiến trình như MySQL 8 hay PHP-FPM rất dễ bị OOM (Out Of Memory) và lăn ra chết. Tạo một file Swap 2GB là cách rẻ nhất để giữ server đứng vững khi lượng truy cập tăng đột biến.

# Tạo file swap 2GB
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# Tự động kích hoạt khi reboot
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab

7. Tối ưu hiệu suất bằng Tuned

CentOS 9 có một “vũ khí bí mật” là tuned. Công cụ này tự động tinh chỉnh các thông số kernel để phù hợp với từng mục đích sử dụng cụ thể.

sudo dnf install tuned -y
sudo systemctl enable --now tuned

# Nếu chạy Web/DB, hãy dùng profile throughput-performance
sudo tuned-adm profile throughput-performance

8. Đừng bao giờ tắt Firewall

Thay vì systemctl stop firewalld (một sai lầm tai hại), hãy học cách mở port đúng cách. Đây là ranh giới giữa một tay ngang và một kỹ sư hệ thống thực thụ.

# Mở port SSH mới và các dịch vụ web cơ bản
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

9. Trang bị bộ “đồ nghề” giám sát

Khi có biến, bạn cần công cụ để soi xem cái gì đang ngốn tài nguyên. Mình luôn cài sẵn bộ công cụ cơ bản này trên mọi server.

sudo dnf install htop nmap-ncat bmon vim traceroute -y

Đặc biệt, đừng quên Cockpit. Đây là giao diện quản trị web cực mạnh tích hợp sẵn, giúp bạn theo dõi biểu đồ tài nguyên mà không cần gõ lệnh.

sudo systemctl enable --now cockpit.socket

10. Cấu hình tự động cập nhật bản vá

Bạn không thể rảnh để vào check server mỗi ngày. Hãy để dnf-automatic tự động tải và cài đặt các bản vá bảo mật quan trọng (security updates) trong lúc bạn đang ngủ.

sudo dnf install dnf-automatic -y
sudo systemctl enable --now dnf-automatic.timer

Lời kết từ kinh nghiệm thực chiến

Những bước này nhìn thì đơn giản nhưng lại là nền móng cực kỳ vững chắc. Sai lầm lớn nhất mình từng thấy là các bạn trẻ thường lao vào cài Docker hay Nginx ngay mà quên bẵng việc bảo mật SSH hay cấu hình Swap. Kết quả? Chỉ sau một tuần, server bị dính mã độc đào coin hoặc log ghi sai giờ khiến việc debug trở thành một cơn ác mộng.

Hy vọng checklist này giúp bạn tiết kiệm được vài tiếng đồng hồ mò mẫm. Nếu bạn có mẹo nào hay hơn, đừng ngại chia sẻ nhé!

Share: