Итак, есть сеть, которая уже достаточно хорошо защищена от всевозможных атак из интернета.
Вполне очевидно, что управлять доступом пользователей при такой конфигурации не совсем удобно, так как доступ осуществляется по IP адресу, а значит надо решить как минимум два вопроса.
Во-первых, держать в голове или перед глазами соответствие имен пользователей IP адресам.
Во-вторых, компьютеры пользователей которым разрешен доступ, должны иметь постоянный IP адрес, что влечет за собой усложнение администрирования DHCP сервера.
Безусловно, было бы предпочтительно управлять доступом пользователей в интернет на уровне доменных учетных записей.
Для этого установим дополнительный ISA сервер. Кроме того он будет выполнять функцию дополнительной линии обороны, усилив периметр безопасности.
Таким образом, нам надо установить ISA сервер в т.н. демилитаризованной зоне, и настроить его так чтобы он пропускал в интернет только пользователей, которых мы укажем в домене.
Поскольку ISA находится внутри периметра безопасности, можно будет ввести его в домен, не рискуя выставить домен во враждебную сеть.
Для решения этой задачи вполне хватит Standart редакции ISA сервера.
Второй принципиальный вопрос, который нам надо определить до установки, это каким образом клиенты будут выходить в интернет.
ISA сервер поддерживает три вида клиентов. Это Secure NAT, Web Proxy клиент и клиент Firewall. Учитывая, что нам необходимо осуществлять
аутентификацию клиентов, мы можем выбирать только между Web Proxy и Firewall клиентом, поскольку Secure NAT аутентификацию не поддерживает.
Web Proxy клиент хорош тем что не требует в отличии от Firewall клиента установки дополнительного программного обеспечения,
но его минус состоит в том что он разрешает пользоваться ограниченным набором сетевых протоколов, HTTP, HTTPS, FTP поверх HTTP.
Ну а поскольку мы не планируем ограничивать пользователей в протоколах то наш выбор Firewall clients. К тому же, распространение необходимого
программного обеспечения можно легко осуществить через групповые политики домена.
Поскольку мы планируем осуществлять соединение с ISA сервером через Firewall клиента, конфигурация с одним сетевым интерфейсом нам не подходит, так как в такой конфигурации может работать только функциональность кэширования. В сервере должно быть два сетевых интерфейса.
Один из них будет «смотреть» внутрь сети и будет иметь адрес 10.0.0.2, назовем его NET_INT. Второй будет направлен в периметр безопасности
и далее в интернет, иметь адрес 10.1.1.2, назовем его NET_EXT.
Итак, на выбранном сервере (который уже находится в домене) запускаем инсталляцию ISA сервера (isaautorun.exe) и выбираем Install ISA Server.
При выборе варианта установки выбираем Custom, и там указываем что надо установить так же и Firewall Client Installation Share, выбор этой опции позволит нам в дальнейшем назначить через доменные политики установку на клиентских машинах клиента файрвола.
Следующим шагом будет определение диапазона адресов, которые ISA сервер будет считать внутренними (Internal). Это необходимо для того чтобы сопоставить адреса которые будут находиться в защищенной зоне и внешние (External) адреса.
К External диапазону ISA автоматически относит все то, что не вошло в так называемую Local Host сеть. Local Host включает в себя сам сервер, VPN клиентов и диапазон определенный как Internal. Жмем Add и видим что имеется две возможности определить Internal сеть, либо явным образом указав диапазон IP адресов, либо выбрать сетевой интерфейс который у нас определен как «внутренний».
Необходимо помнить, что если использовать второй способ, и просто указать интерфейс, который определен на сервере как внутренний, то при этом ISA возьмет настройки внутренней сети из таблицы маршрутизации, поэтому она должна быть корректной и все специфические маршруты должны быть определены заранее.
Если выбрать первый способ и задать диапазон IP адресов внутренней сети вручную, то необходимо указать весь диапазон, включая и адрес самой сети и адрес бродкаста. В нашем случае специфичных маршрутов нет, поэтому просто указываем диапазон from 10.0.0.0 to 10.0.0.255. В следующем окне указываем, что мы не будем использовать старые версии Firewall клиентов.
После этого того как ISA сервер будет установлен, необходимо ОБЯЗАТЕЛЬНО установить последний пакет обновлений для него. После чего перезагрузить сервер.
Теперь следует убедиться, что ISA установилась и корректно запустилась. Для этого идем в сервисы и проверяем что следующие службы запущены:
Microsoft Firewall
Microsoft ISA Server Control
Microsoft ISA Server Job Sheduler
Microsoft ISA Server Storage
MSSQL$MSFW
Правильность установки можно так же проконтролировать в журналах установки, расположенных \windows\temp.
Теперь можно приступать непосредственно к настройке ISA сервера. Запускаем ISA Server Management.
Сразу после установки, по умолчанию, в ISA сконфигурированы сети Internal, External, Local Host, а так же сеть для VPN клиентов и карантинных VPN клиентов.
В политиках файрвола сконфигурированы системные политики, необходимые для взаимодействия ISA сервера в Local Host сети и одно пользовательское правило файрвола, запрещающее любой трафик во всех направлениях.
Для решения нашей задачи нам требуется чтобы ISA сервер мог взаимодействовать с контроллером домена, и сопоставлять зарегистрированных в домене пользователей или группы своим группам и для выбранных групп давать доступ к указанным ресурсам. В качестве доступных интернет ресурсов определены только просмотр содержимого сайтов, использование почтового клиента и использование icq клиента, все остальное должно быть запрещено.
Первым шагом определим взаимодействие ISA сервера и домена. Для этого в домене заранее создадим группу безопасности, назовем ее Restrict_Inet_Users, ну и логика подсказывает, что наверняка понадобится группа UnRestricted_Inet_Users. В ISA менеджере определяем компьютер, который является контроллером домена, для этого в панели Toolbox выбираем Network Objects, жмем кнопку New и в выпадающем списке выбираем
Computer и добавляем наш котроллер домена. Теперь он у нас определен как один из объектов, который мы можем использовать при определении правил доступа.
Далее, в левой части менеджера ISA выбираем Firewall Policy, в правой части переходим на закладку Tasks и выбираем пункт Edit System Policy.
В открывшемся окне редактора выбираем раздел Authentication Services, на закладке General проверяем, что политика включена, и на всякий случай убираем галочку Enforce strict RPC compliance. Вообще эта опция должна работать, но иногда ее наличие может вызвать ошибку, влекущую сбой удаленного вызова процедуры, поэтому мы ее отключаем. Переходим на закладку To и к имеющейся там сети Internal явно добавляем наш контроллер домена, который мы до этого внесли в раздел Computers. Закрываем. Применяем.
Теперь в той же правой панели на закладке Tasks выбираем пункт Show System Policy Rules, в центральной части консоли отобразятся все системные политики, среди них нам надо проверить 1-е и 22-е правила, они должны быть включены и в качестве адресата в них должен быть указан компьютер являющийся контроллером домена. Если все ОК, закрываем системные правила файрвола (Hide System Policy Rules).
В левой части открываем категорию Configuration, выбираем Networks, внизу центральной части менеджера на закладке Networks входим в сеть Internal (можно двойным кликом), в окне свойств идем на закладку Domains и добавляем наш домен в формате *.our_domain.lan. На закладке Web Proxy убираем галочку включения, поскольку мы не планируем давать пользователям работать в интернете через Web Proxy клиент, проверяем, установлена ли галочка включения файрвольного клиента на закладке Firewall Client и галочка автоматического обнаружения настроек.
На закладке Auto Discovery ставим галочку Publish automatic discovery information. Все эти настройки понадобятся в дальнейшем при определении параметров клиента файрвола на клиентских компьютерах.
Переходим на закладку Toolbox, выбираем раздел Users, жмем кнопку New и начинаем работать с мастером добавления нового пользователя.
Даем имя, например Restrict_Inet_Users, в следующем окне жмем кнопку Add, из предложенных вариантов расположения пользователей выбираем Windows users and groups, в качестве Locations выбираем домен, и в нем указываем группу Restrict_Inet_Users. Добавляем группу, закрываем мастер, применяем изменения.
Теперь у нас есть настроенные отношения между ISA и доменом, а так же определены объекты: сеть Internal и группа Restrict_Inet_Users которым надо организовать доступ к внешней External сети. Можно приступать к созданию правил Firewall.
В левой части менеджера выбираем Firewall Policy, в правой части выбираем закладку Tasks, в центральной панели видим единственное определенное запрещающее правило. Сюда мы будем добавлять правила разрешающие пользователям загрузку интернет страниц, работу с почтой и icq.
Первое правило, которое нам потребуется определить это возможность разрешения имен интернета внутренним DNS сервером.
Поскольку DNS сервер установлен внутри периметра сети на контроллере домена, и занимается разрешением внутренних имен, то разрешение имен интернета осуществляется путем пересылки рекурсивных запросов на один из внешних DNS серверов.
Поскольку внутренний DNS сервер не осуществляет никакие зонные передачи, мы можем немного изменить определение стандартного DNS протокола в ISA, исключив из него TCP протокол. В Toolbox закладке в разделе Protocols создаем новый протокол, назовем его DNS Recursion Requests, выбираем тип протокола UDP, направление Send Receive, диапазон в оба окна вводим 53 порт. Сохраняем, применяем.
Переходим на закладку Tasks, выбираем пункт Create New Access Rule, называем правило DNS Recursion Requests, указываем, что это разрешающее правило, указываем что доступ будет по выбранным протоколам (Selected Protocol), добавляем определенный ранее DNS Recursion Requests протокол (он располагается в разделе User-Defined), в качестве источника добавляем определенный ранее компьютер контроллер домена на котором работает DNS сервис, в качестве получателя указываем сеть External, в качестве пользователя для которого действует данное правило, оставляем по умолчанию All Users. Применяем изменения.
Следующим шагом создаем правила для доступа пользователей по протоколам HTTP, HTTPS, FTP из сети Internal в сеть External для группы пользователей, которую мы создали ранее и назвали Restrict_Inet_Users. Далее создаем правило для доступа из Internal в External для той же самой группы пользователей по протоколам IMAP4, POP3, SMTP. Последним правилом даем доступ той же группе в тех же направлениях по протоколу ICQ и ICQ2000. Каждому правилу, конечно, даем свое название, достаточно понятное, чтобы в дальнейшем можно было легко в них ориентироваться.
В принципе, конечно, можно все три правила доступа объединить в одно, но при таком объединении будет потеряна гибкость управления, и если в дальнейшем понадобится, например, убрать или добавить какой-либо протокол доступа то придется редактировать уже готовое работающее правило, что вроде бы не очень удобно.
Остается последний этап. Настройка Firewall Client пользователя и включение автоматического получения настроек клиентом.
Для этого нам понадобится контроллер домена, который одновременно является DNS сервером.
Первый шаг, настраиваем сервер таким образом, чтобы ПО Firewall Client распространялось централизованно через групповые политики.
Вторым шагом настраиваем DNS сервер, для того чтобы клиент файрвола на клиентской машине автоматически определял ISA в сети и получал с него настройки.
На контроллере домена открываем оснастку Active Directory — пользователи и компьютеры, открываем подразделение, в котором находятся компьютеры, на которых должно быть установлено ПО. Входим в его свойства, выбираем групповые политики, редактируем существующую или создаем новую политику, в которой открываем конфигурацию компьютера, конфигурацию программ, установка программ. Определяем новый пакет, который будет назначен для установки всем компьютерам, входящим в выбранное подразделение. В качестве пути к программному обеспечению указываем \\ISA_Server\mspclnt\ms_fwc.msi
Обновляем групповые политики командой gpupdate /force .
Переходим в консоль управления DNS сервером, раскрываем наш сервер, раскрываем зоны прямого просмотра, выбираем наш домен, создаем в нем новый Alias. В поле имя алиаса вводим WPAD. Клиенты Web Proxy и Firewall автоматическое обнаружение осуществляют с использованием Winsock Proxy AutoDetect Protocol (WPAD, WSPAD), поэтому эти параметры должны быть определены в локальной сети через DNS или DHCP сервер.
В поле FQDN вводим полный путь к нашему ISA серверу (isa.our_domain.lan). Сохраняем, применяем.
Все, система настроена. Теперь после того как пользователь запустит свой компьютер, на него автоматически установится нужное ПО, которое само определит в сети ISA сервер и автоматически возьмет с него настройки. Если пользователь, вошедший в доменную сеть, входит в группу Restrict_Inet_Users, то он сможет работать в интернете по указанным нами протоколам.
Правила для группы UnRestricted_Inet_Users настраивается аналогично, с той лишь разницей, что там можно ограничиться всего одним правилом, которое разрешает любой трафик в любых направлениях.