Операционная система семейства windows nt. WNT: правдивая история Windows NT. Требования к аппаратуре

Скачать Viber 14.03.2019
Скачать Viber

Кившенко Алексей, 1880

Данная статья содержит обзор пяти вариантов решения задачи организации доступа к сервисам корпоративной сети из Интернет. В рамках обзора приводится анализ вариантов на предмет безопасности и реализуемости, что поможет разобраться в сути вопроса, освежить и систематизировать свои знания как начинающим специалистам, так и более опытным. Материалы статьи можно использовать для обоснования Ваших проектных решений.

При рассмотрении вариантов в качестве примера возьмем сеть, в которой требуется опубликовать:

  1. Корпоративный почтовый сервер (Web-mail).
  2. Корпоративный терминальный сервер (RDP).
  3. Extranet сервис для контрагентов (Web-API).

Вариант 1. Плоская сеть

В данном варианте все узлы корпоративной сети содержатся в одной, общей для всех сети («Внутренняя сеть»), в рамках которой коммуникации между ними не ограничиваются. Сеть подключена к Интернет через пограничный маршрутизатор/межсетевой экран (далее - IFW ).

Доступ узлов в Интернет осуществляется через NAT , а доступ к сервисам из Интернет через Port forwarding .

Плюсы варианта :

  1. Минимальные требования к функционалу IFW (можно сделать практически на любом, даже домашнем роутере).
  2. Минимальные требования к знаниям специалиста, осуществляющего реализацию варианта.
Минусы варианта :
  1. Минимальный уровень безопасности. В случае взлома, при котором Нарушитель получит контроль над одним из опубликованных в Интернете серверов, ему для дальнейшей атаки становятся доступны все остальные узлы и каналы связи корпоративной сети.
Аналогия с реальной жизнью
Подобную сеть можно сравнить с компанией, где персонал и клиенты находятся в одной общей комнате (open space)


hrmaximum.ru

Вариант 2. DMZ

Для устранения указанного ранее недостатка узлы сети, доступные из Интернет, помещают в специально выделенный сегмент – демилитаризованную зону (DMZ). DMZ организуется с помощью межсетевых экранов, отделяющих ее от Интернет (IFW ) и от внутренней сети (DFW ).


При этом правила фильтрации межсетевых экранов выглядят следующим образом:
  1. Из внутренней сети можно инициировать соединения в DMZ и в WAN (Wide Area Network).
  2. Из DMZ можно инициировать соединения в WAN.
  3. Из WAN можно инициировать соединения в DMZ.
  4. Инициация соединений из WAN и DMZ ко внутренней сети запрещена.


Плюсы варианта:
  1. Повышенная защищённость сети от взломов отдельных сервисов. Даже если один из серверов будет взломан, Нарушитель не сможет получить доступ к ресурсам, находящимся во внутренней сети (например, сетевым принтерам, системам видеонаблюдения и т.д.).
Минусы варианта:
  1. Сам по себе вынос серверов в DMZ не повышает их защищенность.
  2. Необходим дополнительный МЭ для отделения DMZ от внутренней сети.
Аналогия с реальной жизнью
Данный вариант архитектуры сети похож на организацию рабочей и клиентской зон в компании, где клиенты могут находиться только в клиентской зоне, а персонал может быть как в клиентской, так и в рабочих зонах. DMZ сегмент - это как раз и есть аналог клиентской зоны.


autobam.ru

Вариант 3. Разделение сервисов на Front-End и Back-End

Как уже отмечалось ранее, размещение сервера в DMZ никоим образом не улучшает безопасность самого сервиса. Одним из вариантов исправления ситуации является разделение функционала сервиса на две части: Front-End и Back-End . При этом каждая часть располагается на отдельном сервере, между которыми организуется сетевое взаимодействие. Сервера Front-End, реализующие функционал взаимодействия с клиентами, находящимися в Интернет, размещают в DMZ, а сервера Back-End, реализующие остальной функционал, оставляют во внутренней сети. Для взаимодействия между ними на DFW создают правила, разрешающие инициацию подключений от Front-End к Back-End.

В качестве примера рассмотрим корпоративный почтовый сервис, обслуживающий клиентов как изнутри сети, так и из Интернет. Клиенты изнутри используют POP3/SMTP, а клиенты из Интернет работают через Web-интерфейс. Обычно на этапе внедрения компании выбирают наиболее простой способ развертывания сервиса и ставят все его компоненты на один сервер. Затем, по мере осознания необходимости обеспечения информационной безопасности, функционал сервиса разделяют на части, и та часть, что отвечает за обслуживание клиентов из Интернет (Front-End), выносится на отдельный сервер, который по сети взаимодействует с сервером, реализующим оставшийся функционал (Back-End). При этом Front-End размещают в DMZ, а Back-End остается во внутреннем сегменте. Для связи между Front-End и Back-End на DFW создают правило, разрешающее, инициацию соединений от Front-End к Back-End.

Плюсы варианта:

  1. В общем случае атаки, направленные против защищаемого сервиса, могут «споткнуться» об Front-End, что позволит нейтрализовать или существенно снизить возможный ущерб. Например, атаки типа TCP SYN Flood или slow http read , направленные на сервис, приведут к тому, что Front-End сервер может оказаться недоступен, в то время как Back-End будет продолжать нормально функционировать и обслуживать пользователей.
  2. В общем случае на Back-End сервере может не быть доступа в Интернет, что в случае его взлома (например, локально запущенным вредоносным кодом) затруднит удаленное управление им из Интернет.
  3. Front-End хорошо подходит для размещения на нем межсетевого экрана уровня приложений (например, Web application firewall) или системы предотвращения вторжений (IPS, например snort).
Минусы варианта:
  1. Для связи между Front-End и Back-End на DFW создается правило, разрешающее инициацию соединения из DMZ во внутреннюю сеть, что порождает угрозы, связанные с использованием данного правила со стороны других узлов в DMZ (например, за счет реализации атак IP spoofing, ARP poisoning и т. д.)
  2. Не все сервисы могут быть разделены на Front-End и Back-End.
  3. В компании должны быть реализованы бизнес-процессы актуализации правил межсетевого экранирования.
  4. В компании должны быть реализованы механизмы защиты от атак со стороны Нарушителей, получивших доступ к серверу в DMZ.
Примечания
  1. В реальной жизни даже без разделения серверов на Front-End и Back-End серверам из DMZ очень часто необходимо обращаться к серверам, находящимся во внутренней сети, поэтому указанные минусы данного варианта будут также справедливы и для предыдущего рассмотренного варианта.
  2. Если рассматривать защиту приложений, работающих через Web-интерфейс, то даже если сервер не поддерживает разнесение функций на Front-End и Back-End, применение http reverse proxy сервера (например, nginx) в качестве Front-End позволит минимизировать риски, связанные с атаками на отказ в обслуживании. Например, атаки типа SYN flood могут сделать http reverse proxy недоступным, в то время как Back-End будет продолжать работать.
Аналогия с реальной жизнью
Данный вариант по сути похож на организацию труда, при которой для высоко загруженных работников используют помощников - секретарей. Тогда Back-End будет аналогом загруженного работника, а Front-End аналогом секретаря.


mln.kz

Вариант 4. Защищенный DMZ

DMZ это часть сети, доступная из Internet, и, как следствие, подверженная максимальному риску компрометации узлов. Дизайн DMZ и применяемые в ней подходы должны обеспечивать максимальную живучесть в условиях, когда Нарушитель получил контроль над одним из узлов в DMZ. В качестве возможных атак рассмотрим атаки, которым подвержены практически все информационные системы, работающие с настройками по умолчанию:

Защита от атак, связанных с DHCP

Не смотря на то, что DHCP предназначен для автоматизации конфигурирования IP-адресов рабочих станций, в некоторых компаниях встречаются случаи, когда через DHCP выдаются IP-адерса для серверов, но это довольно плохая практика. Поэтому для защиты от Rogue DHCP Server , DHCP starvation рекомендуется полный отказ от DHCP в DMZ.

Защита от атак MAC flood

Для защиты от MAC flood проводят настройку на портах коммутатора на предмет ограничения предельной интенсивности широковещательного трафика (поскольку обычно при данных атаках генерируется широковещательный трафик (broadcast)). Атаки, связанные с использованием конкретных (unicast) сетевых адресов, будут заблокированы MAC фильтрацией, которую мы рассмотрели ранее.

Защита от атак UDP flood

Защита от данного типа атак производится аналогично защите от MAC flood, за исключением того, что фильтрация осуществляется на уровне IP (L3).

Защита от атак TCP SYN flood

