Я хочу заблокировать трафик из Китая и Кореи на основе Черный список Океана.
Я понимаю как настроить ограничения IP-адресов в IIS7 из пользовательского интерфейса.
Однако я не хочу вручную вводить большой список блокировок, так как это затруднит поддержание его в актуальном состоянии.
Есть ли способ импортировать список и / или текстовый файл в IIS7, который разрешил бы ограничения IP-адреса?
Обратите внимание: я использую Amazon EC2, поэтому, если есть способ сделать это с помощью группы безопасности Amazon EC2, это тоже будет решением. И да, я понимаю, что могу установить локальный брандмауэр, но я бы предпочел решить эту проблему через IIS или EC2.
Если нет стандартного подхода к этому, может ли кто-нибудь указать мне на API, который позволил бы мне загрузить список в IIS7?
Используйте Редактор конфигурации, чтобы просмотреть, как структурирован список заблокированных IP-адресов в файле applicationhost.config (проще всего ввести его в графическом интерфейсе, затем просмотреть файл, чтобы проработать раздел, а затем работать в обратном направлении оттуда), затем добавьте один с помощью редактора конфигурации, и вместо нажатия «Применить» нажмите «Создать сценарий».
Это покажет вам три программных способа добавления IP в список блокировки - Javascript, MWA и AppCMD. Выберите то, что вам удобнее всего, а затем запишите его.
Подробная информация об ответе добавлена Робом ниже
Редактор конфигурации - это значок, доступный на домашней странице диспетчера IIS в разделе «Управление».
Ключ system.webServer/security/ipSecurity
.
Когда вы следуете приведенным ниже советам и генерируете сценарий C #, это выглядит так ...
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample {
private static void Main() {
using(ServerManager serverManager = new ServerManager()) {
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection ipSecuritySection =
config.GetSection("system.webServer/security/ipSecurity");
ConfigurationElementCollection ipSecurityCollection =
ipSecuritySection.GetCollection();
ConfigurationElement addElem = ipSecurityCollection.CreateElement("add");
addElem["ipAddress"] = @"1.10.0.0";
addElem["subnetMask"] = @"255.255.248.0";
ipSecurityCollection.Add(addElem);
ConfigurationElement addElem1 = ipSecurityCollection.CreateElement("add");
addElem1["ipAddress"] = @"1.10.8.0";
addElem1["subnetMask"] = @"255.255.252.0";
ipSecurityCollection.Add(addElem1);
serverManager.CommitChanges();
}
}
}