Взлом и защита локальной сети
В рамках данной статьи мы поговорим о безопасности локальной сети. Особое внимание будет уделено вопросам защиты технического уровня и практическим рекомендациям по обеспечению безопасной LAN. Учитывая всеобьемлемость темы, я постараюсь заострить внимание читателя на следующих вопросах: какие уязвимости используются чаще всего и какие политики безопасности им можно противопоставить.
Безопасная архитектура — это фундамент
Итак, помимо централизованной политики безопасности, без которой de facto невозможно построение безопасной сети в принципе, особое внимание следует обратить на следующее:
1) Использование безопасных протоколов обмена (не секрет, что такие текстовые протоколы, как FTP и Telnet, представляют собой явную угрозу) и туннелирование данных, например, посредством SSH.
2) Шифрование критичных данных с использованием надежных криптоалгоритмов.
3) Использование архитектуры, включающей в себя наличие DMZ (демилитаризованной зоны), обслуживаемой двумя файрволлами.
4) Использование IDS (Intrusion-Detection System), IPS (Intrusion-Prevention System) и NAT.
5) Защита периферии посредством тонких клиентов и двухфакторной системы аутентификации.
DMZ. Проектирование демилитаризованной зоны
Не секрет, что системы, открытые для прямого доступа извне, являются главными целями злоумышленников. Для организаций, имеющих дело с критичной и конфиденциальной информацией, вопрос защиты периметра сети стоит особенно остро. Политика безопасности внешних систем (web-сервер, почтовый сервер и др.) требуют самой тщательной проработки, так как они подвержены нападению в первую очередь. Задача заключается в том, чтобы ограничить доступ этих систем к действительно важным и секретным компьютерам, расположенным внутри сети, что реализуется посредством технологий, описанных мною ниже.
DMZ — сокращение от demilitarized zone (демилитаризованная зона) — подразумевает собой фрагмент сети, не являющийся полностью доверенным. Смысл создания DMZ заключается в том, чтобы оградить внутреннюю систему (в данном случае это наша защищенная LAN) от доступа, который осуществляется из Интернета. DMZ создается посредством реализации полузащищенной сетевой зоны, что достигается путем применения межсетевых экранов или маршрутизаторов со строгими фильтрами. Затем посредством элементов управления сетью определяется политика, какому трафику разрешается проникновение в DMZ, а какому трафику разрешено выходить за пределы DMZ. Очевидно, что все системы, доступные из внешней среды, должны быть размещены в демилитаризованной зоне. Следует учитывать и то, что, если система доступна через интерактивный сеанс (такой, как telnet или SSH), то открывается возможность проведения атак против других систем, находящихся в DMZ. В качестве модели рассмотрим следующую. Одна из возможных архитектур безопасной LAN c использованием демилитаризованной зоны изображена на рис. 1:
В данном случае наша сеть включает в себя два межсетевых экрана, отделяющих DMZ от внешней и внутренней сети. Внешняя сеть оказывается между маршрутизатором провайдера и первым межсетевым экраном, в то время как демилитаризованная зона размещается между межсетевыми экранами №1 и №2. В настройках межсетевого экрана №1 предусмотрено разрешение прохождения всего трафика DMZ, а также всего внутреннего трафика (за некоторым исключением). Межсетевой экран №2 сконфигурирован более жестко с учетом того, что разрешен только исходящий интернет-трафик. Подобная конфигурация значительно повышает общий уровень безопасности LAN. Нельзя не согласиться с тем, что использование и обслуживание пары межсетевых экранов повышает стоимость архитектуры и требует дополнительных усилий по управлению и настройке, но… оно того стоит.
IDS
IDS — система обнаружения вторжений. В идеальном случае такая система лишь выдаст сигнал тревоги при попытке проникновения. Обнаружение вторжений помогает при превентивной идентификации активных угроз посредством оповещений и предупреждений о том, что злоумышленник осуществляет сбор информации, необходимой для проведения атаки. Разновидностью IDS является IPS, возможности которой выходят за рамки простого обнаружения вторжений и дополняются возможностью превентивного противодействия. В настоящее время можно выделить, по крайней мере, два основных типа IDS:
. узловые (HIDS);
. и сетевые (NIDS).
Как правило, система HIDS размещается в узлах системы, отслеживая любую подозрительную активность, которую можно классифицировать как признаки атак на данный узел. HIDS представляют собой систему датчиков, загружаемых на различные серверы организации и управляемых центральным диспетчером. Сенсор HIDS позволяет определить, была ли атака успешной, если атака имела место на той же платформе, на которой установлен датчик. Следует заметить, что система HIDS, как правило, стоит дороже, чем сетевая система, что объясняется тем, что каждый сервер должен иметь лицензию на датчик (датчики дешевле для одного сервера, однако общая стоимость датчиков больше по сравнению со стоимостью использования сетевых IDS). При использовании системы HIDS следует обратить внимание на то, что работа процесса датчика на сервере может занимать до 15% общего процессорного времени. При активно используемой системе подобная трата системных ресурсов может отрицательно сказаться на производительности, и, таким образом, не исключено, что вам придется приобретать более производительную систему. NIDS представляет собой программный комплекс, работающий на специально выделенной системе. Принцип функционирования NIDS чем-то схож с работой сетевого сниффера: NIDS переводит работу сетевой карты в системе в promiscuous mode (беспорядочный режим — состояние, в котором сетевой адаптер обнаруживает в сети все фреймы вне зависимости от их конечного адреса). После получения пакетов происходит анализ трафика с использованием набора правил и признаков атак для определения того, представляет ли этот трафик какой-либо интерес. На рис. 2 показана возможность использования двух типов IDS:
NAT
Еще одним инструментом, который мы применим при проектировании безопасной LAN, станет NAT.
NAT — это технология трансляции одного или нескольких адресов в другие адреса. В большинстве случаев функции NAT реализуются посредством межсетевого экрана (хорошим примером является Kerio Win Rout Firewall с гибкой системой настройки NAT). Маршрутизаторы также могут выполнять эту функцию. Очевидно, что функция безопасности NAT реализуется благодаря тому, что скрытые адреса внутренних систем являются невидимыми из внешней сети — в частности, из сети Интернет. Следует учитывать и тот факт, что для защиты от инсайдерских атак NAT бесполезна: если злоумышленник находится внутри организации или имеет прямой доступ к внутренней сети через VPN или телефонное соединение, то NAT и вовсе никак не сможет защитить сеть.
Необходимый минимум
1. При построении безопасной LAN следует минимизировать количество служб и сервисов, предоставляемых сетью, используемых клиентами из сети Интернет.
2. Архитектура LAN в обязательном порядке должна предусматривать наличие DMZ — демилитаризованной зоны, контролируемой межсетевым экраном.
3. Крайне желательно наличие NAT (система переадресации выполняет функцию сокрытия адресов внутренних систем).
4. Установка самых последних обновлений строго обязательна.
Даже если ваша система имеет самые последние обновления, расслабляться все равно не стоит: с момента обнаружения новой уязвимости и до момента выхода заплатки "умные люди" успевают написать эксплоит или создать червя.
5. Разумеется, как на сервере, так и на рабочих станциях должно быть установлено антивирусное ПО со свежими базами.
6. Если у вас до сих пор файловая система FAT32, смените ее на NTFS. NTFS de facto более безопасна: она позволяет разграничить доступ к ресурсам вашего ПК и значительно усложнит процесс локального и сетевого взлома паролей базы SAM.
7. В свойствах подключения крайне желательно оставить только самое необходимое, а именно ТСР/IP. "Службу доступа к файлам и принтерам сети Microsoft" необходимо отключить (касается машин, не предоставляющих SMS-доступ), чтобы не облегчать задачу всем любителям "дефолтовых" C$, D$, ADMIN$ и т.д.
8. Все неиспользуемые сервисы желательно выключить. Это не только улучшит производительность вашей системы, но и автоматически закроет кучу открытых портов (рис. 3):
9. Удалите лишние учетные записи (такие, как HelpAssistant и SUPPORT_388945a0), а в оснастке gpedit.msc запретите локальный и сетевой вход для всех пользователей, оставив только используемых на данной машине.
10. Пользователя "Администратор" лучше переименовать (через оснастку gpedit.msc).
11. Открытые по умолчанию ресурсы C$, D$, ADMIN$ желательно отключить (созданием параметра DWORD по адресу
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters):
12. В локальной сети не стоит забывать и о снифферах, с помощью которых ваши пароли могут стать "общественным достоянием" (не секрет, что пароли таких сервисов, как FTP и Telnet, передаются по LAN в открытом виде). Используя сниффер (например, Cain&Abel), даже зашифрованные пароли легко взломать.
Выход — построение локальной сети не на хабах (сетевые пакеты, которые получает хаб, распределяются по всем адресам независимо от места назначения), а на свитчах (используется технология доставки пакетов "по адресу"). Применение свитчей значительно усложняет процесс перехвата сетевых паролей и делает злоумышленника "видимым" (перехват паролей возможен даже при использовании свитчей(!), но в этом случае машина злоумышленника вынуждена генерировать ARP-пакеты — технология ARP-poizoning), используя стандартный набор для антисниффинга.
13. Минимальная сеансовая безопасность должна подразумевать использование криптостойкого алгоритма — NTLMv2:
Использование NTLMv2-механизма вместо уязвимого LM или NT значительно повышает криптостойкость паролей (включается через оснастку "Локальные параметры безопасности") и снижает возможные риски, связанные с перехватом и расшифровкой хэшей. Перечисленные способы защиты/построения безопасной сети — отнюдь не панацея против всех, кто всерьез решил взломать вашу сеть. Соблюдение вышеперечисленного минимума значительно снижает вероятность взлома, делая вашу сеть более безопасной к внешним и внутренним угрозам.
100% защиты нет, к ней можно лишь приблизиться…
Олег Бойцев, security-expert, boytsev_om@mail.ru
Безопасная архитектура — это фундамент
Итак, помимо централизованной политики безопасности, без которой de facto невозможно построение безопасной сети в принципе, особое внимание следует обратить на следующее:
1) Использование безопасных протоколов обмена (не секрет, что такие текстовые протоколы, как FTP и Telnet, представляют собой явную угрозу) и туннелирование данных, например, посредством SSH.
2) Шифрование критичных данных с использованием надежных криптоалгоритмов.
3) Использование архитектуры, включающей в себя наличие DMZ (демилитаризованной зоны), обслуживаемой двумя файрволлами.
4) Использование IDS (Intrusion-Detection System), IPS (Intrusion-Prevention System) и NAT.
5) Защита периферии посредством тонких клиентов и двухфакторной системы аутентификации.
DMZ. Проектирование демилитаризованной зоны
Не секрет, что системы, открытые для прямого доступа извне, являются главными целями злоумышленников. Для организаций, имеющих дело с критичной и конфиденциальной информацией, вопрос защиты периметра сети стоит особенно остро. Политика безопасности внешних систем (web-сервер, почтовый сервер и др.) требуют самой тщательной проработки, так как они подвержены нападению в первую очередь. Задача заключается в том, чтобы ограничить доступ этих систем к действительно важным и секретным компьютерам, расположенным внутри сети, что реализуется посредством технологий, описанных мною ниже.
DMZ — сокращение от demilitarized zone (демилитаризованная зона) — подразумевает собой фрагмент сети, не являющийся полностью доверенным. Смысл создания DMZ заключается в том, чтобы оградить внутреннюю систему (в данном случае это наша защищенная LAN) от доступа, который осуществляется из Интернета. DMZ создается посредством реализации полузащищенной сетевой зоны, что достигается путем применения межсетевых экранов или маршрутизаторов со строгими фильтрами. Затем посредством элементов управления сетью определяется политика, какому трафику разрешается проникновение в DMZ, а какому трафику разрешено выходить за пределы DMZ. Очевидно, что все системы, доступные из внешней среды, должны быть размещены в демилитаризованной зоне. Следует учитывать и то, что, если система доступна через интерактивный сеанс (такой, как telnet или SSH), то открывается возможность проведения атак против других систем, находящихся в DMZ. В качестве модели рассмотрим следующую. Одна из возможных архитектур безопасной LAN c использованием демилитаризованной зоны изображена на рис. 1:
В данном случае наша сеть включает в себя два межсетевых экрана, отделяющих DMZ от внешней и внутренней сети. Внешняя сеть оказывается между маршрутизатором провайдера и первым межсетевым экраном, в то время как демилитаризованная зона размещается между межсетевыми экранами №1 и №2. В настройках межсетевого экрана №1 предусмотрено разрешение прохождения всего трафика DMZ, а также всего внутреннего трафика (за некоторым исключением). Межсетевой экран №2 сконфигурирован более жестко с учетом того, что разрешен только исходящий интернет-трафик. Подобная конфигурация значительно повышает общий уровень безопасности LAN. Нельзя не согласиться с тем, что использование и обслуживание пары межсетевых экранов повышает стоимость архитектуры и требует дополнительных усилий по управлению и настройке, но… оно того стоит.
IDS
IDS — система обнаружения вторжений. В идеальном случае такая система лишь выдаст сигнал тревоги при попытке проникновения. Обнаружение вторжений помогает при превентивной идентификации активных угроз посредством оповещений и предупреждений о том, что злоумышленник осуществляет сбор информации, необходимой для проведения атаки. Разновидностью IDS является IPS, возможности которой выходят за рамки простого обнаружения вторжений и дополняются возможностью превентивного противодействия. В настоящее время можно выделить, по крайней мере, два основных типа IDS:
. узловые (HIDS);
. и сетевые (NIDS).
Как правило, система HIDS размещается в узлах системы, отслеживая любую подозрительную активность, которую можно классифицировать как признаки атак на данный узел. HIDS представляют собой систему датчиков, загружаемых на различные серверы организации и управляемых центральным диспетчером. Сенсор HIDS позволяет определить, была ли атака успешной, если атака имела место на той же платформе, на которой установлен датчик. Следует заметить, что система HIDS, как правило, стоит дороже, чем сетевая система, что объясняется тем, что каждый сервер должен иметь лицензию на датчик (датчики дешевле для одного сервера, однако общая стоимость датчиков больше по сравнению со стоимостью использования сетевых IDS). При использовании системы HIDS следует обратить внимание на то, что работа процесса датчика на сервере может занимать до 15% общего процессорного времени. При активно используемой системе подобная трата системных ресурсов может отрицательно сказаться на производительности, и, таким образом, не исключено, что вам придется приобретать более производительную систему. NIDS представляет собой программный комплекс, работающий на специально выделенной системе. Принцип функционирования NIDS чем-то схож с работой сетевого сниффера: NIDS переводит работу сетевой карты в системе в promiscuous mode (беспорядочный режим — состояние, в котором сетевой адаптер обнаруживает в сети все фреймы вне зависимости от их конечного адреса). После получения пакетов происходит анализ трафика с использованием набора правил и признаков атак для определения того, представляет ли этот трафик какой-либо интерес. На рис. 2 показана возможность использования двух типов IDS:
NAT
Еще одним инструментом, который мы применим при проектировании безопасной LAN, станет NAT.
NAT — это технология трансляции одного или нескольких адресов в другие адреса. В большинстве случаев функции NAT реализуются посредством межсетевого экрана (хорошим примером является Kerio Win Rout Firewall с гибкой системой настройки NAT). Маршрутизаторы также могут выполнять эту функцию. Очевидно, что функция безопасности NAT реализуется благодаря тому, что скрытые адреса внутренних систем являются невидимыми из внешней сети — в частности, из сети Интернет. Следует учитывать и тот факт, что для защиты от инсайдерских атак NAT бесполезна: если злоумышленник находится внутри организации или имеет прямой доступ к внутренней сети через VPN или телефонное соединение, то NAT и вовсе никак не сможет защитить сеть.
Необходимый минимум
1. При построении безопасной LAN следует минимизировать количество служб и сервисов, предоставляемых сетью, используемых клиентами из сети Интернет.
2. Архитектура LAN в обязательном порядке должна предусматривать наличие DMZ — демилитаризованной зоны, контролируемой межсетевым экраном.
3. Крайне желательно наличие NAT (система переадресации выполняет функцию сокрытия адресов внутренних систем).
4. Установка самых последних обновлений строго обязательна.
Даже если ваша система имеет самые последние обновления, расслабляться все равно не стоит: с момента обнаружения новой уязвимости и до момента выхода заплатки "умные люди" успевают написать эксплоит или создать червя.
5. Разумеется, как на сервере, так и на рабочих станциях должно быть установлено антивирусное ПО со свежими базами.
6. Если у вас до сих пор файловая система FAT32, смените ее на NTFS. NTFS de facto более безопасна: она позволяет разграничить доступ к ресурсам вашего ПК и значительно усложнит процесс локального и сетевого взлома паролей базы SAM.
7. В свойствах подключения крайне желательно оставить только самое необходимое, а именно ТСР/IP. "Службу доступа к файлам и принтерам сети Microsoft" необходимо отключить (касается машин, не предоставляющих SMS-доступ), чтобы не облегчать задачу всем любителям "дефолтовых" C$, D$, ADMIN$ и т.д.
8. Все неиспользуемые сервисы желательно выключить. Это не только улучшит производительность вашей системы, но и автоматически закроет кучу открытых портов (рис. 3):
9. Удалите лишние учетные записи (такие, как HelpAssistant и SUPPORT_388945a0), а в оснастке gpedit.msc запретите локальный и сетевой вход для всех пользователей, оставив только используемых на данной машине.
10. Пользователя "Администратор" лучше переименовать (через оснастку gpedit.msc).
11. Открытые по умолчанию ресурсы C$, D$, ADMIN$ желательно отключить (созданием параметра DWORD по адресу
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters):
12. В локальной сети не стоит забывать и о снифферах, с помощью которых ваши пароли могут стать "общественным достоянием" (не секрет, что пароли таких сервисов, как FTP и Telnet, передаются по LAN в открытом виде). Используя сниффер (например, Cain&Abel), даже зашифрованные пароли легко взломать.
Выход — построение локальной сети не на хабах (сетевые пакеты, которые получает хаб, распределяются по всем адресам независимо от места назначения), а на свитчах (используется технология доставки пакетов "по адресу"). Применение свитчей значительно усложняет процесс перехвата сетевых паролей и делает злоумышленника "видимым" (перехват паролей возможен даже при использовании свитчей(!), но в этом случае машина злоумышленника вынуждена генерировать ARP-пакеты — технология ARP-poizoning), используя стандартный набор для антисниффинга.
13. Минимальная сеансовая безопасность должна подразумевать использование криптостойкого алгоритма — NTLMv2:
Использование NTLMv2-механизма вместо уязвимого LM или NT значительно повышает криптостойкость паролей (включается через оснастку "Локальные параметры безопасности") и снижает возможные риски, связанные с перехватом и расшифровкой хэшей. Перечисленные способы защиты/построения безопасной сети — отнюдь не панацея против всех, кто всерьез решил взломать вашу сеть. Соблюдение вышеперечисленного минимума значительно снижает вероятность взлома, делая вашу сеть более безопасной к внешним и внутренним угрозам.
100% защиты нет, к ней можно лишь приблизиться…
Олег Бойцев, security-expert, boytsev_om@mail.ru
Компьютерная газета. Статья была опубликована в номере 29 за 2007 год в рубрике безопасность