Como proteger com senha um site Apache usando .htaccess
Segurança Microsoft Apache / / March 17, 2020
Última atualização em
Se você estiver executando seu site com Apache, proteger o site com uma senha é um processo simples. Recentemente, eu executei o processo em uma caixa do Windows (maioria das fotos abaixo), mas as etapas são praticamente as mesmas para sites Apache para Windows ou Linux.
Etapa 1: configurar seu arquivo .htaccess
Todo o trabalho será realizado usando o arquivo .htaccess. Você pode encontrar esse arquivo na raiz da maioria dos sites Apache.
A captura de tela foi tirada de uma instalação básica do WordPress em execução no Windows 2003 Server:
O arquivo .htaccess é verificado pelo Apache antes de exibir as páginas da web. Normalmente, é usado para ReWrites ou ReDirects, no entanto, você também pode usá-lo para aproveitar os recursos de segurança internos do Apache.
Portanto, o primeiro passo é adicionar alguns parâmetros ao arquivo. Abaixo está um arquivo .htaccess de exemplo. (DICA: eu uso bloco de notas ++ para editar a maioria dos arquivos PHP e relacionados)
AuthUserFile c: apachesecurity.htpasswd. AuthName "Digite usuário e senha" AuthType Basic. requer usuário válido
Alguma explicação:
AuthUserFile: O APACHE precisa da localização do arquivo Usuário / Senha. Basta digitar o caminho completo para o seu arquivo de banco de dados de senhas, como mostrado acima. O exemplo acima é retirado da minha caixa do Windows. Se você estiver executando o Linux, seria algo como: AuthUserFile /full/path/to/.htpasswd
AuthName: Este campo define o título e o texto da caixa pop-up que solicitará o nome de usuário e o PW. Você pode fazer o que quiser. Aqui está um exemplo na minha caixa de teste:
AuthType: Este campo informa ao Apache que tipo de autenticação está sendo usado. Em quase todos os casos, “Básico” é ótimo (e o mais comum).
Exigir usuário válido: Este último comando informa ao Apache que QUEM é permitido. Usando "usuário válido“, você está dizendo ao Apache que qualquer pessoa pode se autenticar se tiver um nome de usuário e senha válidos.
Se você preferir ser mais EXATO, pode especificar um USUÁRIO ou USUÁRIOS específicos. Este comando seria semelhante a:
Exigir usuário mrgroove groovyguest
Nesse caso, somente os usuários mrgroove e groovyguest poderão inserir a página / diretório que você está protegendo (depois de fornecer o nome de usuário e a senha corretos, é claro). Todos os outros usuários (incluindo os válidos) terão acesso negado. Se você deseja permitir mais usuários, apenas separe-os com espaços.
Portanto, agora que já fizemos todas as configurações, eis como deve ser o seu arquivo .htaccess finalizado:
A captura de tela é tirada de uma caixa do Windows 2003 Server executando o WordPress:
Etapa 2: criar o arquivo .htpasswd
Criar o arquivo .htpasswd é um processo simples. O arquivo nada mais é do que um arquivo de texto que contém uma lista de Usuários e suas senhas criptografadas. Cada string de usuário deve ser separada em sua linha. Pessoalmente, eu apenas uso bloco de notas ++ ou o Bloco de notas do Windows para criar o arquivo.
A figura abaixo mostra um arquivo .htpasswd de exemplo com dois usuários:
Embora o Apache não "exija" você criptografar as senhas, é um processo simples para os sistemas Windows e Linux.
janelas
Navegue até a pasta Bache do Apache (geralmente encontrada em C: \ Arquivos de programas \ Apache Group \ Apache2bin) e execute a ferramenta htpasswd.exe para gerar uma sequência de nome de usuário / senha criptografada em MD5. Você também pode usar a ferramenta para criar o arquivo .htpasswd para você (o que funcionar…). Para todos os detalhes, basta executar a opção de ajuda na linha de comando (htpasswd.exe /?).
Em quase todos os casos, no entanto, basta executar o seguinte comando:
htpasswd -nb nome de usuário senha
Depois que o comando é executado, a ferramenta htpasswd.exe gera a string User com a senha criptografada.
A captura de tela abaixo é um exemplo de execução da ferramenta htpasswd.exe no Windows 2003 Server
Depois de ter a seqüência de caracteres do usuário, copie-a no seu arquivo .htpasswd.
Linux:
Vamos para: http://railpix.railfan.net/pwdonly.html para criar suas seqüências de usuário com senhas criptografadas. Processo muito simples.
Etapa 3: Verifique se o Apache está configurado corretamente * opcional
Por padrão, o Apache tem os módulos corretos habilitados. Dito isto, nunca é demais ser um pouco proativo, além de ser uma "verificação" rápida.
Abra o arquivo httpd.conf do Apache e verifique se o módulo AUTH está ativado:
Se você achar que o módulo não está ativado, corrija-o conforme mostrado acima. Não esqueça; você precisa reiniciar o Apache para que alterações no seu httpd.conf entrem em vigor.
Eu deveria cuidar disso. Tudo feito.
Tag:apache, criptografia, htaccess, segurança, janelas