Основы AS/400
Шрифт:
Давайте кратко рассмотрим вопросы защиты, возникающие при подключении к AS/400 любой незащищенной системы, будь это ПК на ЛВС или другой компьютер через Интернет (подробнее о переходе к сетевым вычислениям и связанными с этим изменениями в AS/400 — в главе 11). Надеюсь, это поможет Вам лучше использовать защиту AS/400 для сохранения своих информационных ресурсов.
Мы начнем с рассмотрения клиент/серверных приложений и подключения ПК к AS/400.
Подключение ПК к AS/400
Многие организации и фирмы используют клиент/серверные приложения, или собственные, или приобретенные у ISV. Часто при этом ПК подключаются к 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).
Компьютерные троянские кони пытаются пробраться в Вашу систему незаметно, подобно античным грекам, вошедшим в Трою, скрыв своих солдат в огромном подарке — деревянном коне. Обычно, имя «троянской» программы совпадает с именем «хорошей» программы. Пользователь может поместить «троянского коня» в такое место системы, что при ее выполнении он получит более высокий уровень прав, чем имеет при исполнении «законной» программы. Проще всего поместить «троянскую» программу в библиотеку.
В главе 5 мы говорили, что система просматривает библиотеки в списке одну за другой, пока не будет найден нужный объект. Если кто-то поместит «троянскую» программу в библиотеку, предшествующую библиотеке, содержащей «хорошую» программу с тем же именем, то «троянская» программа будет найдена первой и ее автор сможет (потенциально) получить более высокую степень доступа к системе.
В качестве примера рассмотрим предоставляемую IBM библиотеку QUSRSYS, которая поставляется вместе с системой. Допустим, QUSRSYS имеет общее право доступа «изменение» (change). Эта библиотека просматривается системой перед просмотром других пользовательских библиотек в списке задания. Обращение к пользовательской библиотеке вызвало бы одноименную «троянскую» программу, предварительно помещенную хакером в QUSRSYS. Обратите внимание, на слово «допустим», с которого начинается вторая фраза этого абзаца. Именно для страховки от «троянских коней» с версии V3R7 QUSRSYS и другие библиотеки IBM поставляются с общим правом «использование» (use). Тогда же и с той же целью —.повысить защищенность системы и затруднить несанкционированный доступ к системным ресурсам — в специальные права для различных классов пользователей были внесены и другие изменения.