Вход/Регистрация
Linux глазами хакера
вернуться

Флёнов Михаил Евгеньевич

Шрифт:

□ 

Options [+ | -] параметр
— определяет возможности Web-сервера, которые доступны в данном каталоге. Если у вас есть директория, в которую пользователям разрешено закачивать картинки, то вполне логичным является запрет на выполнение в ней любых сценариев. Не надо надеяться, что вы сумеете программно запретить загрузку любых файлов, кроме изображений. Хакер может найти способ закачать злостный код и выполнить его в системе. С помощью опций можно сделать так, чтобы сценарий не выполнился Web-сервером.

Итак, после ключевого слова можно ставить знаки плюс или минус, что соответствует разрешению или запрещению опции. В качестве

параметр
указывается одно из следующих значений:

 • 

All
— все, кроме
MultiView
. Если указать строку
Option + All
, то в данном каталоге будут разрешены любые действия, кроме
MultiView
, который задается отдельно;

 • 

ExecCGI
— разрешено выполнение CGI-сценариев. Чаще всего для этого используется отдельная директория /cgi-bin, но и в ней можно определить отдельные папки, в которых запрещено выполнение;

 • 

FollowSymLinks
— позволяет использовать символьные ссылки. Убедитесь, что в директории нет опасных ссылок и их права не избыточны. Мы уже говорили в разд. 3.1.3 о том, что ссылки сами по себе опасны, поэтому с ними нужно обращаться аккуратно, где бы они ни были;

 • 

SymLinksIfOwnerMatch
— следовать по символьным ссылкам, только если владельцы целевого файла и ссылки совпадают. При использовании символьных ссылок в данной директории лучше указать этот параметр вместо
FollowSymLinks
. Если хакер сможет создать ссылку на каталог /etc и проследует по ней из Web-браузера, то это вызовет серьезные проблемы в безопасности;

 • 

Includes
— использовать SSI (Server Side Include, подключение на сервере);

 • 

IncludesNoExec
— использовать SSI, кроме
exec
и
include
. Если вы не используете в сценариях CGI эти команды, то данная опция является предпочтительнее предыдущей;

 • 

Indexes
— отобразить список содержимого каталога, если отсутствует файл по умолчанию. Чаще всего, пользователи набирают адреса в укороченном формате, например, www.cydsoft.com. Здесь не указан файл, который нужно загрузить. Полный URL выглядит как www.cydsoft.com/index.htm. В первом варианте сервер сам ищет файл по умолчанию и открывает его. Это могут быть index.htm, index.html, index.asp или index.php, default.htm и т.д. Если один из таких файлов по указанному пути не найден, то при включенной опции
Indexes
будет выведено дерево каталога, иначе — страница ошибки. Я рекомендую отключать эту опцию, потому что злоумышленник может получить слишком много информации о структуре каталога и его содержимом;

 • 

MultiViews
— представление зависит от предпочтений клиента.

Все выше описанные директивы могут использоваться не только в файле /etc/httpd/conf/httpd.conf, но и в файлах .htaccess, которые могут располагаться в отдельных директориях и определять права этой директории.

Права доступа могут назначаться не только на директории, но и на отдельные файлы. Это описание делается между двумя следующими строками:

<Files ИмяФайла>

</Files>

Это объявление может находиться внутри объявления прав доступа к директории, например:

<Directory /var/www/html>

 Order allow,deny

 Allow from all

 <Files "/var/www/html/admin.php">

Deny from all

 </Files>

</Directory>

Директивы для файла такие же, как и для директорий. Исходя из этого, в данном примере к подкаталогу /var/www/html разрешен доступ всем пользователям, а к файлу /var/www/html/admin.php из этой директории запрещен доступ абсолютно всем.

Помимо файлов и директорий можно ограничивать и методы HTTP- протокола, такие как GET, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK. Где тут собака зарыта? Допустим, что у вас есть сценарий, которому пользователь должен передать параметры. Это делается одним из методов POST или GET. Если вы заведомо знаете, что программист использует только GET-метод, то запретите все остальные, чтобы хакер не смог воспользоваться потенциальной уязвимостью в сценарии, изменив метод.

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

Права на использование методов описываются следующим образом:

<limit ИмяМетода>

 Права

</limit>

  • Читать дальше
  • 1
  • ...
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: