Размещение Web-серверов
Многие организации передают свои Web-серверы поставщикам Internet-услуг вместе с обязанностями по эксплуатации и администрированию, исходя, главным образом, из соображений информационной безопасности.
Помимо перечисленных выше аспектов, поставщики услуг при администрировании оборудования, на котором размещены Web-серверы, должны руководствоваться такими положениями:
- разумное использование DNS. В момент подключения клиента не следует выполнять поиск его имени, поскольку это делает Web-серверы уязвимыми для атак на доступность и заметно сказывается на производительности;
-
минимизация привилегий. Web-демон следует выполнять от имени пользователя и группы, специально выделенных для этой цели и имеющих минимальные привилегии. Ответственный за информационное наполнение Web-сервера должен работать от имени другого пользователя;
- контроль DocumentRoot. Все, что располагается ниже этого каталога, надо тщательнейшим образом проконтролировать. Желательно использовать системный вызов chroot для смены корневого каталога HTTP-демона;
- контроль UserDir. На сервере нельзя регистрировать других пользователей, кроме администраторов. Если такие пользователи все-таки есть, директиве "UserDir" (в случае ее разрешения) не следует предоставлять доступ к информации пользователей - в частности, не разрешать выполнение командных процедур от имени этих пользователей;
- разбиение на виртуальные серверы. Единый сервер, на котором размещено множество серверов (виртуальных доменов), необходимо организовать так, чтобы все данные, программы и регистрационные журналы различных виртуальных серверов были отделены друг от друга и чтобы доступ к "чужой" конфигурации или данным был невозможен. Кроме того, надо исключить доступ к данным или программам на сервере одного потребителя через локатор ресурсов, в хостовой части которого указано имя сервера другого потребителя;
-
управление доступом. Следует сделать возможным разграничение доступа к определенным частям сервера на основе механизмов надежной аутентификации - сертификатов или одноразовых паролей.
Программы на серверной стороне, поддерживающие CGI или какой-либо другой интерфейс, важны для гибкости web как коммуникационной среды. Однако эта гибкость достигается ценой появления угроз безопасности, а слабая программа может сделать уязвимыми все виртуальные домены на сервере. Правила, сообразно которым поставщик Internet-услуг разделяет программы на допустимые и недопустимые, является показательным аспектом всей его политики безопасности.
Поставщику следует руководствоваться такими положениями:
- политика безопасности; выработка для своих потребителей ясной методики написания безопасных программ в имеющейся среде размещения Web-серверов с обязательным описанием тех приемов программирования, при применении которых программы будут отвергаться.
- установка программ: запрет на установку собственных программ потребителей. Все программы и командные процедуры передаются поставщику для первоначальной проверки на соответствие политике безопасности. Программы устанавливаются так, чтобы только администратор сервера мог их модифицировать.
- выбор пользователя и группы процесса: программы выполняются от имени пользователя и группы, специально выбранных для этой цели и имеющих минимальные привилегии (часто используют "nobody").
- отображение в навигаторах: запрет при любых обстоятельствах на отображение программ в навигаторах. Как следствие - программы нельзя размещать под DocumentRoot.
- разделение виртуальных серверов: программы не следует делать доступными через сервер другого потребителя или для Web-мастера другого потребителя;
- обработка пользовательского ввода: не вычислять выражения в пользовательском вводе, если нет механизма изоляции небезопасных действий.
- лимитирование потребления ресурсов: ввести лимит потребляемого астрономического и процессорного времени, а также дискового пространства для всех программ.
- маршрутные имена: все маршрутные имена делать абсолютными или начинающимися с DocumentRoot. Переменную PATH устанавливает только системный администратор.
Данные, которые пишет программа серверной стороны, следует считать конфиденциальными.
Чтобы сделать невозможным доступ к таким данным через навигаторы, права устанавливаются так, чтобы у Web-демона не было права на чтение этих данных.
Если через Web-сервер предоставляется доступ к базам данных, то программам, осуществляющим такой доступ, выделяются лишь те полномочия, которые абсолютно необходимы для их функционирования.
Данные, относящиеся к управлению состояниями (идентифицирующие цепочки - cookies), следует считать конфиденциальными. Требуется исключить возможность доступа к ним из навигаторов.
Регистрационная информация, генерируемая Web-демоном, должна быть весьма конфиденциальной. Для реализации этого положения понадобится:
поставщику Internet-услуг разрешить выполнение лишь необходимых операций с регистрационной информацией - генерацию счетов и периодическую ротацию;- регистрационную информацию хранить вне дерева с корнем в DocumentRoot, чтобы исключить возможность доступа через навигаторы;
- регистрационную информацию в первоначальном или обработанном виде передавать потребителю только по доверенному каналу.
Многие поставщики Internet-услуг предоставляют своим потребителям средства для продажи товаров или услуг через размещенные у поставщика Web-серверы. Поставщику, разместившему у себя приложения электронной коммерции, следует руководствоваться такими положениями:
шифрование транзакций: транзакции нельзя хранить на сервере в открытом виде. Разрешается использование криптографии с открытыми ключами, так что только потребитель сможет расшифровать транзакции. Даже если транзакции передаются напрямую в финансовое учреждение или потребителю, поставщик услуг вправе сохранять у себя какую-то часть данных для обеспечения подотчетности;- передача транзакций: передача производится по доверенному каналу, если транзакции не обрабатываются немедленно, а передаются потребителю пакетами;
резервное копирование: в случае записи транзакций на резервные носители должна гарантироваться физическая безопасность этих носителей.
Загрузку информационного наполнения на сервер поставщика Internet-услуг следует производить по доверенному каналу.
Поставщики услуг нередко предоставляют для использования потребителями поисковые машины, средства контроля целостности ссылок и т.д. Зачастую такие средства создают весьма существенную дополнительную нагрузку, поэтому их запуск по запросу необходимо запретить, чтобы защититься от атак на доступность.
Поисковые машины надо сконфигурировать так, чтобы поиск ограничивался частями Web-сервера, доступными всем.
Результат проверки целостности ссылок следует считать конфиденциальным, а доступ к нему предоставить только лицу, управляющему информационным наполнением.