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
Require ip 192.168.0.0/24
Require ip 2001:db8::/32
Require valid-user
AuthBasicProvider file
AuthType Basic
AuthName "Login"
AuthUserFile /var/www/html/.htpasswd
Ou no arquivo de configuração do seu apache
# vim /etc/apache2/sites-enabled/minha-conf-manual.conf
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
Options FollowSymLinks
AllowOverride All
Require all denied
Require ip 192.168.0.0/24
Require ip 2001:db8::/32
Require valid-user
AuthBasicProvider file
AuthType Basic
AuthName "Login"
AuthUserFile /var/www/html/.htpasswd
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
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….