Как защитить паролем веб-каталоги в Apache с помощью файла .htaccess

ApacheSecurity

Когда вы управляете онлайн-проектами, вам часто нужно ограничить доступ к этому проекту, чтобы защитить его от внешнего мира. Для этого могут быть разные причины — например, вы хотите запретить поисковым системам доступ к вашему сайту, пока он еще находится в стадии разработки.

В этом уроке я собираюсь показать вам, как защитить паролем различные каталоги веб-сайтов на веб-сервере Apache. Есть много способов добиться этого, но мы рассмотрим два из них, которые наиболее часто используются.

Первый способ настраивает защиту паролем непосредственно в файле конфигурации Apache, а второй использует файл .htaccess.

 

Требования

Чтобы установить защиту паролем для ваших веб-каталогов, вам необходимо иметь:

  • Работающий веб-сервер Apache
  • Директива AllowOverride и AuthConfig должна быть включена в файле конфигурации Apache.

 

Установить защищенный паролем каталог Apache

1. В этом руководстве мы будем защищать основной корневой веб-каталог /var/www/html. Чтобы защитить этот каталог, откройте конфигурацию вашего Apache:

---------------- On RedHat/CentOS based systems ----------------
# vi /etc/httpd/conf/httpd.conf

---------------- On Debian/Ubuntu based systems ----------------
# nano /etc/apache2/sites-available/000-default.conf

 

 

2. Найдите корневой каталог документов Apache для /var/www/html и добавьте следующее, как предлагается:

В версии Apache 2.2
<Directory /var/www/html>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

 

 

В версии Apache 2.4
<Directory /var/www/html>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>

 

 

Enable-AllowOverride-in-Apache-2.4

 

3. Сохраните файл и перезапустите Apache, используя следующую команду:

--------------- On Systemd -------------------
# systemctl restart httpd [On RedHat based systems]
# systemctl restart apache2 [On Debian based systems]

 

--------------- On SysV init -----------------
# service httpd restart [On RedHat based systems]
# service apache2 restart [On Debian based systems]

 

 

4. Теперь мы будем использовать команду htpasswd для генерации имени пользователя и пароля для нашего защищенного каталога. Эта команда используется для управления пользовательскими файлами для базовой аутентификации.

Общий синтаксис команды:

# htpasswd -c filename username

 

 

Параметр -c указывает файл, в котором будет храниться зашифрованный пароль (хешированый), а имя пользователя — имя для аутентификации.

5. Наш файл паролей должен быть расположен вне веб-каталога Apache, чтобы он был хорошо защищен. Для этого мы создадим новый каталог:

# mkdir /home/tecmint

 

 

6. После этого мы сгенерируем ваше имя пользователя и пароль, которые будут храниться в этом каталоге:

# htpasswd -c /home/sedicomm/webpass sedicomm

 

 

После выполнения этой команды вам нужно будет дважды ввести пароль для нашего нового пользователя «sedicomm»:

 

Create-Apache-User

 

После этого нам нужно убедиться, что Apache может прочитать файл «webpass». Для этого вам нужно изменить владельца этого файла с помощью следующей команды:

---------------- On RedHat/CentOS based systems ----------------
# chown apache: /home/sedicomm/webpass
# chmod 640 /home/sedicomm/webpass

 

 

---------------- On Debian/Ubuntu based systems ----------------
# chown www-data /home/sedicomm/webpass
# chmod 640 /home/sedicomm/webpass

 

 

7. На данный момент наш новый пользователь и пароль готовы. Теперь нам нужно указать Apache запрашивать пароль при доступе к нашему целевому каталогу. Для этого создайте файл с именем .htaccess в /var/www/html:

# vi /var/www/html/.htaccess

 

 

Добавьте в него следующий код:

AuthType Basic
AuthName "Restricted Access"
AuthUserFile /home/sedicomm/webpass
Require user sedicomm

 

 

Create-Apache-Restricted-Access

 

8. Теперь сохраните файл и протестируйте настройки. Откройте браузер и введите свой IP-адрес или имя домена в веб-браузере, например:

http://ip-address

 

 

Вам будет предложено ввести имя пользователя и пароль:

 

Apache-Password-Protected-Directory-Authentication

 

Введите имя пользователя и пароль, которые вы установили для перехода на свою страницу.

 

Дополнительные замечания

Если вы используете виртуальный хостинг, скорее всего, у вас не будет доступа к файлу конфигурации Apache. Однако большинство хостинговых компаний по умолчанию включили опцию «AllowOverride All». Это означает, что вам нужно только сгенерировать имя пользователя и пароль, а затем выбрать каталог, который вы хотите защитить. Это значительно облегчает вашу задачу.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
ApacheSecurity

Больше похожих постов

How-to-Enable-HTTP_2-in-Apache-on-Ubuntu

Как включить HTTP/2 в Apache в Ubuntu?

161
0
С момента создания Всемирной паутины (www) протокол HTTP на протяжении многих лет развивался для обеспечения безопасного и быстрого цифрового соединения…

1 комментарий. Оставить новый

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Most Viewed Posts
Меню