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

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

Шрифт:

Удобство программы состоит в том, что она может шифровать пароли и по алгоритму MD5, и с помощью системной функции

crypt
. В одном файле могут находиться записи с паролями обоих типов.

Если вы храните имена и пароли в формате базы данных DBM (для указания этого в файле .htaccess используется директива

AuthDBMUserFile
), то для управления БД нужно применять команду
dbmmanage
.

Давайте рассмотрим, как пользоваться программой htpasswd. Общий вид вызова команды выглядит следующим образом:

htpasswd параметры файл имя пароль

Пароль и имя файла являются необязательными, и их наличие зависит от указанных опций. Давайте посмотрим основные ключи, которые нам доступны:

□ 

– c
— создать новый файл. Если указанный файл уже существует, то он перезаписывается, и старое содержимое теряется. Пример использования команды:

htpasswd -c .htaccess robert

После выполнения этой директивы перед вами появится приглашение ввести пароль для нового пользователя robert и подтвердить его. В результате будет создан файл .htaccess, в котором будет одна запись для пользователя robert с указанным вами паролем;

□ 

– m
— использовать модифицированный Apache алгоритм MD5 для паролей. Это позволит переносить созданный файл на любую другую платформу (Windows, Unix, BeOS и т.д.), где работает Web-сервер Apache. Такой ключ удобен, если у вас разнородная сеть, и один файл с паролями используется на разных серверах;

□ 

– d
— для шифрования будет применяться системная функция
crypt
;

□ 

– s
— применить SHA-шифрование (на базе алгоритма хэширования), которое используется на платформе Netscape;

□ 

– р
— не шифровать пароли. Я не рекомендую устанавливать этот флаг, потому что он небезопасен;

□ 

– n
— не вносить никаких изменений, а только вывести результат на экран.

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

htpasswd .htaccess Flenov

У команды htpasswd есть два ограничения: в имени пользователя не должно быть символа двоеточия, и пароль не может превышать 255 символов. Оба условия достаточно демократичны и с ними можно смириться. Из моих знакомых такой длинный пароль пока еще никто не захотел устанавливать, а задавать имя пользователя с двоеточием редко кому приходит на ум.

7.5.3. Проблемы авторизации

Авторизация — это слишком простой способ обеспечения безопасности. При передаче пароли шифруются простым кодированием Base64. Если хакер сможет перехватить пакет, содержащий имя пользователя и пароль, то он прочитает эту информацию через пять секунд. Для расшифровки Base64 не нужно подбирать пароль, достаточно выполнить одну функцию, которая декодирует практически моментально.

Для создания реально безопасного соединения необходимо сначала зашифровать весь трафик. Для этого может использоваться stunnel или уже готовый протокол HTTPS, который использует SSL. О нем мы еще поговорим в разд. 10.9.

7.5.4. Обработка на сервере

HTML-файлы могут обрабатываться прямо на сервере (так же, как выполняются файлы PHP). С одной стороны, это удобно, потому что код PHP можно будет вставлять в файлы с расширением htm, с другой стороны, HTML-файлы далеко небезопасны, и если хакер сможет их изменять, то сервер окажется под угрозой.

Чтобы разрешить серверу выполнять файлы с определенными расширениями, используется директива

AddHandler
. В конфигурационном файле httpd.conf можно найти следующие строки с этой командой:

AddHandler cgi-script .cgi

AddHandler server-parsed .shtml

Если у вас не установлен интерпретатор языка Perl, то первую строку следует закомментировать, чтобы она даже не смущала. Вторая строка безобидна, а вот если таким же образом разрешить серверу работать с НТМ- или HTML-файлами, то это уже станет небезопасным. Следующей строки не должно быть в вашем конфигурационном файле:

AddHandler server-parsed .html

Если где-то действительно есть необходимость подключения HTML-документа, то пропишите это в файле .htaccess. В остальных директориях я рекомендую в явном виде запретить обработку HTML-файлов сервером. Для этого добавьте следующую строку в конфигурационный файл httpd.conf или в файл .htaccess каждой директории:

RemoveHandler .html .htm

Таким образом, мы запретим выполнение файла на сервере, но не отменим SSI-инструкции. Например, следующий код в SHTML-файле будет выполнен:

<!-- #include virtual="filename.shtml" -->

Если вы не используете SSI и, соответственно, SHTML-файлы, то закомментируйте следующую строку (по умолчанию она доступна):

AddHandler server-parsed .shtml

7.6. Проще, удобнее, быстрее

  • Читать дальше
  • 1
  • ...
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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