Защита от несанкционированного доступа
Хакеры и вирусы на AS/400? Это невозможно. Они пиратствуют только на Unix и ПК.
Вообще, в фильмах часто злодеи проникают в чужие компьютеры, или недовольный сотрудник внедряет вирус в компьютерную сеть фирмы. Приятно сознавать, что ничего подобного на AS/400 произойти не может. Или всетаки может?
Как и многие другие функции, в AS/400, в отличие от большинства иных систем, защита была встроена с самого начала, а не добавлена уже после создания. Однако никакие средства защиты не помогут, если их не использовать, а многие пользователи AS/400 так и делают. Например, в среде клиент/сервер необходимо принимать специальные меры для защиты данных AS/400 от незащищенных клиентов, таких как Windows 95 и Windows NT. Более того, в современном сетевом мире многие AS/400 подключены к Интернету, в этом случае также следует применять определенные средства защиты информационных ресурсов. По счастью, интегрированные средства защиты AS/400 обеспечивают крепкий фундамент безопасности всей системы. В этой лекции мы рассмотрим средства защиты AS/400 и обсудим, как лучше использовать их.
Интегрированная защита
В прошлом защитить вычислительную систему было относительно легко. Обычно, было достаточно вставить замок в дверь машинного зала и заставить конечных пользователей вводить при входе в систему пароль. Современный мир уже не так прост. Наибольшей степени опасности подвергаются AS/400, включенные в вычислительную сеть: во внутрифирменную ЛВС или в глобальную сеть, например в Интернет. В любом случае, AS/400 предоставляет средства для минимизации или полного устранения риска несанкционированного доступа. Проблемы защиты вычислительной системы очень похожи на те, что возникают при защите дома или автомобиля: Вы должны правильно рассчитать соотношение цены и допустимой степени риска.
Очевидно, что в разных ситуациях AS/400 нужен разный уровень защиты. У пользователя должна быть возможность самостоятельного выбрать этот уровень. Хорошая система защиты разработана так, чтобы компьютер мог работать вообще без защиты, с ограниченной защитой или с полной защитой, но во всех случаях система защиты должна быть активна.
И сейчас есть системы, запертые в помещениях, куда доступ строго ограничен. Понятно, что им не нужен такой уровень защиты, как компьютеру, подключенному к Интернету. Но с течением времени требования к защите и этих систем могут повыситься. Интегрированная защита AS/400 достаточно гибка, чтобы перестроиться по мере изменения требований к ней.
Защита AS/400 представляет собой комбинацию средств защиты в OS/400 и в SLIC. В OS/400 реализованы уровни общесистемной защиты, при этом OS/400 полагается на функции защиты объектов на уровне MI. Например, как упоминалось в "Объекты" , MI выполняет проверку прав доступа при каждом обращении к объекту. За действия MI по защите объектов ответственен SLIC. Реализуемый им тип защиты называется авторизацией и предназначен для предохранения объекта от несанкционированного доступа или изменения.
Некоторые компоненты защиты AS/400 расположены полностью поверх MI в OS/400, например, задание системных параметров защиты. Другие, такие как контроль за доступом к объектам, полностью реализованы ниже MI в SLIC. Третьи компоненты защиты реализованы частично над, а частично под MI. Пример — поддержка привилегированных команд и специальных прав доступа. Давайте подробнее рассмотрим компоненты, лежащие и выше и ниже MI.
Уровни защиты
AS/400 предназначены для широкого применения в различных областях человеческой деятельности. Соответственно, и требования к их защищенности варьируются от уровня ее полного отсутствия до уровня защиты, сертифицированной правительством. Задавая соответствующие системные параметры, можно выбрать одну из пяти степеней: отсутствие защиты, парольная защита, защита ресурсов, защита ОС и сертифицированная защита. При конфигурировании AS/400 должны быть заданы четыре системных параметра, относящихся к защите: QAUDJRL, QMAXSIGN, QRETSVRSEC и QSECURITY.
Системным параметром, определяющим уровень защиты, является QSECURITY. В System/38 и первых AS/400 было только три уровня системной защиты, в версии V1R3 OS/400 к ним добавился четвертый, а в V2R3 — пятый, высший уровень защиты. Допустимые значения QSECURITY — 10, 20, 30, 40 и 50.
AS/400 поддерживает также дополнительную функцию аудита. Если эта функция задействована, то определенные события, связанные с защитой, заносятся в журнал. То, какие конкретно события протоколировать в журнале аудита защиты, определяет значение системного параметра QAUDJRL и текущий уровень защиты. Могут протоколироваться такие события, как попытки несанкционированного доступа, удаление объектов, идентификация программ, использующих привилегированные команды и др. Содержимое журнала защиты анализирует администратор защиты.
Максимальное количество неудачных попыток входа в систему задает системный параметр QMAXSIGN. Если число таких попыток превысит значение этого параметра, то терминал или устройство, с которого они были предприняты, отключаются от системы и связь между ними и системой разрывается. Такой метод позволяет предотвратить попытки подобрать пароль для входа в систему. Значение параметра QMAXSIGN для каждого устройства сбрасывается после успешного входа в систему.
Системный параметр QRETSVRSEC (Retain Server Security Data) определяет, может ли информация, необходимая AS/400 для аутентификации пользователя на другой системе через интерфейсы клиент/сервер, запоминаться сервером. Если информация запоминается, то сервер ее использует. Если нет, то сервер будет запрашивать идентификатор и пароль пользователя для другой системы. Системный параметр FFQRETSVRSEC используется для клиент/серверных интерфейсов TCP/IP, Novell NetWare и Lotus Notes.
Теперь давайте рассмотрим каждый из пяти уровней защиты, начиная с самого низкого.
Отсутствие защиты (уровень 10)
Уровень 10 означает самую низкую степень защищенности — отсутствие таковой. Для доступа к системе не требуется пароля и любому пользователю разрешен доступ ко всем системным ресурсам и объектам без ограничений. Единственное условие — нельзя влиять на задания других пользователей системы.
Системный уровень защиты 10 обычно применяется тогда, когда достаточно только физической защиты системы, например, замка на двери машинного зала. Любой пользователь, имеющий физический доступ к машине, может войти в систему. При этом он не обязан регистрироваться. Регистрация пользователя предполагает наличие где-либо в системе профиля пользователя. Такой профиль при использовании уровня защиты 10 создается автоматически, если еще не существует.
Парольная защита (уровень 20)
Если Вам нужна только защита при входе в систему, используйте уровень 20. При этой степени защиты требуется, чтобы пользователь AS/400 был зарегистрирован и знал правильный пароль. После того, как разрешение на вход в систему получено, пользователь имеет доступ ко всем ее ресурсам без ограничений. Как видите отличие от уровня 10 незначительно.
Только в одном особом случае доступ пользователя к системе при уровне 20 ограничивается: если в профиле пользователя это специально оговорено. Пользователь с ограниченными возможностями может только выбирать пункты меню. Большинство системных меню имеют строку ввода команд, и упомянутое средство ограничивает использование системных команд.
Предположим, что в организации есть группа работников, в чьи обязанности входит прием заказов на товары и ввод соответствующих данных в систему. Для таких пользователей целесообразно создать специальное меню и разрешить им действовать только в этих рамках, для чего их следует зарегистрировать как пользователей с ограниченными возможностями и задать в их профилях меню, доступ к которому им разрешен.
Но даже пользователю с ограниченными возможностями разрешено исполнять четыре необходимых команды: для отправки сообщений, для отображения сообщений, для отображения состояния задания и для выхода из системы. То, какие именно команды открыты для пользователя с ограниченными возможностями, можно задать индивидуально. Ограничение возможностей также определяет, какие поля пользователь может изменять при входе в систему.
Уровни 20 и 10, не обеспечивают системе защищенность, так как после регистрации пользователя в системе, он может производить там любые операции. Я бы не рекомендовал ограничиваться столь низкими степенями защиты за исключением особых случаев, когда сама система практически недоступна извне.
Защита ресурсов (уровень 30)
Минимальным рекомендуемым уровнем защиты является уровень 30. На этом уровне, так же как и на уровне 20, для входа в систему пользователь должен быть зарегистрирован и знать правильный пароль. После входа в систему проверяется, обладает ли пользователь правами доступа к системным ресурсам; несанкционированный доступ не разрешается. На уровне 30 пользователь также может быть зарегистрирован с ограниченными возможностями.
Отдельным пользователям могут быть предоставлены права доступа к системным объектам, таким как файлы, программы и устройства. Обеспечивают такую возможность профили пользователя, и вскоре мы поговорим подробнее о том, каким образом они это делают. Мы также рассмотрим другие варианты наделения пользователя правами доступа к системным объектам: с помощью групповых или общих прав.
Уровень защиты 30 был наивысшим в System/38. Но на нем не различаются пользовательские объекты и объекты, используемые только ОС. В связи с доступностью на System/38 ассемблера MI и наличия определенной информации о внутренней структуре объектов возникла серьезная проблема. ISV стали писать прикладные пакеты, зависящие от внутренней структуры объектов, что нарушало технологическую независимость MI.
В первых моделях AS/400 использовались те же самые уровни защиты. Хотя в AS/400 не было ассемблера MI, и мы не публиковали информацию о внутренних структурах, специалисты довольно скоро поняли, что AS/400 — это System/38. Поэтому программы, зависимые от внутренней структуры объектов, работали и на AS/400.
Мы понимали, что при переходе к клиент/серверным вычислениям, AS/400 нужна более надежная защита, блокирующая доступ к большинству внутренних объектов. В связи с переходом на RISC-процессоры изменениям подверглась и внутренняя структура. Но если бы мы просто реализовали новый, повышенный, уровень зашиты, то программы, зависимые от внутренней структуры объектов, перестали бы работать, что вызвало бы недовольство заказчиков.
Мы объявили о том, что собираемся встроить в V1R3 новый уровень защиты, и что на этом уровне доступа к внутренним объектам не будет. Мы также начали искать тех ISV, кто использовал внутренние объекты, чтобы предоставить им стандартные системные API, с информацией, необходимой для их программ.
Большая часть таких программ были утилитами, использовавшими информацию некоторых полей внутри системного объекта. Например, системе управления магнитной лентой могли понадобиться некоторые данные о заголовке ленты. Такую информацию можно было получить единственным способом — проникнув в системный объект. Мы создали сотни API для предоставления подобной информации через MI (по сути дела, эти API были новыми командами MI) и гарантировали, что они будут работать во всех последующих версиях ОС. Таким образом мы развязали себе руки и начали вносить изменения во внутренние структуры.
С защитой связана еще одна серьезная тема: тема открытости AS/400. Довольно долго многие ISV не только использовали внутренние объекты, но и настаивали, что бы IBM сделала внутреннее устройство ОС открытым и дала тем самым "зеленый свет" разработчикам ПО. В ответ IBM утверждала, что при неправильном использовании команд MI велика вероятность программных сбоев, за которые она не может нести ответственность. Компромисс (управляемая открытость через API) был достигнут, частично в результате серии заседаний группы COMMON, начатых по инициативе ISV и других пользователей. Работу с ISV и определение новых API возглавил Рон Фесс (Ron Fess) — один из основных разработчиков ПО с большим опытом работ по CPF и OS/400. Результат это работы — реализация на AS/400 Single UNIX Specification и других стандартных API. AS/400 стала более открытой для пользователей.
Защита ОС (уровень 40)
Уровень 40 появился в версии V1R3 OS/400. Сегодня все новые AS/400 поставляют ся именно с этим уровнем защиты, а не 10, как ранее. Но старые версии OS/400 и при модернизации сохраняют текущий уровень, установленный заказчиком. Теперь пароль начальника защиты (пользователь, обладающий правами доступа наивысшего уровня) становится недействительным после первого ввода в систему и он должен его изменить. Ранее заказчики AS/400 часто не утруждали себя изменением пароля, установленного в системе по умолчанию, что создавало явную "дыру" в защите.
При уровне 40 пользователь AS/400 также должен быть зарегистрирован, должен знать правильный пароль для входа в систему и иметь права на доступ к системным ресурсам. Впрочем, пользователи с ограниченными возможностями при этом уровне защиты тоже поддерживаются.
В отличие от уровней 10–30, при уровне защиты 40 доступ к нестандартным интерфейсам блокирован. Пользователю теперь доступны далеко не все команды MI, а лишь их разрешенный набор, включая сотни API, разработанных для ISV. Остальные же команды блокированы, то есть система не будет исполнять их в пользовательской программе.
Тем не менее, команды из блокированного набора попрежнему доступны OS/400. Для различия программ OS/400 и пользовательских, были введены понятия системного и пользовательского состояния, к которым можно отнести любой процесс на AS/400. Использование заблокированных команд и доступ, таким образом, к некоторым объектам системы разрешены только в системном состоянии.
Для большей надежности защиты в V1R3 была также устранена адресация на базе возможностей, а из системных указателей, предоставляемых пользователям, убраны все права доступа.
Защита C2 (уровень 50)
Уровень 40 обеспечивает системе достаточную степень защищенности в большинстве случаев. Однако, некоторым фирмам, выполняющим государственные заказы, необходим уровень защиты, сертифицированный правительством США. Таких сертификатов несколько, включая, так называемый, уровень С2. Они включают такие положения, как защита ресурсов пользователя от других пользователей и предотвращение захвата одним пользователем всех системных ресурсов, например, памяти. Кстати, подобные требования сейчас применяются и во многих неправительственных организациях.
Для заказчиков, нуждающихся в правительственных сертификатах, мы дополнили уровень защиты 40 на AS/400 до соответствия упомянутому уровню С2. Так в версии V2R3 появилась защита уровня 50.
Но прежде чем система будет признана соответствующей стандарту С2, она должна пройти всеобъемлющую проверку. В настоящее время такая проверка идет.
Уровень 50 включает все возможности защиты уровня 40, хотя некоторые интерфейсы были изменены под государственный стандарт. Кроме того, добавлена возможность аудита.
Министерство обороны США определяет уровень защиты класса С2, как обеспечивающий "селективную защиту и, путем включения возможностей аудита, ответственность субъектов за их действия"1Department of Defense Trusted Computer System Evaluation Criteria. DoD5200. 28STD. 1985, December.. Иначе говоря, при этом уровне защиты владелец ресурса вычислительной системы должен иметь право решать, кому предоставить доступ к данному ресурсу. Нужно также, чтобы система "помнила", кто и когда обращался к ресурсу. Средства аудита, задаваемые системным параметром QAUDJRL, позволяют администратору анализировать собранную информацию.
Правительством США определены уровни защиты от А до D, где А — наивысший уровень защиты, а D – самый низкий. Классы B и С имеют несколько подуровней. Уровень защиты С2 — уровень, наивысший из обычно используемых в бизнесе. В будущем, если возникнет такая необходимость, мы сможем включить в AS/400 поддержку и более высоких уровней защиты.