Linux에서 명령줄을 통해 바이러스를 찾는 방법
대부분 인지하지 못하지만, 리눅스 시스템도 악성코드 감염 위험에 노출될 수 있습니다. 다행히도 많은 리눅스 사용자들이 애용하는 강력한 명령 줄 도구, ClamAV가 존재합니다. 이 도구를 활용하면 명령 줄 인터페이스를 통해 다양한 바이러스와 익스플로잇(윈도우 및 리눅스 모두 포함)을 효과적으로 탐지할 수 있습니다.
ClamAV 설치 가이드
ClamAV는 주요 배포판의 소프트웨어 저장소에 포함되어 있어 리눅스 환경에 손쉽게 설치할 수 있습니다. 이 애플리케이션을 설치하려면 터미널을 열고 아래의 지침을 따라 실행하십시오.
참고: 명령 줄 인터페이스 사용이 불편하다면 ClamAV의 그래픽 사용자 인터페이스(GUI) 버전인 ClamTk를 이용할 수 있습니다. 터미널의 모든 장점을 사용하기 쉬운 인터페이스에 담았습니다. 자세한 내용은 공식 웹사이트를 참조하십시오.
우분투
sudo apt install clamav
데비안
sudo apt-get install clamav
아치 리눅스
sudo pacman -S clamav
페도라
sudo dnf install clamav
오픈수세
sudo zypper install clamav
일반 리눅스 사용자
리눅스 플랫폼의 소스 코드로부터 ClamAV 바이러스 스캐너를 직접 빌드하려면 몇 가지 필수적인 의존성 패키지가 필요합니다. 다음 패키지들을 컴퓨터에 먼저 설치해야 합니다.
GCC 또는 Clang C 컴파일러
OpenSSL
zlib 라이브러리
wget
리눅스 시스템에서 위의 의존성 패키지들을 모두 설치했다면 이제 빌드 프로세스를 시작할 수 있습니다. wget 다운로드 유틸리티를 사용하여 ClamAV의 최신 소스 코드 릴리스를 내려받으십시오.
주의: 소스 코드를 직접 빌드하는 경우 자동 업데이트 기능은 제공되지 않습니다. 바이러스 스캐너를 항상 최신 상태로 유지하려면 ClamAV의 소스 코드를 정기적으로 다운로드하고 컴파일해야 합니다. 최신 코드는 여기에서 찾을 수 있습니다.
wget https://www.clamav.net/downloads/production/clamav-0.100.2.tar.gz
wget이 없으신가요? curl 명령어를 대신 사용하십시오.
curl https://www.clamav.net/downloads/production/clamav-0.100.2.tar.gz > clamav-0.100.2.tar.gz
wget 또는 curl을 통해 소스 코드 다운로드가 완료되면 ClamAV의 TarGZ 압축 파일을 해제합니다.
tar zxvf clamav-0.100.2.tar.gz
cd 명령어를 사용하여 현재 터미널 세션 디렉토리를 압축 해제된 clamav-0.100.2 폴더로 변경합니다.
cd clamav-0.100.2
구성 스크립트를 실행합니다. 구성 스크립트는 빌드에 필요한 모든 의존성이 충족되었는지 확인합니다.
./configure --with-user
구성 스크립트 실행 중 오류 메시지가 없다면 다음 단계로 진행해도 좋습니다. 이제 make 명령을 실행하여 코드 컴파일 과정을 시작합니다.
make
컴파일러가 ClamAV를 빌드하도록 잠시 기다립니다. 이 과정은 다소 시간이 걸릴 수 있습니다. 빌드가 완료되면 sudo make install 명령을 사용하여 리눅스 시스템에 소프트웨어를 설치합니다.
sudo make install
명령줄을 이용한 악성코드 검사
바이러스 스캐너는 "정의" 파일을 기준으로 악성코드를 탐지합니다. 이 파일은 스캐너에게 의심스러운 항목이 무엇인지 알려주는 목록입니다. ClamAV도 자체 정의 파일을 가지고 있으며, freshclam 명령을 통해 업데이트할 수 있습니다. 터미널에서 다음 명령을 실행하십시오.
sudo freshclam
정기적으로, 매주 또는 시스템 보안에 더욱 주의를 기울여야 할 경우에는 매일, freshclam 명령을 실행하여 바이러스 정의를 최신 상태로 유지하십시오.
리눅스에서 ClamAV의 최신 바이러스 정의를 확보했다면, 이제 취약점을 검색할 수 있습니다. 특정 폴더 내에 악성코드가 있는지 검사하려면 다음 명령어를 사용하십시오.
sudo clamscan /검사할/폴더/경로
clamscan 명령어를 사용할 때 -r 스위치를 추가하면 해당 디렉토리 내의 모든 하위 디렉토리까지 검색할 수 있습니다.
sudo clamscan -r /검사할/폴더/경로
홈 폴더 검사
리눅스에서 홈 디렉토리는 사용자가 컴퓨터를 이용하면서 가장 많이 상호작용하는 기본 위치입니다. 따라서 악성코드가 존재한다면 이 폴더나 하위 폴더 내에 있을 가능성이 높습니다. 홈 폴더를 검사하려면 clamscan 명령어를 사용하여 /home/사용자이름/을 지정하거나, 사용자 이름 대신 ~/를 사용할 수 있습니다.
참고: -v 스위치를 추가하면 ClamAV의 검사 과정을 자세히 출력하여 확인할 수 있습니다.

sudo clamscan -rv ~/
또는
sudo clamscan -rv /home/사용자이름
두 개 이상의 사용자 홈 폴더를 동시에 스캔하고 싶으신가요? /home/사용자이름/ 대신 /home/을 지정하여 검사를 실행하십시오.
sudo clamscan -rv /home/
시스템 전체 검사
홈 폴더 이외에도 시스템 전체에 걸쳐 악성코드가 존재할 수 있습니다. 시스템 전체 검사를 실행하려면 clamscan 명령어를 루트 디렉토리 /를 지정하여 실행하십시오.

sudo clamscan -rv /
개별 파일 검사

ClamAV는 리눅스 파일 시스템 내에서 취약한 파일을 검사하는 데 자주 사용됩니다. 또한, ClamAV를 사용하여 특정 파일에 문제가 있는지 확인할 수 있습니다. 개별 파일을 스캔하려면 clamscan 명령을 실행하고 파일의 정확한 경로를 지정하십시오.
주의: 아래 명령은 필요에 따라 사용자 정의해야 합니다.
sudo clamscan -v /파일/경로/파일이름.확장자
또는 cd 명령어를 사용하여 해당 파일이 있는 위치로 이동한 후 검사를 실행하십시오.
cd /파일/경로/ sudo clamscan -v 파일이름.확장자