🔐 Как защитить конкретную страницу паролем в Apache, Nginx, WordPress, на хостинге? — Information Security Squad
🔐 Как защитить конкретную страницу паролем в Apache, Nginx, WordPress, на хостинге?
У вас может быть какая-то конфиденциальная страница, которую вы хотите защитить паролем.
Давайте рассмотрим как это сделать на различных инструментах.

Это возможно и очень просто.

Зачем защищать веб-страницу паролем?

Причин может быть много, в том числе:

  • Конфиденциальные данные на странице
  • Страница не готова, и вы не хотите делать ее общедоступной, а хотите поделиться с кем-то определенным.
Что бы это ни было, давайте посмотрим, как вы можете защитить свои данные.

Требование

Возьмем пример.

Я хочу защитить /client на lab.itsecforu.ru, а это значит, что если кто-нибудь получит доступ к https://lab.itsecforu.ru/client, система должна запросить пароль.

Apache

Начнем сначала с Apache.

Первое, что нам нужно создать, это файл паролей, в котором будут храниться все учетные данные.
Имя файла будет .htpasswd, и вы можете разместить его где угодно на сервере.
Я создам его в папке /etc/httpd/conf.

Вы можете создать файл с помощью команды touch:

touch /etc/httpd/conf/.htpasswd
Давайте добавим пользователя, которому будет разрешен доступ к /client.
Для этого нам нужно использовать команду htpasswd.
htpasswd /etc/httpd/conf/.htpasswd itsecforu

Последний раздел itsecforu, это имя пользователя.

Измените его и нажмите Enter.
htpasswd /etc/httpd/conf/.htpasswd itsecforu
New password:
Re-type new password:
Adding password for user itsecforu
Если вы откроете файл, вы заметите, что пароль хранится в зашифрованном формате.
 cat /etc/httpd/conf/.htpasswd
itsecforu:$apr1$EHvl0Bc5$nh4u0w3.Cj3wzPT7XUXqW1
Затем нам нужно проинструктировать Apache защищать нужный нам URI.
Измените файл httpd.conf или файл конфигурации, который вы используете для экземпляра Apache.
Я использую установку по умолчанию, поэтому использую /etc/httpd/conf/httpd.conf
Добавьте следующее в любом месте файла
<Directory "/var/www/html/client">
Options Indexes FollowSymLinks
AuthType Basic
AuthName "Protected Content for Client"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
</Directory>

Если у вас уже есть директива /var/www/html/client, то вместо добавления нового раздела вы должны просто добавить следующее в существующую директиву.

AuthType Basic
AuthName "Protected Content"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user

Перезагрузите Apache

service httpd restart
Попытайтесь получить доступ к странице /client, и она должна запрашивать пароль.
Введите учетные данные, которые вы установили ранее, для просмотра содержимого.

Nginx

Давайте реализуем базовую аутентификацию в Nginx следующим образом.

Нам понадобится помощь Apache Utils для создания учетных данных.

Если на сервере не установлен Apache HTTP, вам необходимо установить утилиты отдельно, как показано ниже.

Если не уверены, вы можете запустить htpasswd, чтобы проверить, работает ли он.

Если этого не произошло, значит, вы знаете, что вам нужно его установить.

CentOS/RHEL 8

dnf install httpd-tools

CentOS/RHEL 7

yum install httpd-tools

Ubuntu

apt-get install apache2-utils

Давайте создадим учетные данные аналогично тому, как мы это сделали в Apache.

htpasswd -c /etc/nginx/.htpasswd itsecforu
Не забудьте заменить itsecforu на настоящее имя пользователя, которое хотите
Затем нам нужно настроить Nginx, чтобы он ограничивал конкретный URI паролем.
  • Предположим, нам нужно защитить /admin URI
  • Добавьте следующее в файл nginx.conf или другой активный файл конфигурации Nginx
location /admin {
auth_basic "Admin Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}

Перезагрузите Nginx

Что делать, если вам нужно ограничить обслуживание всего веб-сайта через Nginx?

Легко!

Добавьте следующее в nginx.conf или активный файл конфигурации в директиве location / {

auth_basic "Admin Area";
auth_basic_user_file /etc/nginx/.htpasswd;

SiteGround

Есть много платформ, которые предлагают удобные инструменты, и SiteGround — одна из них.

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

Предположим, вы используете WordPress и вам нужно защитить/wp-admin.

  • Войдите в SiteGround и перейдите на сайт, где вам нужно включить базовую аутентификацию.
  • Щелкните Security >> Protected URLs >> Users
  • Введите имя и пароль для создания учетных данных

Затем мы защитим wp-admin только что созданными учетными данными.

  • Перейти на вкладку URL-адреса
  • Введите wp-admin в путь и нажмите protect
  • Нажмите «Manage Access» и назначьте только что созданного пользователя.
Попробуйте получить доступ к странице, и SiteGround предложит вам ввести учетные данные.

WordPress

Вы используете WordPress и хотите защитить паролем конкретный пост, страницу, категорию, роль или весь сайт?

Конечно!

Встречайте PPWP (плагин для защиты паролем WordPress)

Установите плагин и настройте способ защиты ресурсов WordPress.

Это работает с такими конструкторами страниц, как Elementor, Divi, Beaver.

Кроме того, если вам нужен простой защищенный паролем пост или страница, вы можете воспользоваться встроенной функцией WP.

Для этого не требуется никаких плагинов.

  • Перейдите к публикации или странице, на которой хотите включить пароль.
  • В разделе публикации нажмите Изменить рядом с видимостью: Общедоступно
  • Выберите Защита паролем и введите пароль.

Нажмите, ОК, и все готово!

Нужны дополнительные способы защиты WordPress?

Ознакомьтесь с этими руководствами:

🌍 13 лучших практик безопасности для защиты вашего сайта WordPress

Анализ безопасности, производительности и аналитика WordPress топ-1 миллиона сайтов

Топ 5 лазеек безопасности в вебсайтах WordPress

Как создать журнал активности для сайтов WordPress (и почему вы должны его сделать)

Как создать резервную копию сайта WordPress в Linux

Как восстановить сайт при взломе WordPress

Как исправить сломанный сайт https WordPress через SSH

🌐 Как отключить доступ к Xmlrpc.php в WordPress

🤖 6 способов забанить и прогнать ботов с вашего сайта

🌐 Как изменить URL-адрес администратора WordPress для предотвращения атак брутфорса?

🌐 WPintel: расширение Chrome, разработанное для сканирования уязвимостей WordPress и сбора информации

⚓ Как заблокировать нежелательные User-Agent & источники в Apache, Nginx и WordPress?

cPanel

Если вы находитесь на виртуальном хостинге, то, скорее всего, у вас будет cPanel.

Хорошая новость заключается в том, что cPanel предлагает утилиту под названием Directory Privacy; оттуда вы можете установить пароль для каталога.

Выберите папку, которую хотите защитить.

Как показано ниже, я выбрал папку под названием chandan, которая находится в public_html

После этого вы заметите, что папка заблокирована.

Заключение

Я надеюсь, что это поможет вам защитить определенный URI, папку с паролем с помощью базовой аутентификации.

Если вы ищете комплексную безопасность веб-сайта, вам следует подумать о внедрении WAF.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *