Обеспечение безопасности локальной сети

Вид материалаДокументы

Содержание


Iptables -p input drop
2. Брандмауэр сетевого уровня (проверка заголовков IP, TCP, UDP, ICMP)
3. Фильтрация на прикладном уровне (проверка заголовков прикладных протоколов, а также самих данных)
4. Встроенная система обнаружения вторжений (IDS)
7. VPN сервер
Интерфейс брандмауэра ISA Server 2006 (вкладка «Политики межсетевого экрана»)
Клиент SecureNAT
Клиент брандмауэра
Клиент Web Proxy
Технология VPN
Remote Access VPN
Site-To-Site VPN
Intranet VPN
Типы протоколов
Протокол РРТР
Подобный материал:
1   2   3   4


Пример настройки iptables для шлюза


#!/bin/sh

/sbin/depmod -a

/sbin/modprobe ip_tables

/sbin/modprobe ip_conntrack

/sbin/modprobe iptable_filter

/sbin/modprobe iptable_mangle

/sbin/modprobe iptable_nat

/sbin/modprobe ipt_LOG

/sbin/modprobe ipt_limit

/sbin/modprobe ipt_state


IPTABLES="/sbin/iptables"


#внешний IP адрес шлюза

INET_IP="192.168.1.1"

#внешний интерфейс шлюза (имя)

INET_IFACE="eth0"

INET_BROADCAST="192.168.1.255"


#внутренний IP адрес шлюза

LAN_IP="192.168.0.1"

#диапазон адресов внутренней сети

LAN_IP_RANGE="192.168.0.0/24"

#внутренний интерфейс шлюза (имя)

LAN_IFACE="eth1"


#локальный (loopback) интерфейс

LO_IFACE="lo"

LO_IP="127.0.0.1"


echo "1" > /proc/sys/net/ipv4/ip_forward


#Политики по умолчанию

$IPTABLES -P INPUT DROP

$IPTABLES -P OUTPUT DROP

$IPTABLES -P FORWARD DROP


#NAT

$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP


#Создание пользовательской цепочки bad_tcp_packets. В ней будут отлавливаться #поврежденные (некорректные) пакеты (и уничтожаться).

$IPTABLES -N bad_tcp_packets


#цепочка bad_tcp_packets

#Некорректными являются пакеты, которые имеют статус NEW и при этом в них #установлен “лишний” флаг ACK (вместе с SYN)

$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset


#Некорректными являются пакеты, которые имеют статус NEW, но при этом в них #отсутствует флаг SYN

$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"

$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP


#цепочка INPUT

#В цепочке INPUT фильтруются пакеты, предназначенные локальному приложению.

#Все пакеты сначала отправляются в цепочку bad_tcp_packets для проверки на #корректность.

$IPTABLES -A INPUT -p tcp -j bad_tcp_packets


#Разрешаем все входящие пакеты из ЛС

$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT


#Обратная петля

$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT

$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT

$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT


#Разрешаем пакеты из уже установленного соединения из Интернета

$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED, RELATED -j ACCEPT


#Разрешаем установку соединения со шлюзом из Интернет (разрешается устанавливать #соединение по протоколу TCP на порты 80, 443, и 21 - подразумевается, что на #шлюзе запущен Web-сервер и FTP-сервер)

$IPTABLES -A INPUT -p TCP -i $INET_IFACE --syn --dport 21 -j ACCEPT

$IPTABLES -A INPUT -p TCP -i $INET_IFACE --syn --dport 80 -j ACCEPT

$IPTABLES -A INPUT -p TCP -i $INET_IFACE --syn --dport 443 -j ACCEPT


#Разрешаем пакеты ICMP Echo Request и Time Exceeded (для возможности производить #трассировку)

# ICMP Echo Request

$IPTABLES -A INPUT -p ICMP - --icmp-type 8 -j ACCEPT

# Time Exceeded

$IPTABLES -A INPUT -p ICMP --icmp-type 11 -j ACCEPT


#Все отброшенные пакеты логируются


$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "


#Цепочка Forward

#В цепочке FORWARD, предназначенной для транзитных пакетов, пропускаем все #пакеты из локальной сети в Интернет, а также все пакеты, являющиеся частью уже #установленного или связанного соединения.


#Все пакеты сначала отправляются в цепочку bad_tcp_packets для проверки на #корректность.

$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets


#Пропускаем пакеты из ЛС

$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT

#Пропускаем все пакеты из уже установленного соединения

$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


