0 Compartilhamentos 219 Views

Protegendo suas páginas com .htaccess do Apache

10 de junho de 2009

Protegendo suas páginas com .htaccess do Apache

O “.htaccess” é um arquivo de configuração distribuído (já que pode ser usado em vários diretórios), sendo seu uso relacionado a webservers em geral, principalmente o Apache.

Um arquivo, contendo uma ou mais diretivas de configuração, quando colocado dentro de um diretório, aplica essas diretivas a ele e a todos sub-diretórios, tendo essa nova configuração prioridade sobre a estabelecida para este diretório no httpd.conf.

Lembrando que você pode também mudar o nome do .htaccess para .config, por exemplo, através da diretiva AccessFileName do Apache (necessário permissão para isso).

Entre as várias utilidades desse arquivo de configuração (.htaccess), vamos destacar algumas abaixo, com relação a segurança de páginas ou sites na internet:

AUTENTICAÇÃO

Digamos que você tenha criado um Administrador para seu site e este administrador esteja no endereço www.seudominio.com.br/admin e, além disso, precise proteger seu Administrador de modo fácil, seguro e rápido. Isso poderia ser feito da seguinte maneira:

Na configuração acima, é estabelecido um tipo de autenticação no qual aparece uma janela solicitando usuário e senha para acessar determinada área (para trancar ou proteger a pasta “admin”, basta colocar o arquivo .htaccess com as configurações acima na respectiva pasta).

Na linha 2, pode-se colocar um nome ou título para a janela que irá aparecer para o usuário.

Na linha 3, está o endereço do arquivo que contém os usuários e senhas dos quais têm acesso permitido à área. Esse arquivo (passwd) não pode ser acessado externamente (quando configurado corretamente) e o seu conteúdo é “usuario:6YNFCJWSDGpA2” . Repare que a senha (que vem depois dos ‘dois pontos’ e é “usuario”) está encriptada para maior segurança.

INTRANET

Outra utilidade bastante interessante do .htaccess é quando se tem uma Intranet rodando em um servidor web (que não seja interno a rede da empresa) e precisa-se permitir o acesso de determinados IPs (ou faixas de IPs) a essa Intranet. Pode-se, então, usar o seguinte código em um arquivo .htaccess e colocá-lo no diretório onde está sua Intranet:

O código acima faz com que apenas os IPs da rede local, ou seja, os IPs do tipo “192.168.x.x “, onde “x” representa um número de 0 a 255, seja permitido.
Dessa forma, todos os outros IPs serão negados e nenhum IP fora da rede será aceito onde possuir o arquivo .htaccess. Na primeira linha, é definida uma página que será exibida àqueles que não possuem permissão para acessar a área (nesse caso a página de erro 403, ou acesso negado, será exibida).

PÁGINAS DE ERROS

As páginas de erros que são exibidas, como quando não se acha um arquivo ou página no servidor e exibe uma página de “Não Encontrado”, podem ser personalizadas através do .htaccess.

Essas páginas são importantes e deve-se dar uma atenção especial a elas, já que uma tentativa de ataque ou uma intenção maliciosa podem ser descobertas através de uma monitoração constante de logs ou avisos, gerados com o auxílio de linguagens dinâmicas (PHP, Python, etc). O código abaixo mostra como se pode personalizar ou alterar essas páginas de acordo com suas necessidades ou interesses.

No código acima, foram personalizados os erros mais comuns (note que aos erros são associados números), e existem vários erros, como os erros de número 400, 401, 402 que são associados aos “erros de cliente”, e os erros acima de 500 que são associados aos “erros de servidor”.

Na primeira linha, é definida uma página para quando o usuário não tem permissão de acesso.
Na segunda, quando um usuário tenta acessar um arquivo ou diretório inexistente no servidor, será exibida a página “não_encontrado.php”.
E, por último, será exibido a página “erro_interno_servidor.php” quando acontecer um erro interno no servidor.

Com esse recurso, você pode criar uma página PHP (por exemplo) que envia um e-mail e/ou armazena em algum banco de dados as informações do usuário que acessou tal página e, caso perceba algo suspeito, tomará providências de modo a corrigir uma suposta falha ou problema de segurança.

