Защита каталога паролей на веб-сервере

242

Безопасность каталога
Защита каталогов, каталоги паролей.

Чтобы защитить данный каталог паролем, мы помещаем в него два файла:

  • .htaccess: инструкция по авторизации
  • .htpasswd: информация о пользователях и их зашифрованных паролях

.htaccess / .htpasswd – это простые ASCII-файлы, которые мы можем создать с помощью текстового редактора, такого как простой блокнот или расширенный редактор программирования. Стоит отметить, что это расширения файлов, а не имена.

Эти файлы должны быть отправлены в режиме ASCII, а не BINARY. Мы даем им CHMOD 644 (файл, используемый сервером, но запрещающий его чтение браузерами)

Сначала создайте файл .htpasswd, который лучше всего размещать вне общедоступной области.
Мы можем создать зашифрованный пароль в онлайн-генераторах:
https://www.htaccesstools.com/htpasswd-generator/
https://aspirine.org/htpasswd_en.html/
https://www.narzedzia.cprojekt.pl/htpasswd

Пример содержимого файла .htpasswd должен выглядеть следующим образом:

uzytkownik:zdSVMujsXokkE

Вы можете создать несколько логинов и паролей. Однако помните, что каждая запись должна начинаться с новой строки. Например:

uzytkownik1:jf05LdXAvmanY
uzytkownik2:5z0GcRGJ.CitM
uzytkownik3:rhGPWeaHukQb

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

AuthType Basic
AuthName "My Protected Area"
AuthUserFile /path/to/.htpasswd
Require valid-user
lub
Require user janek franek iza

AuthType – тип аутентификации
AuthName – имя области (имя будет отображаться в окне при вводе логина и пароля)
AuthUserFile – полный путь сервера к файлу .htpasswd (это не URL, это путь к серверу)
Требуется – пользователи, авторизованные для просмотра ресурса. Вместо того, чтобы перечислять пользователя отдельно, мы можем использовать параметр valid-user – тогда все пользователи с соответствующими записями в .htpasswd смогут войти в систему.

Если мы не знаем путь к серверу, мы можем запустить скрипт через веб-браузер в этом каталоге, который отображает путь к каталогу, из которого он запущен.

Вы также можете использовать очень интересный скрипт, который вы запускаете из каталога, который хотите защитить. После ввода имени пользователя и пароля скрипт автоматически сохранит файлы .htaccess / .htpasswd.

Полезные сайты с генераторами:
https://htaccess.lapti.pl/index.php#dol
https://taat.pl/narzedzia/htpasswd/index.php

Если вы попытаетесь получить доступ к защищенному каталогу, появится окно авторизации с запросом вашего имени пользователя и пароля:

Защита файлов
Вы также можете защитить доступ к файлам извне. После ввода адреса в файл, в браузере отобразится сообщение об отсутствии доступа (запрещено).
Все, что вам нужно сделать, это создать файл .htaccess, который гласит:

order allow,deny
deny from all

Таким образом, вы можете защитить сам файл .htaccess, поместив в него такую ​​запись. Вместо .php файла введите имя файла, который нужно заблокировать.

# protect the htaccess file
order allow,deny
deny from all
# protect wpconfig.php
order allow,deny
deny from all

Вы также можете защитить файл с помощью пароля, как каталоги. Здесь вам понадобятся оба файла, а файл .htaccess имеет синтаксис (возможность защиты нескольких файлов):

AuthType Basic
AuthName "My Protected Area"
AuthUserFile /path/to/.htpasswd
require valid-user
require valid-user

Пример защиты файла, отвечающего за вход в WordPress:

RewriteEngine On
AuthName "OBSZAR CHRONIONY"
AuthType Basic
AuthUserFile /home/xxx/domains/www.pl/.htpasswd/public_html/.htpasswd
Require valid-user
ErrorDocument 401 "Unauthorized Access"
ErrorDocument 403 "Forbidden"