Опубликован: 16.10.2006 | Доступ: свободный | Студентов: 1972 / 252 | Оценка: 4.44 / 4.23 | Длительность: 26:41:00
Лекция 10:

Безопасность FTP, NNTP и других служб IIS

Сервер индексов Microsoft и служба индексирования содержимого

По мере увеличения размеров веб-сайта он будет содержать все больше данных, доступных пользователям, и вам понадобится поисковая система для облегчения поиска нужной информации. Сервер индексов Microsoft представляет собой службу, дополняющую Internet Information Server, которая обеспечивает возможность поиска текстовых документов (форматов HTML, MS Word, Excel и PowerPoint) на сервере. Операции сервера индексов выполняются службой индексирования содержимого, функционирующей как служба NT, параметры которой изменяются с помощью консоли Services Management Console (Управление службами). Сервер индексов составляет общий перечень содержимого и свойств документов, находящихся в определенном наборе каталогов (называемом областью), которые коллективно группируются в один каталог. Как упоминалось ранее, сервер индексов может индексировать сообщения NNTP на сервере новостей.

Перед использованием сервера индексов выделите дополнительное дисковое пространство и, если требуется, увеличьте размер оперативной памяти, чтобы обеспечить его корректную работу. Он может занимать до 40 процентов размера Corpus (это весь набор индексированных каталогов и документов). Наверное, вы сейчас скажете: "Здорово, теперь на моем сайте есть даже поисковая система!" К сожалению, сервер индексов стал причиной возникновения некоторых угроз безопасности веб-сайтов IIS из-за ошибок в настройке. Например, запрос поиска в виде формы может передавать до 4 килобайт данных, но если объем запроса будет больше, то работа сервера индексов станет нестабильной. Все отправляемые запросы не должны превышать предельно допустимого значения (см. "Безопасность активного содержимого" ).

Совет. Если свободное дисковое пространство на диске индексов подходит к концу (остается менее 3 Мб свободного места), фильтрация будет временно остановлена, и в журнале событий появится запись о переполнении диска.

Настройка сервера индексов

Так как сервер индексов позволяет пользователям осуществлять поиск на сайте, необходимо аккуратно следить за тем, какие файлы и папки индексируются сервером; в противном случае пользователи смогут найти и прочитать важную информацию, не предназначенную для общего пользования. Вы можете включить индексирование на уровне сервера, веб-сайта или папки. Параметры уровня сервера применяются к индексируемому содержимому на всех веб-сайтах сервера; параметры уровня сайта применяются ко всему индексируемому содержимому на конкретном сайте; параметры уровня папки применяются ко всему индексируемому содержимому внутри рассматриваемой папки и всех ее подпапок. Управление сервером индексов осуществляется с помощью оснастки MMC Index Server Manager (Диспетчер сервера индексов) или консоли MMC Computer Management (Управление компьютером). Для открытия консоли Computer Management нажмите на Start (Пуск), выберите Settings\Control Panel\Administrative Tools\Computer Management (Настройка\Панель управления\Администрирование\Управление компьютером). В дереве консоли разверните пункт Services and Applications (Службы и приложения), после чего щелкните на Indexing Service (Служба индексирования).

После открытия Indexing Service вы увидите два каталога по умолчанию – System и Web. Каталог System содержит диск C и должен быть удален немедленно. Каталог Web содержит папку inetpub\wwwroot и другие папки, которые нельзя индексировать на защищенном сервере, например, папку iisadmin (см. рисунок).


Следует удалить и этот каталог, после чего создать новый каталог, добавив в него только те папки, в которых пользователи веб-сайта будут осуществлять поиск данных. Это уменьшит риск индексирования и открытия доступа к важным документам или системным паролям, включенным в сценарии.

Важно. Сервер индексов может индексировать и предоставлять доступ к документам в виртуальном каталоге, указывающем на удаленное расположение. Отключите опцию Add Network Share Alias Automatically (Автоматически добавлять псевдоним сетевого расположения) на вкладке Tracking (Отслеживание) окна Index Server Properties (Свойства сервера индексов), чтобы запретить случайное добавление общих сетевых устройств в каталог. Как уже неоднократно говорилось, ни в коем случае не следует использовать удаленные расположения в архитектуре веб-сайта.

Защита файлов сервера индексов при помощи параметров безопасности файлов NTFS

Сервер индексов полностью интегрирован с безопасностью IIS и Windows 2000 Server, поэтому можно контролировать доступ к индексированным документам, позволяя пользователям просматривать только разрешенные документы. Следовательно, для обеспечения общей безопасности системы очень важно расположить сервер индексов в разделе с файловой системой NTFS, как и все папки, предназначенные для индексирования. Ключевыми файлами сервера индексов, требующими контроля, являются следующие файлы.

  • Файлы Internet Data Query (.idq). Определяют область поиска и ограничения на поиск, установленные на сервере индексов.
  • Сценарии Index Data Administration (.ida). Файлы, аналогичные предыдущему типу; в них хранятся запросы администрирования.
  • Шаблон расширения HTML (.htx). Шаблон, устанавливающий формат отображения пользователю результатов посредством преобразования данных запроса в файл HTML.
  • Файлы форм запроса (.htm). Форма отправки запроса на поиск.
  • Папки каталогов (.wci). Состоят из индексов содержимого и свойств, а также из других файлов, содержащих индексированные данные.

