메뉴 닫기

[ClamAV] 바이러스 검사 SW 설치

ClamAV ( Clam AntiVirus )

안녕하십니까 이번 글에서는 Linux 환경에서 사용 가능한 자유 크로스플랫폼 형식의 바이러스 검사 소프트웨어 툴킷 ClamAV ( Clam AntiVirus ) 를 설치해보겠습니다.

 

목록

  1. ClamAV 란?
  2. ClamAV 설치 과정
  3. 최종 테스트 결과 도출

 

< 1. ClamAV 란? >

ClamAV는 바이러스를 비롯한 수많은 종류의 악성 소프트웨어를 찾아낼 수 있도록 도와주는 리눅스 소프트웨어입니다. 

주된 목적 가운데 하나는 서버 측면의 전자 메일 바이러스 검사기의 역할을 하면서 메일 서버에 이용하는 것이다.

이 응용 프로그램은 유닉스뿐 아니라, AIX, BSD, HP-UX, 리눅스, OS X, 오픈VMS, OSF, 솔라리스와 같은 서드파티 버전용으로 개발되었으며,

0.96 버전부터 ClamAV는 마이크로소프트 윈도에서 빌드한 다음 실행할 수 있게 되었습니다.

 

※ ClamAV 특장점

  1.   ClamAV(Clam AntiVirus)는 네트워크 장비로 유명한 시스코 시스템즈에서 지원하는 오픈소스 소프트웨어로 자유 크로스플랫폼 형식의 바이러스 검사 소프트웨어 툴킷입니다.
  2.   바이러스를 비롯한 수많은 종류의 악성 소프트웨어를 찾아낼 수 있습니다.
  3.   ClamAV와 소프트웨어 업데이트는 비용을 내지 않고도 이용할 수 있습니다.
  4.   ClamAV.net의 데이터 센터는 전 세계에서 발생하는 바이러스 구조에 대한  방대한 자료를 확보하고 있습니다.
  5.   확보한 방대한 자료를 주기적으로 업데이트 및 공개하고 있습니다.
  6.   데이터베이스는 클램AV 엔진의 핵심으로 유닉스계열에 사용됩니다.
  7.   공개자료로서는 사실상 표준처럼 사용됩니다.
  8.   멀티 스레드 스캐너 데몬, 주문형 파일 검사 및 자동 서명 업데이트를 위한 명령 줄 유틸리티가 포함되어 있습니다.
  9.   여러 파일 형식, 파일 및 아카이브 압축 풀기 및 여러 서명 언어를 지원합니다.
  10.   트로이 목마, 바이러스, 악성 프로그램 및 기타 악의적인 위협을 탐지하는 오픈소스  바이러스 백신 엔진
  11.   바이러스 서명을 정기적으로 업데이트하는 유틸리티를 제공합니다.

 

< 2. ClamAV 설치 과정 >

공식 홈페이지 : https://www.clamav.net/downloads

1. Selinux 설정 비활성화  확인해줍니다.
 
# vi /etc/selinux/config
  SELINUX=disabled

2. 패키지 설치를 위해 yum 레파지토리 설치를 해줍니다.

# yum -y install epel-release

3. ClamAV 패키지 설치 해줍니다.

# yum install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd

// 원활한 환경을 위하여 개발자 툴 모음을 설치해줍니다.

# yum groupinstall “Development Tools”   

4. ClamAV 를 위한 Selinux 설정을 진행합니다.

# setsebool -P antivirus_can_scan_system 1
setsebool: SELinux is disabled.

 

5. 설정을 수정합니다.

// 템플릿을 복사해옵니다.

# find / -name clamd.conf
/usr/share/doc/clamd-0.103.8/clamd.conf

# cp /usr/share/doc/clamd-0.103.8/clamd.conf /etc/clamd.conf

// 복사한 템플릿에 예제 구문을 치환해주어야합니다.

# sed -i ‘/^Example/d’ /etc/clamd.conf

 

// clamd.conf 에서 기본적으로 아래와 같이 수정한다.

# vi /etc/clamd.conf

User clamscan

LocalSocket /var/run/clamd.scan/clamd.sock

– scan을 위한 실행 sock을 가지고 있을 디렉토리 권한을 설정해줍니다.

# chmod 755 /var/run/clamd.scan

# sed ‘s/710/755/’ /usr/lib/tmpfiles.d/clamd.scan.conf > /etc/tmpfiles.d/clamd.scan.conf

-> /etc/passwd 파일을 열어보면 알겠지만 이미 clamscan 이라는 유저가 추가가 되어있다.

 

6. Freshclam 을 Enable 설정입니다.

Freshclam 은 ClamAV 가 최신의 백신DB를 업데이트하도록 설정해줍니다.

/etc/clam.conf 설정파일의 백업본을 준비해주고 마찬가지로 사용할 파일에 Example 구문을 제거해 줍니다.

# cp /etc/freshclam.conf /etc/freshclam.conf.ori

# sed -i ‘/^Example/d’ /etc/freshclam.conf

# vi /usr/lib/systemd/system/clam-freshclam.service 파일에 아래 부분을 추가해줍니다.

#####################################

# Run the freshclam as daemon
[Unit]
Description = freshclam scanner
After = network.target
[Service]
Type = forking
ExecStart = /usr/bin/freshclam -d -c 4
Restart = on-failure
PrivateTmp = true
[Install]
WantedBy=multi-user.target

#################################################

 

7. 서비스 데몬 자동 실행 설정해 줍니다.

# systemctl enable clam-freshclam.service

# systemctl start clam-freshclam.service

# systemctl status clam-freshclam.service

 

8. 다른 서비스 파일도 셋팅해줍니다.

# ls -l /usr/lib/systemd/system/clam*

-> @ 이 붙어있는 서비스파일들을 바로 enable 시키려 하면 되지 않아 좀 더 설정이 필요합니다.

우선 clamd@.service 파일들을 clamd.service 로 이름을 고쳐줍니다.

# mv /usr/lib/systemd/system/clamd\@.service /usr/lib/systemd/system/clamd.service

# vi /usr/lib/systemd/system/clamd.service

 
9. 이제 서비스를 실행해 줍니다.

우선 설정파일이 있는 디렉토리로 이동하여 enable 후 차례대로 시작해 줍니다.

# cd /usr/lib/systemd/system
# systemctl enable clamd.service
# systemctl start clamd.service

 

< 3. 최종 테스트 결과 도출 >

10.  마지막으로 체크해봅니다.

# clamscan /etc

-> 정상적으로 스캔 후 결과를 도출해내는 것을 확인할 수 있습니다.

이상으로 테스트 서버 ClamAV 패키지 설치를 마무리하도록 하겠습니다.

감사합니다.

Subscribe
Notify of
guest
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
yj m
yj m
8 months ago

설명 너무 친절하게 잘해주셔서 감사합니다.
sed -i ‘/ 부분에서 ‘ 복붙하니 특수문자로 찍혀서 따로 ‘ 로 변경해야 명령어가 실행되네요

Last edited 8 months ago by yj m
1
0
Would love your thoughts, please comment.x
()
x