Настройте WAF (брандмауэр веб-приложения) в шаблоне облачной информации с использованием Troposphere - PullRequest
0 голосов
/ 14 февраля 2019

Я хочу создать и присоединить WAF к своему балансировщику нагрузки.

какие ресурсы и параметры мне нужно приложить для создания WAF, есть ли какой-нибудь пример, вы можете мне предложить?

Я пробовал таким образом, но каждый набор правил не удался с использованием шаблона облачной информации.

MyWebACL = t.add_resource(
    WebACL(
        "MyWebACL",
        Name=Ref(WebACLName),
        DefaultAction=Action(
            Type="ALLOW"
        ),
        Rules=[
            Rules(
                Action=Action(
                    Type="BLOCK"
                ),
                Priority=1,
                RuleId=Ref(ManualIPBlockRule)
            ),
            Rules(
                Action=Action(
                    Type="COUNT"
                ),
                Priority=2,
                RuleId=Ref(SizeMatchRule)
            ),
            Rules(
                Action=Action(
                    Type="BLOCK"
                ),
                Priority=3,
                RuleId=Ref(SqliRule)
            ),
            Rules(
                Action=Action(
                    Type="BLOCK"
                ),
                Priority=4,
                RuleId=Ref(XssRule)
            )
        ],
        MetricName=(),
    ))

Вот мой пример одного правила:

SizeMatchRule = t.add_resource(
    Rule(
        "SizeMatchRule",
        Name=Join("", [Ref(WebACLName), "LargeBodyMatchRule"]),
        MetricName=Join("", [Ref(WebACLName), "DetectLargeBody"]),
        Predicates=[
            Predicates(
                DataId=Ref(SizeMatchSet),
                Type="SizeConstraint",
                Negated=False
            )
        ]
    ))

Любое предложение и ссылка позволяютя знаю?

...