clamav 안티 바이러스, 악성코드 프로그램 설치 & 우분투 PC 적용
1. 설치
# yum install clamav clamd
* 바이러스 감염 파일이 필요한 경우 clamav-testfiles 패키지도 같이 설치해줍니다.
파일 경로는 /usr/share/clamav-testfiles/ 입니다.
설치가 되지 않을 경우 epel-release 를 먼저 설치해줍니다.
# yum install epel-release
2. DB 업데이트
최신 DB 를 업데이트 합니다.
# freshclam
DB 다운로드 사이트에 접속이 잘 안되므로 업데이트가 되지 않을 경우 명령을 몇 번 더 재실행 해봅니다.
3. 검사
실시간으로 검사하지는 않으므로 cron 등을 이용해 주기적으로 로그를 남기도록 하는것이 좋습니다.
1) 특정 디렉토리 검사
# clamscan -r /디렉토리명
* 명령 실행 후 멈춘 것 같은 현상이 나타나는데, 실제 스캔을 시작하기까지 어느 정도의 시간이 소요됩니다.
파일 개수나 용량이 적은 디렉토리의 경우도 동일합니다. 기다려보세요~!
2) 로그 생성
# clamscan -r /디렉토리명 -l scan.log
※ 팁
# service clamd start 이후
# clamdscan -r /디렉토리명 과 같이 구동하면 스캐닝 시간이 단축 됩니다.
항상 데몬형태로 떠있으며 엔진을 알아서 받아와서 적용하기때문에 clamscan 할때마다
엔진 버전 체크하는 시간이 줄어들어서 그런것으로 알고 있습니다.
※ 우분투 PC
우분투 PC 에 실제로 적용한 사례를 기술하였습니다. 필요하신 분은 내용을 참고하여 환경에 맞게 수정해 사용하시기 바랍니다.
(root 계정에서)
# apt -y install inotify-tools asciidoctor
# mkdir scan_result
# vi scan.sh
#!/bin/bash find /root/scan_result/ -ctime +30 -exec rm -f {} \; date=`date +%Y%m%d` clamscan -r / -l /root/scan_result/${date}.log cut_from=`cat -n /root/scan_result/${date}.log |grep "SCAN SUMMARY" |tail -n 1 |awk {'print $1'}` cut_to=`cat -n /root/scan_result/${date}.log |tail -n 1 |awk {'print $1'}` echo $date > /home/sysdocu/scan_result.txt sed -n "${cut_from},${cut_to}p" /root/scan_result/${date}.log >> /home/sysdocu/scan_result.txt |
# vi /etc/crontab
00 9 * * * root sh /root/scan.sh # 추가 |
clamav 를 매일 아침 9시에 root 권한으로 실행하도록 하였습니다.
(sysdocu 계정에서)
스캐닝이 완료되면 브라우저를 통해 결과를 띄우도록 합니다.
$ touch scan_result.txt
$ vi scan_result.sh
#!/bin/bash while : do # 파일 변화 감지 inotifywait -qm --event modify --format '%w' scan_result.txt | asciidoctor scan_result.txt # 파일 생성 대기 sleep 10 # 결과가 있는 경우 LINE=`cat scan_result.txt |grep "SCAN SUMMARY" |wc -l` if [ "$LINE" == "1" ]; then # chrome 으로 결과를 확인 할 경우 sudo -u sysdocu /opt/google/chrome/chrome "scan_result.txt" & # gedit 로 결과를 확인 할 경우 #sudo -u sysdocu gedit "scan_result.txt" & fi # 브라우저 뜰 때까지 내용 초기화 대기 sleep 10 # 내용 초기화 cat /dev/null > scan_result.txt # 만약을 위해 10분 대기 sleep 600 done |
* 자칫 잘못하면 inotifywait 에서 기다리지 않고 넘어가면 작업이 불가능할 정도로 크롬 브라우저 창이 계속 생성될 수 있으므로 안전하게 sleep 600 을 꼭 주도록 합니다.
PC 부팅시 실행되도록 하고, 현재 세션에서도 실행을 한 번 해줍니다.
$ echo "bash /home/sysdocu/scan_result.sh &" >> /home/sysdocu/.profile
$ bash /home/sysdocu/scan_result.sh &
'리눅스 > Security' 카테고리의 다른 글
패스워드 복잡성 설정 (0) | 2018.02.27 |
---|---|
iptables 멀티 포트 사용하기 (0) | 2017.11.08 |
[OpenVAS] CentOS 7 에서 pdf 리포트가 0 byte 로 생성될 경우 (0) | 2016.12.12 |
[OpenVAS] WARNING: Cannot connect to KB at '/tmp/redis.sock': Connection refused' (0) | 2016.12.12 |
iptables 구동 잘 안될때 명령어로 셋팅하기 (0) | 2016.04.11 |