웹사이트 검색

ClamAV를 바이러스 백신 엔진으로 사용하여 LMD(Linux Malware Detect)를 설치하고 사용하는 방법


멀웨어 또는 악성 소프트웨어는 컴퓨팅 시스템의 정상적인 작동을 방해하는 것을 목표로 하는 모든 프로그램을 지칭합니다. 가장 잘 알려진 형태의 맬웨어는 바이러스, 스파이웨어 및 애드웨어이지만 이들이 유발하려는 피해는 개인 정보 도용에서 개인 데이터 삭제 및 그 사이의 모든 것에 이르기까지 다양할 수 있습니다. 맬웨어의 또 다른 전형적인 용도는 다음을 제어하는 것입니다. (D)DoS 공격에서 봇넷을 실행하는 데 이를 사용하기 위해 시스템을 사용합니다.

즉, "민감하거나 중요한 데이터를 저장하지 않기 때문에 시스템을 악성 코드로부터 보호할 필요가 없다"고 생각할 여유가 없습니다. 왜냐하면 이것이 악성 코드의 유일한 대상이 아니기 때문입니다.

이러한 이유로 이 문서에서는 Linux Malware Detect(일명 MalDet 또는 줄여서 LMD)를 설치하고 구성하는 방법을 설명합니다. RHEL 8/7/6(여기서 x는 버전 번호)의 ClamAV(바이러스 백신 엔진), CentOS 8/7/6Fedora 30-32(동일한 지침은 Ubuntu 에서도 작동함) 및 Debian 시스템).

호스팅 환경을 위해 특별히 설계된 GPL v2 라이센스에 따라 출시된 맬웨어 스캐너입니다. 그러나 어떤 환경에서 작업하든 MalDet의 이점을 누릴 수 있다는 사실을 금방 깨닫게 될 것입니다.

RHEL/CentOS 및 Fedora에 LMD 설치

LMD는 온라인 저장소에서 사용할 수 없지만 프로젝트 웹사이트에서 타르볼로 배포됩니다. 최신 버전의 소스 코드가 포함된 타르볼은 항상 다음 링크에서 사용할 수 있으며 wget 명령을 사용하여 다운로드할 수 있습니다.

wget http://www.rfxn.com/downloads/maldetect-current.tar.gz

그런 다음 tarball의 압축을 풀고 해당 내용이 추출된 디렉터리로 들어가야 합니다. 현재 버전이 1.6.4이므로 디렉터리는 malDetect-1.6.4입니다. 거기에서 설치 스크립트 install.sh를 찾을 수 있습니다.

tar -xvf maldetect-current.tar.gz
ls -l | grep maldetect
cd maldetect-1.6.4/
ls

75줄(주석 포함)에 불과한 설치 스크립트를 검사하면 도구를 설치할 뿐만 아니라 기본 설치 디렉터리( /usr/local/malDetect)가 존재합니다. 그렇지 않은 경우 스크립트는 계속 진행하기 전에 설치 디렉터리를 만듭니다.

마지막으로 설치가 완료된 후 /etc/에 cron.daily 스크립트(위 이미지 참조)를 배치하여 cron을 통한 일일 실행이 예약됩니다. cron.daily. 이 도우미 스크립트는 무엇보다도 오래된 임시 데이터를 지우고, 새 LMD 릴리스를 확인하고, 기본 Apache 및 웹 제어판(예: CPanel, DirectAdmin 등) 기본 데이터 디렉터리를 검색합니다.

즉, 평소대로 설치 스크립트를 실행하십시오.

./install.sh

Linux 악성 코드 감지 구성

LMD의 구성은 /usr/local/malDetect/conf.maldet를 통해 처리되며 모든 옵션에 주석이 잘 설명되어 있어 구성 작업이 다소 쉽습니다. 문제가 발생하는 경우 /malDetect-1.6.4/README에서 추가 지침을 참조할 수도 있습니다.

구성 파일에는 대괄호로 묶인 다음 섹션이 있습니다.

  1. 이메일 알림
  2. 격리 옵션
  3. 스캔 옵션
  4. 통계 분석
  5. 모니터링 옵션

