我正在使用它terraform
创建一个web-acl
inaws
并希望将其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) 我想把WAF放在API网关的前面,并且我发现只有通过在APIG面前手动添加启用了WAF的额外Cloudfront发行版才能获得(小)信息.这有点遗憾,特别是因为APIG现在本身支持自定义域,但它应该有效.
现在为了使解决方案安全而不仅仅是模糊,我想强制要求只能通过Cloudfront发行版访问API.这样做的最佳选择是什么?
有更好的想法吗?或者也许"正确的方式"存在,但我忽略了它?
amazon-web-services amazon-cloudfront aws-api-gateway amazon-waf
有谁知道是否可以将现有的AWS Elastic Beanstalk环境更改为应用程序负载均衡器(而不是经典的).
据我所知,只有应用程序ELB可以使用AWS WAF和DDOS"Shield"进行保护,因此任何现有的EB应用程序都无法利用这些功能,因为它们具有经典的ELB.
amazon-web-services amazon-elb amazon-elastic-beanstalk amazon-waf
我找不到任何关于如何通过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
我想在aws中建立一个Cloud Formation,将基于速率的规则附加到我的LB. 我已经阅读了几个小时的AWS文档,我知道如何在Cloud Formation中创建常规的WAF规则并将它们附加到我在Cloud Formation中的LB. 问题是我无法找到如何在CF中创建基于速率的WAF类型规则,云形成中没有RateBasedRule对象.有谁知道怎么解决这个问题?
我创建了以下 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) 为了保护我们的API,我正在尝试使用RateBasedRule部署WAFRegional。API网关位于SAM模板中,其中我还有一个嵌套堆栈,用于存放WAFRegional配置的子模板。下面提供了WAFRegional配置的子模板。在ExecuteChangeSet阶段将发生以下情况:
CamerasIpSet已创建
创建了CamerasRateRule
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) 在表单字段中发布包含“on”或任何以“on”开头的单词作为最后一个单词的表单,会导致此规则阻止的 aws waf 的 XSS 阻止正文在解码为 URL 后包含跨站点脚本威胁,例如“20 only” ”或“在线”或“检查”XSS 块中的所有结果
这些看似平常的话,为什么会因为xss而被屏蔽呢?
但末尾有空格,它不会阻止例如“仅二十”或“在线”或“检查”这些作品
AWS API Gateway 有两个版本:
我正在使用带有 lambda 授权者的较新 HTTP 版本,并且希望保护我的暂存/测试环境免受外部请求的影响。一种想法是在 API 网关前面放置一个 WAF,但不幸的是只有 REST 版本的网关支持 WAF。
对于如何保护这些资源以便只能从特定的 IP 范围访问它们有什么建议吗?(公司VPN)
amazon-web-services aws-api-gateway amazon-waf lambda-authorizer
我有一个与我的应用程序负载均衡器关联的 WAF ACL,并且我想更改规则的优先级。我一生都找不到任何有关如何完成此操作的文档,也无法弄清楚如何调整 AWS UI 中的优先级。这是可能的还是我必须以不同的顺序从头开始重新创建我的 ACL?