Escolar Documentos
Profissional Documentos
Cultura Documentos
GRIS-2005-T-002
A verso mais recente deste documento pode ser obtida na pgina oficial do GRIS
Este documento Copyright 2004 GRIS. Ele pode ser livremente copiado desde que sejam respeitadas as seguintes
condies:
permitido fazer e distribuir cpias inalteradas deste documento, completo ou em partes, contanto que esta nota de
copyright e distribuio seja mantida em todas as cpias, e que a distribuio no tenha fins comerciais. Se este documento
for distribudo apenas em partes, instrues de como obt-lo por completo devem ser includas. vedada a distribuio de
verses modificadas deste documento, bem como a comercializao de cpias, sem a permisso expressa do GRIS.
Embora todos os cuidados tenham sido tomados na preparao deste documento, o GRIS no garante a correo absoluta
das informaes nele contidas, nem se responsabiliza por eventuais conseqncias que possam advir do seu uso.
Sumrio:
1
2
3
4
Introduo...........................................................5
O que o arquivo .htaccess?.........................................5
Configurando o Apache para restringir acessos........................6
Criando o arquivo .htaccess..........................................7
4.1 - Criando login e senha de acesso.................................7
4.2 - Restringindo acesso a usurios..................................8
4.3 - Restringindo acesso a grupos....................................9
4.4 - Restringindo acesso a IP's.....................................10
5 Concluso...........................................................11
6 - Bibliografia........................................................11
1. Introduo
Muitas vezes desejamos colocar dados em servidores web mas no queremos que os
mesmos sejam pblicos. Embora uma Firewall bem configurada possa resolver quando
apenas com o trfego externo que estamos preocupados, a situao fica mais delicada
quando apenas determinadas pessoas podem acessar tais dados, independente de onde
elas estejam fisicamente localizadas, ou quando apenas um determinado diretrio que
precisamos restringir, enquanto o restante das informaes disponveis no servidor deve
permanecer pblico.
A maioria dos servidores web de hoje em dia possui uma ou outra maneira de resolver
esse problema. O Apache HTTP Server (http://httpd.apache.org) , segundo pesquisa
realizada pela Netcraft, o servidor web mais utilizado no mundo, e aqui vamos falar um pouco
sobre como ele trata esse tipo de necessidade.
Faremos uma breve descrio sobre o arquivo .htaccess, apresentando suas
caractersticas principais, estrutura e ensinando como criar e manter um arquivo desse tipo
para para restringir aos usurios acesso ao seu servidor Apache.
Note que os valores entre as tags <Directory> e </Directory> podem variar dependendo de
como seu servidor est configurado. Aqui, a entrada que nos interessa a AllowOverride,
que colocamos em negrito. Mude o valor desta entrada de None para AuthConfig:
<Directory "/">
Options Indexes FollowSymLinks
AllowOverride AuthConfig
</Directory>
Agora, usamos o htpasswd para criar os usurios e suas senhas, no arquivo que
chamaremos de acesso.
$ htpasswd -c -m acesso monica
New password:
Re-type new password:
Adding password for user monica
$ htpasswd -m acesso cebolinha
New password:
Re-type new password:
Adding password for user cebolinha
Note que o parmetro -c foi utilizado para criar o arquivo chamado acesso, que no
existia at ento. Como este arquivo foi criado para conter o primeiro usurio (monica), o
parmetro -c no deve ser utilizado nas incluses subsequentes. A opo -m fora a
utilizao de senhas criptografadas com o mtodo MD5. Caso ela seja omitida, o sistema
utilizar a funo CRYPT. possvel ainda, ao invs dos algoritmos anteriores, forar a
codificao por SHA atravs do parmetro -s. Note ainda que o utilitrio htpasswd pode
no estar em sua varivel PATH e, nesse caso, devemos especificar o caminho completo
onde ele se encontra normalmente no mesmo prefixo que o Apache. Ou seja, se o servidor
Apache foi instalado no diretrio /var/www, o utilitrio htpasswd provavelmente se encontra
em /var/www/bin/htpasswd.
O resultado que temos o arquivo /var/www/auth/acesso contendo os usurios que
tero acesso s reas restritas, seguidos por suas respectivas senhas criptografadas:
monica:$apr1$.mZaf/..$5.mktXVjPifJvEJNtduiB1
cebolinha:$apr1$F067i...$auIBe0uyb1DSuEUJgQv011
Os valores da senha vo naturalmente mudar de acordo com as escolhas de seus usurios e
senhas.
Por exemplo, para que apenas o cebolinha possa acessar o contedo do site, ainda que a
monica possua uma entrada vlida no arquivo de senhas, colocaramos a diretiva require
da seguinte maneira em nosso arquivo .htaccess:
AuthName "Acesso Restrito"
AuthType Basic
AuthUserFile /var/www/auth/acesso
require user cebolinha
Mais usurios podem ser includos na lista, bastando que sejam separados por espaos em
branco.
Depois de criado o arquivo .htaccess, salve-o e pronto. Agora, sempre que algum
acessar a URL restrita, o servidor ir verificar este arquivo e solicitar no navegador um
usurio e senha de acesso.
A linha "AuthGroupFile" indica para o servidor onde est o arquivo de grupos, neste
caso em var/www/auth/grupos. A linha "require group" est dizendo que s libera acesso
aos membros do grupo conspiradores.
Lembre-se de sempre reiniciar o Apache aps alterar alguma coisa em seu arquivo de
conifurao. Isso pode ser feito com o comando:
$ apachectl restart
5.Concluso
Arquivos .htaccess so muito teis para a implementao de politcas de controle de acesso
em servidores Apache. Com eles protegemos diretrios e arquivos contendo informaes sensiveis
ou que simplesmente no desejamos tornar pblicas. Note que n este artigo cobrimos apenas
algumas das inmeras configuraes que possui o arquivo .htaccess. Aprender todas uma
questo de tempo e prtica, e vai de acordo com as necessidades de cada ambiente.
6.Bibliografia :
Apache http server project
http://httpd.apache.org/
Gleydson Mazioli da Silva - Fonte de Estudo e Apredinzado Linux avanado
http://focalinux.cipsga.org.br/guia/avancado
Netcraft: Web Server Survey Archives
http://news.netcraft.com/archives/web_server_survey.html