Защита каталогов посредством управления доступом
Создание файла доступа
Рассмотрим все эти команды на двух примерах: разрешение доступа для группы и разрешение доступа по имени домена.
Разрешение доступа для группы
Следующий пример файла .htaccess разрешает доступ к конкретному каталогу только пользователям группы authors.
AuthName Authors Only AuthUserFile /etc/httpd/conf/users AuthGroupFile /etc/httpd/conf/groups require group authors
Заметьте: в этом примере указана команда AuthName для подсказки, указаны файлы паролей и групп, а также то, что пользователь должен быть членом группы authors для получения доступа к каталогу.
Разрешение доступа по имени домена
Следующий пример файла .htaccess разрешает доступ к конкретному каталогу только пользователям, которые обращаются к Web-сайту из хоста, находящегося в домене juxta.com:
order allow,deny allow from.juxta.com deny from all
Обратите внимание на порядок следования allow и deny. Логика работы следующая: при обращении к каталогу имя домена хоста сравнивается с доменом juxta.com. Если хост находится в этом домене, то доступ предоставляется. Если нет, то выполняется анализ по команде deny. Так как она запрещает доступ всем хостам, то запрашивающему хосту доступ не предоставляется.
Управление протоколами
Последняя рассматриваемая функция администрирования – управление протоколами. Apache создает два важных протокола: протокол доступа и протокол ошибок. Вместе они обеспечивают важной информацией многие функции, включая отладку ошибочных сценариев CGI и генерацию статистических отчетов доступа с подробной информацией об использовании Web-сайта.
Однако если о них забыть, эти протоколы будут увеличиваться в объеме, достигая огромных размеров. С увеличением их размера значимость информации уменьшается, ибо обработка данных затрудняется.
Поэтому полезно установить график чередования протоколов. Чередование протоколов означает сохранение текущей версии в архиве и создание нового, пустого протокола. В зависимости от посещаемости сайта следует производить чередование протоколов раз в месяц, неделю или день.
Red Hat Linux 7.1 включает протоколы Apache в каталог /var/log/httpd. Они чередуются; другими протоколами из /var/log в ежедневном режиме, как указано в сценарии /etc/ cron.daily/logrotate.
Для чередования протоколов используется утилита rotatelogs, поставляемая с дистрибутивом Apache. По умолчанию Red Hat Linux устанавливает ее в /usr/sbin/rotatelogs. Для использования программы добавьте следующую строку в файл httpd.conf.
TransferLog " |/usr/sbin/rotatelogs /some/location/file time"
Элемент /sorae/location/f ile дает базовое имя файла для чередующихся протоколов Число, соответствующее системному времени начала протоколирования, добавляется к имена файла. Параметр time, в секундах, указывает, как часто выполняется чередование протоколов.