S3でアンチウイルスかけたいんじゃ

3.4K Views

February 10, 24

スライド概要

KoedoLUG 2024.02 発表資料その2

profile-image

Georepublic / OSGeo.JP / Japan Unix Society / OpenStreetMap Foundation Japan

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

S3でアンチウイルスかけたいんじゃ Taro Matsuzawa (@smellman) KoedoLUG 2024/02 KoedoLUG 2024/02 1

2.

自己紹介 Georepublic Japan GIS Engineer Sub-President, Japan UNIX Society Director, OSGeo.JP Director, OpenStreetMap Foundation Japan Lead of United Nation OpenGIS/7 core Breakcore cluster KoedoLUG 2024/02 2

3.

やった事 S3にファイルをアップロードしたら、Lambdaでアンチウイルスをかける という仕組みは元々あった 今回はPython 3.12に対応をした ついでにLocalstackでテストもした KoedoLUG 2024/02 3

4.

bucket-antivirus-function https://github.com/Georepublic/bucket-antivirus-function 元々はUpside Travel, Inc.が作ったもの Upstreamが全滅している(2024/02/19現在) しょうがないので、会社のレポジトリに移動してPython 3.12に対応した 元はPython 3.7で止まっていて、LambdaのランタイムがEOLを迎えていた ついでにAmazon Linux 2023で動くようにした ついでにLocalstackでテストもした KoedoLUG 2024/02 4

5.

おおざっぱな仕組み S3にファイルをアップロードすると、Lambdaが起動する(イベントトリガー) LambdaはアップロードされたファイルをClamAVでスキャンする ウイルスがあれば、ファイルを検知した旨をLogに出力する。また、削除フラグが有効な らファイルを削除する ウイルスがなければ、何もしない KoedoLUG 2024/02 5

6.

やってること アンチウイルスの定義もS3で共有している 定期的にアップデートをする必要がある LambdaはS3にアップロードされたファイルを取得して、ClamAVでスキャンする ClamAVはS3にアップロードされたファイルを直接スキャンできないので、一時フ ァイルを作成してスキャンする KoedoLUG 2024/02 6

7.

localstackとは https://www.localstack.cloud/ AWSのローカル環境を提供するツール 今回はS3とLambdaを使ったので、それだけを使った 他にもいろいろある KoedoLUG 2024/02 7

8.

使い方 https://github.com/Georepublic/bucket-antivirusfunction/blob/master/.github/workflows/lambda.yaml Github Actionsのテストがわかりやすいかも READMEにも使い方は書いています Python 3.12のランタイムで動かす必要があります CDKとかでデプロイすると楽です KoedoLUG 2024/02 8

9.

まとめ Lambdaも定期的にEOLを迎えるので、アップデートを忘れないように ClamAV本体もたまにアップデートがあるので、それも忘れないように Local開発環境があるといろいろ楽になります Localstackは便利です KoedoLUG 2024/02 9