Основы AS/400 - Фрэнк Солтис
Шрифт:
Интервал:
Закладка:
Доступ к объекту разрешен, если данный пользователь имеет специальное право на все объекты или, по крайней мере, право на изменение (change) для объекта в профиле пользователя (право владельца или явное право на объект) или в списке прав. Если найденное право меньше, чем право на изменение (change) — например, «использование» (use) или «исключение» (exclude), — то алгоритм переходит к поиску заимствованного права. Если право не обнаружено, то проверяются профили групп.
2.В профиле группы ведется поиск:
специального права на все объекты, или
права первичной группы, или
права на объект для других групп (явного права), или
права из списка, если объект присутствует в этом списке (явного права).
Доступ к объекту разрешен, если группа имеет специальное право на все объекты или, по крайней мере, право на изменение (change) для объекта в первичной группе, других группах или в списке прав. Если найденное право меньше, чем право на изменение (change) — например, «использование» (use) или «исключение» (exclude), — то алгоритм переходит к поиску заимствованного права. Если право не обнаружено, то проверяются общие права.
3.В общих правах ведется поиск:
специального права на все объекты, или
права из списка, если объект присутствует в этом списке (явного права).
Доступ к объекту разрешен, если имеется, по крайней мере, общее право на изменение (change) либо в объекте, либо в списке прав. Если найденное право меньше, чем право на изменение (change) — например, «использование» (use) или «исключение» (exclude), — то алгоритм переходит к поиску заимствованного права.
4.В заимствованном профиле ведется поиск.
Доступ к объекту разрешен, если в заимствованном профиле пользователя имеется, по крайней мере, право на изменение (change). В противном случае доступ запрещается.
Так как индивидуальный профиль пользователя просматривается первым и всегда выбирается первое встретившееся право на объект, пользователю могут быть предоставлены большие или меньшие права на объект по сравнению с общими правами и правами профиля группы. Если поместить право на исключение (exclude) в профиль индивидуального пользователя, а право на изменение (change) в заимствованный профиль, то доступ к объекту данному пользователю будет заблокирован. Однако, пользователь по-прежнему сможет выполнять над объектом операции изменения с помощью заимствованных прав, приобретаемых при выполнении соответствующей программы. Такой способ наиболее распространен для ограничения доступа к системному объекту.
Для ускорения алгоритма поиска при проверке прав используются две быстрых ветви. Обе этих ветви производят быструю проверку на основе информации, хранящейся в объекте. Если быстрая проверка дает положительный результат, то серия проверок, требуемых полным алгоритмом, не нужна и выполнение запрошенной операции разрешается. В противном случае выполняется обычный алгоритм поиска.
Дополнительная защита в сетевом мире
Давайте кратко рассмотрим вопросы защиты, возникающие при подключении к AS/400 любой незащищенной системы, будь это ПК на ЛВС или другой компьютер через Интернет (подробнее о переходе к сетевым вычислениям и связанными с этим изменениями в AS/400 — в главе 11). Надеюсь, это поможет Вам лучше использовать защиту AS/400 для сохранения своих информационных ресурсов.
Мы начнем с рассмотрения клиент/серверных приложений и подключения ПК к AS/400.
Подключение ПК к AS/400
Многие организации и фирмы используют клиент/серверные приложения, или собственные, или приобретенные у ISV. Часто при этом ПК подключаются к AS/400 через ЛВС, а приложение разбивается между ПК и AS/400. Очень часто пользователи полагают, что в подобных клиент/серверных средах их данные на AS/400 защищены от несанкционированного доступа. К сожалению, это не всегда так. Защита данных зависит от того, как написано приложение и как защищена система.
Той части клиент/серверного приложения, которая работает на ПК, необходим способ доступа к базе данных AS/400. Обычно, для этого используется доступ на уровне файлов. Весьма распространенный подход при этом — использование интерфейсов ODBC (Open Database Connectivity). Но если на ПК исполняется приложение ODBC, то на AS/400 дополнительное приложение не нужно. Следовательно, невозможно использовать для защиты файлов базы данных такие средства, как заимствование прав программой. Вместо этого программа на ПК получает непосредственный доступ к файлам базы данных посредством общих, групповых или явных прав. Но вот проблема: как быть, если конечный пользователь ПК не должен иметь полного доступа к базе данных? Ограничение доступа пользователя возлагается на приложение ПК, где оно, обычно, не работает и в системе защиты возникает брешь.
ПК, как и многие другие, подключенные к AS/400, системы, никак не защищены. И я утверждаю, что нельзя полагаться ни на какой код, предназначенный для ограничения доступа к AS/400, если он выполняется на незащищенной системе. Вот что я имею в виду. Например, любое ПО на ПК, включая ПО ОС Windows 95 и Windows NT Workstation, может быть легко изменено достаточно компетентным пользователем, после чего будет работать не так, как изначально предполагалось. Это означает, что ни одна прикладная программа на ПК не может обеспечить какой-либо серьезной защиты данных на AS/400, да и данных на самом ПК.
Выход из описанной ситуации очень прост. Просто запретите всякий доступ к файлам базы данных и заставьте приложение ODBC вызывать на AS/400 описанную в главе 6 хранимую процедуру, которая заимствует права на операции с файлами. Имеются также и другие приемы, позволяющие контролировать кто, и что делает с помощью ODBC.
ODBC не единственный потенциально опасный (с точки зрения защиты информации) интерфейс, который можно использовать для работы с AS/400. TCP/IP FTP (File Transfer Protocol), передача файлов с помощью Client Access и DDM — вот лишь несколько примеров удаленных интерфейсов к AS/400, использование которых может вызывать те же проблемы защиты. Многие клиент/серверные приложения, включая написанные ISV, создаются без должной защиты данных.
Ключевой момент защиты данных AS/400 — обеспечить, чтобы любой код, отвечающий за контроль доступа, выполнялся на защищенной системе. Для пользователей AS/400 это обычно означает установку защиты, предусматривающей, по меньшей мере, защиту ресурсов (уровень 30), а также осторожность при разработке или приобретении клиент/серверных приложений.
В последнее время многие клиенты AS/400 стали подумывать об использовании вместо ПК СК (сетевых компьютеров; подробно мы рассмотрим их в главе 11). СК обладает многими преимуществами ПК, может похвастаться отсутствием некоторых потенциальных проблем последнего, да и дешевле. СК также обеспечивает лучшую защищенность.
Вирусы, черви, троянские кони и другие мерзкие твари
Вирусы настолько распространены, что сегодня серьезный бизнес может опираться на ПК только при использовании какого-либо антивирусного ПО. Новые вирусы создаются каждый день, поэтому и программы проверки должны постоянно обновляться. Вирусам подвержены системы Unix и даже мэйнфреймы, что связано с наличием в них определенных возможностей системного программирования. Ведь чтобы заразить систему, код вируса должен присоединиться к некоторому исполняемому коду на двоичном машинном уровне. Так как в AS/400 видима лишь незначительная часть внутренних компонентов, внедрение вируса в нее маловероятно. И все же, это может произойти, если система не защищена надлежащим образом.
Наилучший способ предохранения от вирусов на AS/400 — защита объектов-программ и команд. Например, пользователь может изменить команду с помощью команды «CHGCMD» (Change Command) только в том случае, если у него есть право управлять объектами. Дополнительную страховку обеспечивает команда «RVKOBJAUT» (Revoke Object Authority): с ее помощью Вы можете отозвать, или, по крайней мере, отследить, чрезмерный доступ к командам, в том числе и к самой команде «CHGCMD». Кроме того, в AS/400 хакер может использовать для модификации или создания исполняемых программ лишь несколько средств и команд. Следовательно, доступ к ним нужно ограничить. Таким образом, если устранить возможность несанкционированного создания программ и изменения объектов-программ, то возможность внедрения вируса равна нулю. Средства аудита, отслеживая, кто именно использует такие изменяющие программы команды, не позволяют злоумышленнику остаться необнаруженным.
Черви похожи на вирусы, но в отличие от них не заражают другие программы. Вместо этого, червь постоянно дублируется и оттягивает на себя системные ресурсы. Например, программа-червь для AS/400 могла бы постоянно посылать себя на выполнение как новое задание. Это не вызовет повреждений, но может сильно снизить общую производительность системы. Чтобы предотвратить такую узурпацию большей части ресурсов, следует ограничить доступ к командам, изменяющим задание или его класс, и установить лимиты очереди заданий для ограничения числа параллельно исполняющихся заданий (задания, очереди заданий и классы мы рассмотрим в главе 9). С этой целью IBM изменила в V3R7 установку по умолчанию общего права на большинство таких команд с «использование» (use) на «исключение» (exclude). Общее право на многие описания заданий также было переназначено с «изменение» (change) или «использование» (use) на «исключение» (exclude).