标签: amazon-waf

更新 CloudFront Distribution (E32RNPFGEUHQ6J) 时出错:InvalidWebACLId:请求者无法访问 Web ACL

我正在使用它terraform创建一个web-aclinaws并希望将其web-acl与 CloudFront 发行版关联起来。

所以,我的代码如下所示:

provider "aws" {
  alias  = "east1"
  region = "us-east-1"
}

# -------------------------------------------
# -------------------------------------------
# Cloud Front
module "front_end_cloudfront" {
  source = "./modules/front-end/CF"

  # CF_ALIASES = ["terraformer-frontend.dev.effi.com.au"]  
  CF_LAMBDA_ARN = module.frontend_lambda.cf_lambda_qualified_arn
  CF_BUCKET_DOMAIN_NAME = module.front_end_bucket.website_endpoint
  CF_BUCKET_ORIGIN_ID = module.front_end_bucket.website_domain
  CF_TAGS_LIST = { "Name" : "terraformer-front-end-cloudfrontv2" }
  CF_CERTFICATE_ARN = var.CLOUDFRONT_US_EAST_1_ACM_ARN
  # WEB_ACL = module.waf.web_acl_id
  WEB_ACL = module.waf_cf.web_acl_id

  depends_on = [module.waf_cf]
}



# -------------------------------------------
# -------------------------------------------
# WAF for CF
module "waf_cf" { …
Run Code Online (Sandbox Code Playgroud)

amazon-cloudfront terraform amazon-waf

18
推荐指数
2
解决办法
8463
查看次数

AWS Cloudfront(使用WAF)+ API网关:如何通过Cloudfront强制访问?

我想把WAF放在API网关的前面,并且我发现只有通过在APIG面前手动添加启用了WAF的额外Cloudfront发行版才能获得(小)信息.这有点遗憾,特别是因为APIG现在本身支持自定义域,但它应该有效.

现在为了使解决方案安全而不仅仅是模糊,我想强制要求只能通过Cloudfront发行版访问API.这样做的最佳选择是什么?

  • 我希望能够使用类似于S3的'Origin Access Identities',但不知道如何做到这一点.
  • 如果我可以将一个IAM用户(或角色?)分配给Cloudfront发行版,我可以使用API​​G IAM功能,但我不知道如何做到这一点.
  • 我可能需要在APIG中使用API​​密钥,并将其作为来自Cloudfront的Origin Custom Header传递.这可能有用,只要我们不想将API密钥用于其他目的,所以我对此并不完全满意.
  • 可以使用虚拟(!)自定义授权程序,令牌验证表达式实际检查从Cloudfront作为Origin自定义标头传递的秘密.应该工作,它更灵活,但有点脏......或不?

有更好的想法吗?或者也许"正确的方式"存在,但我忽略了它?

amazon-web-services amazon-cloudfront aws-api-gateway amazon-waf

13
推荐指数
1
解决办法
4691
查看次数

Elastic Beanstalk更改ELB类型

有谁知道是否可以将现有的AWS Elastic Beanstalk环境更改为应用程序负载均衡器(而不是经典的).

据我所知,只有应用程序ELB可以使用AWS WAF和DDOS"Shield"进行保护,因此任何现有的EB应用程序都无法利用这些功能,因为它们具有经典的ELB.

amazon-web-services amazon-elb amazon-elastic-beanstalk amazon-waf

13
推荐指数
3
解决办法
5418
查看次数

如何通过CloudFormation将AWS WAF添加到ALB

我找不到任何关于如何通过CloudFormation将WAF与ALB相关联的示例或文档.据说可能通过这个新闻公告https://aws.amazon.com/about-aws/whats-new/2017/05/cloudformation-support-for-aws-waf-on-alb/,但没有任何东西我发现这表明如何.使用CloudFront而不是ALB已有详细记录,但我没有找到关于使用ALB(通过CloudFormation)的单个示例.

更新:我不需要一个完整的示例来为我完成整个设置,但至少需要一个片段来指出WAF如何知道与ALB关联,反之亦然.链接是什么缺失.

amazon-web-services aws-cloudformation amazon-waf amazon-alb

9
推荐指数
1
解决办法
3361
查看次数

基于速率的WAF规则的云形成支持

我想在aws中建立一个Cloud Formation,将基于速率的规则附加到我的LB. 我已经阅读了几个小时的AWS文档,我知道如何在Cloud Formation中创建常规的WAF规则并将它们附加到我在Cloud Formation中的LB. 问题是我无法找到如何在CF中创建基于速率的WAF类型规则,云形成中没有RateBasedRule对象.有谁知道怎么解决这个问题?

amazon-web-services aws-cloudformation amazon-waf

7
推荐指数
1
解决办法
573
查看次数

有什么方法可以使用 terraform 将 aws ELB/ALB 与 WAF ACL 相关联?

我创建了以下 AWS WAF ACL,我想使用 terraform 将它与我的 ALB 相关联。有什么办法可以使用 terraform 做到这一点吗?我想使用亚马逊 Web 服务 Web 应用程序防火墙 aws waf 阻止除具有密钥的请求之外的所有请求。为此,我创建了 byte_set、aws 规则和访问控制列表、ACL

