Колисниченко Денис Николаевич
Шрифт:
Допустимые опции директивы Options Таблица 12.2
Опция | Описание |
---|---|
None | He разрешается использование каких-либо функций |
All | Разрешаются все функции |
FollowSymLinks | Разрешается использовать символические ссылки. С точки зрения безопасности не рекомендуется использовать этот режим |
SymLinkslfOwnerMatch | Разрешается использование символических ссылок, если ссылка указывает на объект, который принадлежит тому же пользователю, что и ссылка |
ExecCGI | Разрешается выполнение CGI-сценариев |
Indexes | Если эта опция выключена, сервер не будет передавать содержимое каталога при отсутствии файла index.html |
Includes | Разрешено использование серверных включений. Рекомендую отключить эту опцию, поскольку это сильно нагружает сервер |
IncludesNoExec | Разрешает использование серверных включений, но запрещает запуск из них внешних программ |
Примечание. В интерфейсе CGI (Common Gateway Interface) определены два метода передачи данных пользователя сценарию: Get и Post. Метод передачи определяется в форме передачи данных. Например:
Сервер Apache позволяет ограничить с помощью директивы Limit передачу данных одним из этих методов.
В блоке Limit можно использовать такие директивы: allow (разрешить), deny (запретить), order (порядок), require (требуется). Директивы allow и deny аналогичны директивам allow и deny файла конфигурации сервера ProFTPD. После директивы allow следует слово from, после которого можно указать IP-адрес, адрес сети, домен или просто имя компьютера. Слово all обозначает все компьютеры. Например, вам требуется запретить доступ всем компьютерам, кроме компьютеров, которые входят в домен ru (см. листинг 12.4).
Следующий пример показывает, как разрешить доступ компьютерам только из вашей сети (см. листинг 12.5). Пусть, при этом, ваша сеть имеет адрес 192.168.1.0
Директива order определяет порядок выполнения директив allow и deny. Кроме значений allow, deny и deny, allow, директива order может содержать значение mutual-failure. В этом случае доступ будет отказан всем компьютерам, которые явно не указаны в списке allow.
Директиву require можно использовать для защиты каталога паролем. После названия директивы должен следовать список элементов: имена пользователей, групп, которые заданы в директивах AuthUserFile и AuthGroupFile. Можно использовать параметр valid-user, который укажет серверу предоставить доступ любому пользователю, имя которого имеется в директиве AuthUserFile, если он введет правильный пароль. Пример использования директив Limit, require, AuthUserFile приведен в листинге 12.6.
В листинге 12.6 для аутентификации используется файл паролей .htpasswd, который можно создать с помощью программы htpasswd. Директива Limit разрешает доступ к любому каталогу сервера только пользователям домена mydomain.ru.
Кроме параметра valid-user допускается использование параметра users или grpoups. Данные параметры разрешают доступ только определенным пользователям или группам пользователей. Пример использования параметра users приведен в листинге 12.7.
Location — с помощью этой директивы можно задать определенный URL-адрес, который предназначен для обозначения каталогов, файлов или групп файлов. Обозначить группу файлов можно с помощью шаблонов, например, шаблон *.html определяет все файлы, имена которых заканчиваются на .html. В URL-адрес не включается протокол и имя сервера. Пример описания блока Location представлен в листинге 12.8.
12.2.2. Конфигурирование Apache с помощью netconf
Практически все параметры Web-сервера Apache можно установить, используя конфигуратор netconf (или linuxconf). Для этого запустите netconf и перейдите на вкладку Server Tasks, а затем нажмите на кнопку «Apache Webserver» (см. рис. 12.2).