Средства защиты информации в сети
В компьютерной сети возникает проблема сетевой безопасности, под которой понимают все вопросы, связанные с взаимодействием устройств в сети. Это прежде всего защита данных в момент их передачи по линиям связи и защита от несанкционированного удаленного доступа в сеть.
Краеугольным камнем всех служб информационной безопасности (система аутентификации или авторизации, средства создания защищенного канала, способ безопасного хранения данных и т.п.) является шифрование. Пара процедур – шифрование и дешифрование – называется криптосистемой. В современных алгоритмах шифрования предусматривается наличие параметра – секретного ключа. В криптографии принято правило Керкхоффа: «Стойкость шифра должна определяться только секретностью ключа». Так, все стандартные алгоритмы шифрования, например, RSA, DES, широко известны, но от этого их эффективность не снижается.
Базовые технологии сетевой безопасности
К базовым технологиям сетевой безопасности относятся: аутентификация, авторизация, аудит и технология защищенного канала.
Аутентификация предотвращает доступ к сети нежелательных лиц. Термин «аутентификация» в переводе с латинского означает «установление подлинности». Аутентификация отличается от идентификации. Идентификация заключается в сообщении пользователем системе своего идентификатора, например имени пользователя (логина). Аутентификация – это процедура доказательства пользователем того, что именно ему принадлежит введенный им идентификатор. Реализуется аутентификация, как правило, при помощи пароля, проверяемого системой. В процедуру аутентификации обязательно участвуют две стороны – одна сторона доказывает свою аутентичность, а другая – проверяет эти доказательства и принимает решение.
Авторизация– это процедура наделения легального пользователя системы правами выполнять определенные действия над ресурсами системы. Эти права пользователям и группам пользователей назначает администратор системы при создании учетных записей.
Таким образом, авторизация осуществляется только тех пользователей, которые успешно прошли аутентификацию.
При централизованном хранении учетных данных пользователей в домене на контроллерах домена в ходе аутентификации и авторизации пользователей с клиентских рабочих станциях необходимо по сети передавать идентификаторы и пароли клиентов, которые могут быть перехвачены и использованы для несанкционированного доступа к ресурсам сети.
Аудит– фиксация в системном журнале событий, связанных с доступом к защищаемым системным ресурсам. Аудит используется для того, чтобы засекать даже неудачные попытки «взлома» системы. Поскольку никакая система безопасности не гарантирует защиту на уровне 100%, то последним рубежом в борьбе с нарушениями оказывается система аудита.
Технология защищенного канала призвана обеспечивать безопасность передачи данных по открытой транспортной сети, например Интернет. Защищенный канал подразумевает выполнение трех основных функций:
· Взаимную аутентификацию абонентов при установлении соединения, которая может быть выполнена, например, путем обмена паролями.
· Защиту передаваемых по каналу сообщений от несанкционированного доступа, например, путем шифрования. Все современные путеводители (навигаторы) по WWW-ресурсам, которые сейчас принято называть браузерами, имеют возможность создавать защищенные каналы с web-серверами при помощи популярного протокола SSL.
· Подтверждение целостности поступающих по каналу сообщений, например, путем передачи одновременно с сообщением его дайджеста (небольшое число байт – некоторая контрольная сумма, но полученная путем одностороннего шифрования сообщения с помощью секретного ключа и позволяющая проверить на приемной стороне – изменялось или нет сообщение).
Система Kerberos
Протокол Kerberos, о котором уже говорилось в предыдущем параграфе, реализуется системой Kerberos. Система Kerberos может работать в среде многих сетевых операционных систем, например в Windows 2000/2003 Server она встроена как основной компонент безопасности. Kerberos – это сетевая служба, работающая по технологии клиент-сервер и предназначенная для централизованного решения задач аутентификации и авторизации в компьютерных сетях.
Система Kerberos исключает передачу паролей по сети. В этой системе пользователь кроме первичной аутентификации (при выполнении логического входа в сеть) проходит аутентификацию и авторизацию при каждом обращении к ресурсам системы. В системе Kerberos имеются Kerberos-сервер, Kerberos-клиенты и ресурсные серверы. Путь клиента к сетевому ресурсу состоит из трех этапов:
· определение легальности клиента, выполняющего логический вход в сеть;
· получение разрешения на обращение к ресурсному серверу;
· получение разрешение на доступ к ресурсу.
Для решения первой и второй задач клиент обращается к Kerberos-серверу. Каждая из этих задач решается отдельным сервером, входящим в состав Kerberos-сервера.
Первая задача решается аутентификационным сервером(Authentication Server, AS), хранящим в своей базе данных сведения об идентификаторах и паролях пользователей.
Вторая задача решается сервером квитанций(Ticket-Granting Server, TGS), который выполняет дополнительную проверку легальных клиентов и выдает им разрешение (в виде электронной квитанции или билета) на доступ к требуемому ресурсному серверу. Для формирования квитанций этот сервер использует копии секретных ключей всех ресурсных серверов и AS-сервера, которые хранятся у него в базе данных.
Третья задача решается уже на уровне ресурсного сервера.
При выполнении пользователем логического входа в сеть Kerberos-клиент рабочей станции посылает аутентификационному серверу AS идентификатор пользователя ID (рис. 3.11).
Если в базе данных сервера AS такой ID есть, то из базы данных извлекается пароль пользователя P. Этот пароль сервер AS использует для шифрования всего ответного сообщения, направляемого Kerberos-клиенту. В этом ответном сообщении содержится:
· TTGS – разрешение на доступ к серверу квитанций в виде электронной квитанции или билета, зашифрованного ключом K, который известен только серверу TGS; шифрование ключом K обозначается так: { TTGS }K;
· KS – ключ сеанса, который будет использоваться для аутентификации в течении всего сеанса работы пользователя до его выхода из сети.
Следовательно, ответное сообщение выглядит: {{ TTGS }K, KS }P.
При получении этого сообщения на рабочей станции Kerberos-клиент пытается его расшифровать при помощи введенного пользователем пароля. Если пароль верен, то из расшифрованного сообщения извлекается разрешение на доступ к серверу квитанций (которое находится в зашифрованном виде { TTGS }K) и ключ сеанса KS.
Рис. 3.11. Последовательность обмена сообщениями в системе Kerberos
Следует отметить, что при такой аутентификации сам пароль по сети не передавался.
Разрешение TTGS является удостоверением легальности пользователя и разрешает ему продолжать процесс получения доступа к ресурсам сети. Так как разрешение зашифровано, то даже сам клиент не сможет изменить или подделать его. Время действия этого разрешения ограничено длительностью сеанса работы пользователя в сети.
Во время сеанса работы пользователя при каждом обращении к новому ресурсному серверу вначале получается разрешение на доступ к нему от сервера квитанций (с получением пароля доступа к этому ресурсному серверу), а затем уже выполняется доступ к ресурсу. В своем запросе Kerberos-клиент передает серверу квитанций TGS, так называемый аутентификатор A, который содержит идентификатор пользователя и сетевой адрес компьютера. Этот аутентификатор используется однократно и шифруются сеансным ключом KS.
Когда клиент расшифровывает сообщение, полученное от сервера TGS, то он отсылает ресурсному серверу запрос (зашифрованный ключом, который тот знает) на установление с ним сеанса доступа. Если проверка запроса пользователя прошла успешно, то доступ к сетевому ресурсу разрешен. Ключ сеанса KS1 используется для обмена сообщениями между клиентов и этим ресурсным сервером.
Выводы
1. Идея распределенной обработки данных (на нескольких компьютерах) применяется во всех сетевых службах современных операционных систем. На практике сетевое приложение обычно разделяют на две или три части для выполнения соответственно на двух или трех компьютерах. При этом распределение функциональных частей приложения между компьютерами может быть различным.
2. В распределенных системах не существует памяти, непосредственно доступной процессам, работающих на разных компьютерах, поэтому взаимодействие процессов может осуществляться только путем передачи сообщений через сеть. В сообщениях переносятся запросы от клиентов сетевых служб к соответствующим серверам. Сервер возвращает ответ, также помещая его в сообщение и отправляя его по сети клиенту. В самом простом случае системные средства обеспечения связи могут быть сведены к двум основным коммуникационным примитивам, один send (отправить) – для посылки сообщения, другой receive (получить) – для получения сообщения.
3. Основным способом повышения прозрачности адресации узлов сети является использование условных символьных имен вместо числовых адресов компьютеров. Для замены символьных имен на числовые применяются две схемы: широковещание и централизованная служба имен. Примером централизованной службы является служба доменных имен Интернета (Domain Name Service, DNS).
4. Удобным механизмом, облегчающим взаимодействие операционных систем и приложений по сети, является механизм вызова удаленных процедур (Remote Procedure Call, RPC), который реализуется при помощи клиентских и серверных стабов.
5. Ключевым компонентом любой распределенной системы является сетевая файловая система, которая также является распределенной. Распределенная файловая система – это сетевая служба, включающая программы-серверы (файловые серверы) и программы-клиенты, взаимодействующие с помощью определенного протокола по сети между собой. В сетевых операционных системах семейства Windows основным протоколом является протокол SMB (Server Message Block)
6. Файловый сервер может быть реализован по одной из двух схем: с запоминанием данных о последовательности файловых операций клиента, т. е. по схеме stateful, и без запоминания таких данных, т. е. по схеме stateless.Серверы stateless более отказоустойчивы, так как таблицы открытых файлов хранятся распределено по клиентским машинам.
7. В распределенных файловых системах, состоящих из клиентов и серверов, возможны два различных подхода к месту для хранения кэшируемых файлов и их частей:кэширование на стороне сервера в его памяти и кэширование на стороне клиента, которое реализуется как с использованием диска клиента, так и его оперативной памяти. Однако одновременное существование в сети нескольких копий одного и того же файла, хранящихся в кэшах клиентов, порождает проблему согласования копий.
8. В качестве одной из услуг, предоставляемых клиентам, сетевая файловая система может осуществлять репликацию (тиражирование) файлов, каждая копия которых хранится на отдельном файловом сервере. Принципиальное отличие репликации от кэширования заключается в преследуемой цели – если кэширование предназначено для обеспечения локального доступа к файлу одному клиенту и повышения за счет этого скорости работы этого клиента, то репликация нужна для повышения надежности хранения файлов и снижения нагрузки на файловые серверы.
9. Наличие в сети нескольких реплик файла порождает проблему их согласования. Существует несколько способов обеспечения согласованности реплик: чтение любой реплики – запись во все, запись в доступные реплики, первичная реплика и кворум.
10. Для сети Windows распределенная файловая система (Distributed File System, DFS) настраивается в операционной системе Windows 2000 Server и и позволяет объединить файловые ресурсы, находящиеся на различных компьютерах, в одно пространство имен. Распределенная файловая система DFS обеспечивает подключение к одному логическому имени до 32 альтернативных общих ресурсов (реплик).
11. В распределенных вычислительных системах или общедоступных компьютерных сетях, например в Интернете, существует множество объектов, представляющих интерес для большого числа пользователей. Служба каталогов отличается от каталога тем, что является одновременно ресурсом данных и той службой, с помощью которой пользователи могут к этим данным обращаться и ими пользоваться. Служба каталогов – это та ось, вокруг которой вращается большая распределенная система. Наглядным примером такой системной интеграцииявляется Active Directory – это служба каталогов, включенная в операционную систему Windows 2000/2003 Server.
12. Служба каталогов Active Directory образует пространство имен, в котором имя объекта в каталоге разрешается в сам объект. Как и другие службы каталогов, Active Directory обеспечивает некоторый механизм хранения информации и механизмы для доступа к ней, основными из которых являются стандарт Х.500, служба DNS (Domain Name Service) и протокол LDAP (Lightweight Directory Access Protocol).
13. Центральное место в Active Directory занимает понятие домен. Под доменом понимается совокупность компьютеров, характеризующихся наличием общей базы учетных записей пользователей и единой политикой безопасности.
14. Служба каталогов Active Directory может охватывать один или нескольких доменов, образуя дерево или лес доменов, которые охвачены доверительными отношениями. Операционная система Windows 2000/2003 устанавливает доверительные отношения между доменами на основе протокола безопасности Kerberos.
15. При централизованном хранении учетных записей на контроллере домена защита процедур аутентификации и авторизации в сети Windows и в других сетях выполняется с использованием системы Kerberos.
Вопросы для самопроверки
1. Какими преимуществами обладает распределенная обработка данных?
2. Какие функциональные части обычно выделяют в модели распределенного приложения?
3. Какие варианты размещения функциональных частей распределенного приложения бывают при двухзвенной схеме?
4. Каково типовое размещение функциональных частей распределенного приложения при трехзвенной схеме?
5. Какой механизм используется для организации взаимодействия сетевых процессов между собой?
6. Какое назначение в сетевых операционных системах имеют примитивыsend и receive?
7. Что является адресом процесса в сети?
8. Какие схемы применяются для замены символьных имен узлов сети на числовые?
9. Каково назначение в сетевых операционных системах механизма вызова удаленных процедур (Remote Procedure Call, RPC)?
10. Каково назначение и состав распределенной файловой системы?
11. Что понимают под файловым сервером?
12. Какие протоколы клиент-сервер применяются в настоящее время в сетевых файловых службах?
13. Какими достоинствами и недостатками обладают файловые серверы, выполненные по схеме stateful и по схеме stateless?
14. Какие способы кэширования данных применяются в распределенных файловых системах?
15. Какие варианты согласования копий файлов применяются при их кэшировании на стороне клиентов?
16. Каково назначение механизма репликации файлов в распределенных файловых системах?
17. Чем отличается репликация файлов от их кэширования в распределенной файловой системе?
18. Какими способами достигается согласованность реплик в распределенных файловых системах?
19. Какими возможностями обладает распределенная файловая система DFS (Distributed File System), которая может быть развернута в сети Windows?
20. Каково назначение и задачи службы каталогов?
21. Каково назначение понятий объект, атрибут, класс объектов, схема, контейнер и дерево в службе каталогов Active Directory?
22. На базе каких операционных систем в сети может быть создана служба каталогов Active Directory?
23. Какова система имен объектов в службе каталогов Active Directory?
24. Какими возможностями обладает служба каталогов Active Directory?
25. На каких «трех китах стоит» служба Active Directory?
26. Каково назначение домена в службе Active Directory?
27. Какую функцию в домене выполняет контроллер домена?
28. В чем суть доверительных отношений между доменами? Какой домен называют доверяющим, а какой доверенным?
29. В чем разница понятий дерево доменов и лес доменов?
30. В чем суть процедур идентификации, аутентификации и авторизации?
31. Каково назначение протокола Kerberos?
32. В чем заключаются основные этапы работы системы Kerberos?