当前位置: 首页 > 软件库 > 云计算 > >

aws-s3-virusscan

Antivirus for Amazon S3
授权协议 Apache-2.0 License
开发语言 C/C++
所属分类 云计算
软件类型 开源软件
地区 不详
投 递 者 卫嘉谊
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Antivirus for Amazon S3

This template creates a malware scanner cluster for S3 buckets. Connect as many S3 buckets as you like.

bucketAV - Antivirus for Amazon S3 with additional features is available at AWS Marketplace.

Features

  • Uses ClamAV to scan newly added files on S3 buckets
  • Updates ClamAV database every 3 hours automatically
  • Scales EC2 instance workers to distribute the workload
  • Publishes a message to SNS in case of a finding
  • Can optionally delete compromised files automatically
  • Logs to CloudWatch Logs

Additional Commercial Features by bucketAV

  • Reporting capabilities
  • Dashboard
  • Scan buckets at regular intervals / initial bucket scan
  • Quarantine infected files
  • Enhanced security features (e.g., IMDSv2)
  • Regular Security updates
  • Multi-Account support
  • AWS Integrations:
    • CloudWatch Integration (Metrics and Dashboard)
    • Security Hub Integration
    • SSM OpsCenter Integration
  • S3 -> SNS fan-out support
  • Support

bucketAV - Antivirus for Amazon S3 with additional features is available at AWS Marketplace.

How does it work

A picture is worth a thousand words:

  1. A SQS queue is used to decouple scan jobs from the ClamAV workers. Each S3 bucket can fire events to that SQS queue in case of new objects. This feature of S3 is called S3 Event Notifications.
  2. The SQS queue is consumed by a fleet of EC2 instances running in an Auto Scaling Group. If the number of outstanding scan jobs reaches a threshold a new ClamAV worker is automatically added. If the queue is mostly empty workers are removed.
  3. The ClamAV workers run a simple ruby script that executes the clamscan command. In the background the virus db is updated every three hours.
  4. If clamscan finds a virus the file is directly deleted (you can configure that) and a SNS notification is published.

Installation

Create the CloudFormation Stack

  1. This templates depends on one of our vpc-*azs.yaml templates. Launch Stack
  2. Launch Stack
  3. Click Next to proceed with the next step of the wizard.
  4. Specify a name and all parameters for the stack.
  5. Click Next to proceed with the next step of the wizard.
  6. Click Next to skip the Options step of the wizard.
  7. Check the I acknowledge that this template might cause AWS CloudFormation to create IAM resources. checkbox.
  8. Click Create to start the creation of the stack.
  9. Wait until the stack reaches the state CREATE_COMPLETE

Configure the buckets

Configure the buckets you want to connect to as shown in the next figure:

Make sure you select the -ScanQueue- NOT the -ScanQueueDLQ-!

Configure E-Mail subscription

If you like to receive emails if a virus was found you must subscribe to the SNS topic as shown in the next two figures:

You will receive a confirmation email.

bucketAV - Antivirus for Amazon S3 with additional features is available at AWS Marketplace.

Troubleshooting

  1. Go to CloudWatch Logs in the AWS Management Console
  2. Click on the log group of the s3-virusscan
  3. Click on the blue Search Log Group button
  4. Search for "s3-virusscan["

