Преследуемые цели – безопасность и еще раз безопасность
Давайте представим очень распространенную ситуацию: у вас в сети множество серверов, которые предоставляют какие-то сервисы. Очень вероятно, что некоторые из них имеют внешний интерфейс, который смотрит в WAN, т.е. в глобальную сеть. Обычно это Прокси-сервер, Web-сервер, почтовый и т.д. Ни для кого не секрет, что уже сам этот факт заставляет задуматься вас, как грамотного системного администратора о безопасности вашей сетевой инфраструктуры. Не имеет смысла рассказывать, чем может быть чревато проникновение хакера в вашу сеть. Есть множество вариантов обезопаситься от атак злоумышленика. Среди них – построение у себя так называемую демилитаризованную зону или опубликовать сервер через свой прокси, который уж точно (ведь так?) у вас настроен очень жестко и серьезно. Первый вариант (ДМЗ) пока не “поднят” ввиду каких-либо причин. Пусть это будет нехватка времени и оборудования у системного администратора. Второй (опубликовать через другой сервер) весьма спорный, его пока опустим. А пока для начала давайте настроим сетевой экран, он же брандмауэр, он же фаервол. Основная функция любого firewall – обезопасить доступ к нашему компьютеру извне. Я специально написал слово “компьютер”, ввиду того, что домашние компьютеры и рабочие станции тоже можно обезопасить с помощью экрана. Естественно, нет 100%-защиты при программном брандмауэре, но лучше так, чем ничего. К тому же, у меня такое ощущение, что после сегодняшних моих манипуляций сервер уже не будет подвержен риску Приступим.
Лабораторный стенд
Имеется сервер на базе Windows Server 2008 R2, предоставляющий сервис VPN с помощью службы Microsoft RAS. Брандмауэр Windows настроен по умолчанию. В нем я не копался, хотя стоило бы. Но т.к. есть корпоративная лицензия Kaspersky Enterprise Space Security, почему бы ей не воспользоваться и не установить Kaspersky Endpoint Security 8, в состав которого входит программный сетевой экран.
Настройка сетевого экрана Kaspersky
Сетевой экран Kaspersky Endpoint Security 8 идентичен многим экранам данного производителя, включая домашнюю версию Kaspersky Internet Security 2013, поэтому если у кого-то будет другая версия антивируса, то скорее всего данная статья ему также поможет. А теперь начнем.
Настройка – антивирусная защита – сетевой экран. Кликаем кнопку “Сетевые пакетные правила”. Получаем список правил, которые в данный момент работают. Какие-то из них что-то запрещают, другие – разрешают. В данный момент все выглядит примерно так:
Если вы заметили, скриншот неродной. Я его взял из другого продукта – KIS2013, но поверьте на слово – в KES8 все было точно также. И это сервер, где защита должна быть на высшем уровне! Как мы видим, тут многое есть и все примерно понятно: запросы DNS (TCP/UDP), отправка сообщений, любая активность с доверенных сетей полностью разрешена, с локальных – частично, отключен порт, отвечающий за удаленный рабочий стол, отключены различные порты TCP/UDP, а вот активность извне – частично, в конце 5 правил протокола ICMP. Да уж, половина правил непонятна, половина лишние. Давайте создадим лист с нуля и создадим свои собственные правила.
Первое, что я сделал, создал свое любимое правило – Deny All (запретить все)
и поместил его вниз. Затем с помощью поиска в интернете я выяснил, какие порты использует технология VPN. Это Protocol 47, который имеет еще название GRE:
Правило с GRE я поместил выше запрещающего правила. Еще один порт, который надо открыть для VPN – 1723. Поэтому я создал правило VPN_IN:
Правило с портом 1723 я поместил на самый верх. Остальные правила я немного видоизменил, некоторые оставил. Получился такой список (Firewall List):
Прокомментирую каждое.
- VPN_IN – входящий vpn, про него я писал
- GRE – открыли 47 протокол, который также нужен для технологии VPN. Про него тоже написано выше
- Запросы к серверу DNS по TCP- данное правило я оставил, т.к. не вижу в нем проблем. Пусть наш сервер проявляет исходящую активность на другие серверы
- Запросы к серверу DNS по UDP – аналогично 3 правилу
- Любая сетевая активность разрешена для доверенных сетей. Несмотря на то, что в списке сетей у меня вообще нет доверенных сетей, я оставил данное правило работать.
- Любая сетевая активность разрешена для локальных сетей. Я доверяю нашей сети, поэтому оставил это правило. Хотя признаюсь честно – это правило у меня до сих пор под сомнением
- ICMP_OUT – открыт исходящий эхо запрос. Данное правило тоже не является обязательным. Просто лично мне удобно “пинговать” с сервера хосты глобальной сети.
- Входящие пакеты ICMP Echo Reply открыты, т.к. это правило необходимо для полноценной работы 7 правила, чтобы получать эхо-ответы.
- Deny All – все остальное закрыто. Данное правило здесь ключевое. Любая сетевая активность из недоверенной (публичной) сети просто “гасится” нашим сетевым экраном.
Сразу оговорюсь, что полностью полагаться на эту статью не стоит. Возможно, что-то я упустил из виду. В вопросах безопасности я не гуру, поэтому заранее прошу прощения, если допустил какие-либо ошибки. Критика, пожелания и похвалы приветствуется, пишите комментарии внизу.
Comments: