Quarantine infected files Add-On

This add-on moves infected files into a quarantine bucket for further investigation.

The DeleteInfectedFiles parameter of the bucketAV stack must be set to false (defaults to true). Learn how to configure bucketAV.

Table of Contents

Setup

Install Add-On

  1. Set the Stack name to bucketav-quarantine.
  2. Set the BucketAVStackName parameter to the stack name of bucketAV (if you followed our docs, the name is bucketav, or s3-virusscan for older installations).
  3. Set the QuarantineBucketName parameter to an existing S3 bucket where quarantined files are stored.
  4. Select I acknowledge that AWS CloudFormation might create IAM resources.
  5. Click on the Create stack button to save.

Quarantine bucket in different AWS Account

If you have a multi-account setup, you might run the bucketAV in AWS account a while your quarantine bucket is created in AWS account b.

Add the following bucket policy statements to your quarantine S3 bucket in account b to grant bucketAV from account a access.

  • Replace ROLE_ARN with the QuarantineRoleArn output of the CloudFormation bucketav-quarantine stack from account a.
  • Replace BUCKET_NAME with the name of the quarantine S3 bucket from account b.
{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "bucketAVRequired1",
    "Effect": "Allow",
    "Principal": {
      "AWS": "ROLE_ARN"
    },
    "Action": "s3:ListBucket*",
    "Resource": "arn:aws:s3:::BUCKET_NAME"
  }, {
    "Sid": "bucketAVRequired2",
    "Effect": "Allow",
    "Principal": {
      "AWS": "ROLE_ARN"
    },
    "Action": "s3:PutObject*",
    "Resource": "arn:aws:s3:::BUCKET_NAME/*"
  }]
}

Source bucket in different AWS Account

If you have a multi-account setup, you might run the bucketAV in AWS account a while the source bucket is created in AWS account b.

Add the following bucket policy statements to your source S3 bucket in account b to grant bucketAV from account a access.

  • Replace ROLE_ARN with the QuarantineRoleArn output of the CloudFormation bucketav-quarantine stack from account a.
  • Replace BUCKET_NAME with the name of the source S3 bucket from account b.
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "ROLE_ARN"
      },
      "Action": "s3:ListBucket*",
      "Resource": "arn:aws:s3:::BUCKET_NAME"
    },
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "ROLE_ARN"
      },
      "Action": [
        "s3:GetObject*",
        "s3:DeleteObject*"
      ],
      "Resource": "arn:aws:s3:::BUCKET_NAME/*"
    }
  ]
}

When using KMS to encrypt the S3 bucket or objects, please note that a customer-managed KMS key is necessary for cross-account access. Use a KMS key policy and the add-on parameter KMSKeyRestriction to control access.

Update

Which version am I using?

  1. To update this add-on to version v2.4.0, go to the AWS CloudFormation Management Console .
  2. Double-check the region at the top right.
  3. Search for bucketav-quarantine (or s3-virusscan-quarantine for older installations), otherwise search for the name you specified.
  4. Select the stack and click on Update.
  5. Select Replace current template and set the Amazon S3 URL to https://bucketav-add-ons.s3.eu-west-1.amazonaws.com/quarantine/v2.4.0/bucketav-add-on-quarantine.yaml Copy
  6. Click on Next.
  7. Scroll to the bottom of the page and click on Next.
  8. Scroll to the bottom of the page and click on Next.
  9. Scroll to the bottom of the page, enable I acknowledge that AWS CloudFormation might create IAM resources, and click on Update stack.
  10. While the update runs, the stack status is UPDATE_IN_PROGRES. Reload the table from time to time and …
  11. … wait until the CloudFormation stack status switches to UPDATE_COMPLETE.

Architecture

The following AWS services are used:

  • SNS Subscription to connect to the Findings Topic.
  • Lambda Function to move the infected files into the quarantine S3 bucket.
  • CloudWatch Alarms to monitor the used AWS services.

Limitations

  • If you set QuarantineUnscannableFiles to true, only files up to 5 GB are moved.

Need more help?

Write us, and we'll get back to you as soon as we can.

Send us an email