318 Views
September 12, 24
スライド概要
CySec 10周年記念行事発表資料
Georepublic / OSGeo.JP / Japan Unix Society / OpenStreetMap Foundation Japan
S3でアンチウイルスかけたいんじゃ(CySecバージョ ン) Taro Matsuzawa (@smellman) CySec 2024/09/12 CySec 2024/09/12 1
自己紹介 Georepublic Japan GIS Engineer 日本UNIXユーザ会 副会長 一般社団法人OSGeo日本支部理 事 OpenStreetMap Foundation Japan理事 Lead of United Nation OpenGIS/7 core 東京電機大学OB, CySec OB 趣味: Breakcore 一般社団法人 CySec 2024/09/12 2
著書など Firefox 3 Hacks (共著, Oreilly Japan) Firefox Hacks Rebooted (共著, Oreilly Japan) React Native+Expoではじめるス マホアプリ開発 (単著, マイナビ 出版) 雑誌(C Magazine, Software Design, Interface)への寄稿 キオクシア同人誌への寄稿 CySec 2024/09/12 3
近況など ISMS取りました。 Secure Naviというサイトを活用。 会社で 僕はほとんど手を動かしてないです。 一昨日までケニアにいました。 という State of the Map 2024 OpenStreetMapの国際カンファレンスに参加。 昨日帰国しました。 CySec 2024/09/12 4
本資料について 2024年2月に小江戸らぐで発表した物の使い回しです。 https://koedolug.connpass.com/ 小江戸らぐでは様々な発表がありますので、興味 があれば是非参加してみてください。 CySec 2024/09/12 5
やった事 S3にファイルをアップロードしたら、Lambdaでアンチウイルスをかける という仕組みは元々あった Python 3.12に対応をした ついでにLocalstackでテストもした 今回は CySec 2024/09/12 6
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でテストもした CySec 2024/09/12 7
おおざっぱな仕組み S3にファイルをアップロードすると、Lambdaが起動する(イベントトリガー) LambdaはアップロードされたファイルをClamAVでスキャンする ウイルスがあれば、ファイルを検知した旨をLogに出力する。また、削除フラグが 有効ならファイルを削除する ウイルスがなければ、何もしない CySec 2024/09/12 8
やってること S3 アンチウイルスの定義も で共有している 定期的にアップデートをする必要がある LambdaはS3にアップロードされたファイルを取得して、ClamAVでスキャンする ClamAVはS3にアップロードされたファイルを直接スキャンできないので、一 時ファイルを作成してスキャンする CySec 2024/09/12 9
localstackとは https://www.localstack.cloud/ AWSのローカル環境を提供するツール 今回はS3とLambdaを使ったので、それだけを使った 他にもいろいろある CySec 2024/09/12 10
使い方 https://github.com/Georepublic/bucket-antivirusfunction/blob/master/.github/workflows/lambda.yaml Github Actionsのテストがわかりやすいかも READMEにも使い方は書いています Python 3.12のランタイムで動かす必要があります CDKとかでデプロイすると楽です CySec 2024/09/12 11
まとめ Lambdaも定期的にEOLを迎えるので、アップデートを忘れないように ClamAV本体もたまにアップデートがあるので、それも忘れないように Local開発環境があるといろいろ楽になります Localstackは便利です CySec 2024/09/12 12