Internet Gateway on Windows Server

Начну историю с того, что Windows к сожалению не лишена уязвимостей, которыми можно воспользоватся по сети. С другой стороны Windows Server часто используется в качестве офисного сервера или домашнего Интернет-шлюза. Когда встает вопрос о закрытии основных дырок - начинается подбор средств третих фирм, которые довольно небесплатные. Дело в том, что софт для серверных операционных систем довольно дорого стоит и не во всех ситуациях он нужен.

Давайте попробуем для организации пакетной фильтрации сетевого трафика использовать встроенные возможности Windows Server. Показывать буду на примере Windows Server 2003.

Имеем:
  1. Канал в Интернет;
  2. Windows Server 2003;
  3. Локальную сеть.
Причем я считаю локальную сеть - зеленой зоной. А красной зоной - канал в Интернет. Т.е. сервер мы будем защищать от внешних вторжений. Предпологается, что NAT Вы уже настроили.

Поехали "Пуск" -> "Администрирование" -> "Маршрутизация и удаленный доступ". Переключаемся на уровень "IP-маршрутизация" -> "Общие" и видим такую картинку:

В правой части окна перечислены сетевые интерфейсы. В моем случае, внешний интерфейс - VELTON. На том же скриншоте видно, что сеть Датасвит (Притекс) как всегда недоступна :)
Его и будем настраивать. Нажимаем по нему правой кнопкой - "Свойства". Нас интересуют "Фильтры входа". Выбираем политику "Отбрасывать все пакеты, кроме тех, что отвечают указанным ниже критериям" и нажимаем кнопку "Создать". Видим следующее.

Все, на этом графическая часть заканчивается и идут сухие правила с обьяснениями.
Итак, что нужно для выхода в Интернет среднестатическому офису? Вероятно:
  1. Если офис подключен к Укртелекому или другой компании, то настройки сети шлюз получает автоматически, тоесть используется DHCP или BOOTP.
  2. ICMP. В большинстве случаем этот протокол мы используем для магической команды ping. Не все знают, что протокол на самом деле несет куда большие возможности. Но об этом не в этой статье. Зачем нам нужно его пропускать? Во первых, для того, чтобы мы могли "пинговать" сайты. Мы посылаем "ау" (ping), сервер нам отвечает "эхом" (echo) . Это Эхо на шлюзе нужно пропускать. Во вторых, чтобы мы могли пинговать себя из Интернет, тем самым проверяя доступность себя, скажем из дома. Таким образом нам нужно пропускать ping пакеты. Ну и в третих, для остальных плюшек ICMP протокола.
  3. DNS. Прошло то время, когда Интернет был просто Ip сетью. Сейчас мы не задумываясь гуглим и проверяем почту. Кто помнит IP адрес гугла? Помнит его dns сервер. Нашему серверу нужно спрашивать вышестоящий DNS сервер, чтобы узнать какой IP соответствует символическому имени www.google.com. А ответы от сервера DNS нам нужно пропускать.
  4. Синхронизация времени. Если в вашей сети функционирует ActiveDirectory Вам ОЧЕНЬ важно, чтобы и на сервере и на клиентах было актуальное, синхронизированное время. Если не синхронизироватся с атомными часами, время на разных компьютерах будет или спешить или отставать, что связано с конечным разрешением тактовых генераторов отвечающих за отсчет времени в компьютере. Спросить время мы можем в Интернет, для этого существуют специальные серверы времени. Нам нужно пропускать ответ от сервера времени.
  5. Если Вы хотите получить доступ к локальной сети из Интернет, можно открыть vpn тунель. В общем случае, это безопаснее, чем открыть FTP или любой другой доступ. Значит нам нужно принимать соединения на порт pptp.
От слов к делу:

Предварительно
Договоримся, что мы будем отфильтровывать только устанавливаемые соединения. Соединения, которые уже установлены трогать не будем. Нажимаем кнопку "Создать", в выпадающем списке "Протокол" выбираем "TCP [установлено]". Нажимаем "Ок".

Ответы от DHCP\BOOTP серверов приходят в виде UDP пакетов, на порт 68. Создаем новое правило:
Протокол = UDP
Порт назначения = 68

Пропускаем весь ICMP трафик. Создаем правило:
Протокол = ICMP
Тип ICMP = 255
Код ICMP = 255.

Создаем правило:
Проткол = TCP
Порт источника = 53

Создаем правило:
Протокол = UDP
Порт источника = 53
Если используется один DNS серер, его Ip можно указать в разделе "Исходная сеть".

Создаем правило:
Протокол = UDP
Порт источника = 123

PPTP VPN (описание)
Создаем правило:
Протокол = TCP
Порт назначения = 1723

Создаем правило:
Протокол = Другой
Номер протокола = 47

Если нужен доступ к веб-серверу (описание):
Создаем правило
Протокол = TCP
Порт назначения = 80

Если нужен доступк FTP серверу (описание):
Создаем правило:
Протокол = TCP
Порт назначения = 20

Создаем правило:
Протокол = TCP
Порт назначения = 21

Если Вы пользуетесь p2p сетью DC++, вы должны прежде настроить его и настроить прохождение через NAT. Запоминаем TCP и UDP порты, которые Вы ввели в настройках клиента и создаем правило:
Протокол = TCP
Порт назначения = TCP_PORT_из_настроек

Cоздаем правило:
Протокол = UDP
Порт назначения = UDP_PORT_из_настроек

Вся дальнейшая настройка выполняется аналогично. Нужно знать только используемые службами порты.

Такая конфигурация с одной стороны не даст злоумышленникам практически ничего. Хотя с другой стороны они могут использовать разве что уязвимости открытых Вами служб, но в данном случае их в десятки раз меньше варианта по умолчанию. Грамотно подбирайте и настраивайте FTP, WEB, DNS, VPN сервера. Слабым звеном может стать любое из связки.

Коментарі

Популярні публікації