В отличие от ПК и систем 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 не имеет никаких прав и может работать только с объектами, имеющими общие права.
Так как пользователи Интернета обычно не зарегистрированы на AS/400, сервер WWW вообще не проверяет прав пользователей. Некоторые системы AS/400 могут требовать введения идентификатора и пароля для доступа к определенным страницам URL; однако, чаще всего страницы WWW открыты для всех пользователей Интернета. Следовательно, такой пользователь Интернета имеет доступ ко всему, к чему есть доступ у сервера WWW. Так что следует тщательно следить за назначением общих прав объектам системы. Например, если в некоторой библиотеке содержится важная информация, имеет смысл установить для нее общий доступ «исключение» (exclude) и разрешить доступ только в соответствии с явными или групповыми правами. Тогда у сервера WWW не будет доступа к такой библиотеке. Если Вы хотите назначить для библиотеки более высокий уровень общего доступа, рекомендуем вариант явного запрета на доступ к ней для QTMHHTTP и QTMHHTP1. Тогда она станет недоступной пользователям WWW.
Сервер WWW может использовать библиотеки, на которые у него есть права, но не использует списки библиотек. Как обсуждалось ранее, использование списка библиотек дает возможность поместить «троянскую» программу перед библиотекой, содержащей «хорошую» программу. Не используя списки библиотек, мы устраняем эту возможность.
Другой способ защиты системы — использование программ выхода (exit program). Так называется в AS/400 программа, написанная пользователем. Например, всякий раз, когда сетевой пользователь, пытается применить FTP для пересылки файла на или AS/400 с нее, перед началом операции с файлом вызывается программа выхода. Эта программа может запретить выполнение определенных операций в зависимости от профиля пользователя или файла, к которому производится обращение. Так же программы выхода могут запускаться при получении запроса на другие операции, такие как подключение пользователя к серверу. Программы выхода также могут применяться для ПК, подключенных удаленно, или при доступе к системе через шлюз
HTML.
Для коммерческой безопасности электронных операций по незащищенной сети, нужна защищенная пересылка данных и поддержка защищенных финансовых транзакций. В обоих случаях AS/400 использует стандартные сетевые протоколы: SSL (Secure Sockets Layer) — как средство защищенной пересылки (будет рассмотрен в главе 11); и SET (Secure Electronics Transaction) — для защиты финансовых транзакций. SET представляет собой протокол, определенный Visa/MasterCard для выполнения операций с кредитными картами по Интернету. Вдобавок, когда нужно, AS/400 предоставляет очень мощные аппаратные средства шифрования данных[ 60 ].
В завершение рассмотрения темы сетевой защиты рассмотрим брандмауэры. Брандмауэр — это отдельная от AS/400 система, используемая для защиты шлюза в Интернет. В нормальной ситуации и AS/400, и все другие компьютеры никогда не соединяются с Интернетом напрямую. Вместо этого все обращения сначала поступают к брандмауэру. Брандмауэры защищают частные сети от несанкционированного доступа, как внутреннего, так и внешнего. В соответствии с правилами защиты в данной организации, брандмауэр разрешает или запрещает доступ к ее защищенным компьютерам. Свое название брандмауэры получили потому, что они не дают огню (незащищенной сети) проникнуть в защищенную внутреннюю сеть (буквально: firewall — огнеупорная стена).
В большинстве случаев брандмауэры реализуются на ПК либо на Unix. Так как их использование предполагает наличие отдельного компьютера и, соответственно администратора, это сильно не вписывалось в интегрированную сущность AS/400. Поэтому в V4R1 был реализован скрытый брандмауэр. Для этого защищенного сетевого шлюза мы использовали IPCS (Integrated PC Server). Использование IPCS и других скрытых машин приложений подробно рассматривается в главе 11, а сейчас скажем лишь, что IPCS — отличный брандмауэр, позволяющий избежать расходов на управления дополнительным компьютером. Наш брандмауэр находится в том же корпусе (физически), не находясь в нем логически.