LoginSignup
0
0

More than 1 year has passed since last update.

AWS S3にテストウイルスのファイルをLambdaでアップする

Last updated at Posted at 2021-06-04

はじめに

EICAR のテストウイルスが HTTP でダウンロードできなくなってしまったので、Amazon S3 の静的ウェブサイトを使ってテストウイルスのダウンロード環境を作ってみました。

image.png

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 にコードが残っていれば、再作成は容易いかなと思います。

参考サイト
https://rioner2525.hatenablog.com/entry/2019/07/25/185907
https://www.eicar.org/?page_id=3950

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0