Clamav
: 유닉스 계열 오픈소스 안티 바이러스 프로그램.
Install
1. clamav 및 clamav 업데이트 설치
dnf --enablerepo=epel -y install clamav clamav-update
2. 설정파일
vim /etc/freshclam.conf
3. DB업데이트
freshclam
clamav검사
clamscan --infected --remove --recursive [검사 대상 위치]
검사 테스트
eicar-com파일 다운로드
wget https://www.eicar.org/download/eicar-com
https://www.eicar.org/download-anti-malware-testfile/
바이러스 검사
clamscan --infected --remove --recursive .
[root@rocky-9 smb]# clamscan --infected --remove --recursive ./
/home/smb/eicar.txt: Win.Test.EICAR_HDB-1 FOUND
/home/smb/eicar.txt: Removed.
----------- SCAN SUMMARY -----------
Known viruses: 8700171
Engine version: 1.0.7
Scanned directories: 6
Scanned files: 9
Infected files: 1
Data scanned: 0.08 MB
Data read: 0.07 MB (ratio 1.24:1)
Time: 36.878 sec (0 m 36 s)
Start Date: 2024:11:25 17:08:22
End Date: 2024:11:25 17:08:59
옵션
Clam AntiVirus: 스캐너 1.0.7
ClamAV 팀 제공: https://www.clamav.net/about.html#credits
(C) 2022 Cisco Systems, Inc.
clamscan [옵션] [파일/디렉터리/-]
--help -h 도움말 표시
--version -V 버전 번호 출력
--verbose -v 자세한 정보 출력
--archive-verbose -a 스캔한 아카이브 내부 파일명 표시
--debug libclamav의 디버그 메시지 활성화
--quiet 오류 메시지만 출력
--stdout stderr 대신 stdout에 출력. 'debug' 메시지에는 영향을 주지 않음.
--no-summary 스캔 완료 후 요약 정보 비활성화
--infected -i 감염된 파일만 출력
--suppress-ok-results -o 정상 파일 출력 생략
--bell 바이러스 감지 시 경고음 발생
--tempdir=디렉터리 임시 파일을 지정된 디렉터리에 생성
--leave-temps[=yes/no(*)] 임시 파일 제거하지 않음
--gen-json[=yes/no(*)] 스캔된 파일에 대한 JSON 메타데이터 생성 (테스트 및 개발용)
JSON은 --debug 활성화 시 출력.
--leave-temps 활성화 시 JSON 파일이 임시 디렉터리에 저장됨.
--database=파일/디렉터리 -d 파일/디렉터리 지정된 파일/디렉터리에서 바이러스 데이터베이스 로드
--official-db-only[=yes/no(*)] 공식 서명만 로드
--log=파일 -l 파일 스캔 보고서를 지정된 파일에 저장
--recursive[=yes/no(*)] -r 하위 디렉터리를 재귀적으로 스캔
--allmatch[=yes/no(*)] -z 매칭 발생 후 파일 내부 스캔 계속
--cross-fs[=yes(*)/no] 다른 파일 시스템의 파일 및 디렉터리 스캔
--follow-dir-symlinks[=0/1(*)/2] 디렉터리 심볼릭 링크 추적 (0=추적 안 함, 1=직접, 2=항상)
--follow-file-symlinks[=0/1(*)/2] 파일 심볼릭 링크 추적 (0=추적 안 함, 1=직접, 2=항상)
--file-list=파일 -f 파일 지정된 파일 목록에서 파일 스캔
--remove[=yes/no(*)] 감염된 파일 제거 (주의 요망!)
--move=디렉터리 감염된 파일을 지정된 디렉터리로 이동
--copy=디렉터리 감염된 파일을 지정된 디렉터리로 복사
--exclude=정규식 지정된 정규식을 포함한 파일 이름 스캔 제외
--exclude-dir=정규식 지정된 정규식을 포함한 디렉터리 스캔 제외
--include=정규식 지정된 정규식을 포함한 파일 이름만 스캔
--include-dir=정규식 지정된 정규식을 포함한 디렉터리만 스캔
--bytecode[=yes(*)/no] 데이터베이스에서 바이트코드 로드
--bytecode-unsigned[=yes/no(*)] 서명되지 않은 바이트코드 로드
**주의**: 신뢰할 수 없는 소스로부터 바이트코드 서명을 절대 실행하지 말 것.
실행 시 임의 코드 실행 가능성 존재.
--bytecode-timeout=N 바이트코드 타임아웃 설정 (밀리초)
--statistics[=none(*)/bytecode/pcre] 실행 통계 수집 및 출력
--detect-pua[=yes/no(*)] PUA(잠재적으로 원치 않는 애플리케이션) 탐지
--exclude-pua=카테고리 PUA 서명 중 지정된 카테고리 제외
--include-pua=카테고리 PUA 서명 중 지정된 카테고리 포함
--detect-structured[=yes/no(*)] 구조화된 데이터(SSN, 신용카드) 탐지
--structured-ssn-format=X SSN 형식 설정 (0=일반, 1=축약, 2=둘 다)
--structured-ssn-count=N 탐지에 필요한 최소 SSN 개수 설정
--structured-cc-count=N 탐지에 필요한 최소 신용카드 개수 설정
--structured-cc-mode=X 신용카드 모드 설정 (0=신용/직불/사설 라벨, 1=신용카드만)
--scan-mail[=yes(*)/no] 메일 파일 스캔
--phishing-sigs[=yes(*)/no] 이메일 서명 기반 피싱 탐지 활성화
--phishing-scan-urls[=yes(*)/no] URL 서명 기반 피싱 탐지 활성화
--heuristic-alerts[=yes(*)/no] 휴리스틱 경고 활성화
--heuristic-scan-precedence[=yes/no(*)] 휴리스틱 매칭 시 스캔 중단
--normalize[=yes(*)/no] HTML, 스크립트, 텍스트 파일 정규화
Yara 호환성을 위해 normalize=no 사용
--scan-pe[=yes(*)/no] PE 파일 스캔
--scan-elf[=yes(*)/no] ELF 파일 스캔
--scan-ole2[=yes(*)/no] OLE2 컨테이너 스캔
--scan-pdf[=yes(*)/no] PDF 파일 스캔
--scan-swf[=yes(*)/no] SWF 파일 스캔
--scan-html[=yes(*)/no] HTML 파일 스캔
--scan-xmldocs[=yes(*)/no] XML 기반 문서 파일 스캔
--scan-hwp3[=yes(*)/no] HWP3 파일 스캔
--scan-archive[=yes(*)/no] 아카이브 파일 스캔 (libclamav 지원)
--alert-broken[=yes/no(*)] 손상된 실행 파일(PE & ELF)에 대한 경고
--alert-broken-media[=yes/no(*)] 손상된 그래픽 파일(JPEG, TIFF, PNG, GIF)에 대한 경고
--alert-encrypted[=yes/no(*)] 암호화된 아카이브 및 문서에 대한 경고
--alert-encrypted-archive[=yes/no(*)] 암호화된 아카이브에 대한 경고
--alert-encrypted-doc[=yes/no(*)] 암호화된 문서에 대한 경고
--alert-macros[=yes/no(*)] VBA 매크로가 포함된 OLE2 파일 경고
--alert-exceeds-max[=yes/no(*)] 최대 파일 크기, 최대 스캔 크기 또는 최대 재귀 한도를 초과한 파일 경고
--alert-phishing-ssl[=yes/no(*)] SSL 불일치를 포함한 이메일 URL에 대한 경고
--alert-phishing-cloak[=yes/no(*)] 은폐된 URL을 포함한 이메일에 대한 경고
--alert-partition-intersection[=yes/no(*)] 파티션 교차를 포함한 원시 DMG 이미지 파일 경고
--nocerts PE 파일의 인증서 체인 검증 비활성화
--dumpcerts PE 파일의 인증서 체인 덤프
--max-scantime=#n 설정 시간 초과 시 스캔 중단(밀리초 단위)
--max-filesize=#n 설정 크기 초과 파일은 스캔 생략
--max-scansize=#n 각 컨테이너 파일의 최대 스캔 데이터 크기
--max-files=#n 각 컨테이너 파일의 최대 스캔 파일 수
--max-recursion=#n 컨테이너 파일에 대한 최대 아카이브 재귀 수준
--max-dir-recursion=#n 디렉터리에 대한 최대 재귀 수준
--max-embeddedpe=#n 임베디드 PE 확인을 위한 최대 파일 크기
--max-htmlnormalize=#n 정규화할 HTML 파일의 최대 크기
--max-htmlnotags=#n 정규화된 HTML 파일의 최대 크기
--max-scriptnormalize=#n 정규화할 스크립트 파일의 최대 크기
--max-ziptypercg=#n 유형 재분석할 최대 ZIP 크기
--max-partitions=#n 스캔할 디스크 이미지의 최대 파티션 수
--max-iconspe=#n 스캔할 PE 파일의 최대 아이콘 수
--max-rechwp3=#n HWP3 파싱 함수의 최대 재귀 호출 수
--pcre-match-limit=#n PCRE 매치 함수의 최대 호출 수
--pcre-recmatch-limit=#n PCRE 매치 함수의 최대 재귀 호출
Amavise
: 전자메일 오픈소스 컨텐츠 필터. 스팸, 바이러스 등에 대한 필터링을 수행
Install
1. amavised-new, clamd, perl-Digest-SHA1, perl-IO-stringy 설치
dnf --enablerepo=epel,crb -y install amavisd-new clamd perl-Digest-SHA1 perl-IO-stringy
2. 설정 변경
vim /etc/clamd.d/scan.conf
# 14번째 줄
# 로그 파일 위치 설정
LogFile /var/log/clamd.scan
# 81번째 줄
# 임시 파일 위치 설정
TemporaryDirectory /var/tmp
# 96번째 줄
# 소켓 설정
LocalSocket /run/clamd.scan/clamd.sock
systemctl restart clamav-*
3. 메일 설정
vim /etc/amavisd/amavisd.conf
# 23번째 줄
$mydomain = 'kong.com';
# 171번째 줄
$myhostname = 'mail.kong.com';
Postfix에 필터 적용
1. postfix 설정 변경
vim /etc/postfix/main.cf
content_filter=smtp-amavis:[127.0.0.1]:10024
# amavis가 쓰는 포트번호 : 10024
vim /etc/postfix/master.cf
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
systemctl restart postfix
'네트워크 및 서버 > 서버' 카테고리의 다른 글
Web Server 로드밸런싱 구현 (2) (0) | 2024.12.03 |
---|---|
Web Server 로드밸런싱 (0) | 2024.12.02 |
Web(Apache) SSL 인증서 발급 및 적용 (0) | 2024.11.15 |
서버 실습 (0) | 2024.11.15 |
SNMP(Agent) 설정 / MRTG, Cacti 설치 (0) | 2024.10.25 |