Tutorial

Como configurar a autenticação por senha com o Apache no Ubuntu 18.04 [Início Rápido]

Published on March 19, 2020
Português
Como configurar a autenticação por senha com o Apache no Ubuntu 18.04 [Início Rápido]

Introdução

Este tutorial trará um passo a passo sobre como proteger ativos em um servidor Web Apache em execução no Ubuntu 18.04. O cumprimento desses passos dará segurança adicional para seu servidor, de modo que usuários não autorizados não possam acessar certas partes de sua página.

Para obter uma versão mais detalhada deste tutorial, com explicações mais detalhadas de cada passo, consulte o artigo sobre Como configurar a autenticação por senha com o Apache no Ubuntu 18.04.

Pré-requisitos

Para completar este tutorial, será necessário ter acesso ao seguinte em um servidor Ubuntu 18.04:

  • Um usuário sudo no seu servidor

  • Um servidor de Web Apache2

  • Um site protegido com o protocolo SSL

Passo 1 — Instalar o pacote de utilitários do Apache

Instalaremos um serviço chamado htpasswd, que faz parte do pacote apache2-utils para gerenciar nomes de usuário e senhas de acesso ao conteúdo restrito.

  1. sudo apt update
  2. sudo apt install apache2-utils

Passo 2 — Criar o arquivo de senha

Criaremos o primeiro usuário do seguinte modo (substitua o `first_username pelo nome de usuário de sua escolha):

  1. sudo htpasswd -c /etc/apache2/.htpasswd first_username

Será solicitado que forneça e confirme uma senha para o usuário.

Deixe o argumento -c para quaisquer usuários adicionais que queira adicionar para que você não substitua o arquivo:

  1. sudo htpasswd /etc/apache2/.htpasswd another_user

Passo 3 — Configurar a autenticação por senha do Apache

Neste passo, precisamos configurar o Apache para verificar esse arquivo, antes de atender nosso conteúdo protegido. Faremos isso usando o arquivo de host virtual do site. Há, porém, outra opção detalhada no tutorial mais longo, caso não tenha acesso ou prefira usar os .htaccess.

Abra o arquivo de host virtual ao qual deseja adicionar uma restrição, usando um editor de texto, como o nano:

  1. sudo nano /etc/apache2/sites-enabled/default-ssl.conf

A autenticação é feita com base em cada diretório. Em nosso exemplo, iremos restringir o diretório base inteiro. Entretanto, você poderá alterar essa listagem para atingir um diretório específico, dentro do espaço Web.

Neste passo, adicione as linhas destacadas no seu arquivo:

/etc/apache2/sites-enabled/default-ssl.conf
<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined

  <Directory "/var/www/html">
      AuthType Basic
      AuthName "Restricted Content"
      AuthUserFile /etc/apache2/.htpasswd
      Require valid-user
  </Directory>
</VirtualHost>

Verifique a configuração com o seguinte comando:

É possível reiniciar o servidor para implementar sua política de senha e, em seguida, verificar o status do seu servidor.

  1. sudo systemctl restart apache2
  2. sudo systemctl status apache2

Passo 4 — Confirmar a autenticação por senha

Para confirmar se o seu conteúdo está protegido, tente acessar seu conteúdo restrito em um navegador Web. Você deve receber um prompt com nome de usuário e senha:

Prompt de senha do Apache2

Tutoriais relacionados

Aqui estão os links para os guias mais detalhados relacionados a este tutorial:

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.