Опубликован: 04.07.2008 | Доступ: свободный | Студентов: 636 / 33 | Оценка: 4.83 / 5.00 | Длительность: 42:11:00
Лекция 9:

Укрепление (hardening) сервера

Системные политики и обучение

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

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

Вот почему системные политики и обучение являются ключевыми предохранительными инструментами.

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

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

Независимо от того как хорошо и всеобъемлюще написана политика безопасности, она бесполезна, если конечный пользователь не читает и не понимает ее. Обязательно прочитайте "лекцию 2, "Методики построения систем безопасности"" , особенно те разделы, в которых говорится о политиках безопасности, о компетентности и обучении пользователей, о проверке на соответствие.

Сканеры портов

Сканер безопасности NMap (сокращение от Network Mapper) – замечательный инструмент для укрепления, доступный по следующему URL-адресу:

http://www.insecure.org/nmap

NMap – это продукт open source2Open source – проект с открытыми исходными программными кодами., доступный для многих почитателей как UNIX, так и Windows (NmapNT). Он позволяет системным администраторам использовать "сырые" IP-пакеты для определения (помимо всего прочего) следующего:

  • какие узлы наличествуют в заданной сети;
  • какие службы (порты) открыты;
  • какая работает операционная система и какой версии;
  • какие используются типы пакетных фильтров и брандмауэры.

NMap также имеет возможность создавать и отправлять узлу сети фрагментированные пакеты. Используя опцию –f (фрагментирование), можно заставить NMap выполнить сканирование фрагментированными IP-пакетами. В режиме фрагментирования NMap расщепляет TCP-заголовок на несколько пакетов, чтобы усложнить обнаружение сканирования пакетными фильтрами и системами обнаружения вторжения (Intrusion Detection Systems, IDS).

Хотя этот метод и не сможет одурачить брандмауэры, которые поддерживают целостность пакетов, многие сети не способны справиться с перегрузками при отслеживании фрагментов и, таким образом, не поддерживают этого.

В конце концов такие инструменты, как Nessus, используют NMap в своем ядре, что делает NMap еще более популярным.

9.1.3 Резюме по основам укрепления

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

9.2 Безопасность операционной системы

Операционная система определяет все то, что может быть сделано с ИТ-системой, и то, каким образом это будет делаться. То ли происходит взаимодействие с файловой системой, то ли отправка электронной почты посредством Lotus Notes, то ли разговор с кем-нибудь через Sametime – за всем этим стоит "закулисная" работа операционной системы по обеспечению пользователя соответствующей технической поддержкой для интерпретации его запросов в нечто такое, с чем ИТ-система способна работать.

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

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

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

9.2.1 Обзор операционной системы

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

Функции операционной системы

Кратко говоря, операционная система должна обеспечить выполнение двух основных функций. ОС должна:

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

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

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

Виды операционных систем

Есть четыре основных вида операционных систем, классифицируемых согласно типам программ, которые они поддерживают, и способу взаимодействия этих программ с пользователями:

  1. Операционная система реального времени. Наиболее часто такая операционная система встречается в производстве роботов и в научных приборах (хороший пример – QNX). В ней нет много места для пользовательских операций за исключением отдельных изменений в конфигурации. Обычно в такой операционной системе находятся идеально отточенные механизмы работы со временем, поскольку даже самая незначительная ошибка может иметь значительные последствия в автоматическом производстве или измерениях.
  2. Однопользовательская однозадачная операционная система. Этот вид операционных систем используется такими устройствами, как PDA4PDA – Personal Digital Assistant, личный цифровой секретарь, тип сверхлегкого миниатюрного персонального компьютера с жидкокристаллическим экраном, клавиатурой и/или рукописным вводом. или другие миникомпьютеры (хороший пример – Palm OS). По большей части она позволяет одному пользователю работать с одной программой за один раз. Если требуется запустить еще одну программу, пользователь сначала должен закрыть текущее приложение.
  3. Однопользовательская многозадачная операционная система. Этот вид операционных систем известен больше всего, так как к нему относятся и системы Microsoft Windows. В такой операционной системе пользователь может открыть множество программ и переключаться между приложениями так, как ему требуется. Фактически сейчас ведется много дебатов по поводу того, что, хотя Windows Server Operating Systems и выглядят как многопользовательские системы, тем не менее они есть не что иное, как однопользовательские многозадачные операционные системы (за исключением Terminal Services).
  4. Многопользовательская операционная система. Истинная многопользовательская операционная система позволяет многим пользователям одновременно получать доступ к компьютерным ресурсам. Общеизвестный пример ОС такого типа – Linux. В системе такого типа ОС обрабатывает запросы от многих пользователей и поддерживает жесткий контроль над ресурсами, чтобы гарантировать то, что ни один пользователь никаким образом не повлияет на какого-либо другого пользователя.
Задачи операционной системы

Операционная система отвечает за широкий спектр задач внутри компьютерного окружения. Именно эти задачи часто являются тем, что делает одну операционную систему надежнее и легче в использовании по сравнению с другой. То, как ОС управляется с этими задачами, определяет реальные возможности операционной системы.

  • Управление процессором. Операционная система должна обеспечить эффективное использование процессора при выполнении реальной работы и то, чтобы каждое приложение получило свою часть процессорного времени.
  • Управление памятью. Это определяет те методы, посредством которых операционная система выделяет приложениям и функциям самой операционной системы память.
  • Управление устройствами. Поскольку операционная система состоит из разнообразных аппаратных компонентов (жесткий диск, монитор, мышь, клавиатура и т. д.), она должны быть способна управлять тем, как все эти компоненты взаимодействуют друг с другом.
  • Управление хранением информации. Операционная система не только осуществляет контроль за активными ресурсами, но и определяет, каким образом хранятся файлы и данные, при этом обеспечивая их сохранность.
  • Прикладной интерфейс. Операционная система действительно является мостом между приложениями и компьютерными ресурсами, что означает, что она должна для связи с приложениями предоставить интерфейсы прикладного программирования (APIs, Application Programming Interfaces).
  • Пользовательский интерфейс. Будь то посредством командной строки или графического пользовательского интерфейса (Graphical User Interface, GUI), именно операционная система отвечает за взаимодействие с конечным пользователем.

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

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

С этого момента мы будем ссылаться на две ключевые книги по безопасности, которые в своей библиотеке следует иметь каждому администратору систем Windows или UNIX, а именно:

  • Максимальная безопасность для Windows 2000 (Maximum Windows 2000 Security, Sams, 2001, ISBN 0672319659);
  • Максимальная безопасность для Linux (Maximum Linux Security, Sams, 1999, ISBN 0672316706).

В этих книгах находится настоящее богатство полезных мыслей по поводу слабых и сильных мест в системах безопасности Windows и Linux.