MOD_REWRITE

O mod_rewrite é um módulo do Apache que permite reescrever regras para tornar as URL’s Amigáveis. Assim, pode-se atrair mais visitantes ao seu site (os endereços do seu site irão se tornar mais relevantes nos motores de busca) e ainda tornar seus sites mais seguros. Abaixo, iremos mostrar como:

A primeira linha é a responsável por ativar a regra que altera as URL’s (endereços dos sites).

A segunda e a terceira fazem com que essa regra não seja aplicada a outros arquivos e diretórios respectivamente.

Na última linha, é exibida a regra de reescrita onde qualquer string (.*) após a pasta, onde estiver o .htaccess, será interpretado por “index.php” passado na variável “pagina”; ou melhor, quando se digitar um endereço do tipo “www.seusite.com.br/secao/subsecao/”, o Apache entenderá que você digitou “www.seusite.com.br/index.php?pagina=secao/subsecao/”.

Dessa maneira, você cria os links de seu site para o primeiro endereço citado, escondendo dessa forma a linguagem da página e as variáveis de include, evitando que usuários mal intencionados possam injetar códigos maliciosos (usando, por exemplo, o XSS).

As utilidades do arquivo .htaccess são inúmeras e nesse tutorial foi priorizado o uso para tornar as páginas ou sites mais seguros. Obviamente, para tornar uma página segura, deve-se priorizar uma programação bem feita das páginas e uma configuração correta dos serviços e/ou protocolos do servidor, mas o uso do .htaccess pode servir como uma ferramenta de ajuda e as vezes mais do que isso.

É importante ressaltar que o uso de .htaccess não deve sobrepor ao uso correto (configurações corretas) do arquivo principal httpd.conf do Apache pelas razões aqui citadas de segurança , por razões de segurança e desempenho principalmente.

Você pode se interessar

5 fatos que todo departamento de TI pode aprender com Fortnite
Artigos
7 visualizações
Artigos
7 visualizações

5 fatos que todo departamento de TI pode aprender com Fortnite

Carlos L. A. da Silva - 1 de julho de 2019

O Departamento de TI de uma empresa não é apenas um lugar onde os caras jogam Fortnite o dia inteiro. Grandes desastres podem vir de lá também...

Promoções de Jogos do Final de Semana (28/06)
Notícias
7 visualizações
Notícias
7 visualizações

Promoções de Jogos do Final de Semana (28/06)

Carlos L. A. da Silva - 28 de junho de 2019

Confira as melhores ofertas de jogos de PC para o final de semana.

FIREBASE Database na Prática com JAVASCRIPT PURO // Mão no Código #14
Vídeos
1,655 compartilhamentos6,806 visualizações
Vídeos
1,655 compartilhamentos6,806 visualizações

FIREBASE Database na Prática com JAVASCRIPT PURO // Mão no Código #14

Thais Cardoso de Mello - 27 de junho de 2019

Vamos mostrar na prática pra vocês como é SIMPLES DEMAIS manipular o Realtime Database (noSQL) do Firebase usando JavaScript puro e o SDK "marrrravilhoso" que o pessoal do Google Cloud criou.

Deixe um Comentário

Your email address will not be published.

Mais publicações

Como baixar o novo Windows Terminal
Dicas
16 visualizações
16 visualizações

Como baixar o novo Windows Terminal

Carlos L. A. da Silva - 26 de junho de 2019
Libra: o que sabemos sobre a criptomoeda do Facebook
Artigos
11 visualizações
11 visualizações

Libra: o que sabemos sobre a criptomoeda do Facebook

Carlos L. A. da Silva - 25 de junho de 2019
WebAssembly // Dicionário do Programador
Vídeos
1,655 compartilhamentos6,809 visualizações
1,655 compartilhamentos6,809 visualizações

WebAssembly // Dicionário do Programador

Thais Cardoso de Mello - 24 de junho de 2019
Promoções de Jogos do Final de Semana (21/06)
Notícias
10 visualizações
10 visualizações

Promoções de Jogos do Final de Semana (21/06)

Carlos L. A. da Silva - 21 de junho de 2019