Hướng dẫn cài đặt ClamAV chạy an toàn và ổn định cùng ModSecurity và CSF trên CyberPanel

Đây là mô tả chi tiết cách triển khai ClamAV trên linux và thiết lập để nó hoạt động nhịp nhàng cùng các hệ thống bảo mật khác. Mục tiêu là tạo ra môi trường an toàn, ít tiêu tốn tài nguyên và có khả năng tự động quét mã độc hiệu quả.

1. Chuẩn bị hệ thống và yêu cầu tài nguyên

Trước khi bắt đầu, bạn nên đánh giá dung lượng RAM và CPU đang có. ClamAV cần ít nhất 2GB RAM để hoạt động thoải mái, nhưng nếu bạn cấu hình hợp lý thì 1GB RAM vẫn chạy được. Với các máy chủ dưới 2GB RAM, nên hạn chế chạy quét toàn bộ hệ thống liên tục, mà chỉ quét các thư mục quan trọng như thư mục website, uploads và thư mục email.

ModSecurity và CSF vốn không tiêu tốn nhiều RAM, nên việc thêm ClamAV sẽ không gây áp lực quá lớn nếu server có từ 2CPU và 2GB RAM trở lên. Khi tài nguyên ổn định, khả năng chạy đồng thời ba hệ thống bảo mật này sẽ mượt mà.

2. Cài đặt ClamAV từ kho chính thức

Trên AlmaLinux, Rocky Linux hoặc CentOS Stream – những hệ điều hành thường dùng nhất cho CyberPanel – ClamAV nằm sẵn trong repository EPEL. Bạn chỉ cần kích hoạt EPEL và cài đặt.

Mở terminal và thực hiện:

dnf install epel-release -y
dnf install clamav clamav-update -y

Sau khi cài đặt xong, bạn cần cập nhật database virus để ClamAV có thể nhận diện đầy đủ các mẫu mã độc mới nhất:

freshclam

Trong một số máy chủ, freshclam chạy dưới dạng daemon. Nếu thấy báo đang chạy nền, bạn chỉ cần khởi động lại:

systemctl restart clamav-freshclam

Khi database cập nhật thành công, ClamAV đã sẵn sàng hoạt động.

3. Tích hợp ClamAV vào các thư mục web do CyberPanel quản lý

Ví dụ trên CyberPanel lưu website tại /home/USERNAME/public_html. Để đảm bảo ClamAV quét đúng mục tiêu, bạn nên cấu hình quét chính xác thư mục chứa mã nguồn.

Ví dụ:

clamscan -r /home --bell -i

Lệnh này sẽ quét toàn bộ site đang chạy trong hệ thống. Tuy nhiên, nếu bạn sở hữu nhiều website lớn, việc quét toàn bộ /home có thể tốn nhiều thời gian. Khi đó, có thể chia nhỏ theo từng website:

clamscan -r /home/domain1.com/public_html

Để tối ưu nhất, bạn nên lên lịch quét theo từng đêm, tránh ảnh hưởng tới CPU vào ban ngày khi server đang bận xử lý traffic.

4. Tạo lịch tự động quét mã độc bằng Cron

Cron giúp ClamAV hoạt động hiệu quả hơn nhờ chạy vào giờ thấp tải. Ví dụ, bạn có thể thiết lập quét lúc 2 giờ sáng – thời điểm ít người truy cập nhất.

Thêm lịch:

crontab -e

Nhập nội dung:

0 2 * * * clamscan -ri /home --log=/var/log/clamav/scan.log

Nhờ vậy, ClamAV sẽ tự động quét và lưu lại báo cáo, bạn chỉ cần kiểm tra định kỳ mà không phải chạy thủ công.

5. Kiểm tra tính tương thích với ModSecurity

ModSecurity hoạt động hoàn toàn độc lập với ClamAV. Nó phân tích request HTTP trước khi OpenLiteSpeed xử lý. Trong khi đó, ClamAV chỉ đọc file sau khi request kết thúc hoặc khi người dùng upload file. Không có quá trình nào chồng chéo giữa hai thành phần này.

Điều duy nhất bạn cần tránh là để ModSecurity chặn upload các file hợp lệ mà ClamAV cần kiểm tra. Điều này có thể xảy ra nếu website upload các file zip lớn. Khi gặp tình huống đó, bạn chỉ cần điều chỉnh rule ModSecurity theo mức độ phù hợp, nhưng điều này không liên quan đến ClamAV.

Thực tế trong hàng trăm hệ thống CyberPanel đã triển khai, ModSecurity và ClamAV chưa từng gây xung đột trực tiếp.

6. Tương thích với CSF và cấu hình firewall ổn định

CSF hoạt động như tường lửa hệ thống, theo dõi port và giới hạn tốc độ kết nối. Nó không theo dõi hoặc can thiệp vào hoạt động quét file nội bộ. Bởi vậy, ClamAV không yêu cầu mở thêm port đặc biệt và cũng không ảnh hưởng tới quá trình lọc packet của CSF.

Trong một số máy chủ, CSF có thể log lại hoạt động CPU tăng cao khi ClamAV đang quét. Điều này không phải xung đột mà chỉ là thông báo. Nếu muốn hạn chế cảnh báo, bạn có thể thay đổi mức cảnh báo trong CSF hoặc cấu hình lại chu kỳ quét của ClamAV vào thời điểm CPU ít hoạt động.

Điều quan trọng là ClamAV không gây block IP, không mở port, không ghi log kết nối, nên hoàn toàn tách biệt với CSF. Sự kết hợp này càng tăng mức độ an toàn cho CyberPanel.

7. Kích hoạt quét email nếu dùng MailServer trên CyberPanel

Nếu bạn dùng hệ thống email đi kèm CyberPanel (Postfix + Dovecot), bạn có thể tích hợp ClamAV để quét email nhận về. Điều này ngăn mã độc lan qua hệ thống email nội bộ.

Trước tiên cài clamav-daemon:

dnf install clamav-daemon -y
systemctl enable --now clamd@scan

Sau đó chỉnh Postfix sử dụng ClamAV qua socket /var/run/clamd.scan/clamd.sock. Đây là cấu hình mở rộng cho hệ thống email lớn, nhưng với đa số VPS chạy web bình thường thì chưa cần thiết kích hoạt chức năng này.

8. Xử lý các file bị nhiễm và kiểm tra log

ClamAV không tự động xóa file để tránh rủi ro. Khi phát hiện mã độc, nó ghi lại đường dẫn file trong log. Bạn chỉ cần mở:

cat /var/log/clamav/scan.log

Khi xác định là mã độc, bạn có thể xóa:

rm -f /path/to/infected/file

Nếu đó là file hệ thống của website, bạn nên khôi phục từ backup của CyberPanel hoặc tải lại mã nguồn sạch.

9. Tối ưu tài nguyên khi dùng ClamAV trên VPS nhỏ

Nhiều người lo ngại ClamAV tiêu tốn RAM. Điều này đúng nếu bạn chạy quét liên tục trong giờ cao điểm hoặc chạy trên VPS 1GB RAM. Tuy nhiên bạn có thể hạn chế tải bằng cách:

  • Giới hạn tần suất quét một lần mỗi đêm.
  • Chỉ quét thư mục web, không quét toàn bộ server.
  • Tắt daemon của clamd nếu không dùng email scanning.

Sau các điều chỉnh này, ClamAV hoạt động khá nhẹ nhàng, phù hợp cả với VPS 1GB RAM.