각 섹션에는 LMD의 작동 방식과 사용 가능한 기능을 나타내는 여러 변수가 포함되어 있습니다.

  1. 악성 코드 검사 결과에 대한 이메일 알림을 받으려면 email_alert=1을 설정하세요. 간결성을 위해 메일을 로컬 시스템 사용자에게만 전달하지만 메일 알림을 외부로 보내는 등의 다른 옵션도 탐색할 수 있습니다.
  2. 이전에 email_alert=1을 설정한 경우 email_subj=”여기에 제목”email_addr=username@localhost를 설정하십시오.
  3. 맬웨어 적중(0=경고만, 1=격리 및 경고로 이동)에 대한 기본 격리 작업인 quar_hits를 사용하면 맬웨어가 감지될 때 수행할 작업을 LMD에 알릴 수 있습니다.
  4. quar_clean을 사용하면 문자열 기반 악성코드 삽입을 치료할지 여부를 결정할 수 있습니다. 문자열 서명은 정의상 "악성 프로그램 계열의 다양한 변종과 잠재적으로 일치할 수 있는 연속 바이트 시퀀스"라는 점을 명심하세요.
  5. 조회수가 있는 사용자에 대한 기본 정지 작업인 quar_susp를 사용하면 소유한 파일이 조회수로 식별된 계정을 비활성화할 수 있습니다.
  6. clamav_scan=1은 LMD에게 ClamAV 바이너리의 존재를 감지하고 기본 스캐너 엔진으로 사용하도록 지시합니다. 이를 통해 스캔 성능이 최대 4배 빨라지고 뛰어난 16진수 분석이 가능합니다. 이 옵션은 ClamAV만 스캐너 엔진으로 사용하며 LMD 서명은 여전히 위협 탐지의 기반입니다.

요약하자면, 이러한 변수가 포함된 줄은 /usr/local/malDetect/conf.maldet에서 다음과 같아야 합니다.

email_alert=1
email_addr=gacanepa@localhost
email_subj="Malware alerts for $HOSTNAME - $(date +%Y-%m-%d)"
quar_hits=1
quar_clean=1
quar_susp=1
clam_av=1

RHEL/CentOS 및 Fedora에 ClamAV 설치

clamav_scan 설정을 활용하기 위해 ClamAV를 설치하려면 다음 단계를 따르세요.

EPEL 저장소를 활성화합니다.

yum install epel-release

그런 다음 다음을 수행하십시오.


yum update && yum install clamd
apt update && apt-get install clamav clamav-daemon  [Ubuntu/Debian]

참고: 이는 LMD와 통합하기 위해 ClamAV를 설치하는 기본 지침일 뿐입니다. 앞서 말했듯이 LMD 서명은 여전히 위협 탐지 및 치료의 기초이므로 ClamAV 설정에 대해서는 자세히 설명하지 않겠습니다.

Linux 악성 코드 감지 테스트

이제 최근 LMD/ClamAV 설치를 테스트할 시간입니다. 실제 악성 코드를 사용하는 대신 EICAR 웹 사이트에서 다운로드할 수 있는 EICAR 테스트 파일을 사용합니다.

cd /var/www/html
wget http://www.eicar.org/download/eicar.com 
wget http://www.eicar.org/download/eicar.com.txt 
wget http://www.eicar.org/download/eicar_com.zip 
wget http://www.eicar.org/download/eicarcom2.zip 

이 시점에서 다음 cron 작업이 실행될 때까지 기다리거나 수동으로 maldet을 실행할 수 있습니다. 두 번째 옵션을 선택하겠습니다.

maldet --scan-all /var/www/

LMD는 와일드카드도 허용하므로 특정 유형의 파일(예: zip 파일)만 검사하려는 경우 다음을 수행할 수 있습니다.

maldet --scan-all /var/www/*.zip

스캔이 완료되면 LMD에서 보낸 이메일을 확인하거나 다음을 사용하여 보고서를 볼 수 있습니다.

maldet --report 021015-1051.3559

여기서 021015-1051.3559SCANID입니다(귀하의 경우 SCANID는 약간 다를 수 있습니다).

중요: eicar.com 파일이 두 번 다운로드되어(따라서 eicar.com 및 eicar.com.1이 생성됨) LMD가 5개의 조회수를 발견했습니다.

격리 폴더를 확인하면(파일 중 하나만 남겨두고 나머지는 삭제했습니다) 다음과 같은 내용을 볼 수 있습니다.

ls -l

그런 다음 다음을 사용하여 격리된 모든 파일을 제거할 수 있습니다.

rm -rf /usr/local/maldetect/quarantine/*

그런 경우에,

maldet --clean SCANID

어떤 이유로 일을 끝내지 못합니다. 위 프로세스에 대한 단계별 설명은 다음 스크린캐스트를 참조할 수 있습니다.

최종 고려 사항

maldetcron과 통합되어야 하므로 루트의 crontab에서 다음 변수를 설정해야 합니다(루트로 crontab -e를 입력하고 Enter 키) LMD가 매일 올바르게 실행되지 않는 경우:

PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
SHELL=/bin/bash

이는 필요한 디버깅 정보를 제공하는 데 도움이 됩니다.

결론

이 기사에서는 강력한 동맹인 ClamAV와 함께 Linux Malware Detect를 설치하고 구성하는 방법에 대해 논의했습니다. 이 두 가지 도구를 사용하면 맬웨어를 탐지하는 것이 다소 쉬워집니다.

그러나 앞서 설명한 README 파일에 익숙해지면 시스템이 잘 설명되고 잘 관리되고 있다는 확신을 가질 수 있습니다.

의견이나 질문이 있는 경우 아래 양식을 사용하여 주저하지 말고 남겨주세요.

참조 링크

LMD 홈페이지