Está protegendo um site diretório com um arquivo .htaccess seguro?
-
22-08-2019 - |
Pergunta
Eu queria saber se proteger um diretório web com um arquivo .htaccess (com o arquivo .htpasswd fora do webroot apache público) é uma maneira segura de proteger um diretório (e seu conteúdo).
Alguém poderia explicar o de e Don'ts deste tipo de proteção?
Solução
A autenticação será passado desprotegido por cima da rede, se você usar o protocolo http padrão. Esta não é considerado seguro, como alguém poderia cheirar a senha.
Se você restringir acesso a https é bastante seguro. Isto significaria para instalar e ativar o módulo apache para SSL criptografado tráfego HTTP (porta 433, https: // na linha de endereço do navegador) e desativar o tráfego HTTP padrão para este diretório na porta 80. Nome de usuário e senha será SSL criptografada. Certifique-se de selecionar uma senha boa (longo e complexo o suficiente, não é possível adivinhar ou força bruta).
configuração do Apache pode ser complicado, assim que tomar muito cuidado para mantê-lo simples e teste contra possíveis erros.
Pode ser uma boa idéia para mover a configuração de restrição de acesso a partir do arquivo .htaccess para o arquivo de configuração do Apache principal, se você tem conhecimento e controle do mesmo. também poderia ser mais fácil para você para mantê-lo no arquivo Htacces. E "fácil" pode ser mais seguro. Fazê-lo da maneira que sente simples e seguro e fácil de manter e lembre-se para você.
Esta é uma configuração simples para melhorar a segurança e proteger contra acidentes:
Se você tem php e-mail configurado na máquina onde o diretório protegido é que você pode escrever um script simples alarme. Apenas um arquivo php "alarm.php" com uma única linha com a função php mail que você envia um e-mail, dizendo-lhe que a proteção htaccess não funciona.
Se o seu domínio e diretório caminho é " http://mybox.example.com/secretdir /alarm.php " você pode digitar isso em um navegador em um computador diferente e você deve obter que o correio enquanto htaccess está 'aberto'. Se ele é protegido você pode digitar o nome de usuário e senha e você também irá receber o e-mail.
Para fazer um alarme automatizado fora deste você poderia usar uma caixa de unix diferente que tenta obter esta url a cada 15 minutos ou assim. A linha para o crontab:
* / 15 * * * * user1 wget http://mybox.example.com/ secretdir / alarm.php
user1 é um usuário nesta máquina que é permitido executar wget, e wget deve ser instalado.
Você pode desativar a proteção htaccess como um teste e deve receber pelo correio a cada 15 minutos.
De minha experiência, é uma falha de segurança comum que um diretório que você acha que é protegido perde a sua proteção quando você mudar alguma coisa e você não está ciente, desta forma você obter o e-mail que avisa.
Outras dicas
Tanto quanto eu sei, htaccess é fácil de cortar se for interceptado (F. E. Você está entrando em um café internet com uma rede sniffer em execução). Tanto quanto eu sei , autenticação Digest ajuda a superar esse problema.
.htaccess é forma bastante normal como fazer alterações de configuração por diretório para recursos atendidos pela Apache HTTPD em casos onde você não tem acesso para arquivo de configuração principal / não ter acesso root.
Se você tiver acesso à configuração principal, que é muito mais fácil ter toda a configuração (incluindo autenticação) colocado em um local central (mesmo que seja dividida em vários arquivos), onde não é tão fácil de esquecer isso. Da minha experiência, posso dizer, é apenas uma questão de tempo antes que você esqueça sobre seus arquivos .htaccess
.
A documentação oficial está mencionando em várias ocasiões que o uso de arquivos .htaccess
deve ser evitado quando possível.
Se o uso de .htaccess
é sua única opção, certifique-se de seguir as precauções de segurança gerais como com configuração HTTPD principal, ou seja, impedir que usuários não autorizados de lê-los, os arquivos são lidos por servidor, certifique-se que você tem listagem de diretório desativado, certifique-se sempre senha são armazenados em formato criptografado / hash, etc.
Para mais informações, por favor, verifique Apache htaccess
tutorial
A .htaccess arquivo é bastante útil, mas ... isso não vai protegê-lo de alguém explorando seu código e ler qualquer arquivo que ele quer. Se o seu site (mesmo um pequeno script) será explorado, nem .htaccess nem outras soluções irá protegê-lo, como o hacker vai ganhar direitos do usuário que executa o script (normalmente www-data).
Este é especialmente doloroso em CGI, mas outros scripts estão sendo cortado também.