#Логируем все отброшенные пакеты

$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "


#Цепочка Output


#Все пакеты сначала отправляются в цепочку bad_tcp_packets для проверки на #корректность.

$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets


#Разрешаем весь трафик от шлюза, как в Интернет, так и в локальную сеть.

$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT

$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT

$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT


#Логируем все отброшенные пакеты

$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "


Сетевой брандмауэр ISA Server


Помимо Iptables, на сегодняшний день широко распространен сетевой брандмауэр от компании Microsoft - MS ISA Server (Internet Security and Acceleration), функционирующий на базе серверных операционных систем семейства MS Windows. Данный брандмауэр распространяется на коммерческой основе и обладает полнофункциональным графическим интерфейсом.

Корни ISA Server изначально были в Microsoft Proxy Server 2.0. Далее был выпущен ISA Server 2000 (декабрь 2000). Основная обновленная версия ISA Server была выпущена в мае 2004 и была названа ISA Server 2004. ISA Server 2006 был выпущен в августе 2006.

Есть две версии сервера ISA Server 2006. Это:
  • ISA Server 2006 Standard Edition (стандартная версия)
  • ISA Server 2006 Enterprise Edition (корпоративная версия)

ISA 2006 Standard Edition (стандартная версия) нацелена на небольшие и средние компании с количеством пользователей от 75 до 500. Брандмауэр ISA 2006 Enterprise Edition (корпоративная версия) спроектирован для средних и крупных компаний, в которых несколько брандмауэров расположено в основном офисе и потенциально множество брандмауэров ISA расположены в дочерних офисах по всему миру, обслуживая 500-100,000 пользователей.

ISA Server Enterprise Edition позволяет запускать сервер ISA как в режиме выделенного (standalone) сервера, так и в режиме логического объединения нескольких серверов ISA в один массив. Конфигурация в виде массива поддерживает корпоративные административные политики, т. е. изменения, сделанные на одной из систем массива, распространяются на все системы массива, так что отпадает необходимость вносить такие же изменения на каждой системе. Enterprise Edition интегрируется с Active Directory (AD) и сохраняет конфигурационные данные массива серверов ISA в AD, в отличие от выделенного сервера ISA, конфигурация которого сохраняется в системном реестре. Когда Enterprise Edition устанавливается в сети, где отсутствует AD, сервер ISA становится выделенным сервером. Enterprise Edition масштабируется на любое число процессоров. ISA Server Standard Edition поддерживает не более четырех процессоров.


Основные возможности ISA Server 2006

1. Обеспечение доступа в Интернет

Посредством NAT-маршрутизации или proxy-сервера.

2. Брандмауэр сетевого уровня (проверка заголовков IP, TCP, UDP, ICMP)

Особенностями ISA Server являются:


- Наличие большого количества встроенных, изначально заданных правил фильтрации, определяющих политику брандмауэра по умолчанию (для разрешения доступа сервера ISA к DNS и DHCP серверу, серверу каталогов Active Directory, возможность выполнения пинга для проверки связи и проч.).


- Использование только одного правила для отслеживания трафика в обоих направлениях

Например, для того, чтобы разрешить доступ клиентов локальной сети к внешнему веб-серверу Интернет, доcтаточно создать только одно правило – обратный трафик, являющийся ответом на сделанный запрос, будет пропускаться автоматически. В случае применения, например, Iptables необходимо создать два правила, одно из которых будет пропускать трафик из локальной сети в интернет, в второе – пропускать ответы веб-сервера в локальную сеть (причем ответы веб-сервера должны проверяться на отсутствие в них признака установки соединения – флага SYN).


- Большой список прикладных протоколов и служб

