Proteja diretórios do Apache 2.4 com Senha & Restrinja o acesso por IP
Vamos aprender como adicionando senha à um diretório com Apache 2.4, e também restringi-lo à um endereço IP.
Primeiramente vamos gerar nosso arquivo de senha.
htpasswd -c arquivo usuário (-c criar arquivo)
Vamos supor que queira proteger o diretório /var/www/html, e restringir ainda o acesso apenas ao IPs 192.168.0.0/24 e 2001:db8::/32
# htpasswd -c /var/www/html/.htpasswd admin
Digite sua senha para o usuário admin
Agora existe duas maneiras, uma é criando um .htaccess ou editando seu /etc/apache2/sites-enabled/xxxxxxx.conf
Com .htaccess
# vim /var/www/html/.htaccess
Adicione
<RequireAll> <RequireAny> Require ip 192.168.0.0/24 Require ip 2001:db8::/32 </RequireAny> <RequireAll> Require valid-user AuthBasicProvider file AuthType Basic AuthName "Login" AuthUserFile /var/www/html/.htpasswd </RequireAll> </RequireAll>
Ou no arquivo de configuração do seu apache
# vim /etc/apache2/sites-enabled/minha-conf-manual.conf
<VirtualHost *:80> ServerAdmin webmaster@remontti.com.br DocumentRoot /var/www/html # Caso a pessoa que tiver acessando não tiver # permissões será redirecionada para uma pagina ErrorDocument 403 http://www.remontti.com.br <Directory /var/www/html/> Options FollowSymLinks AllowOverride All Require all denied <RequireAll> <RequireAny> Require ip 192.168.0.0/24 Require ip 2001:db8::/32 </RequireAny> <RequireAll> Require valid-user AuthBasicProvider file AuthType Basic AuthName "Login" AuthUserFile /var/www/html/.htpasswd </RequireAll> </RequireAll> </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Por segurança recomendo remover a assinatura do servidor, evitando os “espertinhos”
# sed -i 's/ServerTokens OS/ServerTokens Prod/' /etc/apache2/conf-available/security.conf # sed -i 's/ServerSignature On/ServerSignature Off/' /etc/apache2/conf-available/security.conf
# /etc/init.d/apache2 restart
Agora ao acessar http://ip-server/ deverá aparecer uma tela de login, se você não estiver também com os usando os IPs permitidos, você vai receber uma pagina de Proibido ou se você configurou ErrorDocument 403 será redirecionado para página que “remontti.com.br” como no exemplo.
Gostou?
Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!
Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.
Abraço!
Valu pela dica, muito boa
Oi Rudimar,
Muito obrigado pela dica. Utilizei-a para bloquear acesso, ao MSN-Proxy.
Boa tarde deu tudo certo agora com o apache2 esta editando o arquivo errado httpd.conf não tem nos meus diretorios so http.conf mais msm assim ainda nao pede a senha
Boa tarde deu tudo certo agora com o apache2 esta editando o arquivo errado httpd.conf não tem nos meus diretorios so http.conf mais msm assim ainda nao pede
Bom dia, eu schipt esta top d+
fiz e refiz tudo nos conformes mais esta dando a seguinte erro na hora de restarta
* Restarting web server apache2
apache2: Syntax error on line 207of /etc/apache2/apache2.conf: Syntax error on line 13 of /etc/apache2/httpd.conf: Expected but saw
verifica se não sao as aspas….