Для защиты от данной атаки возможны варианты:
  1. Защита на узле сети с помощью технологии TCP SYN Cookie .
  2. Защита на уровне межсетевого экрана (при условии разделения DMZ на подсети) путем ограничения интенсивности трафика, содержащего запросы TCP SYN.

Защита от атак на сетевые службы и Web-приложения

Универсального решения данной проблемы нет, но устоявшейся практикой является внедрение процессов управления уязвимостями ПО (выявление, установка патчей и т.д., например, так), а также использование систем обнаружения и предотвращения вторжений (IDS/IPS).

Защита от атак на обход средств аутентификации

Как и для предыдущего случая универсального решения данной проблемы нет.
Обычно в случае большого числа неудачных попыток авторизации учетные записи, для избежания подборов аутентификационных данных (например, пароля) блокируют. Но подобный подход довольно спорный, и вот почему.
Во-первых, Нарушитель может проводить подбор аутентификационной информации с интенсивностью, не приводящей к блокировке учетных записей (встречаются случаи, когда пароль подбирался в течении нескольких месяцев с интервалом между попытками в несколько десятков минут).
Во-вторых, данную особенность можно использовать для атак типа отказ в обслуживании, при которых Нарушитель будет умышленно проводить большое количество попыток авторизации для того, чтобы заблокировать учетные записи.
Наиболее эффективным вариантом от атак данного класса будет использование систем IDS/IPS, которые при обнаружении попыток подбора паролей будут блокировать не учетную запись, а источник, откуда данный подбор происходит (например, блокировать IP-адрес Нарушителя).

Итоговый перечень защитных мер по данному варианту:

  1. DMZ разделяется на IP-подсети из расчета отдельная подсеть для каждого узла.
  2. IP адреса назначаются вручную администраторами. DHCP не используется.
  3. На сетевых интерфейсах, к которым подключены узлы DMZ, активируется MAC и IP фильтрация, ограничения по интенсивности широковещательного трафика и трафика, содержащего TCP SYN запросы.
  4. На коммутаторах отключается автоматическое согласование типов портов, запрещается использование native VLAN.
  5. На узлах DMZ и серверах внутренней сети, к которым данные узлы подключаются, настраивается TCP SYN Cookie.
  6. В отношении узлов DMZ (и желательно остальной сети) внедряется управление уязвимостями ПО.
  7. В DMZ-сегменте внедряются системы обнаружения и предотвращения вторжений IDS/IPS.
Плюсы варианта:
  1. Высокая степень безопасности.
Минусы варианта:
  1. Повышенные требования к функциональным возможностям оборудования.
  2. Трудозатраты во внедрении и поддержке.
Аналогия с реальной жизнью
Если ранее DMZ мы сравнили с клиентской зоной, оснащенной диванчиками и пуфиками, то защищенный DMZ будет больше похож на бронированную кассу.


valmax.com.ua

Вариант 5. Back connect

Рассмотренные в предыдущем варианте меры защиты были основаны на том, что в сети присутствовало устройство (коммутатор / маршрутизатор / межсетевой экран), способное их реализовывать. Но на практике, например, при использовании виртуальной инфраструктуры (виртуальные коммутаторы зачастую имеют очень ограниченные возможности), подобного устройства может и не быть.

В этих условиях Нарушителю становятся доступны многие из рассмотренных ранее атак, наиболее опасными из которых будут:

  • атаки, позволяющие перехватывать и модифицировать трафик (ARP Poisoning, CAM table overflow + TCP session hijacking и др.);
  • атаки, связанные с эксплуатацией уязвимостей серверов внутренней сети, к которым можно инициировать подключения из DMZ (что возможно путем обхода правил фильтрации DFW за счет IP и MAC spoofing).
Следующей немаловажной особенностью, которую мы ранее не рассматривали, но которая не перестает быть от этого менее важной, это то, что автоматизированные рабочие места (АРМ) пользователей тоже могут быть источником (например, при заражении вирусами или троянами) вредоносного воздействия на сервера.

Таким образом, перед нами встает задача защитить сервера внутренней сети от атак Нарушителя как из DMZ, так и из внутренней сети (заражение АРМа трояном можно интерпретировать как действия Нарушителя из внутренней сети).

Предлагаемый далее подход направлен на уменьшение числа каналов, через которые Нарушитель может атаковать сервера, а таких канала как минимум два. Первый это правило на DFW , разрешающее доступ к серверу внутренней сети из DMZ (пусть даже и с ограничением по IP-адресам), а второй - это открытый на сервере сетевой порт, по которому ожидаются запросы на подключение.

Закрыть указанные каналы можно, если сервер внутренней сети будет сам строить соединения до сервера в DMZ и будет делать это с помощью криптографически защищенных сетевых протоколов. Тогда не будет ни открытого порта, ни правила на DFW .

Но проблема в том, что обычные серверные службы не умеют работать подобным образом, и для реализации указанного подхода необходимо применять сетевое туннелирование, реализованное, например, с помощью SSH или VPN, а уже в рамках туннелей разрешать подключения от сервера в DMZ к серверу внутренней сети.

Общая схема работы данного варианта выглядит следующим образом:

  1. На сервер в DMZ инсталлируется SSH/VPN сервер, а на сервер во внутренней сети инсталлируется SSH/VPN клиент.
  2. Сервер внутренней сети инициирует построение сетевого туннеля до сервера в DMZ. Туннель строится с взаимной аутентификацией клиента и сервера.
  3. Сервер из DMZ в рамках построенного туннеля инициирует соединение до сервера во внутренней сети, по которому передаются защищаемые данные.
  4. На сервере внутренней сети настраивается локальный межсетевой экран, фильтрующий трафик, проходящий по туннелю.

Использование данного варианта на практике показало, что сетевые туннели удобно строить с помощью OpenVPN , поскольку он обладает следующими важными свойствами:

  • Кроссплатформенность. Можно организовывать связь на серверах с разными операционными системами.
  • Возможность построения туннелей с взаимной аутентификацией клиента и сервера.
  • Возможность использования сертифицированной криптографии .
На первый взгляд может показаться, что данная схема излишне усложнена и что, раз на сервере внутренней сети все равно нужно устанавливать локальный межсетевой экран, то проще сделать, чтобы сервер из DMZ, как обычно, сам подключался к серверу внутренней сети, но делал это по шифрованному соединению. Действительно, данный вариант закроет много проблем, но он не сможет обеспечить главного - защиту от атак на уязвимости сервера внутренней сети, совершаемых за счет обхода межсетевого экрана с помощью IP и MAC spoofing.

Плюсы варианта:

  1. Архитектурное уменьшение количества векторов атак на защищаемый сервер внутренней сети.
  2. Обеспечение безопасности в условиях отсутствия фильтрации сетевого трафика.
  3. Защита данных, передаваемых по сети, от несанкционированного просмотра и изменения.
  4. Возможность избирательного повышения уровня безопасности сервисов.
  5. Возможность реализации двухконтурной системы защиты, где первый контур обеспечивается с помощью межсетевого экранирования, а второй организуется на базе данного варианта.
Минусы варианта:
  1. Внедрение и сопровождение данного варианта защиты требует дополнительных трудовых затрат.
  2. Несовместимость с сетевыми системами обнаружения и предотвращения вторжений (IDS/IPS).
  3. Дополнительная вычислительная нагрузка на сервера.