При построении правил можно выбирать прикладной протокол из обширного списка, содержащего более 100 наименований. Если требуемого протокола нет в списке, то его можно добавить вручную, указав транспорт (TCP/UDP/ICMP) и номера используемых им портов.пользуепротокола нет в списке, то его можно создать вручную, указав транспорт (оих чтобы разрешить доступ клиентов локальной сети к внешнему веб-серверу Интернет, имер, для многения доступа локального ком


3. Фильтрация на прикладном уровне (проверка заголовков прикладных протоколов, а также самих данных)

Существенным достоинством ISA Server является его способность анализировать данные и заголовки протоколов прикладного уровня. Эта способность является очень полезной в том случае, когда нужно ограничивать доступ пользователей локальной сети к нежелательным ресурсам Интернет. Фильтрация трафика может проводиться по доменным именам либо URL-адресам ресурсов Интернет и по типам содержимого (можно ограничивать закачку файлов определенных типов, к примеру, видео, музыки или исполняемых файлов).


Также ISA Server может проводить дополнительную фильтрацию HTTP трафика (по методам протокола HTTP, по длине запроса, по наличию заранее определенных сигнатур в запросе). Это помогает защитить внутренний веб-сервер компании от возможных атак на него.


Еще одна важная возможность, поддерживаемая ISA Server - применение политик доступа, базирующихся на именах и группах пользователей. Учетные записи пользователей могут храниться как в Active Directory, так и в локальной базе данных учетных записей на сервере ISA. Для разграничения доступа по именам необходимо, чтобы на каждом компьютере-клиенте было установлено специальное программное обеспечение ISA Server Firewall Client (поставляется вместе с ISA Server), либо настроен так называемый клиент Web Proxy (для этого в настройках Web-браузера пользователя в качестве proxy-сервера указывается адрес или имя сервера ISA).


Также можно организовать доступ пользователей в сеть по определенному расписанию (указать дни и часы).


4. Встроенная система обнаружения вторжений (IDS)


5. Публикация серверов (port mapping)

6. Кэширование информации

Когда пользователь из корпоративной сети запрашивает Web-страницу, ISA Server 2006 помещает эту Web-страницу в Web-кэш. ISA Server хранит эту информацию, и когда другой пользователь совершает запрос к той же самой странице, эта Web-страница достается из Web-кэша и передается пользователю. В результате мы экономим время и трафик, а у пользователя появляется возможность более быстрого доступа к информации.

7. VPN сервер


Сервер VPN позволяет внешним пользователям подключаться к корпоративной сети с ноутбука или рабочей станции из любого места в мире. После того, как пользователь создает безопасное VPN соединение, компьютер этого пользователя может иметь доступ к информации, хранящейся на любом сервере внутри корпоративной сети. Поддерживается Remote Access VPN и site-to-site VPN.





Интерфейс брандмауэра ISA Server 2006 (вкладка «Политики межсетевого экрана»)





Интерфейс брандмауэра ISA Server 2006 (вкладка «Наблюдение», «Ведение журнала»)


Типы клиентов ISA Server 2006


Сервер ISA поддерживает три типа клиентов: Secure Network Address Translation (SecureNAT), клиент брандмауэра и клиент Web Proxy.


Клиент SecureNAT


Для клиентов SecureNAT сервер ISA играет роль устройства NAT, т. е. устройства, принимающего пакеты из внутренней сети и выполняющего трансляцию сетевых адресов при их передаче вовне. В пакетах, предназначенных для передачи за пределы внутренней сети, сервер ISA изменяет IP-адрес системы-отправителя на внешний IP-адрес сервера ISA. Весь процесс незаметен для клиента и не требует какого-либо дополнительного программного обеспечения на клиентской системе. По этой причине такой клиент работает на системах с любыми типами сетевых операционных систем. Единственное требование — необходимо настроить на клиентской системе адрес шлюза по умолчанию так, чтобы это был адрес внутреннего сетевого интерфейса сервера ISA. Если клиенты настроены на получение IP-адреса через DHCP, то можно настроить DHCP-сервер на выдачу клиентам корректного адреса шлюза по умолчанию.


Клиент SecureNAT не запускает какого-либо специального программного обеспечения, и поэтому сервер ISA не может определить, какие пользователи запрашивают внешние соединения, так что в этом случае нельзя применять на сервере ISA политики безопасности, основанные на именах пользователей. Если настроить сервер ISA так, чтобы он требовал авторизации, все запросы клиентов SecureNAT будут запрещены.


Клиент брандмауэра


Клиент брандмауэра должен запускать специальное программное обеспечение, ISA Server Firewall Client. Во время установки сервера ISA создается каталог \%programfiles%\microsoft isa server\clients, содержащий все программные и конфигурационные файлы, необходимые для установки клиента. Клиент принимает все запросы от приложений, использующих сокеты, и передает их на систему с запущенным на ней сервером ISA. В результате все приложения во внутренней сети, использующие сокеты, работают так, как будто они непосредственно подключены к Internet.


Запрос клиента брандмауэра содержит имена пользователей, поэтому можно применять политики доступа, базирующиеся на именах пользователей. Однако запросы выполняются в контексте текущего пользователя, и клиентское программное обеспечение не имеет механизма для запроса у пользователей другого имени и пароля, если имя и пароль зарегистрированного пользователя неправильны. Поэтому, если запретить пользователю выход за пределы сетевого экрана, попытка выйти в Internet приведет к ошибке без предложения ввести другое имя и пароль.


Поддерживается только на платформе Windows.


Клиент Web Proxy


Чтобы его настроить, необходимо в настройках Web-браузера пользователя в качестве proxy-сервера указать адрес или имя сервера ISA. При этом можно использовать разные типы аутентификации, например Basic, при которой клиенту выдается форма на ввод имени пользователя и пароля, Digest, или Integrated.


Однако приложения, в настройках которых нельзя прописать адрес и порт proxy-сервера, с этим типом клиента работать не будут.


Web-proxy и FWC можно применять совместно.


Таким образом, достоинствами брандмауэра ISA Server является его расширенная функциональность (включающая VPN сервер, встроенную систему IDS, возможность проводить фильтрацию на прикладном уровне и аутентификацию пользователей по именам), и удобный полнофункциональный графический интерфейс. Iptables этих возможностей не предоставляет, поскольку является исключительно пакетным фильтром. Основное преимущество Iptables - это отсутствие затрат на его приобретение и обновление. В том случае, когда дополнительные функции все же необходимы, можно воспользоваться открытым ПО, свободно загружаемым из Интернета (прокси-сервер Squid, VPN сервер OpenVPN) и применять их совместно с Iptables.

Технология VPN


VPN (Virtual Private Network) - это объединение локальных сетей и отдельных компьютеров в единую защищенную сеть через открытую внешнюю среду передачи.


VPN позволяет обеспечить:
    1. Секретность (конфиденциальность) передаваемых данных
    2. Аутентификацию (установление подлинности) взаимодействующих сторон
    3. Неизменность (целостность) передаваемых данных
    4. Защиту от повтора сообщения

Существуют следующие типы VPN:


Remote Access VPN позволяет удаленному пользователю обращаться к ресурсам сети через Интернет, чтобы пользователь мог работать так, как будто он находится в офисе. Это бывает полезно для надомных работников, администраторов, сотрудников, находящихся в командировке; для партнеров и клиентов, которым нужен доступ к каким-либо ресурсам корпоративной сети.


Site-To-Site VPN: позволяет объединить несколько территориально удаленных друг от друга сетей (чтобы пользователи одной сети могли обращаться и пользоваться ресурсами другой сети, и наоборот). Часто устанавливается между сетями филиала и центрального офиса. При этом компании избегают расходов на организацию или аренду прямых соединений: например, каналов E1, ISDN, frame relay. Взамен всего этого можно использовать имеющийся у компании канал в Internet. Лишь небольшие административные затраты требуются для соединения расположенных в любых точках планеты офисов компании при помощи защищенного канала.


Intranet VPN: позволяет установить защищенное соединение между компьютерами, расположенными в одной ЛС. Пример – обеспечение безопасного выхода в Internet через VPN.


Типы протоколов

  • РРТР (Point-to-Point Tunneling Protocol, сквозной туннельный протокол)
  • L2TP/IPSec (Layer Two Tunneling Protocol/Internet Protocol Security, протокол туннелирования второго уровня модели OSI/протокол безопасности IP)


Для соединения с VPN-сервером можно использовать любое клиентское программное обеспечение, поддерживающее протоколы РРТР или L2TP/IPSec. Хорошим выбором может служить VPN-клиент Microsoft, входящий в состав всех версий ОС Windows.


Протокол РРТР

PPTP — это протокол, поддержка которого впервые была реализована в операционных системах Windows NT 4.0 и Windows 98. Протокол PPTP является расширением протокола PPP (Point-to-Point Protocol — протокол «точка-точка»). PPP обладает несколькими преимуществами по сравнению со своим старшим собратом Serial Line Internet Protocol (SLIP). В качестве примера можно привести аутентификацию с использованием CHAP и сжатие данных. В набор PPP входят протокол Link Control Protocol (LCP), ответственный за конфигурацию, установку, работу и завершение соединения точка-точка.

1 этап - аутентификация пользователя.

Для аутентификации пользователей PPTP может задействовать любой из протоколов, применяемых для PPP, которые перечислены ниже.

  • CHAP
  • Microsoft CHAP
  • Microsoft CHAP Version2
  • SPAP (Shiva Password Authentication Protocol)
  • Unencrypted password (PAP)
  • EAP (Extensible Authentication Protocol), вариант MD5-Challenge или Smart Card or Other Certificate