Linux 엔드포인트용 Microsoft Defender 함께 crontab을 사용하여 바이러스 백신 검사 예약

Linux 대한 검사를 실행하려면 지원되는 명령을 참조하세요.

Linux(및 Unix)의 경우 crontab(Windows의 작업 스케줄러와 유사)이라는 도구를 사용하여 예약된 작업을 실행할 수 있습니다.

필수 구성 요소

참고

모든 표준 시간대 목록을 얻으려면 다음 명령을 실행합니다. timedatectl list-timezones
표준 시간대의 예:

  • America/Los_Angeles
  • America/New_York
  • America/Chicago
  • America/Denver

Cron 작업 설정

cron 작업을 설정하려면 이 문서의 명령을 사용합니다.

crontab 항목 백업

항목을 편집하거나 제거하기 전에 이 단계를 수행합니다.

sudo crontab -l > /var/tmp/cron_backup_200919.dat

여기서 200919 = YYMMDD

crontab을 편집하고 루트 사용자로 새 작업을 추가하려면 다음을 수행합니다.

sudo crontab -e

참고

기본 편집기는 VIM입니다.

다음이 표시될 수 있습니다.

0 * * * * /etc/opt/microsoft/mdatp/logrorate.sh

Insert 키를 누른 다음 다음 항목을 추가합니다.

CRON_TZ=America/Los_Angeles

0 2 * * sat /usr/bin/mdatp scan quick > ~/mdatp_cron_job.log

참고

이 예제에서는 00분, 오전 2시(24시간 형식의 시간) 매월, 매월, 토요일로 설정했습니다. 이 설정은 작업이 토요일 오전 2:00에 실행됨을 의미합니다. Pacific(UTC -8).

Esc 키를 누른 다음 큰따옴표 없이 ":wq"를 입력합니다.

참고

w == write, q == quit

cron 작업을 보려면 다음을 입력합니다. sudo crontab -l

Linux mdatp 페이지의 스크린샷.

cron 작업 실행을 검사하려면

sudo grep mdatp /var/log/cron

mdatp_cron_job.log 검사하려면*

sudo nano mdatp_cron_job.log

검사 실행 확인

Linux 예약된 검사가 실행되었음을 확인하는 직접적인 방법을 제공하지 않습니다.

crontab을 통해 구성된 예약된 검사는 Linux 엔드포인트용 Microsoft Defender 상태 필드 또는 전용 확인을 표시하지 않습니다.

검사가 실행되었는지 확인하려면 다음 명령을 실행합니다.

mdatp scan list

mdatp scan list는 엔드포인트용 Microsoft Defender 디바이스에서 수행된 마지막 7개의 검사 기록을 반환합니다. 각 검사 항목에 대해 다음을 확인할 수 있습니다.

  • 스캔 유형 - 빠른 또는 전체
  • 스캔 시작 시간 - 예를 들어 2023년 1월 5일 오후 03:18:39
  • 검사 상태 - 예: 성공, 실패 또는 취소됨

이 명령을 사용하여 예약된 검사가 예상 날짜, 시간 및 빈도에서 실행되었는지 확인합니다.

출력은 마지막 7개의 검사만 포함합니다. 빠른 검사와 전체 검사가 정기적으로 실행되는지 검사 필요한 경우 시간이 지남에 따라 모니터링하거나 주위에 스크립트를 작성합니다.

다음을 통해 검사를 실행했는지 확인할 수도 있습니다.

주문형 검사 실행:

  • 빠른 검사

    mdatp scan quick
    
  • 전체 검사

     mdatp scan full
    
  • 특정 경로 검사

    mdatp scan custom --path /home/user/downloads
    

검사 결과 확인

  • 검색된 모든 위협을 나열합니다.

    mdatp threat list
    
  • 특정 위협에 대한 세부 정보를 가져옵니다.

    mdatp threat get --id [threat-id]
    

Ansible, Chef, Puppet 또는 SaltStack을 사용하는 경우

다음 명령을 사용합니다.

Ansible에서 cron 작업을 설정하려면

cron - Manage cron.d and crontab entries

자세한 내용은 Ansible 설명서를 참조하세요.

Chef에서 crontabs를 설정하려면

cron resource

자세한 내용은 Chef 설명서를 참조하세요.

Puppet에서 cron 작업을 설정하려면

Resource Type: cron

자세한 내용은 Puppet 설명서: 리소스 종류: cron을 참조하세요.

Puppet을 사용하여 자동화: Cron 작업 및 예약된 작업

자세한 내용은 작업 및 예약된 작업에 대한 Puppet 설명서를 참조하세요.

SaltStack에서 cron 작업을 관리하려면

Resource Type: salt.states.cron

예제:

mdatp scan quick > /tmp/mdatp_scan_log.log:
  cron.present:
    - special: '@hourly'

자세한 내용은 Salt.States.Cron 설명서를 참조하세요.

추가 정보

crontab에 대한 도움말을 보려면

man crontab

현재 사용자의 crontab 파일 목록을 얻으려면

crontab -l

다른 사용자에 대한 crontab 파일 목록을 얻으려면

crontab -u username -l

crontab 항목을 백업하려면

항목을 편집하거나 제거하기 전에 이 단계를 수행합니다.

crontab -l > /var/tmp/cron_backup.dat

crontab 항목을 복원하려면

crontab /var/tmp/cron_backup.dat

crontab을 편집하고 루트 사용자로 새 작업을 추가하려면

sudo crontab -e

crontab을 편집하고 새 작업을 추가하려면

crontab -e

다른 사용자의 crontab 항목을 편집하려면

crontab -u username -e

모든 crontab 항목을 제거하려면

crontab -r

다른 사용자의 crontab 항목을 제거하려면

crontab -u username -r

설명

+—————- minute (values: 0 - 59) (special characters: , \- \* /)  <br>
| +————- hour (values: 0 - 23) (special characters: , \- \* /) <br>
| | +———- day of month (values: 1 - 31) (special characters: , \- \* / L W C)  <br>
| | | +——- month (values: 1 - 12) (special characters: , \- \* /)  <br>
| | | | +—- day of week (values: 0 - 6) (Sunday=0 or 7) (special characters: , \- \* / L W C) <br>
| | | | |*****command to be executed

참고 항목