Known issues / limitations

  • It was reported that the solution does not run on a t2.micro or smaller. Use at least a t2.small instance.
  • An initial scan may also be useful but is not performed at the moment. This could be implemented with a Lambda function that pushes every key to SQS.
  • Amazon的S3是一个公开的服务,使 Web 开发人员能够存储数字资产(如图片、视频、音乐和文档等),以便在应用程序中使用。开发人员将数字资源通过S3 API或登陆S3的管理页面,上传到S3服务器,生成一个url,可以通过url访问该数字资源。 我们这里采用S3 API工具类的为JetS3t。通过rest接口操作S3上的对象,用到的jar包为jets3t-0.9.0.jar。     常用操作A

  • 官方文档:https://docs.aws.amazon.com/zh_cn/sdk-for-java/v1/developer-guide/examples-s3.html maven依赖 <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s

  • 需要用的类 #import <AWSS3.h> #import <AWSCore.h> //1和2需要在aws控制台里面配置 1.权限配置:访问控制列表 必须公有 2.存储桶策略 需要在编辑器加以下代码 //"Resource": "arn:aws:s3:::@“存储桶的名称”/*" //其他固定 {    "Version": "2012-10-17",     "Statement": [  

  • AWS S3 SDK接入 参考资料: 使用 AWS SDK for Java 的 Amazon S3 示例 适用于 Java 的 AWS 开发工具包 根据我目前的业务,这里有一个需求,一个是在指定S3存储桶中查看文件目录,另外一个是列出S3中所有的存储桶资源。这里的代码片段中,比较重要的是第一个需求,如何查看存储桶中指定目录层级下的所有文件目录。 package com.nkm.deploy.se

  • 详情 https://boto3.readthedocs.io/en/latest/reference/services/s3.htm pip install boto3 == 1.6.12 #### pip install boto3==1.6.12 # -*- coding: utf-8 -*- """ @contact: lishulong.never@gmail.com @time: 20

  • S3 基础知识 Amazon Simple Storage Service (Amazon S3) 是一项面向 Internet 的存储服务。您可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。您可以通过 AWS 管理控制台这一简单直观的 Web 界面来完成这些任务。本指南将向您介绍 Amazon S3 以及如何使用 AWS 管理控制台来完成下图中所示的任务。

  • 从S3的API上来看,S3的资源分为Bucket和Object 2种类型。Bucket是S3根对象(如果S3是根目录的话,那么Bucket就是根目录下的文件夹),所有位于Bucket下的资源都是Object,但是其实Object可以分成目录和文件2种(虽然从API上是区分不出的,他们都是Object),但是可以通过他们的名字来区分,目录一定是以/结尾,而文件末尾肯定没有/。这个也是S3的API用以

  • 配置国内s3客户端时,找国内s3地址找了很久,分享出来供大家使用: 国内S3与国外S3在编程时注意以下几点: 1)URL不通用 国际版的S3可以使用不带Region的URL,例如:http://{bucket}.s3.amazonaws.com/ 国内版必须指定Region并且使用专用的国内域名:http://{bucket}.s3.cn-north-1.amazonaws.com.cn/ 2)签

  • package com.s3demo.util; import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicA

  • 我目前无法将aws sdk包放入servicenow。我需要下载一个文件/从s3存储桶中获取对象,但我的代码结果只提供存储桶中所有内容的列表。如果我把对象的确切地址作为端点,我会得到一些无法验证规范地址的行 我现在已经能够将aws4包和cryptojs包投入服务。 var creds= { accessKeyId: 'access key' , secretAccessKey: 'secretAc

  • 利用S3fs在Amazon EC2 Linux实例上挂载S3存储桶 背景介绍 Amazon S3是互联网存储解决方案,能让所有开发人员访问同一个具备可扩展性、可靠性、安全性和快速价廉的数据存储基础设施。Amazon S3 提供了一个简单 Web 服务接口,可用于随时在 互联网上的任何位置存储和检索任何数量的数据。开发人员可以利用Amazon提供的REST API接口,命令行接口或者支持不同语言的S

  • application.properties 配置文件 s3.accessKey= ---- s3.secretKey= ---- s3.bucket.name= ---- 1.引入依赖 <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artif

  • AWS S3 全称:(Amazon Simple Storage Service), 是一种面向网络的存储服务,可以支持用户随时在Web的任何位置,存储和检索任意大小的数据 本身也提供了简单而直观的管理控制台来处理这些任务,但我这里使用的是,面向Java方向的S3网络存储服务 在进入正题之前,首先介绍下AWS S3的一些概念 1.存储桶 存储桶是Amazon S3中用于存储对象的容器,每个对象都存

 相关资料
  • 我正在Rails 5、Ruby 2.4.0中构建一个web应用程序,并使用AWS-SDK Gem和Siline Gem。 目前,当我尝试将图像上传到我的AWS Bucket时,我会收到此错误消息。 我在这里验证了我的区域:http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region 我的圣地。rb文件: 我在该区域硬编码,看看是

  • AWS是Amazon Web Services。 S3是他们的静态存储,可以配置为静态站点托管。 Cloudfront是他们的CDN(内容分发网络) 在AWS w / S3 + Cloudfront上托管静态页面的 Nuxt应用程序功能强大且价格低廉。 如果我们错过了一个步骤,请提交PR以更新此文档。 概览 我们将通过一些AWS服务托管超级便宜: S3 云数据"bucket"为我们的网站文件 可以

  • 我试图遵循AWS Lambda Java示例:http://docs.aws.amazon.com/lambda/latest/dg/with-s3-example-deployment-pkg.html#with-s3示例部署pkgJava 创建了新的类以插入S3映像修改lambda代码。添加了aws-lambda-java-core1.0.0,aws-lambda-java-event1.0.

  • 如何使用像CloudTrail或CloudWatch这样的AWS服务来检查哪个用户执行了事件DeleteObject? 我可以使用S3事件向SNS发送删除事件,通知电子邮件地址某个特定文件已从S3 bucket中删除,但消息中不包含删除该文件的用户名。 我可以使用CloudTrail将与S3 bucket相关的所有事件记录到另一个bucket,但我进行了测试,它记录了许多详细信息,只记录了事件,而

  • S3 是 Simple Storage Service 的缩写,是 AWS 提供的云存储服务,价格公道、服务稳定,因此被广泛应用在静态文件存储、内容备份、大数据分析领域。 基本概念 在使用 S3 前首先需要了解一些基本概念: 对象:即文件。 Bucket:官方翻译为存储桶,是在网络存储服务中广泛使用的一个概念,通常用于区分文件所在区域,可以对比操作系统不同盘符来理解。 AWS CLI:AWS 提供

  • 我正在开发一个特性,使用Angular/预签名url和API Gateway/lambda生成预签名url将文件上传到S3。 我的工作流描述如下: 从模板中获取选定文件 请求我的api(网关/lambda)使用文件名生成预签名的URL。 const body={filename:this.selectedfile.name}const preSignedUrl=await this.http.po