Аналогия с реальной жизнью
Основной смысл данного варианта в том, что доверенное лицо устанавливает связь с не доверенным, что похоже на ситуацию, когда при выдаче кредитов Банки сами перезванивают потенциальному заемщику с целью проверки данных.
  • корпоративные сети
  • Добавить метки

    Все большему числу предприятий сегодня становится необходимо подключить свои компьютерные сети к Интернету. За работу канала доступа обычно отвечает Интернет-провайдер (ISP), но и системному администратору компьютерной сети предприятия, даже небольшого, приходится решать ряд организационных и технологических задач. В данной статье мы не будем рассматривать почтовые службы, IP-телефонию и виртуальные частные сети (VPN), а ограничимся доступом к Web- и ftp-сервисам на базе ОС FreeBSD и прокси-сервера SQUID в корпоративной сети, охватывающей до 100 рабочих мест.

    Два метода

    Существует два основных метода предоставления пользователям корпоративной сети доступа к Web- и ftp-сервисам: посредством маршрутизации (трансляции) или через прокси-сервер.

    В первом случае (рис. 1) доступ предоставляется по IP-адресу компьютера, на котором работает сотрудник. Такую схему можно полностью реализовать на базе программного решения - шлюза ОС FreeBSD и брандмауэра IPFW. Кроме того, существуют комплексные специализированные аппаратно-программные шлюзы. Для терминальных рабочих мест организация доступа по IP-адресам технически невозможна, так как все они используют один IP-адрес терминального сервера.

    Для сопряжения рабочих станций пользователей с каналом Интернета используется шлюз в виде х86-сервера с установленными на нем ОС FreeBSD, программой NATD (обеспечивающей трансляцию внутренних IP-адресов в реальный IP-адрес сервера и обратно), IPFW, включенной маршрутизацией и двумя сетевыми интерфейсами: один из них "смотрит" в сторону локальной сети, другой подключен к провайдеру. На каждой клиентской машине в свойствах протокола TCP/IP сетевой карты необходимо прописать IP-адрес шлюза.

    Во втором случае происходит авторизация пользователя по имени доступа (login) и паролю, выделенному сотруднику. Этот вариант, в частности, можно реализовать при помощи прокси-сервера SQUID и системы аутентификации ncsa_auth. Рассмотрим типовую схему (рис. 2), где SQUID установлен на шлюзе сети: сервер "смотрит" одним интерфейсом в локальную сеть, а другим подключен к Интернет-каналу. При такой установке SQUID для работы в Интернете (по HTTP, FTP и DNS) на машинах в локальной сети не требуется NATD и маршрутизации, поскольку все запросы к ресурсам Интернета SQUID отправляет "от себя" - с IP-адресом внешнего интерфейса шлюза. Службу DNS на компьютерах клиентов можно отключить, поскольку сам SQUID обращается к DNS.


    Рис. 2. Доступ в Интернет через прокси-сервер.

    Как правило, в корпоративной сети используется электронная почта, и для ее работы маршрутизация и NATD на шлюзе все равно понадобятся, но для Web-почты, работающей по протоколу HTTP, достаточно прокси-сервера SQUID.

    "Скачанные" из Интернета данные SQUID передает пользователю и сохраняет в своем кэше. При повторном запросе эти данные извлекаются уже из кэша (если, конечно, Web-страница допускает кэширование), что происходит гораздо быстрее и не занимает к тому же канал доступа. Кроме более эффективного использования пропускной способности канала, получается экономия и на объеме трафика (по данным автора, в среднем за месяц она составляет 13%). Данные в кэше могут обновляться в зависимости от настройки самого прокси-сервера. При нажатии кнопки "Обновить" на панели управления браузера прокси-сервер принудительно копирует данные с Web-сервера, даже если они есть у него в кэше и не устарели (а заодно и обновляет их в кэше). Но некоторые страницы на Web-сайтах специально помечаются как некэшируемые, например, для целей повышенной актуальности.

    Кроме собственно доступа, системному администратору необходимо еще решить проблемы авторизации доступа, учета трафика и времени работы пользователей в Интернете, обеспечения безопасности локальной сети предприятия. Необходимо также определить правила распределения пропускной способности Интернет-канала между пользователями сети и правила доступа к ресурсам Интернета; возможно, потребуется установить и другие ограничения для пользователей.

    Все эти процедуры, в зависимости от принятого типа доступа (по IP-адресу или через прокси-сервер), имеют свои особенности.

    Аутентификация

    Аутентификация по IP-адресу компьютера не предусматривает защиты доступа в Интернет паролем. Пользователи, зная пароли на доступ к рабочей среде ОС других машин предприятия, могут работать на различных компьютерах. Поэтому, если несколько сотрудников используют один компьютер для работы в Интернете, разделить их трафик при учете невозможно.

    Существует вариант подмены IP-адреса; правда, есть и вариант противодействия - статическая таблица ARP (Address Resolution Protocol - протокол преобразования IP-адресов в MAC-адреса/аппаратные адреса сетевых карт) на шлюзе, где прописаны соответствия IP-адрес - MAC-адрес сетевой карты рабочей станции. В общем, IP-аутентификация не обладает достаточной гибкостью и достоверностью и допускает только подсчет суммарного объема трафика.

    В случае прокси-сервера пользователям корпоративной сети, получившим разрешение на доступ в Интернет (HTTP, FTP, ICQ), присваивается идентификационная пара: имя (login) и пароль (password). Подобная схема тоже позволяет выходить в Интернет с одного компьютера различным пользователям (главное, чтобы в клиентских программах были прописаны параметры прокси-сервера). Учет трафика будет вестись по каждому пользователю (логину) отдельно. Аутентификацию обеспечивает прокси-сервер SQUID под управлением ОС FreeBSD, а программная подсистема ncsa_auth хранит пароли в зашифрованном формате MD5. SQUID может использовать различные механизмы внешней аутентификации.

    Работа в Интернете через прокси-сервер должна поддерживаться клиентским ПО: в его настройках прописывается DNS или IP-адрес прокси-сервера, а также его TCP-порт. Все современные браузеры и клиент ICQ поддерживают работу через прокси-сервер и аутентификацию на нем. Аутентификация может происходить при каждом подключении (запрашиваются логин и пароль) или быть постоянной (не требующей ввода имени и пароля, при этом в настройках клиентской программы прописывается имя пользователя из списка аутентификации прокси-сервера и пароль). Аутентификация происходит однократно и действует до закрытия программы-клиента. По окончании работы в Интернете пользователь просто закрывает браузер и тем самым прерывает разрешенную сессию.

    Учет трафика

    Учет трафика по IP-адресам рабочих станций ведется средствами IPFW - программного брандмауэра, встроенного в ядро ОС FreeBSD. Для достоверного учета трафика по пользователям при такой схеме доступа сотрудники должны выходить в Интернет только с закрепленных за ними рабочих мест, что, естественно, ограничивает гибкость и мобильность их работы.

    Тем не менее такой подход имеет и свое преимущество - более точный учет суммарного объема трафика по IP-протоколу. Эта процедура реализуется с помощью установки двух правил COUNT брандмауэра IPFW:

    Count ip from any to any in via de0 count ip from any to any out via de0

    Первое правило учитывает входящий поток, второе - исходящий. Здесь de0 - внешний сетевой интерфейс шлюза, который имеет реальный IP-адрес в Интернете. В то же время при такой схеме невозможно протоколировать имена ресурсов, посещаемых пользователями, а также имена и размеры скачанных файлов.

    При использовании прокси-сервера учет трафика ведется по протоколу HTTP, и объем таких данных меньше, чем величина IP-трафика. Но при аутентификации по пользователям SQUID заносит все данные о запросах (DNS-адреса сайтов, время получения запроса, объем скачанных файлов, источник - кэш SQUID или Интернет) в журнал по каждому пользователю, вне зависимости от IP-адреса клиентской машины.

    Безопасность подключения к Интернету

    Подключение физического канала Интернет напрямую в корпоративную сеть равносильно вынесению рабочих мест своего предприятия на людную площадь. Как правило, информация, циркулирующая в локальной сети, критически важна для деятельности предприятия, и вредоносное воздействие вирусов (например, почтовых), атака извне или утечка данных изнутри могут полностью нарушить его работу.

    Вредоносное воздействие вирусов трудно недооценить, но решение этой проблемы на 90% зависит от осведомленности пользователей - не запустит ли кто вложенный в письмо вирус. Вирусные атаки можно блокировать и отражать антивирусными программами на почтовых серверах (Dr.Web, McAfee, "Антивирус Касперского Business Optimal" и т. д.) и на компьютерах пользователей (Norton Antivirus, соответствующие продукты "Лаборатории Касперского" и т. д.). Главное при этом - своевременное обновление антивирусных баз.

    Атаки извне, в зависимости от того, как организовано подключение, блокируются грамотной настройкой шлюза, применением прокси-сервера на шлюзе без NAT и маршрутизации, а также вынесением прокси-сервера, почтового и Web-сервера в "демилитаризованную зону" (DMZ, подсеть корпоративной сети, доступная из Интернета).

    Утечки корпоративных данных имеют в основном организационную природу и составляют самую сложную проблему для службы безопасности предприятия. Существуют технические решения, минимизирующие возможность этого: в частности, закрытие всех TCP/UDP-портов на интерфейсе шлюза, "смотрящем" в локальную сеть (остается только порт прокси-сервера). Должна быть отключена маршрутизация и преобразование адресов (NAT) между Интернетом и внутренними ("серыми") IP-адресами сети предприятия.

    Перечисленные меры используются, когда прокси-сервер установлен на шлюзе, но более защищенной считается система с прокси-сервером, вынесенным в DMZ.

    Наиболее полную защиту обеспечивает физическое разделение локальной корпоративной сети и Интернета. В этом случае на предприятии организуется компьютерная сеть для работы в Интернете, не связанная с локальной сетью каналами передачи информации. Данные, которые необходимо отправить по электронной почте, переносятся на сменных носителях (например, компакт-дисках), которые проверяются службой безопасности и шифруются, например, с помощью PGP - бесплатной программы шифрования почтовых сообщений и файлов.

    Распределение пропускной способности канала

    Для IP-схемы доступа разделение пропускной способности канала между пользователями можно реализовать средствами Pipes брандмауэра IPFW ОС FreeBSD, а в случае прокси-сервера SQUID - использовать его механизм delay_pools.

    Сервер определяет размер файла, запрошенного пользователем, и если этот размер не превышает установленной величины, то файл загружается на максимально возможной скорости. В случае более объемного файла он передается с заданной ограниченной скоростью. Данный механизм применяется не ко всем пользователям, а лишь к перечисленным в списках ACL (Access Control List - именованная группа объектов, к которым могут применяться различные ограничения), что позволяет очень гибко настраивать приоритеты работы различных групп пользователей.

    В то же время, если в данный момент работает только один пользователь, к нему все равно будут применяться ограничения по скорости при загрузке больших файлов. IPFW, в отличие от delay_pools у SQUID, позволяет реализовать динамическое деление канала.

    Доступ к ресурсам и другие ограничения

    Для IP-схемы возможны ограничения только по IP-адресам серверов и по TCP/UDP-портам. Это вызывает неудобства, поскольку сегодня распространен механизм Virtual Hosts Web-сервера Apache на основе протокола HTTP v1.1, когда один Web-сервер с одним IP-адресом обслуживает множество сайтов с разными DNS-именами.

    SQUID же, наоборот, предоставляет очень гибкие механизмы администрирования доступа пользователей к ресурсам Интернета с помощью списков ACL. Это может быть, например, доступ в определенное время, день недели, месяц; разрешение/запрет на копирование определенных типов файлов, разрешение/запрет на обращение к ресурсу, в имени которого содержится некоторое ключевое слово.

    Настройка шлюза IPFW

    В роли шлюза (gateway) используется компьютер с двумя сетевыми интерфейсами (один подключен к каналу Интернета и имеет реальный IP-адрес, а другой "смотрит" в корпоративную сеть и идентифицируется IP-адресом ее подсети), на котором установлена ОС FreeBSD (http://www.freebsd.org). FreeBSD проста в настройке, надежна, распространяется бесплатно и содержит практически все, что может понадобиться для сетевого сервера масштабов предприятия.

    Процесс установки ОС FreeBSD, конфигурирование сетевых интерфейсов, запуск и конфигурирование IPFW, NATD, маршрутизации - в общем, все необходимое для настройки шлюза доступа в Интернет (и по IP, и с помощью прокси-сервера SQUID, кроме настройки самого SQUID) подробно описано в книге М. Эбена и Б. Таймэна "FreeBSD. Энциклопедия пользователя" (Киев: Diasoft, 2003).

    Для обоих вариантов организации доступа в Интернет необходимо сконфигурировать ПО IPFW. IPFW фильтрует и подсчитывает IP-пакеты на всех сетевых интерфейсах. Программа также обрабатывает пакеты и на более высоких уровнях: UDP, TCP и ICMP. Кроме того, IPFW участвует в работе NATD. Автор рекомендует при настройке правил ipfw воспользоваться утилитой trafshow для контроля обращений в сеть и из сети по всем интерфейсам с указанием IP-адресов внешних машин, протоколов и портов в реальном времени. Команда

    Trafshow -i fxp0 -n

    задает отображение пакетов на fxp0-интерфейсе с номерами портов, а команда

    Ipfw -a list

    отображает правила ipfw, число пакетов и объем трафика (в байтах), прошедших с момента включения сервера или последнего обнуления счетчиков правил.

    Внедрение и работа с SQUID

    Кэширующий прокси-сервер SQUID (http://www.squid-cache.org) на платформе Unix - это распространяемое бесплатно ПО с открытым кодом. Он легко конфигурируется, хорошо документирован, широко распространен и просто интегрируется с ОС FreeBSD. SQUID позволяет организовать различные типы аутентификации при доступе к Интернету, разграничивает доступ по любому параметру (имени домена, ключевому слову в адресе, протоколу и т. д.) на основе списков ACL.

    При использовании SQUID на шлюзе необходимо закрыть для локальных машин возможность обращаться к внешним адресам (и наоборот) и разрешить доступ из локальной сети только к порту прокси-сервера на его локальном интерфейсе. NAT и маршрутизацию на шлюзе, если они не нужны для SMTP или для других служб, также следует отключить.

    Установка проводится из портов ОС FreeBSD (в версии 4.9, текущая версия 4.10) /usr/ports/www/squid (2.5 версия STABLE3) или /usr/ports/www/squid24 (STABLE7). Нужные опции необходимо раскомментировать в Makefile. Рекомендуемые опции:

    CONFIGURE_ARGS+= -enable-delay-pools (для включения механизма распределения пропускной способности); CONFIGURE_ARGS+= -enable-err-language=Russian-1251 (для диагностики на русском языке)

    После установки SQUID необходимо установить саму систему авторизации. Ее исходные тексты содержатся в файлах SQUID:

    /usr/ports/www/squid24/work/squid-2.4.STABLE7/auth_modules/NCSA

    Рабочий пример текста squid.conf

    Icp_port 0 client_netmask 255.255.255.0 authenticate_program /usr/local/squid/bin/ncsa_auth /usr/local/etc/passwd authenticate_children 20 reference_age 2 weeks acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT acl Inet_users proxy_auth "/usr/local/etc/squid_users" delay_pools 1 delay_class 1 2 delay_parameters 1 7500/7500 1875/1875 delay_access 1 allow Inet_users delay_access 1 deny all http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow Inet_users http_access deny all

    После установки, конфигурирования, запуска SQUID и его системы авторизации администратору остается только добавление и удаление пользователей. Данные о пользователе достаточно создать лишь в SQUID, так как он не попадает в среду ОС прокси-сервера, и соответственно не надо создавать идентификационные данные пользователя ОС. После изменений в squid.conf или добавления/удаления пользователей SQUID должен перечитать свою конфигурацию без закрытия существующих пользовательских сессий командой

    Squid -k reсonfigure.

    Создавая пользователя SQUID при помощи ncsa_auth, необходимо прописать login и пароль пользователя в двух файлах конфигурации; в нашем примере это будет выглядеть так:

    /usr/local/etc/squid_users /usr/local/etc/passwd

    В первый файл просто добавляется имя (login) пользователя с новой строки с помощью текстового редактора. Во втором файле хранятся пароли пользователей (в MD5), и добавлять в этот файл учетную запись можно только с помощью утилиты htpasswd, которая поставляется с Web-сервером Apache.

    Необходимо следить за содержанием кэша SQUID и периодически его очищать во избежание переполнения файловой системы - командой squid -Z.

    В настройках клиентов в свойствах браузеров и клиентов ICQ необходимо указать IP-адрес прокси-сервера и порт. В нашем примере это IP:192.168.1.8 и порт 3128 (этот порт используется по умолчанию). Если программа ICQ настроена для работы через прокси-сервер, то она использует 443-й, а не 5190-й TCP-порт ICQ-серверов, что также надо учитывать при настройке межсетевых экранов. При использовании SQUID необходимо закрыть для локальных машин возможность обращаться к 80-му TCP-порту Интернет-серверов. Можно вообще разрешить доступ только к порту прокси-сервера, а ко всем остальным, за исключением почтовых, его закрыть, дабы "продвинутые" пользователи не ходили в Интернет в обход SQUID.

    С тонкостями настройки SQUID можно познакомиться на сайте http://www.bog.pp.ru/work/squid.html .

    Анализ трафика

    Для этой цели используется бесплатная программа-анализатор с открытым кодом SARG (). Результат ее работы - HTML-страницы, которые отображают всевозможные статистические срезы данных о работе пользователей в Интернете. Анализируется весь период ведения журнала, поэтому удобнее делать необходимые срезы в конце месяца, а затем очищать журнал SQUID командой access.log.

    Наиболее часто востребованы два типа срезов. Во-первых, распределение объемов информации, загруженной из Интернета, по пользователям, обычно отсортированное по убыванию объема (рис. 3). При этом выдается также количественная информация об эффективности кэширования. Данный срез позволяет проанализировать объем работы в Интернете в целом и проранжировать пользователей по активности их работы в Интернете.

    Второй популярный срез - отображение загруженной конкретным пользователем информации по сайтам (рис. 4), также отсортированное по убыванию объемов данных. Данный срез позволяет провести "разбор полетов" пользователя в Интернете и выяснить, соответствуют ли наиболее часто запрашиваемые сайты служебным обязанностям сотрудника.

    Выводы

    Мы рассмотрели два варианта организации постоянного подключения корпоративной сети к Интернету.

    Для варианта "по IP-адресам компьютеров пользователей с помощью правил IPFW" характерны следующие недостатки. Во-первых, невозможно проверить целесообразность работы пользователя в Интернете, поскольку IPFW подсчитывает только суммарный трафик, по каждому правилу, прописанному для конкретной машины, и не ведет учета посещаемых сайтов. Во-вторых, невозможно провести авторизацию пользователя, работающего в данный момент в Интернете. Это особенно важно, если машину "делят" между собой несколько пользователей. И наконец, существует возможность подмены пользователем IP-адреса.

    Кроме того, в случае использования терминального сервера невозможно учитывать трафик различных пользователей, так как все они работают с одного IP-адреса терминального сервера.

    Перечисленные недостатки просто отражают ограничения учета и администрирования трафика по IP-адресам и системы учета IPFW. IPFW и не предназначен непосредственно для замеров трафика пользовательских машин, это средство для учета канального трафика.

    Полное и законченное решение проблемы предоставляет система, использующая шлюз с ОС FreeBSD, настроенный брандмауэр IPFW и установленный на нем прокси-сервер SQUID с включенной аутентификацией ncsa_auth. Использование кэширующего прокси-сервера в корпоративной сети позволяет сэкономить до 10% на оплате объема месячного трафика и многократно ускорить загрузку повторно посещаемых ресурсов.

    Все ПО, применяемое в данном решении, - бесплатное. Расходы на его поддержку минимальны, а как показывает практика, система FreeBSD+SQUID достаточно надежна.

    Система SQUID благодаря гибкости настройки и наличию интерфейсов для подключения внешних модулей хорошо масштабируется. Погрешность учета трафика по протоколу HTTP в сравнении с IP, присущая SQUID, не принципиальна; гораздо важнее, что при этом можно организовать достоверный количественный и качественный мониторинг работы пользователей в Интернете по протоколам HTTP, HTTPS и FTP и разграничить права и приоритеты доступа.

    Прокси-сервер способен функционировать на достаточно маломощной машине, например, с процессором Celeron частотой 1 ГГц, 128 Мбайт памяти и жестким диском 20 Гбайт (такая конфигурация в данный момент работает на нашем предприятии, обслуживая 30 пользователей), а роль шлюза при доступе по IP (FreeBSD, IPFW, NATD) может выполнять компьютер на базе Pentium 166 МГц со 128 Мбайт памяти.

    Операционная система Windows NT или New Technology была создана группой разработчиков под руководством Дэйва Катлера.

    Windows NT является 32-разрядной операционной системой с приоритетной многозадачностью. В качестве фундаментальных ком­понент в состав операционной системы входят средства обеспече­ния безопасности и развитый сетевой сервис. Windows NT также обеспечивает совместимость со многими другими операционными и файловыми системами, а также с сетями. Windows NT способна функционировать как на компьютерах, оснащенных CISC - про­цессорами со сложной системой команд (complex instruction set computing), так и на компьютерах с RISC - процессорами, имею­щими сокращенный набор инструкций (reduced instruction set com­puting). Операционная система Windows NT также поддерживает высокопроизводительные системы с мультипроцессорной конфигу­рацией.

    Знакомым в Windows NT является только внешний облик. За графическим пользовательским интерфейсом скрываются новые мощные возможности.

    Задачи, поставленные при создании Windows NT. Систе­ма Windows NT не является дальнейшим развитием ранее существо­вавших продуктов. Ее архитектура создавалась заново с учетом предъявляемых к современной операционной системе требований. Особенности системы, разработанной на основе этих требований, следующие.

    Стремясь обеспечить совместимость новой операционной сис­темы, разработчики Windows NT сохранили привычный интерфейс Windows и реализовали поддержку существующих файловых систем (таких, как FAT) и различных приложений (написанных для MS-DOS, OS/2 1.x, Windows 3.x и POSIX). Разработчики также включи­ли в состав Windows NT средства работы с различными сетевыми средствами.

    Достигнута переносимость (portability) системы, которая может теперь работать как на CISC, так и на RISC-процессорах. К CISC относятся Intel-совместимые процессоры 80386 и выше. RISC пред­ставлены системами с процессорами MIPS R4000, Digital Alpha AXP и Pentium серии Р54 и выше.

    Масштабируемость (scalability) означает, что Windows NT не привязана к однопроцессорной архитектуре компьютеров, а способ­на полностью использовать возможности, предоставляемые симмет­ричными мультипроцессорными системами. В настоящее время Windows NT может функционировать на компьютерах с числом процессоров от 1 до 32. Кроме того, в случае усложнения стоящих перед пользователями задач и расширения предъявляемых к компь­ютерной среде требований, Windows NT позволяет легко добавлять более мощные и производительные серверы и рабочие станции " корпоративной сети.

    Дополнительные преимущества дает использование единой среды разработки и для серверов, и для рабочих станций.


    Windows NT имеет однородную систему безопасности (security), удовлетворяющую спецификациям правительства США и соответст­вующую стандарту безопасности В2. В корпоративной среде крити­ческим приложениям обеспечивается полностью изолированное окружение.

    Распределенная обработка (distributed processing) означает, что Windows NT имеет встроенные в систему сетевые возможности. Windows NT также позволяет обеспечить связь с различными типа­ми хост-компьютеров благодаря поддержке разнообразных транс­портных протоколов и использованию средств «клиент-сервер» вы­сокого уровня, включая именованные каналы, вызовы удаленных Процедур (RPC - remote procedure call) и Windows-сокеты.

    Надежность и отказоустойчивость (reliability and robustness) обеспечиваются архитектурными особенностями, которые защищащают прикладные программы от повреждения друг другом и операционной системой. Windows NT использует отказоустойчивую структурированную обработку особых ситуаций на всех архитектурных уровнях, которая включает восстанавливаемую файловую систему NTFS и обеспечивает защиту с помощью встроенной системы безопасности и усовершенствованных методов управления памятью.

    Возможности локализации (allocation) представляют средства для роботы во многих странах мира на национальных языках, что достигается применением стандарта Unicod (разработан международной организацией по стандартизации - ISO).

    Благодаря модульному построению системы обеспечивается расширяемость Windows NT, что позволяет гибко осуществлять добав­ление новых модулей на различных уровнях операционной системы.

    В пакет входит ряд прикладных программ: Internet Information Server 2.0, Index Server, FrontPage, Internet Explorer, Domain Name System (DNS) Server, Proxy Server и Internet Resource Center, все пакеты Service Pack, Plus! и ряд дополнительных утилит, среди кото­рых имеются как новые, например Administrative Wizards или Imager, так и усовершенствованные версии старых программ, например Task Manager.

    Administrative Wizard позволяет автоматизировать типичные задачи, возникающие при управлении сетью, а обновленные версии программ Windows NT Diagnostic, Perfomance Monitor служат для оперативного контроля за состоянием системы. Диалоговое окно Task Manager трансформировалось в мощную программу, которая предоставляет массу полезной информации - от степени загружен­ности процессора до имен всех активных системных процессоров.

    Один из ключевых компонентов Windows NT 4.0 - Internet In­formation Server 2.0. Это гибкое и многофункциональное решение как для подключения к сети Internet, так и для создания собствен­ной частной сети intranet. От пользователя требуется только настро­ить параметры протокола TCP/IP (при установленном сервисе DHCP IP-адрес присваивается автоматически), запустить IIS и со­здать одну или несколько собственных Web-страниц. После этого Web-документы доступны для всех пользователей вашей сети, у ко­торых установлено ПО, обеспечивающее функционирование прото­кола TCP/IP и стандартный браузер World-Wide Web.

    Появились некоторые изменения в подсистеме дистанционного доступа, Remote Access Service (RAS). Теперь имеется возможность использовать защищенные каналы связи, новый протокол Point-To-Point Tunneling Protocol (PPTP), возможность использовать несколь­ко модемов для организации каналов связи с удаленными сетями.

    Особенности сетевой архитектуры прежних версий Windows NT (многоуровневая модель защиты от несанкционированного доступа, специфика модульного построения системы и пр.) ограничивали ее пропускную способность при работе в сетях Fast Internet. В версии 4.0 были улучшены алгоритмы кэширования сетевых запросов, оп­тимизированы модули подсистемы разделения ресурсов, изменен механизм генерации прерываний (при переходе к высокоскорост­ным сетям эта функция неожиданно стала источником проблем для сетевых ОС). Второе изменение, на которое указывает Microsoft, - увеличенная производительность ОС при выполнении графических операций.

    Сочетание мощной сетевой ОС и графического интерфейса, со­зданного для неквалифицированных пользователей, выглядит до­вольно непривычно. Windows NT 4.0 - это не просто очередная версия популярной операционной системы. Она представляет собой основу для нового поколения программных продуктов, ориентиро­ванных на работу в сети Internet.

    Архитектурные модули Windows NT. Как показано, Windows NT представляет собой модульную (более совер­шенную, чем монолитная) операционную систему, которая состоит из отдельных взаимосвязанных относительно простых модулей.

    Основными модулями Windows NT являются (перечислены в по­рядке следования от нижнего уровня архитектуры к верхнему): уро­вень аппаратных абстракций HAL (Hardware Abstraction Layer), ядро (Kernel), исполняющая система (Executive), защищенные подсистемы (protected subsystems) и подсистемы среды (environment subsystems).

    виртуализирует аппаратные интерфейсы, обеспечивая тем самым независимость остальной части операционной системы от конкретных аппаратных особенностей. Подобный подход позволяет обеспечить легкую переносимость Windows NT с одной аппаратной платформы на другую.

    Ядро является основой модульного строения системы и коорди­нирует выполнение большинства базовых операций Windows NT. Этот компонент специальным образом оптимизирован по занимае­мому объему и эффективности функционирования. Ядро отвечает за планирование выполнения потоков, синхронизацию работы нескольких процессоров, обработку аппаратных прерываний и исключительных ситуаций.

    Исполняющая система включает в свой состав набор программных конструкций привилегированного режима (kernel mode), представляющих базовый сервис операционной системы подсистемам среды. Исполняющая система состоит из нескольких компонент,

    Рис. 2.32. Модульная структура Windows NT

    каждая из них предназначена для поддержки определенного систем­ного сервиса. Так, один из компонент - монитор безопасности (Se­curity Reference Monitor) - функционирует совместно с защищен­ными подсистемами и обеспечивает реализацию модели безопасно­сти системы.

    Подсистемы среды представляют собой защищенные серверы пользовательского режима (user-mode), которые обеспечивают вы­полнение и поддержку приложений, разработанных для различно!" 0 операционного окружения (различных операционных систем). Примером подсистем среды могут служить подсистемы Win32 и OS/2.

    Уровень аппаратных абстракций (HAL) представляет собой создаваемый производителями аппаратных средств слой программногообеспечения, который скрывает (или абстрагирует) особенности, различия аппаратуры от верхних уровней операционной системы. Таким образом, благодаря обеспечиваемому HAL фильтру, различ­ные аппаратные средства выглядят аналогично с точки зрения опе­рационной системы; снимается необходимость специальной настройки операционной системы под используемое оборудование.

    При создании уровня аппаратных абстракций ставилась задача подготовки процедур, которые позволяли бы единственному драйверу конкретного устройства поддерживать функционирование это­го устройства для всех платформ. HAL ориентирован на большое число разновидностей аппаратных платформ с однопроцессорной архитектурой; таким образом, для каждого из аппаратных вариантов не требуется отдельной версии операционной системы.

    Процедуры HAL называются как средствами операционной сис­темы (включая ядро), так и драйверами устройств. При работе с драйверами устройств уровень аппаратных абстракций обеспечивает поддержку различных технологий ввода-вывода (вместо традицион­ной ориентации на одну аппаратную реализацию или требующей значительных затрат адаптации под каждую новую аппаратную платформу).

    Уровень аппаратных абстракций позволяет также «скрывать» от остальных уровней операционной системы особенности аппаратной реализации симметричных мультипроцессорных систем.

    Ядро (Kernel) работает в тесном контакте с уровнем аппаратных абстракций. Этот модуль в первую очередь занимается планирова­нием действий процессора. В случае, если компьютер содержит не­сколько процессоров, ядро синхронизирует их работу с целью достижения максимальной производительности системы.

    Ядро осуществляет диспетчеризацию потоков (threads - нитей управления, которые иногда называются подзадачами, ответвлениями), которые являются основными объектами в планируемой системе. Потоки определяются в контексте процесса; процесс включает адресное пространство, набор доступных процессу объектов и совокупность выполняемых в контексте процесса потоков управления. Объектами являются управляемые операционной системой ресурсы.

    Ядро производит диспетчеризацию потоков управления таким образом, чтобы максимально загрузить процессоры системы и обеспечить первоочередную обработку потоков с более высоким приоритетом. Всего существует 32 значения приоритетов, которые сгруппированы в два класса: real-time и variable. Подобный подход позволяет достичь максимальной эффективности операционной системы.

    Подкомпоненты исполняющей системы, такие, как диспетчер ввода-вывода и диспетчер процессов, используют ядро для синхронизации действий. Они также взаимодействуют с ядром для более высоких уровней абстракции, называемых объектами ядра; некото­рые из этих объектов экспортируются внутри пользовательских вызовов интерфейса прикладных программ (API).

    Ядро управляет двумя типами объектов.

    Объекты диспетчеризации (dispatcher objects) характеризуются сигнальным состоянием (signaled или nonsignaled) и управляют дис­петчеризацией и синхронизацией системных операций. Эти объекты включают события, мутанты, мутэксы, семафоры, потоки управле­ния и таймеры (events, mutants, mutexes, semaphores, threads, timers).

    Управляющие объекты (control objects) используются для опера­ций управления ядра, но не воздействуют на диспетчеризацию или синхронизацию.

    Управляющие объекты включают в себя асинхронные вызовы процедур, прерывания, уведомления и состояния источника пита­ния, процессы и профили (asynhcronous procedure calls, interupts, po­wer notifies, power statuses, processes, profiles).

    Исполняющая система (Executive), в состав которой входит ядро и уровень аппаратных абстракций HAL, обеспечивает общий сервис системы, который могут использовать все подсистемы среды. Каж­дая группа сервиса находится под управлением одной из отдельных составляющих исполняющей системы:

    Диспетчера объектов (Object Manager);

    Диспетчера виртуальной памяти (Virtual Memory Manager);

    Диспетчера процессов (Process Manager);

    Средства вызова локальных процедур (Local Procedure Call Fa­cility);

    Диспетчера ввода-вывода (I/O Manager);

    Монитора безопасности (Security Reference Monitor).

    Монитор безопасности совместно с процессором входа в систе­му (Logon) и защищенными подсистемами реализует модель безопас­ности Windows NT.

    Верхний уровень исполняющей системы называется системным сервисом (System Services). Показанный на рис. 2.33 системный сервис представляет собой интерфейс между подсистемами среды пользовательского режима и привилегированным режимом.

    Диспетчер кэша. Архитектура ввода-вывода содержит единственный диспетчер кэша (Cache Manager), который осуществляет кэширование для всей системы ввода-вывода. Кэширование (Caching) - метод, используемый файловой системой для увеличения эффективности.

    Рис.2.33. Системный интерфейс

    Вместо непосредственной записи и считывания с диска часто используемые файлы временно сохраняются в кэш-памяти; таким образом, работа с этими файлами выполняется в памяти. Операции с данными, находящимися в памяти, производятся зна­чительно быстрее операций с данными на диске.

    Диспетчер кэша использует модель отображения файла, которая интегрирована с диспетчером виртуальной памяти Windows NT. Диспетчер кэша обеспечивает службу кэширования для всех файловых систем и сетевых компонентов, функционирующих под управ­лением диспетчера ввода-вывода. В зависимости от объема доступ­ной оперативной памяти диспетчер кэша может динамически увели­чивать или уменьшать размер кэш-памяти. Когда процесс открывает Файл, который уже находился в кэше, диспетчер кэша просто копирует данные из кэша в виртуальное адресное пространство.

    Диспетчер кэша поддерживает службы типа замедленной записи (lazy write) и замедленной фиксации (lazy commit), которые могут Рачительно увеличить эффективность файловой системы. В процессе замедленной записи изменения регистрируются в кэше файловой структуры, обеспечивающем более быстрый доступ. Позднее, когда загрузка центрального процессора снижена, диспетчер кэша заносит изменения на диск. Замедленная фиксация подобна замедленной за­писи. Вместо немедленной маркировки транзакции, как успешно за­вершившейся, переданная информация кэшируется и позднее в фо­новом режиме записывается в журнал файловой системы.

    Драйверы файловой системы. В архитектуре ввода-вывода Win­dows NT управление драйверами файловой системы осуществляет диспетчер ввода-вывода. Windows NT допускает использование множества файловых систем, включая существующие файловые си­стемы типа FAT. Для обеспечения совместимости снизу вверх с операционными системами MS-DOS, Windows 3.x и OS/2 Win­dows NT поддерживает файловые системы FAT и HТFS.

    Кроме того, Windows NT также поддерживает NTFS - новую файловую систему, разработанную специально для использования с Windows NT. NTFS обеспечивает ряд возможностей, включая сред­ства восстановления файловой системы, поддержку Unicode, длин­ных имен файлов и поддержку для POSIX.

    Архитектура ввода-вывода Windows NT не только поддерживает традиционные файловые системы, но и обеспечивает функциониро­вание сетевого редактора и сервера в качестве драйверов файловой системы. С точки зрения диспетчера ввода-вывода, нет разницы между работой с файлом, размешенным на удаленном компьютере сети, и работой с файлом на локальном жестком диске. Редиректо­ры и серверы могут быть загружены и выгружены динамически так же, как и любые другие драйверы; на одном компьютере может од­новременно находиться большое число редиректоров и серверов.

    Сетевые драйверы. Следующим типом драйверов, присутствую­щих в качестве компонентов в архитектуре ввода-вывода, являются сетевые драйверы. Windows NT включает интегрированные возмож­ности работы с сетями и поддержку для распределенных приложе­ний. Редиректоры и серверы функционируют как драйверы файло­вой системы и выполняются на уровне интерфейса поставщика или ниже, где находятся NetBIOS и Windows-сокет.

    Драйверы транспортного протокола общаются с редиректорами и серверами через уровень, называемый интерфейсом транспортно­го драйвера (TD1 - Transport Driver Interface). Windows NT включа­ет следующие транспортные средства:

    • протокол управления передачей/межсетевой протокол TCP/IP, который обеспечивает возможность работы с широ­ким диапазоном существующих сетей;
    • NBF - потомок расширенного интерфейса пользователя Net­BIOS (NetBEUI), который обеспечивает совместимость с сушествующими локальными вычислительными сетями на базе LAN Manager, LAN Server и MS-Net;
    • управление передачей данных (DLC - Data Link Control), ко­торое обеспечивает интерфейс для доступа к мэйнфрэймам и подключенным к сети принтерам;
    • NWLink - реализация IPX/SPX, обеспечивающая связь с No-well NetWare.

    В нижней части сетевой архитектуры находится драйвер платы сетевого адаптера. Windows NT в настоящее время поддерживает драйверы устройств, выполненные в соответствии со специфика­цией NDIS (Network Device Interface Specification) версии 3.0. NDIS предоставляет гибкую среду обмена данными между транспортными протоколами и сетевыми адаптерами. NDIS 3.0 позволяет отдельно­му компьютеру иметь несколько установленных в нем плат сетевых адаптеров. В свою очередь, каждая плата сетевого адаптера может поддерживать несколько транспортных протоколов для доступа к различным типам сетевых станций.

    Модель безопасности Windows NT - представлена монитором безопасности (Security Reference Monitor), а также двумя другими компонентами: процессором входа в систему (Logon Process) и без­опасными защищенными подсистемами.

    В многозадачной операционной системе, каковой является Win­dows NT, приложения совместно используют ряд ресурсов системы, включая память компьютера, устройства ввода-вывода, файлы и процессор (ы) системы. Windows NT включает набор компонентов безопасности, которые гарантируют, что приложения не смогут об­ратиться к этим ресурсам без соответствующего разрешения.

    Монитор безопасности отвечает за проведение в жизнь политики проверки правильности доступа и контроля определенной локальной подсистемой безопасности. Монитор безопасности обеспечивает услуги по подтверждению доступа к объектам, проверке привилегий пользователя и генерации сообщений как для привилегированного режима, так и для режима пользователя. Монитор безопасности, по­добно другим частям операционной системы, выполняется в приви­легированном режиме.

    Процесс входа в систему в Windows NT предусматривает обяза­тельный вход в систему безопасности для идентификации пользова­теля. Каждый пользователь должен иметь бюджет и должен исполь­зовать пароль для обращения к этому бюджету.

    Прежде чем пользователь сможет обратиться к любому ресурсу компьютера из Windows NT, он должен войти в систему через про­цесс входа в систему для того, чтобы подсистема безопасности могла распознать имя пользователя и пароль. Только после успешного установления подлинности монитор безопасности выполняет про­цедуру проверки правильности доступа для определения права пользователя на обращение к этому объекту.

    Защищенность ресурсов - одна из особенностей, предоставляе­мая моделью безопасности. Задачи не могут обращаться к чужим ресурсам (типа памяти) иначе, чем через применение специальных механизмов совместного использования.

    Windows NT также предоставляет средства контроля, которые позволяют администратору фиксировать действия пользователей.

    Управление памятью Windows NT. Windows NT Workstation 3.51 по существу представляет собой операционную систему серве­ра, приспособленную для использования на рабочей станции. Этим обусловлена архитектура, в которой абсолютная защита прикладных программ и данных берет верх над соображениями скорости и со­вместимости. Чрезвычайная надежность Windows NT обеспечивает­ся ценой высоких системных затрат, поэтому для получения прием­лемой производительности необходимы быстродействующий ЦП и по меньшей мере 16 Мбайт ОЗУ. В системе Windows NT безопас­ность нижней памяти достигается за счет отказа от совместимости с драйверами устройств реального режима. В среде Windows NT рабо­тают собственные 32-разрядные NT-прикладные программы, а так­же большинство прикладных программ Windows 95. Так же как и Windows 95, система Windows NT позволяет выполнять в своей сре­де 16-разрядные Windows- и DOS-программы.

    Схема распределения памяти Windows NT отличается от распре­деления памяти системы Windows 95. Собственным прикладным программам выделяется 2 Гбайт особого адресного пространства, от границы 64 Кбайт до 2 Гбайт (первые 64 Кбайт полностью недоступ­ны). Прикладные программы изолированы друг от друга, хотя могут общаться через буфер обмена Clipboard, механизмы DDE и OLE.

    В верхней части каждого 2-Гбайт блока прикладной программы размещен код, воспринимаемый прикладной программой как сис­темные библиотеки DLL кольца 3. На самом деле это просто за­глушки, выполняющие перенаправление вызовов, называемые DLL клиентской стороны (client-side DLLs). При вызове большинства функций API из прикладной программы библиотеки DLL клиент­ской стороны обращаются к локальным процедурам (Local Process Communication - LPC), которые передают вызов и связанные с ним параметры в совершенно изолированное адресное пространство, где содержится собственно системный код. Этот сервер-процесс (server process) проверяет значение параметров, исполняет запрошенную функцию и пересылает результаты назад в адресное пространство прикладной программы. Хотя сервер-процесс сам по себе остается процессом прикладного уровня, он полностью защищен от вызыва­ющей его программы и изолирован от нее.

    Между отметками 2 и 4 Гбайт расположены низкоуровневые си­стемные компоненты Windows NT кольца 0, в том числе ядро, пла­нировщик потоков и диспетчер виртуальной памяти. Системные страницы в этой области наделены привилегиями супервизора, ко­торые задаются физическими схемами кольцевой защиты процессо­ра. Это делает низкоуровневый системный код невидимым и недо­ступным по записи для программ прикладного уровня, но приводит к падению производительности во время переходов между кольцами. Для 16-разрядных прикладных Windows-программ Windows NT реализует сеансы Windows on Windows (WOW). Windows NT дает возможность выполнять 16-разрядные программы Windows индиви­дуально в собственных пространствах памяти или совместно в раз­деляемом адресном пространстве. Почти во всех случаях 16- и 32-разрядные прикладные программы Windows могут свободно взаимо­действовать, используя OLE (при необходимости через особые про­цедуры thunk) независимо от того, выполняются они в отдельной или общей памяти. Собственные прикладные программы и сеансы WOW выполняются в режиме вытесняющей многозадачности, осно­ванной на управлении отдельными потоками. Множественные 16-разрядные прикладные программы Windows в одном сеансе WOW выполняются в соответствии с кооперативной моделью многозадач­ности. Windows NT может также выполнять в многозадачном режи­ме несколько сеансов DOS. Поскольку Windows NT имеет полно­стью 32-разрядную архитектуру, не существует теоретических огра­ничений на ресурсы GDI и USER.

    Основные отличия Windows 2000 . Windows 2000 или W2k - операционная система (ОС) Microsoft, основанная на технологии Windows NT, что было отражено в первоначальном названии проек­та W2k - Windows NT 5.0. Windows 2000 - полностью 32-разрядная ОС с приоритетной многозадачностью и улучшенной реализацией работы с памятью. В основе проекта W2k лежат те же принципы, которые когда-то обеспечили успех NT.

    Интерфейс W2k подобен интерфейсу Windows 98 с установлен­ным IE 5.0. Однако некоторые детали мы все-таки отметим.

    Первое, что бросается в глаза, это то, что изменилась цветовая гамма. Теперь она напоминает одну из схем, используемых в рабочем столе KDE для Linux. Еще одной заметной деталью является тень под курсором мыши, которая снимается/выставляется в Control panel -> Mouse -> Pointers, галочкой на Enable pointer shadow. Кроме это­го, добавлен новый эффект при появлении меню, теперь они посте­пенно проявляются из воздуха. Управляется из Desktop Properties, на закладке Effects галочкой Use transition effects for menu and tooltips.

    В Start Menu введена функция, знакомая по Office 2000, когда при открытии показываются только наиболее часто употребляемые пункты, остальные открываются, если нажать стрелочку вниз. Управлять этим эффектом можно в Taskbar Properties, в закладке General галочкой Use Personalized Menus (аналогично, в 1Е5 данная опция отключается в Tools -> Internet Options -» Advanced -> Enable Personalized Favorites Menu). В Desktop Properties есть еще несколько пунктов, в том числе и Hide keyboard navigation indicators until I use the Alt key. Если он выбран, то убирается подчеркивание под буквами, которые означают Keyboard shortcut в программах Windows, до тех пор, пока не нажат .

    На второй закладке Taskbar Properties, Advanced, находится окошко Start Menu Settings, которое позволяет добавить/удалить строки, входящие в Start Menu, и расширить некоторые пункты. На­пример, если отметить галочкой Expand Control Panel, то при наведе­нии курсора мыши на Control Panel в Start Menu от него вправо от­кроется еще одно меню, в котором будут все элементы, входящие в нее. Полезной функцией на этой закладке является кнопка Re-sort. W2k, по умолчанию, ставит папки с последними инсталлированны­ми программами в самом низу Start Menu, папки могут быть даже ниже линков на файлы. Re-sort устраняет эту несправедливость и расставляет все папки сверху вниз по алфавиту. Впрочем, этого же эффекта можно добиться, нажав правую кнопку мыши в Start Menu -> Programs и выбрав Sort by name. Кроме этого, правой кнопкой можно «перетащить» (drag and drop) оттуда любые элементы в лю­бое место.

    Еще одним отличием, часто подводящим людей, ранее работав­ших с NT и W9x, как ни странно, является широкое применение Checkbox- Особенно тех, которые представляют из себя просто квадратик на белом фоне. Так что если вы обнаружите, что не мо­жете чего-то сделать, то просмотрите еще раз все окна, возможно, вы просто не обратили внимания на такой Checkbox.

    Task Manager - это один из самых мощных и удобных инстру­ментов в NT, предназначенных для управления процессами. Вызы­вается он либо , либо выбором в меню, появляю­щимся после нажатия правой кнопкой на Taskbar. Можно его вы­брать и после .

    Task manager состоит из трех закладок - Performance, Proces­ses, Applications. Начнем с Performance. На этой закладке показыва­ется информация о загрузке процессора(ов) в реальном времени, показывается загрузка физической памяти, причем показано, сколь­ко занято/свободно оперативной памяти и сколько занято систем­ного Swap"a. Кроме этого, там же дается другая дополнительная ин­формация, например Threads и Processes - количество нитей и про­цессов, исполняемых сейчас на машине, Peak - пиковый размер Swap"a в течение сессии, Nonpaged - количество памяти, отведен­ное под ядро. Эта информация может использоваться, когда надо будет ответить на вопрос, какой фактор в системе является «буты­лочным горлышком», замедляющим работу (хотя для этих целей лучше использовать Performance Monitor).

    Вторая закладка, Processes, содержит список процессов, актив­ных в данный момент. Для каждого процесса можно узнать неко­торую дополнительную информацию, как то: PID (Process ID), ко­личество используемой оперативной памяти, количество нитей, сгенерированных процессом, и многое другое. Добавить/удалить показываемые параметры можно через View -> Select Columns. Кро­ме этого, с любым из этих процессов можно произвести вполне определенные действия. Для этого надо просто нажать на нем пра­вой кнопкой мыши, появится контекстное меню, через которое можно закончить процесс, End Process, можно «убить» сам про­цесс и все остальные, которые он «породил», End Process Tree. Можно выставить приоритет процессу, от высшего RealTime до са­мого низкого, Low. Если на машине установлено два процессора и многопроцессорное ядро, то в этом меню появляется еще один пункт, Set Affinity, который позволяет перевести процесс на другой процессор, Сpu 0, Cpu l, и так далее до Сри31.

    Последняя закладка Task Manager - Applications, позволяет про­смотреть список работающих приложений и завершить любое из них. Task Manager позволяет не только завершать приложения, он может также запускать новые приложения. File -> New task (Run).

    Active Directory - это новое средство управления пользователями и сетевыми ресурсами. Оно призвано облегчить работу администра­торам больших сетей на базе W2k и вокруг него строится вся систе­ма управления сетью и ее безопасности. Для установки Active Direc­tory необходимо иметь W2k Server. W2kPro может работать в среде Active Directory, но не может создавать ее. Active Directory строится на следующих принципах:

    1. Единая регистрация в сети. Благодаря технологии IntelliMirror можно подойти к любому компьютеру в офисе, ввести свой пароль

    и перед вами будет ваш рабочий стол, ваши документы и ваши на­стройки.

    2. Безопасность информации. В службу Active Directory встрое­ны средства идентификации пользователя. Для каждого объекта в сети можно централизованно выставлять права доступа, в зависимо­сти от групп и конкретных пользователей. Благодаря системе без­опасности Kerberos можно осуществлять защищенную связь даже по открытым сетям, таким, как Интернет. При этом данные, передава­емые по сети, шифруются, а пароли не передаются и не хранятся на клиентских машинах. Система безопасности Kerberos (называется по имени мифического трехголового пса, который, согласно грече­ской мифологии, охранял адские врата) известна довольно давно, но в ОС от Microsoft она используется впервые. Если не вдаваться в подробности, то работает эта система так:

    Клиент посылает запрос серверу аутентификации на разреше­ния доступа к нужной информации;

    Сервер проверяет права клиента и отсылает ему разрешение на получение требуемой информации, зашифрованное с помо­щью известного клиенту ключа, и заодно отсылает временный ключ шифрования. С помощью этого ключа шифруется вся передаваемая информация, причем время жизни ключа огра­ничено, поэтому сервер аутентификации время от времени присылает новый ключ (естественно, новый ключ зашифрован с помощью текущего ключа), который неизвестен никому, кроме сервера и клиента. Регулярная смена ключей шифрова­ния сильно затрудняет жизнь злоумышленникам, охотящимся за вашими данными.

    Однако, как мы все помним, в греческом мифе Kerberos не смог противостоять могучему Гераклу. Так и в нашем случае, несмотря на все свои преимущества, система безопасности Kerberos не может противостоять всем видам атак. Например, можно засыпать прило­жение ложными запросами, так называемая атака «Deny of service», что может привести к тому, что приложение не будет использовать протокол Kerberos.

    3. Централизованное управление. При использовании службы Active Directory у администратора отпадает необходимость вручную конфигурировать каждую машину, если, к примеру, необходимо по­менять права доступа к какому-либо одному объекту или установить новый сетевой принтер. Такие изменения можно производить сразу Для всей сети.

    4 . Гибкий интерфейс. Структуры каталогов меняются быстро и легко. Например, можно создать каталог своей фирмы, выделить в отдельные подкаталоги бухгалтерию, отделы маркетинга, секретари­ат и представить все это в виде древовидной структуры. Или, на­пример, создать несколько деревьев, представляющих различные офисы в разных зданиях или регионах и с легкостью задать связь и права доступа между ними. Подключить сетевой принтер к директо­рии бухгалтеров одним движением мыши. (При этом драйверы уста­новятся на эти компьютеры автоматически.) Или мышью перета­щить весь бухгалтерский отдел с одного сервера на другой, со всеми их правами, папками и документами.

    5. Интеграция с DNS. Благодаря тесной интеграции с DNS в Ac­tive Directory в локальной сети используются те же имена ресурсов, что и в Интернет, что приводит к меньшей путанице и способствует более тесному взаимодействию локальной и глобальной сети.

    6. Масштабируемость. Несколько доменов Active Directory могут быть объединены вместе под одним управлением.

    7. Простота поиска. В домене Active Directory различные объекты можно находить по самым различным признакам, таким, как имя пользователя или компьютера, адрес электронной почты пользова­теля и т. д.

    DFS (Distributed File System) - один из инструментов Active Direc­tory. Он позволяет создавать сетевые ресурсы, в которые может вхо­дить множество файловых систем на различных машинах. Для поль­зователя Active Directory это абсолютно прозрачно и не имеет ника­кого значения, где и на каких машинах физически расположены те файлы, с которыми он работает, - для него они все расположены в одном месте. Кроме этого, при использовании DFS и Active Directory упрощается управление такими ресурсами. Оно централизовано, можно просто и безболезненно добавлять новые ресурсы или уда­лять старые, менять физическое месторасположение файлов, входя­щих в DFS, и т. д.



    Рекомендуем почитать

    Наверх