IPSec использует концепцию Security Association (безопасная ассоциация, SA) для создания именованных комбинаций ключей и политики, используемых для защиты информации для определенной функции. Политика может указывать определенного пользователя, IP-адрес хоста или сетевой адрес, аутентификация которых должна быть проведена, или задавать маршрут, где можно было бы получить такую информацию.
Internet Key Exchange (IKE) устраняет необходимость вручную вводить ключи в системы. IKE использует безопасность с секретным ключом для подтверждения своих полномочий для создания IPSec-соединения и для секретного обмена открытыми ключами. Протокол IKE также способен согласовывать совместимый набор протоколов шифрования с чужим хостом, так что администраторам не нужно знать, какие именно протоколы шифрования поддерживаются на хосте другой стороны. После обмена открытыми ключами и согласования протоколов шифрования безопасные ассоциации автоматически создаются на обоих хостах и может быть установлено обычное IPSec-взаимодействие. С использованием IKE в каждый компьютер, которому требуется взаимодействие через IPSec, должен быть введен только один секретный ключ. Этот ключ может быть использован для создания соединения IPSec с любым другим IPSec-хостом, обладающим этим же секретным ключом
В Windows 2000 можно сконфигурировать политики IPSec для использования Kerberos для автоматического обмена секретными ключами для IKE Это устраняет потребность в ручном вводе ключей и позволяет реализовать полностью автоматическое безопасное шифрование между членами одной Active Directory в сетях Windows 2000
Инициатор IKE начинает IKE-запрос, отправляя удаленному хосту запрос на соединение в виде простого текста. Удаленный хост генерирует случайное число, сохраняет его копию и отправляет копию обратно инициатору. Инициатор шифрует свой секретный ключ с использованием случайного числа и отправляет его удаленному хосту. Удаленный хост расшифровывает секретный ключ, используя свое сохраненное случайное число, и сравнивает закрытый ключ со своим секретным ключом (или списком ключей, называемом связкой ключей (keyring)). Если секретный ключ не совпадает ни с одним ключом из списка, удаленный хост разорвет соединение. Если совпадет, удаленный хост зашифрует свой открытый ключ при помощи секретного ключа и отправит его обратно инициатору. Инициатор затем воспользуется открытым ключом для установки сеанса IPSec с удаленным хостом.
Рис. 6.5.2.1. Пример работы Internet Key Exchange.
Реализация Microsoft IPSec не завершена полностью, потому что стандарты IPSec все еще появляются. Практическим следствием этого является то, что реализация IPSec в Windows 2000 по умолчанию несовместима с реализациями большинства поставщиков брандмауэров
6.5.3. L2TP
Layer 2 Tunneling Protocol является расширением протокола Point-to-Point Protocol (протокол точка-точка, РРР) и позволяет разделить конечную точку канала передачи данных и точку доступа к сети. В традиционном РРР пользователь (обычно удаленный пользователь) устанавливает РРР-соединение с сервером удаленного доступа. Этот сервер отвечает на соединение канального уровня (звонок через модем) и также работает как точка доступа к сети, извлекая данные, инкапсулированные в РРР-сообщение, и передавая их в сеть назначения. Инкапсулированные данные могут быть кадром AppleTalk, IP-пакетом, IPX-пакетом, пакетом NetBIOS или любым другим пакетом сетевого уровня.
В Windows 2000 эта служба называется RRAS.
L2TP отделяет ответы на звонки и маршрутизируемый доступ по сети При работе по протоколу L2TP звонящая сторона может дозваниваться к модемному пулу (или DSL Access Module, или чему-либо еще) и эти устройства могут просто инкапсулировать полученные пакеты L2TP в пакеты Frame Relay, ATM или TCP/IP для дальнейшей передачи серверу удаленного доступа. По достижении сервера удаленного доступа содержимое пакетов L2TP извлекается и вложенные данные передаются в локальную сеть.
L2TP предназначен для того, чтобы дать возможность поставщикам услуг Интернета использовать менее дорогостоящее оборудование, разделяя функции сервера удаленного доступа на аппаратную функцик (физический прием данных через соединение) и программную функцию (получение инкапсулированных данных РР-Р), что может быть реализовано на разных компьютерах. Это дает ряд важных преимуществ:
• пользователи могут дозваниваться до локального модемного пула который будет передавать L2TP находящемуся на большом расстоянии серверу удаленного доступа, таким образом избегая затрат на звонки на большое расстояние при удаленном доступе с прямым дозвоном;
• вложенные данные в L2TP могут быть зашифрованы при помощи IPSec для обеспечения удаленного доступа с защищенной аутентификацией;
• многоканальные сеансы L2TP могут физически обрабатываться различными приемниками и корректно связываться с единственным сервером удаленного доступа. В нынешней реализации многоканальных РРР-соединений все каналы должны быть соединены одним и тем же сервером удаленного доступа.
L2TP может использовать IPSec для шифрования кадров РРР, такт образом предоставляя удаленным пользователям возможность без опасного РРР-сеанса. L2TP специально разрабатывался для предоставления удаленному пользователю возможностей аутентификации и подключения к удаленным сетям. Поскольку L2TP является расширением РРР, любой протокол сетевого уровня (например, IPX, NetBEUI или AppleTalk) может быть встроен внутрь L2TP. В противоположность этому, оба протокола РРТР и IPSec предназначены для использования в IP-сетях и не работают с другими протоколами. Применение РРР также обеспечивает поддержку всех стандартных протоколов аутентификации пользователя, включая CHAP, MS-CHAP и ЕАР.
L2TP использует в качестве своего транспорта UDP, а не TCP/IP, потому что встроенный протокол РРР может обеспечить необходимую гарантию надежности для потока L2TP работает через порт 1701 UDP.
6.5.4. РРТР
РРТР был первой попыткой Microsoft предоставить безопасный удаленный доступ пользователям сети. По существу, РРТР создает зашифрованный сеанс РРР между хостами TCP/IP. В отличие от L2TP, РРТР действует только поверх TCP/IP; L2TP может работать поверх любого транспорта пакетов, включая Frame Relay и ATM. РРТР не использует IPSec для шифрования пакетов, вместо этого он использует хэшированный пароль пользователя Windows 2000 для создания закрытого ключа между клиентом и удаленным сервером, который (в версии с 128-битным шифрованием) задействует случайное число для повышения устойчивости шифрования.
7. Разработка программы определяющей имя компьютера и
его ip-адрес.
7.1. Постановка задачи и определение основных
целей программы.
Поставлена задача составить программу которая могла бы получать имя компьютера (рабочей станции), определять его ip-адрес в сети и выводить эти данные на экран. Программа должна работать в среде Win32, использовать минимум ресурсов, быть достаточно компактной и написанной на языке высшего уровня.
7.2. Принцип работы программы.
Для написания программы был использован язык программирования макро Ассемблер (MASM).
Использовались следующие библиотеки: wsock32.lib, user32.lib, kernel32.lib, gdi32.lib.
При запуске программы (exe файла) она обращается через АР-функции к динамическим библиотекам Windows и получает из них необходимые данные, далее через АР-функции выводит полученные данные (имя и ip-адрес рабочей станции) на экран в стандартном для Windows окне, окно фиксированного размера.
Программа скомпилирована с включением makefile (файла сборки). makefile считает что в директория masm32 находится на том же накопителе и – в стандартной instalation позиции. Так же имеется файл используемых программой ресурсов.
Рис. 7.2.1. Внешний вид окна программы
Выводы
Безопасность — это комплекс мер, принимаемых для предотвращения потери или раскрытия информации в сети. Поскольку невозможно абсолютно устранить вероятность потери в пригодных к работе системах, определенная степень риска неизбежна, и безопасность системы должна основываться на фундаменте предоставления доступа только надежным принципалам безопасности (пользователям или компьютерам).
Для управления безопасностью любая система должна:
• контролировать доступ;
• идентифицировать пользователей;
• ограничивать или разрешать доступ;
• записывать деятельность пользователей;
• осуществлять закрытое взаимодействие между системами;
• минимизировать риск неправильной конфигурации.
Шифрование, процесс сокрытия сообщения при помощи математического алгоритма (шифра), и секретное значение (ключ), известное только легитимным сторонам, образуют основу всей современной компьютерной безопасности. Шифрование может быть использовано для подтверждения идентификационных данных пользователя или компьютера, для проверки допустимости данных или для сокрытия содержимого данных при хранении или в коммуникационном потоке.