Наилучший способ предохранения от вирусов на 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). Тогда же и с той же целью —.повысить защищенность системы и затруднить несанкционированный доступ к системным ресурсам — в специальные права для различных классов пользователей были внесены и другие изменения.
В отличие от ПК и систем Unix средства для защиты AS/400 от тварей, которых мы только что рассмотрели, уже присутствуют в самой системе. Как я уже сказал, в последних версиях были изменены значения параметров по умолчанию, что делает защиту системы еще надежней. И все же пользователь по-прежнему должен предпринять определенные действия по активизации всех этих форм защиты. Немного предусмотрительности — и Ваша AS/400 станет абсолютно непроницаемой для вирусов и прочей нечисти!
Безопасный сервер WWW
По мере того, как все больше компаний подключают свои AS/400 к WWW (World Wide Web), вопрос сетевой защиты серьезно обостряется. Многие только что рассмотренные нами приемы защиты AS/400 в клиент/серверной среде применимы также и при подключении ее к открытым сетям любого рода. Но Интернет стоит особо.
Прежде чем мы займемся вопросами защиты, не помешает краткий исторический экскурс в поддержку Интернета на AS/400. В состав Internet Connection, появившегося в начале 1996 в составе OS/400, входят сервер WWW, шлюз 5250-в-НТМL[ 59 ] (Hypertext Markup Language) и средства работы с базами данных из HTML. Сервер WWW получил название Internet Connection Server: он взаимодействует с пользователями WWW посредством протокола HTTP (Hypertext Transport Protocol). Шлюз HTML «на лету» преобразует поток данных 5250 в HTML, что позволяет приложениям 5250 работать в Интернете. Средства HTML для баз данных создают запросы для DB2/400 с помощью HTML и SQL. Эти расширения, добавленные в последующие версии, превратили AS/400 в полноценный сервер Интернета.
HTML задает формат потока данных между сервером WWW и средством просмотра на компьютерах, подключенных к сети. HTML не язык программирования; это мощный язык описания страниц, подобный PostScript. Его основой послужил полиграфический язык SGML (Standard Generalized Markup Language), описывающий взаиморасположение текста и графики на экране. Браузер на пользовательской машине передает на сервер запрос в форме URL (universal resource locator). Запрос URL имеет вид «http://имя-сервера/имя-документа-HTML».
HTTP — это просто транспортный протокол, использующий соединение TCP/IP между сервером WWW на AS/400 и пользователями WWW. Внешними связями могут быть выделенные линии или доступ TCP/IP по асинхронным телефонным линиям, известный как SLIP (Serial Link Internet Protocol). Имеется также поддержка протокола PPP (point-to-point protocol). Кроме сервера WWW, сетевые клиенты могут использовать для доступа к интегрированной файловой системе AS/400 протокол FTP (File Transfer Protocol). Поддержка «анонимного» пользователя обеспечивает доступ к системе любому сетевому пользователю.
Пользователь WWW на сетевом компьютере может запросить у сервера на AS/400 исполнение программы CGI (Common Gateway Interface). CGI — это стандартный протокол сервера WWW, позволяющий серверным программам непосредственно взаимодействовать с браузером на сетевом компьютере. При запуске такая программа получает информацию из вызывающего документа HTML, имя пользователя, адрес TCP/ IP и любые заданные пользователем данные. С помощью команд SQL в HTML, пользователь также может непосредственно обращаться к DB2/400 из браузера. Программа CGI выполняет запрошенные операции, включая обращения к DB2/400, и генерирует текст HTML, который WWW-сервер на AS/400 возвращает браузеру.
Для обеспечения защиты данных на AS/400 сервер WWW использует системные средства защиты. Набор новых профилей пользователя и некоторые другие параметры обеспечивают закрытость данных и предоставляют доступ только к тем файлам, для которых это разрешено.
Обычно, сервер WWW AS/400 работает под управлением профиля пользователя QTMHHTTP. Используя этот профиль, сервер WWW работает в системном состоянии. Чтобы ограничить набор файлов, к которым имеет доступ сервер, и таким образом доступ пользователей WWW к файлам DB2/400, можно ограничить права доступа к объектам для профиля QTMHHTTP. Когда пользователь WWW запрашивает у сервера выполнение программы CGI, используется другой профиль. Сервер WWW переключается на профиль QTMHHTTP1, понижает состояние системы до пользовательского и не передает заимствованные права сервера программе CGI. Профиль пользователя QTMHHTTP1 не имеет никаких прав и может работать только с объектами, имеющими общие права.