AWS S3로 테스트 바이러스 파일을 Lambda로 업로드

소개



EICAR 테스트 바이러스를 HTTP로 다운로드할 수 없게 되었기 때문에 Amazon S3의 정적 웹 사이트를 사용하여 테스트 바이러스 다운로드 환경을 만들려고 했습니다.



Amazon S3 설정



버킷을 만들어 정적 웹사이트를 설정합니다.
자세한 내용은 아래 튜토리얼 및 기타 사이트를 참조하십시오.

Lambda 설정



언어는 Python 3.8에서 작성되었습니다.

아래 코드 저장 → Deploy → Test 실행으로 S3로 파일을 올립니다.
트리거 등 특별히 설정할 필요는 없습니다.

lambda_function.py
import json
import boto3
import os

def lambda_handler(event, context):
    # ローカルにテストファイル作成
    fp = open('/tmp/eicar.com', 'w')

    # EICARテストファイルのアスキー文字列を書き込みます
    fp.write('X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*')

    # ファイルのクローズ。
    fp.close()

    # S3アップロード
    s3 = boto3.resource('s3')
    s3.meta.client.upload_file('/tmp/eicar.com', '[S3バケット名]', 'eicar.com')

    # ローカルファイル削除
    os.remove('/tmp/eicar.com')


동작 확인



브라우저 등에서 다음 URL에 액세스하여 파일을 다운로드할 수 있는지 확인합니다.
http://[S3バケット名].s3-website-ap-northeast-1.amazonaws.com/eicar.com

※ 상기 지역은 도쿄이므로 환경에 맞게 URL을 조정하십시오.

작동하지 않는 경우 S3 버킷에 파일이 업로드되었는지 확인합니다.

마지막으로



이번에는 Lambda를 사용했지만, 한 번만의 작업으로 다른 시스템에서의 연계도 없기 때문에, 굳이 Lambda로 하는 메리트는 그다지 없었을지도 모릅니다.
글쎄, 환경을 만들고 부서서 반복할 때는 Lambda에 코드가 남아 있다면 재작성이 쉬울까 생각합니다.

참고 사이트
htps // 리오네 r2525. 하테나 bぉg. 코m/엔트리/2019/07/25/185907
htps //w w. 에이카 r. rg/? 파게_d=3950

좋은 웹페이지 즐겨찾기