Tích Hợp ClamAV

2 min read

1. ClamAV là gì

ClamAV hay còn gọi là Clam Anti Virus, là một công cụ chống vi-rút mã nguồn mở được thiết kế để phát hiện nhiều loại phần mềm độc hại khác nhau, bao gồm vi-rút, trojan và phần mềm độc hại khác. Nó được biết đến với tính linh hoạt, hiệu quả và cập nhật thường xuyên cơ sở dữ liệu chữ ký virus.

More about ClamAV, visit https://www.clamav.net/

2. Cách hoạt động

ClamAV hoạt động dựa trên mô hình client-server. Công cụ ClamAV (daemon) chạy trên máy chủ và nhận yêu cầu từ ứng dụng khách. Khi cần quét một tệp, máy khách sẽ gửi tệp đó đến trình nền ClamAV, sau đó trình nền này sẽ kiểm tra tệp dựa trên cơ sở dữ liệu chữ ký vi-rút của nó. Kết quả quét sau đó sẽ được gửi lại cho khách hàng.

3. Lợi ích

  • Mã nguồn mở: ClamAV là phần mềm mã nguồn mở, cho phép bạn kiểm tra và sửa đổi mã nguồn theo nhu cầu của mình.
  • Cập nhật thường xuyên: Cộng đồng ClamAV tích cực duy trì và cập nhật cơ sở dữ liệu dấu hiệu vi-rút, cung cấp khả năng bảo vệ chống lại các mối đe dọa mới nhất.
  • Đa nền tảng: ClamAV là nền tảng đa nền tảng và có thể được tích hợp vào nhiều loại ứng dụng khác nhau, bao gồm máy chủ web, máy chủ email, v.v.
  • Hiệu quả: ClamAV được thiết kế để tiết kiệm tài nguyên, phù hợp để sử dụng trong nhiều môi trường khác nhau..

4. Cài đặt

Quy trình làm việc và cấu trúc tích hợp của ClamAV

clamav

Có 2 phần chính của ClamAV cần được quan tâm: Client Service

  • CLAMAV client (tích hợp vào dịch vụ FileService): kết nối và gửi tệp này dưới dạng luồng bộ nhớ đến dịch vụ ClamAV.
  • CLAMAV service: quét các tập tin và thư mục để phát hiện và loại bỏ phần mềm độc hại.
    • if detect virus => trả về lỗi
    • if no virus => trả về true, xử lý chức năng lưu trữ file trên server

4.1. Server side

  • Vào thư mục conf_examples và copy 2 files (clamd.conf.sample, freshclam.conf.sample) sau đó paste the 2 files ra thư mục bên ngoài clamav-1.0.4.win.x64
  • Xóa đuôi .sample trong tên của 2 file trên
  • Mở cả 2 files trên và xóa “Example” tại dòng số 8
  • Mở cmd Run bằng quyền Administrator sau đó trỏ tới thư mục giải nén và chạy lệnh:
    • freshclam.exe
    • clamd.exe –install
  • Configure ClamAV Service to Start Automatically:
    • Gõ tổ hợp phím Win + R, nhập services.msc rồi enter.
    • Tìm đến “ClamAV ClamD” trong danh sách.
    • Chuột phải vào service, chọn “Properties.”
    • Trong “General” tab, chọn “Startup type” thành “Automatic.”

*Chú ý: Nếu bạn cài đặt CLAMAV trên 1 server khác service được tích hợp, bạn phải public địa chỉa IP và Port của CLAMAV để service có thể kết nối tới

4.2. Client side

Step 1: Thêm NuGet: ClamAV.Net (for now used version: 0.1.150)

Tới file csproj và kiểm tra, nếu có dòng này là thành công:
<PackageReference Include=”ClamAV.Net” Version=”0.1.150″ />

Step 2: Tạo interface IClamAvService.cs

Step 3: Tạo service để thực thi interface

sau đó đăng ký chúng trong SetupServices

*Note: Must add Host, Port, and Active config to file setting.

5. Performance

File sizeTotal processing time
2mb10s
5mb7s
10mb14s
13mb8s
18mb11s
Avatar photo

Leave a Reply

Your email address will not be published. Required fields are marked *