Ограничение доступа к содержимому посредством каталогов

Каталог сервера индексов представляет собой папку с файлами, содержащими данные индексирования. Сервер индексов записывает в каталог генерируемую информацию о содержимом и свойствах. В этом каталоге осуществляется управление разрешением на доступ пользователей к индексированным документам. Каждый раз при отправке пользователем запроса сервер индексов проверяет данные о защищенности файла. В результат запроса включаются только разрешенные документы. Это отличает данную систему от других поисковых машин, которые отображают ссылки на все документы, удовлетворяющие заданным условиям поиска, даже если пользователь не может прочесть сам документ.

Индексирование на сервере индексов Microsoft Index Server основано на виртуальных каталогах, и не существует метода исключения определенных физических каталогов из процесса индексирования.

Параметры файла запроса данных интернета

В файле Internet Data Query строка CiRestriction= представляет собой запрос, который обрабатывается сервером индексов, а строка CiTemplate= указывает файл, предназначенный для приема информации из файла .idq. В этой строке, как правило, указывается файл с расширением .htx. Избегайте изменения параметров строки CiTemplate, так как это может привести к случайной передаче через сеть файлов в каталогах сценариев с разрешением только на выполнение. Например, если файл .idq содержит строки

[Query]
CiTemplate=%CiTemplate%

то клиент может отправить URL, содержащий эту строку в строке запроса

CiTemplate=/scripts/payrollaccess.pl

что позволит неавторизованному пользователю прочесть содержимое файла сценария Perl. Для исключения этой возможности рекомендуется переключаться между несколькими файлами .htx посредством использования только базового имени файла и добавления каталога сценариев и расширения имени файла взамен параметра, например:

[Query]
CiRectriction=%q%
CiTemplate=/scripts/%t%.htx

В файле .idq можно указать файлы, которые не должны отображаться в результатах поиска. Например, если виртуальный корневой каталог /reports указывает на D:\reports, но результаты из D:\reports\ private не должны отображаться в конечном наборе данных, измените параметр CiRestriction в файле .idq следующим образом:

CiRestriction=%CiRestriction% AND NOT #path D:\reports\private*

Важно. Сервер индексов будет индексировать подкаталог, не имеющий разрешение Read (Чтение), если он находится внутри каталога, имеющего разрешение Read (Чтение). Во избежание этого замаскируйте непредназначенные для чтения каталоги посредством установки CiRestriction в файле запроса .idq. Например, скрыть папку с именем \_readforbidden можно установкой CiRestriction в файле .idq на значение CiRestriction=(%UserRestriction%)&!#vpath *\readforbidden\*.

Ограничение удаленного администрирования

Некоторые функции управления сервером индексов по умолчанию доступны с удаленного веб-сайта, что представляет угрозу безопасности, так как посторонний пользователь может внести несанкционированные изменения. Если нужен дополнительный контроль над административными операциями, примените контроль разрешений доступа для файлов .ida, .idq и .htx, определяющих метод вывода результатов сервером индексов.

Совет. Все административные операции сервера индексов управляются посредством перечня контроля доступа в ключе системного реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ ContentIndex.

Проблема

Предположим, создана интрасеть университета с использованием IIS. Все сотрудники имеют доступ в интрасеть, однако осуществлять поиск по сети могут только сотрудники отдела исследований. Так как на всех компьютерах стоит операционная система Windows 2000 с Internet Explorer в качестве браузера по умолчанию, то отключен анонимный доступ, чтобы пользователь автоматически входил на сайт через свою учетную запись домена, т.е. реализована принудительная аутентификация перед отправкой запросов. В начале семестра на работу выходят новые сотрудники, и на сайт добавляется материал об исследованиях, проведенных в прошлом году. Как упростить управление доступом к функции поиска сайта? Чтобы предоставить право доступа к форме поиска только исследовательскому персоналу, создайте группу с именем Research и добавьте в нее всех сотрудников отдела исследований. Далее присвойте группе Research право доступа к форме поиска и ограничьте доступ к файлу .idq или .htx, используемому в запросе, предоставив его только членам Y· данной группы.

На большом веб-сайте возможность поиска будет восприниматься пользователями положительно; тем не менее, для обеспечения безопасности веб-содержимого следует внимательно присваивать разрешения доступа. Не включайте сервер индексов до тех пор, пока полностью не ознакомитесь с процессом выполнения запросов и параметрами, от которых зависит результат поиска. Для получения дополнительной информации об изменении файлов .idq обратитесь к документации сервера индексов. Наконец, следует включить журнал IIS для фиксирования информации о запросах, запрашивающих IP-адрес, и запросах, отправляемых на сервер. Обратите внимания на необычно длинные запросы или на запросы, направленные на конкретные файлы сценариев, – это может указывать на активность хакера.

Дмитрий Дряничкин
Дмитрий Дряничкин
Россия, Казань
Виктор Шахов
Виктор Шахов
Россия, Москва