ClamAV ( Clam AntiVirus )
안녕하십니까 이번 글에서는 Linux 환경에서 사용 가능한 자유 크로스플랫폼 형식의 바이러스 검사 소프트웨어 툴킷 ClamAV ( Clam AntiVirus ) 를 설치해보겠습니다.
목록
- ClamAV 란?
- ClamAV 설치 과정
- 최종 테스트 결과 도출
< 1. ClamAV 란? >
ClamAV는 바이러스를 비롯한 수많은 종류의 악성 소프트웨어를 찾아낼 수 있도록 도와주는 리눅스 소프트웨어입니다.
주된 목적 가운데 하나는 서버 측면의 전자 메일 바이러스 검사기의 역할을 하면서 메일 서버에 이용하는 것이다.
이 응용 프로그램은 유닉스뿐 아니라, AIX, BSD, HP-UX, 리눅스, OS X, 오픈VMS, OSF, 솔라리스와 같은 서드파티 버전용으로 개발되었으며,
0.96 버전부터 ClamAV는 마이크로소프트 윈도에서 빌드한 다음 실행할 수 있게 되었습니다.
※ ClamAV 특장점
- ClamAV(Clam AntiVirus)는 네트워크 장비로 유명한 시스코 시스템즈에서 지원하는 오픈소스 소프트웨어로 자유 크로스플랫폼 형식의 바이러스 검사 소프트웨어 툴킷입니다.
- 바이러스를 비롯한 수많은 종류의 악성 소프트웨어를 찾아낼 수 있습니다.
- ClamAV와 소프트웨어 업데이트는 비용을 내지 않고도 이용할 수 있습니다.
- ClamAV.net의 데이터 센터는 전 세계에서 발생하는 바이러스 구조에 대한 방대한 자료를 확보하고 있습니다.
- 확보한 방대한 자료를 주기적으로 업데이트 및 공개하고 있습니다.
- 데이터베이스는 클램AV 엔진의 핵심으로 유닉스계열에 사용됩니다.
- 공개자료로서는 사실상 표준처럼 사용됩니다.
- 멀티 스레드 스캐너 데몬, 주문형 파일 검사 및 자동 서명 업데이트를 위한 명령 줄 유틸리티가 포함되어 있습니다.
- 여러 파일 형식, 파일 및 아카이브 압축 풀기 및 여러 서명 언어를 지원합니다.
- 트로이 목마, 바이러스, 악성 프로그램 및 기타 악의적인 위협을 탐지하는 오픈소스 바이러스 백신 엔진
- 바이러스 서명을 정기적으로 업데이트하는 유틸리티를 제공합니다.
< 2. ClamAV 설치 과정 >
공식 홈페이지 : https://www.clamav.net/downloads
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
우선 설정파일이 있는 디렉토리로 이동하여 enable 후 차례대로 시작해 줍니다.
# cd /usr/lib/systemd/system
# systemctl enable clamd.service
# systemctl start clamd.service
< 3. 최종 테스트 결과 도출 >
10. 마지막으로 체크해봅니다.
# clamscan /etc
-> 정상적으로 스캔 후 결과를 도출해내는 것을 확인할 수 있습니다.
이상으로 테스트 서버 ClamAV 패키지 설치를 마무리하도록 하겠습니다.
감사합니다.
설명 너무 친절하게 잘해주셔서 감사합니다.
sed -i ‘/ 부분에서 ‘ 복붙하니 특수문자로 찍혀서 따로 ‘ 로 변경해야 명령어가 실행되네요