Vamos explorar como configurar a autenticação de senha no servidor web Apache, tanto em sistemas baseados em Ubuntu/Debian quanto em Rocky Linux 9. A autenticação básica do Apache é uma maneira eficaz de proteger seus diretórios e recursos web, exigindo que os usuários forneçam um nome de usuário e uma senha para acessá-los.
Requisitos
Antes de começarmos, certifique-se de que você possui:
- Um servidor rodando Ubuntu/Debian ou Rocky Linux 9.
- Acesso root ou privilégios sudo.
- O servidor Apache instalado e funcionando.
Passo 1: Instalando o Apache
Ubuntu/Debian
Para instalar o Apache no Ubuntu/Debian, execute:
sudo apt update
sudo apt install apache2
Rocky Linux 9
Para instalar o Apache no Rocky Linux 9, execute:
sudo dnf install httpd
Após a instalação, inicie e habilite o serviço Apache:
sudo systemctl start httpd
sudo systemctl enable httpd
Passo 2: Criando o Arquivo de Senhas
Usando htpasswd
O Apache fornece uma ferramenta chamada htpasswd
para criar e atualizar arquivos de senhas.
Ubuntu/Debian
Instale a ferramenta apache2-utils
se ainda não estiver instalada:
sudo apt install apache2-utils
Rocky Linux 9
Instale a ferramenta httpd-tools
:
sudo dnf install httpd-tools
Agora, crie o arquivo de senhas e adicione um usuário:
sudo htpasswd -c /etc/apache2/.htpasswd seu_usuario
Para adicionar mais usuários, use o comando sem o -c
:
sudo htpasswd /etc/apache2/.htpasswd outro_usuario
Passo 3: Configurando a Autenticação no Apache
Ubuntu/Debian
Crie ou edite o arquivo de configuração do Apache para o diretório que deseja proteger. Por exemplo, se você quiser proteger o diretório /var/www/html/protegido
, edite o arquivo de configuração padrão:
sudo nano /etc/apache2/sites-available/000-default.conf
Adicione as seguintes linhas dentro do bloco <Directory>
correspondente:
<Directory "/var/www/html/protegido">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
Salve o arquivo e saia do editor.
Rocky Linux 9
Para Rocky Linux 9, edite o arquivo de configuração do Apache da mesma maneira. Por exemplo:
sudo nano /etc/httpd/conf.d/protegido.conf
Adicione o seguinte conteúdo:
<Directory "/var/www/html/protegido">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/httpd/.htpasswd
Require valid-user
</Directory>
Salve o arquivo e saia do editor.
Passo 4: Testando a Configuração
Ubuntu/Debian
Reinicie o Apache para aplicar as mudanças:
sudo systemctl restart apache2
Rocky Linux 9
Reinicie o Apache para aplicar as mudanças:
sudo systemctl restart httpd
Agora, abra seu navegador e acesse o diretório protegido:
http://seu_dominio/protegido
Você deve ser solicitado a fornecer um nome de usuário e uma senha. Use as credenciais que você configurou com htpasswd
.
Neste artigo, mostramos como configurar a autenticação de senha no Apache tanto em sistemas Ubuntu/Debian quanto em Rocky Linux 9. A autenticação básica é uma medida de segurança essencial para proteger áreas sensíveis do seu site ou aplicativo web.
Sou um profissional na área de Tecnologia da informação, especializado em monitoramento de ambientes, Sysadmin e na cultura DevOps. Possuo certificações de Segurança, AWS e Zabbix.