Linux глазами хакера
Шрифт:
□
□
□
□
Эти команды помогут вам настроить идентификацию пользователей при обращении к определенным директориям. Например, если у вас есть каталог, работа с которым разрешена только авторизованными пользователями, то можно указать файл паролей, в соответствии с которым доступ к файлам будет запрещен самим сервером.
7.5.1. Файлы .htaccess
Если какая-либо директория Web-сервера должна иметь особые права, то лучше создать в этом каталоге файл .htaccess. Разрешения, описанные в таком файле, действуют на директорию, в которой он находится. Рассмотрим пример содержимого файла .htaccess:
В данном файле для текущей директории указывается тип аутентификации Basic. Это значит, что будет использоваться окно для ввода имени и пароля. Текст, указанный в директиве
Рис. 7.2. Окно запроса имени и пароля
Директива
Вот таким простым способом можно запретить неавторизованный доступ к директории, содержащей секретные данные или сценарии администратора.
Как я уже говорил, в файле .htaccess могут находиться и директивы типа
Например, если нужно разрешить доступ только с определенного IP-адреса, то в файле может содержаться следующая строка:
Если объединить защиту директивой
Эти же параметры можно указывать и в файле httpd.conf, например:
Чем будете пользоваться вы, зависит от личных предпочтений. Мне больше нравится работать с файлом .htaccess, потому что настройки безопасности будут храниться в той же директории, на которую устанавливаются права. Но это небезопасно, потому что хакер может получить возможность прочитать этот файл, а это лишнее.
Использование централизованного файла httpd.conf дает преимущества, т.к. он находится в директории /etc, которая не входит в корень Web-сервера и должна быть запрещена для просмотра пользователям.
7.5.2. Файлы паролей
Теперь нам предстоит узнать, как создаются файлы паролей и как ими управлять. Директива
В этой записи два параметра, разделенных двоеточием. Сначала указано имя пользователя, а после разделителя — зашифрованный по алгоритму MD5 пароль. Формировать такой файл вручную сложно и не имеет смысла, поэтому для облегчения жизни администраторов есть утилита htpasswd. С помощью этой программы создаются и обновляются имена и пароли для базовой аутентификации Web-сервером HTTP-пользователей.
Удобство программы состоит в том, что она может шифровать пароли и по алгоритму MD5, и с помощью системной функции
Если вы храните имена и пароли в формате базы данных DBM (для указания этого в файле .htaccess используется директива
Давайте рассмотрим, как пользоваться программой htpasswd. Общий вид вызова команды выглядит следующим образом:
Пароль и имя файла являются необязательными, и их наличие зависит от указанных опций. Давайте посмотрим основные ключи, которые нам доступны:
□
После выполнения этой директивы перед вами появится приглашение ввести пароль для нового пользователя robert и подтвердить его. В результате будет создан файл .htaccess, в котором будет одна запись для пользователя robert с указанным вами паролем;