Назад | Перейти на главную страницу

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

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

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

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

Вы можете использовать Модуль перезаписи 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-IPCountry будет именем заголовка, введенного CloudFlare.