Clamd 프로세스가 특정 파일 확장자 및 크기의 파일을 검색하는 데 속도가 느림

Clamd 프로세스가 특정 파일 확장자 및 크기의 파일을 검색하는 데 속도가 느림

Linux Docker 컨테이너에서 실행하기 위해 clamd 프로세스를 사용했습니다.https://hub.docker.com/r/mkodockx/docker-clamav/

내 사용 사례는 내 서비스가 사용자가 업로드한 모든 첨부 파일을 검사하고 업로드 서비스에 대한 응답으로 검사 상태를 반환하는 것입니다.

12MB와 같은 작은 .pdf 파일과 같은 일부 파일을 스캔하는 데 시간이 오래 걸립니다(~2분).

bash-5.0$ clamdscan 12MB-PDF.pdf
/tmp/12MB-PDF.pdf: OK
 
----------- SCAN SUMMARY -----------
Infected files: 0
Time: 121.192 sec (2 m 1 s)
Start Date: 2021:08:24 16:02:09
End Date:   2021:08:24 16:04:10
bash-5.0$
 

bash-5.0$ top
Mem: 4102684K used, 4050300K free, 412640K shrd, 30660K buff, 2356148K cached
CPU:  16% usr   0% sys   0% nic  83% idle   0% io   0% irq   0% sirq
Load average: 0.21 0.07 0.02 2/524 1844
  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
   26     1 clamav   S    1251m  15%   4  17% clamd
   25     1 clamav   S     9372   0%   3   0% freshclam -d
 1844   553 clamav   S     5884   0%   1   0% clamdscan 12MB-PDF.pdf
  553     0 clamav   S     2420   0%   5   0% bash
  560     0 clamav   S     2412   0%   3   0% bash
    1     0 clamav   S     2228   0%   1   0% {bootstrap.sh} /bin/bash /bootstrap.sh
  567   560 clamav   R     1584   0%   3   0% top
 

아래는 참조용 clamd.conf입니다.

###############
# General
###############

DatabaseDirectory /var/lib/clamav
TemporaryDirectory /tmp
LogTime yes
PidFile /run/clamav/clamd.pid
LocalSocket /run/clamav/clamd.sock
TCPSocket 3310
Foreground yes

###############
# Results
###############

DetectPUA yes
ExcludePUA NetTool
ExcludePUA PWTool
AlgorithmicDetection yes
Bytecode yes

###############
# Scan
###############

ScanPE yes
DisableCertCheck yes
ScanELF yes
AlertBrokenExecutables yes
ScanOLE2 yes
ScanPDF yes
ScanSWF yes
ScanMail yes
PhishingSignatures yes
PhishingScanURLs yes
ScanHTML yes
ScanArchive yes

###############
# Scan
###############

MaxScanSize 2000M
MaxFileSize 2000M
StreamMaxLength 2000M
MaxRecursion 30
MaxFiles 50000
MaxEmbeddedPE 40M
MaxHTMLNormalize 40M
MaxHTMLNoTags 2M
MaxScriptNormalize 5M
MaxZipTypeRcg 1M
MaxPartitions 128
MaxIconsPE 200
PCREMatchLimit 10000
PCRERecMatchLimit 10000

1GB 정도의 큰 .bin 파일에 대해서도 동일한 성능 저하가 발생하며, 파일을 스캔하고 스캔 결과를 제공하는 데 2분 이상이 소요됩니다.

누구든지 스캔 시간을 최적화하는 방법에 대한 팁을 제공해 주실 수 있습니까?

감사해요.

관련 정보