Анализ системы безопасности Microsoft Windows 2000 Advanced Server и стратегий ее использования
поддерживаются на хосте другой стороны. После обмена открытыми ключами и
согласования протоколов шифрования безопасные ассоциации автоматически
создаются на обоих хостах и может быть установлено обычное 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-адрес.
1. Постановка задачи и определение основных
целей программы.
Поставлена задача составить программу которая могла бы получать имя
компьютера (рабочей станции), определять его ip-адрес в сети и выводить эти
данные на экран. Программа должна работать в среде Win32, использовать
минимум ресурсов, быть достаточно компактной и написанной на языке высшего
уровня.
2. Принцип работы программы.
Для написания программы был использован язык программирования макро
Ассемблер (MASM).
Использовались следующие библиотеки: wsock32.lib, user32.lib,
kernel32.lib, gdi32.lib.
При запуске программы (exe файла) она обращается через АР-функции к
динамическим библиотекам Windows и получает из них необходимые данные,
далее через АР-функции выводит полученные данные (имя и ip-адрес рабочей
станции) на экран в стандартном для Windows окне, окно фиксированного
размера.
Программа скомпилирована с включением makefile (файла сборки).
makefile считает что в директория masm32 находится на том же накопителе и –
в стандартной instalation позиции. Так же имеется файл используемых
программой ресурсов.
Рис. 7.2.1. Внешний вид окна программы
Выводы
Безопасность — это комплекс мер, принимаемых для предотвращения потери
или раскрытия информации в сети. Поскольку невозможно абсолютно устранить
вероятность потери в пригодных к работе системах, определенная степень
риска неизбежна, и безопасность системы должна основываться на фундаменте
предоставления доступа только надежным принципалам безопасности
(пользователям или компьютерам).
Для управления безопасностью любая система должна:
• контролировать доступ;
• идентифицировать пользователей;
• ограничивать или разрешать доступ;
• записывать деятельность пользователей;
• осуществлять закрытое взаимодействие между системами;
• минимизировать риск неправильной конфигурации.
Шифрование, процесс сокрытия сообщения при помощи математического
алгоритма (шифра), и секретное значение (ключ), известное только легитимным
сторонам, образуют основу всей современной компьютерной безопасности.
Шифрование может быть использовано для подтверждения идентификационных
данных пользователя или компьютера, для проверки допустимости данных или
для сокрытия содержимого данных при хранении или в коммуникационном потоке.
Безопасность Windows 2000 основывается на аутентификации
пользователей. Входя в систему Windows 2000, пользователи подтверждают свою
личность для того, чтобы получить доступ к файлам, программам и общим
данным на серверах. Windows 2000 использует проникающую модель
безопасности, в которой идентификационные данные пользователя проверяются
при всех действиях, выполняемых пользователем на компьютере, вместо того
чтобы предоставлять широкий доступ к компьютеру после того, как произошел
успешный вход в систему.
Для того чтобы операционная система была надежной, она должна быть
способной гарантировать, что не подвергалась несанкционированным изменениям
и что информация может храниться в безопасности от пользователей. Windows
2000 использует разрешения файловой системы NTFS для управления доступом к
файлам, включая файлы, обеспечивающие загрузку Windows 2000. Разрешения
могут быть предоставлены пользователям и группам пользователей для каждой
функции файловой системы. Файлы также могут быть зашифрованы на диске для
гарантии того, что к ним не будет получен доступ, даже когда компьютер
выключен.
Сетевая безопасность Windows 2000 управляется при помощи Active
Directory, используемой в качестве репозитария хэшированных паролей
Kerberos, групповых политик и политик IPSec. Active Directory определяет
также взаимоотношения между принципалами безопасности.
Windows 2000 использует Kerberos для проверки идентификационных данных
пользователя по сети. Kerberos является надежной системой безопасности
третьей фирмы. Поскольку обе конечные точки во взаимодействии доверяют и
доверяемы сервером Kerberos, они доверяют друг другу. Серверы Kerberos
могут доверять другим серверам Kerberos, поэтому могут быть созданы
транзитивные доверительные отношения, дающие возможность конечным точкам из
разделенных большим расстоянием сетей устанавливать сеансы взаимодействия с
проверкой подлинности. Kerberos интегрирован с Active Directory (все
контроллеры домена являются центрами Kerberos Key Distribution Center
(центрами распределения ключей Kerberos)), и вхождение в одно дерево домена
автоматически создает транзитивные двусторонние доверительные отношения.
Групповые политики применяются для установки требований безопасности и
конфигурации компьютеров и учетных записей пользователей в домене, офисе
или контейнере OU. Можно применять групповые политики для управления
практически всеми элементами безопасности компьютеров и пользователей.
Групповые политики управляются из оснастки Active Directory Users and
Computers (Пользователи и компьютеры) или через оснастку Active Directory
Sites and Services (Сайты И службы).
IPSec является стандартом Интернета для обеспечения аутентичности IP-
пакетов и для шифрования данных, вложенных в IP-пакеты. IPSec работает со
многими различными алгоритмами безопасности и может работать в обычном
транспортном режиме или туннельном режиме для эмуляции закрытого канала в
открытой сети, такой как Интернет.
Безопасность в эру Интернета означает активную блокировку сеансов от
неизвестных компьютеров, авторизацию пользователей на основе сертификатов
публичных ключей шифрования, аудита использования файлов и каталогов,
шифрование передачи данных и предотвращение непреднамеренной активизации
вирусов и троянских коней легитимными пользователями.
Вынеся уроки из плохо подготовленной Windows NT4, Windows 2000
предоставляет сложный набор средств аутентификации пользователей,
шифрования данных, обеспечения безопасных соединений, блокировки
несанкционированного доступа и целостного управления безопасностью. При
помощи набора служб по умолчанию Windows 2000 можно сделать более
безопасной, чем любую другую операционную систему для массового рынка — в
том числе все версии UNIX или Linux, — и ею гораздо проще управлять и
использовать в безопасном состоянии.
Windows 2000 не может, тем не менее, предусмотреть все, потому что
Microsoft и поставщики программного обеспечения третьих фирм пока еще во
главу угла ставят простоту использования, а не безопасность в
потребительских продуктах, таких как Internet Explorer, Outlook и Office.
Во всех этих программах существуют серьезные изъяны в безопасности из-за их
встроенных сценарных процессоров, требующих от администраторов сетей
неустанной бдительности. Windows 2000 также может помочь в исправлении этих
проблем, но пока Microsoft в своих продуктах для конечных пользователей не
станет уделять основное внимание безопасности, единственным способом
предотвратить проблемы безопасности в вашей сети, вызванные этими
программами, —это вообще их не использовать.
Список литературы:
В. Олифер Н. Олифер. Сетевые операционные системы – С. Петербург.: Питер.,
- 2003.
Марк Джозеф Эдвард, Дэвид Лебланк. Где NT хранит пароли. - Журнал "Windows
2000 Magazine", -02/1999
Мэтью Штребе. Windows 2000: проблемы и решения. Специальный справочник –
С.Петербург.: Питер., -2002.
Андреев А. Г. и др. Microsoft Windows 2000: Server и Professional. Русские
версии. – BHV, -2001.
Грег Тодд. Windows 2000 Datacenter Server //по материалам сайта http:
www.citforum.ru
Криста Андерсон. Администрирование дисков в Windows 2000.-Журнал "Windows
2000 Magazine", -03/2000 //по материалам сайта http: www.citforum.ru
Джеффри Р. Шапиро. Windows 2000 Server. Библия пользователя – Вильямс, -
2001.
Гарри М. Брелсфорд. Секреты Windows 2000 Server – Вильямс, -2000.
Гусева. Сети и межсетевые коммуникации. Windows 2000 - Диалог Мифи, - 2002.
Приложение А
Исходный текст программы
.386
.model flat, stdcall
option casemap :none
include /masm32/include/windows.inc
include /masm32/include/user32.inc
include /masm32/include/kernel32.inc
include /masm32/include/wsock32.inc
include /masm32/include/gdi32.inc
includelib /masm32/lib/wsock32.lib
includelib /masm32/lib/user32.lib
includelib /masm32/lib/kernel32.lib
includelib /masm32/lib/gdi32.lib
WndProc PROTO :DWORD,:DWORD,:DWORD,:DWORD
.data
dlgname db "WINSOCK",0
szTitle db "Ip Dialog",0
wsaError db "Error initializing winsock!",13,10
szName db "Computer Name: %s",0
szFont db "MS Sans Serif",0
.data?
wsa WSADATA
hStatic dd ?
hFont dd ?
hInstance dd ?
buffer db 24 dup (?)
buffer2 db 128 dup (?)
.code
start:
invoke GetModuleHandle, NULL
mov hInstance, eax
invoke WSAStartup,101h,addr wsa
.if eax == NULL
invoke DialogBoxParam,hInstance,ADDR dlgname,0,ADDR
WndProc,0
invoke ExitProcess,0
.endif
invoke MessageBox,NULL,offset wsaError,offset szTitle,MB_OK
+ MB_ICONSTOP
invoke ExitProcess,1
WndProc proc hWin:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD
.if uMsg == WM_INITDIALOG
invoke LoadIcon,hInstance,101
invoke SendMessage,hWin,WM_SETICON,TRUE,eax
invoke GetDlgItem,hWin,2000
mov hStatic,eax
invoke gethostname,offset buffer,sizeof buffer
invoke wsprintf,addr buffer2,addr szName,addr buffer
invoke SetDlgItemText,hWin,3000,addr buffer2
invoke gethostbyname,addr buffer
mov eax,[eax+12]
mov eax,[eax]
mov eax,[eax]
invoke inet_ntoa,eax
invoke SetDlgItemText,hWin,2000,eax
invoke WSACleanup
xor eax,eax
ret
.elseif uMsg == WM_CTLCOLORSTATIC
mov eax,lParam
.if eax == hStatic
invoke CreateFont,16,16,0,0,400,0,0,0,OEM_CHARSET,\
OUT_TT_PRECIS,CLIP_DEFAULT_PRECIS,\
DEFAULT_QUALITY,DEFAULT_PITCH or FF_SWISS,\
ADDR szFont
mov hFont,eax
invoke SelectObject, wParam, hFont
invoke GetSysColor, COLOR_MENU
invoke SetBkColor, wParam, eax
invoke SetTextColor,wParam,Blue
invoke GetStockObject, HOLLOW_BRUSH
ret
.endif
.elseif uMsg == WM_CLOSE
invoke DeleteObject,hFont
invoke EndDialog,hWin,0
xor eax,eax
ret
.endif
xor eax,eax
ret
WndProc endp
end start
Приложение Б
Файл сборки
makefile
NAME=ip
$(NAME).exe: $(NAME).obj $(NAME).res
\masm32\bin\Link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib
$(NAME).obj $(NAME).res
$(NAME).res: $(NAME).rc
\masm32\bin\rc $(NAME).rc
$(NAME).obj: $(NAME).asm
\masm32\bin\ml /c /coff /Cp $(NAME).asm
Приложение В
Файл используемых ресурсов
ip.rs
#include "\masm32\include\resource.h"
WINSOCK DIALOG DISCARDABLE 0, 0, 135, 25
STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Ip Dialog"
FONT 8, "MS Sans Serif"
BEGIN
GROUPBOX "&Main",3000,0,0,135,25
CTEXT "Static",2000,4,9,127,12,SS_CENTERIMAGE | SS_SUNKEN
END
101 ICON DISCARDABLE "ico101.ico"
-----------------------
Шифрованный открытый ключ
Случайный ключ
Зашифрованный секретный ключ
Инициирование процедуры обмена ключами (IКЕ)
Страницы: 1, 2, 3, 4, 5, 6, 7
|