Notícias
Novos modelos de linguagem da API Serverspace GPT
Serverspace Black Friday
RP
abril 17, 2025
Atualizado abril 17, 2025

Autenticação básica com senha HTTP

Segurança Servidor da Web Ubuntu

Uma das fronteiras da proteção da informação é considerada ser o subsistema de identificação e autenticação, que fornece acesso seguro aos recursos. Como o segmento da Internet é constantemente escaneado por bots em busca de serviços vulneráveis, soluções públicas estão sob constantes ataques de força bruta.

info
Captura de tela nº 1 — Ataques ao servidor

Onde mecanismos fracos, e em alguns casos a ausência deles, levam a consequências críticas e danos! Neste artigo, vamos considerar um dos métodos básicos de autenticação — o HTTP Basic Auth, sua implementação e configuração pelo usuário.

O que é HTTP Basic Auth?

A autenticação pode ser bastante variada em termos de tipos de autenticação, ao usar: logins/senhas, tokens assinados, certificados, códigos TOTP, chaves de criptografia, etc. E também pela forma de implementação arquitetônica: módulos, serviços, serviços externos.

No nosso caso, o HTTP Basic Auth fornece verificação básica por login e senha, sendo implementado como um módulo em soluções web/proxy. Onde as credenciais de autenticação são passadas no cabeçalho e codificadas em Base64.

Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
schema
Captura de tela nº 2 — Esquema

Observe que a transmissão desse tipo de dados sensíveis deve ocorrer por meio de protocolos seguros! Neste caso, classicamente o SSL irá autenticar o servidor e formar uma conexão criptografada. Uma das desvantagens desse tipo de autenticação são as senhas fracas, que podem ser quebradas por ferramentas como o Medusa.

Como configurar a autenticação?

Vamos considerar um exemplo prático de como configurar essa autenticação no nginx. Primeiramente, vamos ao terminal e instalamos todas as dependências necessárias:

sudo apt update
sudo apt install nginx
installation-768x275
Captura de tela nº 3 — Instalação

Em seguida, precisamos criar um banco de dados com usuários, onde as senhas serão armazenadas em formato hash. Para isso, vamos instalar o utilitário e executar os comandos:

sudo apt install apache2-utils

Onde cada um dos elementos tem um valor diferente: o caminho para o futuro banco de dados de usuários /etc/nginx/.htpasswd e o nome do usuário a ser criado — mike.

sudo htpasswd -c /etc/nginx/.htpasswd mike
passwd-768x232
Captura de tela nº 4 — Criar usuário

Para criar o segundo e os usuários subsequentes, você deve remover a opção -c que cria um novo arquivo. Após o usuário estar no banco de dados, precisamos alterar as configurações. Vamos localizar nosso host virtual:

nano /etc/nginx/sites-available/default

Por padrão, o arquivo se chama default, mas no seu caso pode ser diferente! Vamos adicionar uma diretiva que permitirá a autenticação antes da conexão:

server {
listen 80;
server_name example.com;
location / {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://localhost:8080;
}
}
config
Captura de tela nº 5 — Configuração

A autenticação pode ser especificada em um caminho web específico ou em todo o host virtual. Para isso, posicione as diretivas auth_basic_user_file e auth_basic nos blocos server ou location.

Verifique a configuração antes de executar. Se estiver correta, o serviço será reiniciado:

sudo nginx -t && sudo systemctl reload nginx
test-600x77
Captura de tela nº 6 — Teste

Depois disso, você pode acessar o endereço example.com e verificar o funcionamento do serviço ativado:

esult-450x337
Captura de tela nº 7 — Verificar resultado

Ótimo, ao acessar o caminho /, a diretiva é acionada, o que nos permite verificar o arquivo com usuários e processar pacotes adicionais ao conectar.

É recomendada a instalação do fail2ban, que pode limitar o número de solicitações falhas e impedir invasões.

Na nossa base de conhecimento você pode encontrar a configuração de outros métodos de autenticação — Digest, NTLM, Kerberos e outros! Se você não tiver recursos suficientes, pode realizar as ações em servidores de nuvem potentes.

A Serverspace oferece servidores VPS isolados para uso comum e virtualizado.

1 (4)
Captura de tela nº 8 — Criar servidor

Levará algum tempo para implantar a capacidade do servidor. Após isso, você pode se conectar de qualquer uma das formas convenientes. Este serviço de infraestrutura é uma parte integrante da rede corporativa e do subsistema de segurança, permitindo implementar autenticação, filtragem de conteúdo, além de atuar como um gateway para que os usuários controlem os recursos acessados.

Avaliação:
5 fora de 5
Аverage rating : 5
Avaliado por: 1
CEP 01311-930 São Paulo Avenida Paulista, nº 1765, 7º andar, Cj. 72, CV 10172, Bela Vista
+ 55 11 5118-1047
ITGLOBAL.COM BR LTDA
Usamos cookies para melhorar sua experiência no Serverspace. Ao continuar a navegar em nosso site, você concorda com o Uso de Cookies e com a Política de Privacidade.