- •Благодарности
- •Список использованных сокращений
- •От издательства
- •Введение
- •Глава 1. Начало
- •Как провести аудит законно?
- •Методология взлома
- •Резюме
- •Глава 2. Получение информации из открытых источников
- •Введение
- •Что искать?
- •Использование Google для сбора информации
- •Ограничение поиска одним сайтом
- •Поиск файлов определенного типа
- •Поиск определенных частей сайта
- •Google Hacking
- •Поиск информации о людях
- •Архивные данные
- •Netcraft
- •Получение информации о домене
- •Автоматизация процесса
- •FOCA
- •Сбор базы данных адресов e-mail
- •recon-ng
- •Упорядочить информацию
- •Резюме
- •Глава 3. Получение информации от сетевых сервисов
- •Введение
- •Сканирование портов
- •Определение активных хостов
- •UDP-сканирование
- •NMAP
- •Получение информации от DNS-сервера
- •Типы записей
- •Взаимодействие с DNS-сервером
- •MX-записи
- •NS-запросы
- •Перебор имен
- •Перебор обратных записей
- •Передача зоны DNS
- •Получение информации с использованием SNMP
- •Получение информации с использованием NetBIOS
- •Null session
- •Работа с электронной почтой
- •Анализ баннеров
- •Получение информации от NTP-сервера
- •Поиск уязвимостей
- •Резюме
- •Глава 4. Атаки на веб-приложения
- •Знакомство с сookie
- •Межсайтовый скриптинг (XSS)
- •Включение локальных или удаленных файлов
- •SQL-инъекции
- •Резюме
- •Глава 5. Социальная инженерия
- •На кого обратить внимание?
- •Фазы атаки
- •Манипулирование людьми
- •Типы атак
- •Social-Engineer Toolkit
- •Резюме
- •Глава 6. Получаем пароли
- •Основные методы
- •Работа со списками паролей
- •Онлайн-атаки
- •Радужные таблицы
- •Резюме
- •Глава 7. Беспроводные сети
- •Краткий обзор Wi-Fi
- •Bluetooth
- •Резюме
- •Глава 8. Перехват информации
- •Пассивный перехват трафика
- •Активный перехват
- •Резюме
- •Глава 9. Обход систем безопасности
- •Системы обнаружения атак
- •Брандмауэры
- •Приманки
- •Резюме
- •Глава 10. Вредоносные программы
- •Вирусы
- •Черви
- •Шпионы
- •Рекламное ПО
- •Троянские кони
- •Практическая часть
- •Резюме
- •Глава 11. Metasploit Framework
- •Интерфейс
- •Вспомогательные модули
- •Полезная нагрузка
- •Практические навыки
- •Резюме
- •Глава 12. Передача файлов
- •TFTP
- •Загрузка файлов с использованием скриптов
- •Резюме
- •Глава 13. Превышение привилегий
- •Локальное повышение прав в Linux
- •Локальное повышение прав в Windows
- •Повышение привилегий в случае некорректной конфигурации прав доступа
- •Резюме
- •Глава 14. Перенаправление портов и туннелирование
- •Перенаправление портов
- •SSH-туннелирование
- •proxychains
- •Резюме
- •Глава 15. Переполнение буфера
- •Атаки, направленные на переполнение буфера
- •Введение
- •Что такое переполнение буфера?
- •Программы, библиотеки и бинарные файлы
- •Угрозы
- •Основы компьютерной архитектуры
- •Организация памяти
- •Разбиение стека (Smashing the stack)
- •Перезапись указателя фрейма
- •Атака возврата в библиотеку
- •Переполнение динамической области памяти
- •Пример нахождения уязвимости переполнения буфера
- •Резюме
- •Глава 16. Собирая все воедино
- •Стандарт выполнения тестов на проникновение
- •Подготовительная фаза
- •Договор о проведении работ
- •Получение разрешения
- •Сбор данных
- •Анализ уязвимостей
- •Моделирование
- •Эксплуатация уязвимостей
- •Постэксплуатационный этап
- •Отчет
- •Зачистка
- •Введение
- •Глава 17. Личный пример
- •Глава 18. Бумажная работа
- •Политика безопасности
- •Стандарты
- •Процедуры
- •Инструкции
- •Техническая документация
- •Глава 19. Обучение и тренировки
- •Тренировки
- •Глава 20. Защита от утечки информации
- •Глава 21. Брандмауэры
- •Глава 22. Системы обнаружения вторжения (IDS)
- •Глава 23. Виртуальные защищенные сети (VPN)
- •Компоненты виртуальной частной сети
- •Безопасность VPN
- •Создание VPN из компонентов с открытым исходным кодом
- •Заключение
23 Виртуальные защищенные сети (VPN)
Несмотря на все попытки контролирующих органов, в современном мире ИТ давно уже отсутствуют какие-либо границы. Считается нормальным, что над разработкой какого-либо ПО с открытым кодом трудятся тысячи специалистов со всего света.
Однако данная тенденция присуща не только открытым сообществам — бизнесмены уже давно поняли всю прелесть удаленной работы. Для работающего из дома сотрудника не придется покупать дорогую офисную мебель и приводить рабочее помещение в соответствие всем нормам безопасности труда, да и вообще отпадает необходимость аренды помещения. А если компании повезло, то она может найти отличного специалиста из другой страны, который за ту же работу попросит в два, а то и в три раза меньшую зарплату. Такая экономия средств позволяет компаниям бурно развиваться, нанимать новых сотрудников и открывать свои представительства в разных городах.
Однако развитие в этом направлении привело к появлению другой проблемы. Защита сети, находящейся в пределах одного здания, не представляет собой особых сложностей. А теперь представьте, что руководство вашей компании, головной офис которой находится в Москве, решило открыть свое представительство в Новосибирске. И вам, как ИТ-специалисту, необходимо обеспечить филиалу доступ ко всем внутренним информационным ресурсам, находящимся в вашей сети.
Когда-то давно существовала практика протягивания выделенной линии до удаленных офисов, однако из-за дороговизны и плохой масштабируемости от нее отказались. В наши дни связь между удаленными офисами осуществляется через глобальную сеть. Это позволяет сократить расходы на выделенные линии и использовать для связи с удаленными сотрудниками недорогую инфраструктуру местных интернет-провайдеров.
258 Глава 23 • Виртуальные защищенные сети (VPN)
Однако при таком подходе мы сталкиваемся с двумя другими проблемами. Первая касается маршрутизации. Обычно внутренние ИС компании не имеют доступа в Интернет, а маршрутизация во внутренней сети осуществляется при помощи немаршрутизируемых в глобальной сети IP-адресов. Вторая проблема — безопасность данных. Вся информация передается по открытым, незащищенным каналам. При таком способе ее передачи невозможно обеспечить ни физическую, ни логическую безопасность канала.
Для решения этих проблем и была создана технология виртуальных частных сетей (VPN). Благодаря этой технологии появилась возможность защитить информацию, которая передается по открытым каналам, и объединить географически разделенные компьютеры и локальные сети в единую среду передачи данных.
Виртуальные частные сети организуются благодаря построению виртуальных каналов связи, VPN-туннелей, на базе глобальной сети. В таких туннелях информация передается исключительно в зашифрованном виде.
Компоненты виртуальной частной сети
Виртуальная частная сеть состоит из следующих компонентов:VPN-клиент;
VPN-сервер;
VPN-шлюз;
среда передачи данных.
В качестве VPN-клиента может выступать множество устройств. Это могут быть персональные компьютеры пользователей, мобильные телефоны, шлюзы других сетей и т. д. Обычно именно VPN-клиент инициализирует установление безопасного соединения. В качестве компонента, обеспечивающего связь с удаленным сервером, может выступать ПО, установленное на рабочей станции пользователя, либо отдельное устройство. В наши дни даже у роутеров, предназначенных для домашнего использования, есть встроенный VPN-клиент.
Данная часть системы является самым ненадежным ее компонентом, а вы, конечно, помните, что максимальная прочность цепи равна прочности самого слабого ее звена. Администраторы сети должны контролировать такие удаленные хосты с особым рвением, к ним необходимо предъявлять даже более строгие требования, чем к компьютерам локальной сети. На удаленных компьютерах обязательно должен быть установлен антивирус, локальный фаервол, ПО, позволяющее удаленно администрировать данный компьютер, и IDS (если централизованно используется компанией).
VPN-серверы некоторых компаний поддерживают технологию проверки клиента на соответствие политикам безопасности. Если, скажем, на компьютере пользовате-
Компоненты виртуальной частной сети 259
ля присутствует антивирус, сигнатуры которого не обновлялись в течение последних 24 часов, то такому пользователю может быть отказано в подключении к сети.
VPN-сервер, как следует из названия, — это сервер, к которому подключается клиент. Как правило, это отдельный хост в сети, который может аутентифицировать клиента и предоставить ему доступ к своим ресурсам. Как и в случае с клиентом, на стороне сервера можно организовать VPN-туннель при помощи аппаратного или программного решения.
VPN-шлюз отличается от сервера тем, что предоставляет клиентам доступ к многочисленным ресурсам, находящимся за ним, во внутренней сети. Обычно это отдельные устройства, занимающиеся аутентификацией пользователей и маршрутизацией. Также посредством двух VPN-шлюзов обеспечивается надежное взаимодействие пользователей и ресурсов, находящихся в различных удаленных сетях.
Грамотная конфигурация таких шлюзов имеет критическое значение для обеспечения должного уровня ИБ. В сети обязательно должен присутствовать барьер между конечной точкой туннеля и внутренней сетью. Обычно им выступает брандмауэр. Во многих компаниях брандмауэр сочетает в себе функции фаервола и VPN-шлюза. Логично расположить такой шлюз в DMZ-сети, которая уже отделена от внутренней, ведь очень важно, чтобы потоки данных внутренней сети и VPN были разделены.
Еще одна проблема, о которой стоит задуматься при организации соединения типа «сеть–сеть», это то, где именно будут дешифрованы данные на противоположном конце. Сейчас поясним подробнее. Когда дело касается одного предприятия и второй конец туннеля также администрируется сотрудниками вашей компании, то вы сами выбираете наиболее безопасную архитектуру для построения сети удаленного офиса. Однако ситуация меняется в случае, когда вы выстраиваете соединение с сетью вашего бизнес-партнера. В этом случае вы никак не можете влиять на безопасность и архитектуру удаленной сети, однако бизнес-модель подразумевает, что вы будете передавать конфиденциальные данные своей компании в другой офис, удаленный и, возможно, небезопасный. Есть над чем задуматься, не правда ли? Некоторые компании перед включением в свою сеть бизнес-партнеров проводят аудит безопасности их сети, а также подписывают двустороннее соглашение, обязывающее стороны следить за безопасностью данных. На наш взгляд, это хорошее, хоть и трудозатратное решение.
В качестве среды передачи данных может выступать любая линия связи. Это могут быть телефонные линии, оптоволоконные каналы, смешанные среды и даже те, в которых используются другие протоколы передачи данных, нежели чем в сети предприятия.
Последнее достигается благодаря туннелированию. Суть данной технологии состоит в том, что предназначенные для удаленной сети пакеты данных помещаются внутрь других пакетов, которые будут передаваться через Интернет. Пакеты протоколов более низкого уровня можно инкапсулировать в пакеты более высокого уровня согласно модели OSI. Также можно инкапсулировать друг в друга и пакеты одного уровня.
260 Глава 23 • Виртуальные защищенные сети (VPN)
И
Р а
Г а
Р а
Д а а
Рис. 23.1. Организация VPN
Один пакет данных помещается в другой полностью, вместе с полем данных и всеми заголовками. Один из недостатков такого подхода состоит в том, что для передачи того же количества данных приходится использовать большее количество пакетов, что увеличивает нагрузку на сеть. Однако современное оборудование и высокоскоростные среды передачи информации нивелируют этот недостаток.
Однако инкапсуляция не гарантирует сохранность данных. Для обеспечения должного уровня безопасности информации перед инкапсуляцией пакеты полностью шифруются, и вместе с полем данных злоумышленникам становится недоступна и служебная информация, такая как адреса отправителя и получателя пакетов. Это позволяет предотвратить утечку информации о структуре внутренней сети.
Итак, подытожим написанное выше. После установки соединения между клиентом и сервером предназначенные для передачи по открытой сети конфиденциальные данные шифруются вместе со служебными заголовками и помещаются в поле данных незашифрованного пакета. Служебные заголовки такого пакета могут быть прочитаны любым устройством глобальной сети. Благодаря этому пакет достигает своей цели — VPN-шлюза. На шлюзе из поля данных незашифрованного пакета извлекаются зашифрованные данные. Затем они дешифруются и передаются по внутренней сети точно так же, как и пакет с данными от любого другого пакета этой сети.
Данную технологию можно представить в виде почтового голубя. К птице прикрепляется послание, которое она доставляет в нужный пункт назначения. При этом ей все равно, на каком языке написано письмо, зашифровано оно или нет, а также будет оно потом пересылаться дальше или останется в той точке, куда она его доставит. Главное для нее — донести послание из точки А в точку Б, и на этом всё.