Как добавить заголовки в белый список при фильтрации IIS?

Мы планируем развернуть CloudFlare в качестве WAF для нашего сайта. Одно из требований - ограничить доступ к сайту из-за пределов Северной Америки. К счастью, CloudFlare поддерживает GeoLocation и маркирует запросы к исходному серверу заголовком местоположения.

Теперь, однако, мне нужно выяснить, как занести страны в белый список. В идеале я хотел бы указать CA и US или что-то еще в качестве допустимых значений и отклонить все остальное, но в IIS, похоже, он поддерживает только черный список.

Есть ли там способ сделать это только в IIS, или кто-нибудь знает о третьем модуле, который это делает?

1
задан 20 October 2016 в 19:02
1 ответ

Можно использовать Модуль перезаписи IIS.

Используйте правило для соответствия всем URL и используйте условие для проверки заголовка http, введенного CloudFlare, проверки значения страны и отклонения всех запросов не из США или Канады.

Пример правила будет выглядеть следующим образом:

<rewrite>
    <rules>
        <rule name="RequestBlockingRule1" stopProcessing="true">
            <match url=".*" />
            <conditions>
                <add input="{HTTP_CF_IPCOUNTRY}" pattern="^CA|US$" negate="true" />
            </conditions>
            <action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." statusDescription="Using this site from your location is not supported." />
        </rule>
    </rules>
</rewrite>

CF-IPC country - это название заголовка, введенного CloudFlare.

1
ответ дан 3 December 2019 в 23:39

Теги

Похожие вопросы