    resource "aws_alb" "app" {
    ............
  }


#waf
resource "aws_waf_byte_match_set" "byte_set" {
  name = "tf_waf_byte_match_set"

  byte_match_tuples {
    text_transformation   = "NONE"
    target_string         = "${var.secret_key}"
    positional_constraint = "EXACTLY"

    field_to_match {
      type = "HEADER"
      data = "referer"
    }
  }
}

resource "aws_waf_rule" "wafrule" {
  depends_on  = ["aws_waf_byte_match_set.byte_set"]
  name        = "tfWAFRule"
  metric_name = "tfWAFRule"

  predicates {
    data_id = "${aws_waf_byte_match_set.byte_set.id}"
    negated = false
    type    = "ByteMatch"
  } …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services terraform amazon-waf

6
推荐指数
3
解决办法
3921
查看次数

带有Cloudformation WAFRegional的SAM API网关

为了保护我们的API,我正在尝试使用RateBasedRule部署WAFRegional。API网关位于SAM模板中,其中我还有一个嵌套堆栈,用于存放WAFRegional配置的子模板。下面提供了WAFRegional配置的子模板。在ExecuteChangeSet阶段将发生以下情况:

  1. CamerasIpSet已创建

  2. 创建了CamerasRateRule

  3. WAFCamerasWebACL CREATE_FAILED:引用的项目不存在。(服务:AWSWAFRegional;状态代码:400;错误代码:WAFNonexistentItemException

我发现大约2个月前的以下帖子,其中有人在使用Serverless时遇到相同的问题:https : //forum.serverless.com/t/dependon-api-gateway-deployment/7792

我在这里错过了什么?

AWSTemplateFormatVersion: '2010-09-09'
Description: 'Template for WAF Configuration'
Parameters:
  CamerasApi:
    Description: "Arn of the Cameras Api"
    Type: String
    Default: cameras-api-dev
  StageName:
    Description: "Stage name of the Cameras Api"
    Type: String
    Default: v
  Blocking:
    Description: "Number of calls per 5 minutes for WAF IP blocking."
    Type: Number
    Default: 2000
  EnvironmentType:
    Type: String
    Default: "dev"
    Description: "Type of environment: dev, staging or prod."


Resources:
  WAFCamerasWebACL:
    Type: AWS::WAFRegional::WebACL
    DependsOn: CamerasRateRule
    Properties:
      DefaultAction:
        Type: ALLOW …
Run Code Online (Sandbox Code Playgroud)

aws-cloudformation amazon-waf aws-sam

6
推荐指数
1
解决办法
557
查看次数

AWS WAF XSS 检查表单字段值中包含“ON”关键字的阻止表单

在表单字段中发布包含“on”或任何以“on”开头的单词作为最后一个单词的表单,会导致此规则阻止的 aws waf 的 XSS 阻止正文在解码为 URL 后包含跨站点脚本威胁,例如“20 only” ”或“在线”或“检查”XSS 块中的所有结果

这些看似平常的话,为什么会因为xss而被屏蔽呢?

但末尾有空格,它不会阻止例如“仅二十”或“在线”或“检查”这些作品

xss amazon-waf

6
推荐指数
2
解决办法
4058
查看次数

如何在 AWS 中保护基于 HTTP 的 API 网关

AWS API Gateway 有两个版本:

  • 休息版本
  • HTTP 版本 (v2)

我正在使用带有 lambda 授权者的较新 HTTP 版本,并且希望保护我的暂存/测试环境免受外部请求的影响。一种想法是在 API 网关前面放置一个 WAF,但不幸的是只有 REST 版本的网关支持 WAF。

对于如何保护这些资源以便只能从特定的 IP 范围访问它们有什么建议吗?(公司VPN)

amazon-web-services aws-api-gateway amazon-waf lambda-authorizer

6
推荐指数
2
解决办法
2139
查看次数

AWS ACL/WAF - 如何更改规则优先级?

我有一个与我的应用程序负载均衡器关联的 WAF ACL,并且我想更改规则的优先级。我一生都找不到任何有关如何完成此操作的文档,也无法弄清楚如何调整 AWS UI 中的优先级。这是可能的还是我必须以不同的顺序从头开始重新创建我的 ACL?

在此输入图像描述

acl amazon-web-services amazon-waf

5
推荐指数
1
解决办法
5067
查看次数