@AndrewZ990

Как заблокировать внешние IP адреса по времени в IIS 7.5?

Здравствуйте!
Подскажите пожалуйста, есть ли инструменты, с помощью которых можно решить задачу блокировки внешних ip адресов в IIS 7.5 регламентно в определенном промежутке времени.
Пока вижу путь создания задачи через RequestFiltering/Rules или IP addresses and Domain Restriction (есть возможность указать пул ip для блокировки). Но не могу найти решения для привязки ко времени.
К примеру есть ли методы обращения у PowerShell к оснастке RequestFiltering/Rules? Тогда просто через шедулер бы подключил расписание.
(возможно, выбранный путь в корне неверен/неоптимален, поэтому буду благодарен ценным советам).
Спасибо за внимание!
UPD: Большое спасибо за советы, вынужден был прислушаться но искать другое решение, т.к. на хосте расположено несколько сайтов, и я не уверен, что корректно смогу решить задачу с помощью WinFirewall. IIS должен давать в перспективе ответ на запросы (пока не знаю как).
Но текущее решение выглядит след. образом для конкретного сайта:
# Добавляем блок. правило разрешающее доступ для сети 10.0.0.0/8
Add-WebConfigurationProperty -Filter 'system.webServer/security/ipSecurity' -PSPath "IIS:\" -Location "test-web" -Name "." -Value @{ipAddress="10.0.0.0";allowed="true";subnetMask="8"} -ErrorAction Stop
# Запрещаем все, что не разрешено
Set-WebConfigurationProperty -Filter 'system.webServer/security/ipSecurity' -Name allowUnlisted -Value False -Location "IIS:\Sites\test-web"
# Дебаг/проверка отработки правила (ждем после применения 5 мин., далее откат)
Wait-Event -Timeout 300
# Удаление разр. правила
Remove-WebConfigurationProperty -Filter 'system.webServer/security/ipSecurity' -PSPath "IIS:\" -Location "test-web" -Name "."
# Смена настройки на разрешено все, что не запрещено.
Set-WebConfigurationProperty -Filter 'system.webServer/security/ipSecurity' -Name allowUnlisted -Value True -Location "IIS:\Sites\test-web"

Уточнение: юзаем конфигурацию: IP addresses and Domain Restriction, необходимо включение компонента на сервере "Add-PSSnapin WebAdministration".
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ответы на вопрос 3
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
А у вас какой маршрутизатор стоит? Возможно стоит на нем сделать?
https://habr.com/ru/post/81396/
Там в ACL можно указать рабочий промежуток времени

или по шидулеру создавать правила, см в конец файла
https://docs.microsoft.com/en-us/iis/configuration...
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Пишу решение в "лоб" на крайний случай.

Ставим прогу cron++ и исполняем любые команды или shell-скрипт в заданное время (по событиям и т.д.).

Прописываем правила файрволла в двух разных bat/cmd-файлах и их запускаем, когда необходимо включать или выключать доступ.
Ответ написан
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Powershell позволяет управлять Windows Firewall.
Соответственно ставите в планировщике задач скрипты, которые создают или включают и удаляют или выключают соответствующие блокирующие правила.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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