Брандмауэры и специальное программное обеспечение 8 Часть 4
Вид материала | Реферат |
СодержаниеИспользование файлов .htaccess Дополнительные замечания, связанные с безопасностью Замечания, связанные с suEXEC |
- Муниципальное общеобразовательное учреждение средняя общеобразовательная школа №12, 174.77kb.
- Управление экономикой и создание экономических информационных систем Изучив данную, 148.93kb.
- Программное обеспечение ЭВМ, 209.59kb.
- Программное обеспечение вычислительной системы, 824.71kb.
- Учебная программа (Syllabus) Дисциплина: Интерфейсы компьютерных систем (iks 3304), 321.31kb.
- Реферат по Информационной безопасности Тема: «Антивирусы», 711.1kb.
- Пк программный комплекс; по программное обеспечение; ппо прикладное программное обеспечение, 208.41kb.
- Лекция 4 Обеспечивающие подсистемы асу. Математическое, программное, лингвистическое,, 59.3kb.
- Математическое и программное обеспечение систем оперативной оценки характеристик сложных, 247.51kb.
- Учебная программа (Syllabus) Дисциплина «Инструментальные средства разработки программ», 374.12kb.
Использование файлов .htaccess
Файл .htaccess может содержать множество разнообразных параметров и может использоваться для множества различных целей. Прежде всего, этот файл может использоваться для ограничения доступа к некоторому каталогу. Если вы хотите, чтобы доступом к каталогу обладали только лица, обладающие определенными именами и паролями, вы можете реализовать это с использованием файла .htaccess.
Прежде всего вы должны отредактировать файл /etc/httpd/conf/httpd.conf. Добавьте в этот файл выражение
После этого создайте файл .htaccess. При создании необходимо добавить в файл .htaccess четыре строки, показанные в листинге 20.5. В первой строке содержится ключевое слово AuthName и имя. Имя может быть любым, однако оно должно быть по смыслу связано с той информацией, доступ к которой вы защищаете. Параметр AuthType всегда имеет значение Basic. Параметр AuthUserFile должен указывать на файл, который вы намерены использовать для аутентификации клиентов. Файл аутентификации клиентов создается с использованием htpasswd. В последней строке содержится директива require valid-user.
Листинг 20.5. Файл .htaccess
AuthName "foo"
AuthType Basic
AuthUserFile /путь/к/.htpasswd
require valid-user
Файл .htaccess может использоваться также для того, чтобы расширить или изменить любые из директив файла /etc/httpd/conf/httpd.conf для данного каталога. Для этого вы должны.внести в раздел
Дополнительные замечания, связанные с безопасностью
Некоторые выражения, которые допускается использовать в файле httpd.conf, не обсуждались ранее, так как они не используются в конфигурационном файле по умолчанию. Эти выражения имеют отношение к выражениям Directory и Files. К этим дополнительным выражениям относятся выражения DirectoryMatch, FilesMatch, Location и LocationMatch. Синтаксис этих выражений совпадает с синтаксисом выражений Directory и Files, однако добавка Match указывает на то, что в составе этих выражений используются аргументы, являющиеся регулярными выражениями (regular expression, regex). Аргументы, являющиеся регулярными выражениями, отличаются от обычных аргументов. Дополнительно об использовании этих аргументов рассказывается в электронной документации.
ПРИМЕЧАНИЕ
Термин гедех обозначает regular expression — регулярное выражение. В Linux регулярные выражения используются для описания некоторого символьного шаблона. В рамках этого шаблона допускается использовать специальные символы (такие как * и ?) для того, чтобы указать неопределенный символ или набор символов. При помощи регулярных выражений вы можете специфицировать строки, начинающиеся с определенного набора символов, заканчивающиеся определенным набором символов, содержащие в себе определенный набор символов и т. п. Более подробно о регулярных выражениях и методах их использования можно узнать из книги, посвященной программированию sed, awk или Perl. Регулярные выражения — это чрезвычайно мощный и очень гибкий механизм, однако для новичков овладение этим механизмом может оказаться непростым делом.
Необходимо отметить, что выражения Location и LocationMatch соответствуют не файлам и каталогам, a URL. Также необходимо отметить порядок, в котором обрабатываются все эти выражения. Любое выражение Directory обрабатывается в первую очередь. Если следующее за ним выражение Files содержит в себе конфигурационные значения, которые противоречат заданным в рамках выражения Directory, директивы Directory будут перекрыты директивами Files. Иными словами, выражение Files обладает более высоким приоритетом. В этом есть смысл, так как файл является более специфичным элементом файловой системы, чем весь каталог. Выражение Location перекрывает собой как выражения Directory, так и выражения Files. Такое распределение приоритетов менее очевидно, так как местоположение URL является виртуальной концепцией, в отличие от каталогов и файлов. Выражение Location обеспечивает большую гибкость, однако повышает сложность конфигурирования. Применив выражение Location, вы непреднамеренно можете перекрыть директивы, определенные с использованием Directory и Files. Используя выражения Location, будьте внимательны и осторожны.
Замечания, связанные с suEXEC
Программа suEXEC — это оболочка, которая позволяет запускать программы от лица пользователя, отличающегося от пользователя, от лица которого запущен web-сервер. При нормальном функционировании все программы запускаются на уровне привилегий пользователя, от лица которого запущен web-сервер. В случае использования конфигурации, описанной ранее в данной главе, три четверти программ работают на уровне привилегий пользователя nobody. В некоторых ситуациях это может быть неприемлемым. Например, если пользователи обращаются к индивидуальным базам данных, запись в которые со стороны посторонних пользователей недопустима. В этом случае вы можете компилировать Apache с использованием suEXEC и включить конфигурацию userdir. Эта возможность может быть использована в ситуациях, когда применение файлов .htaccess оказывается неудобным или неприемлемым.
Для настройки suEXEC необходимо некоторое время. Потребуются дополнительные конфигурационные директивы, среди которых:
--enable-suexec
--suexec-caller=UID
--suexec-docroot=DIR
--suexec-logfi1e=FILE
--suexec-userdir=DIR
--suexec-uidmin=UID
--suexec-gidmin=GID
--suexec-safepath=PATH
Данная возможность конфигурации обладает рядом недостатков. Однако используя ее, вы можете с большой гибкостью указывать (при помощи выражений VirtualHost) пользователя, от лица которого должна работать та или иная программа. К сожалению, компиляция с включением suEXEC и использование этого механизма в записях VirtualHost налагают ограничения на расположение каталогов VirtualHost — все они должны быть расположены в рамках иерархии основного корневого каталога документов DocumentRoot. Такое положение вещей не всегда можно считать приемлемым.
Наибольшую опасность при использовании suEXEC представляет указание небезопасного пути (PATH) для каталогов, содержащих в себе бинарные файлы. Каждый из бинарных файлов должен запускаться от лица указанного вами пользователя — это выглядит замечательно с точки зрения системы, однако может оказаться бедствием для пользователя, в особенности если бинарный файл является «троянским конем».