Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Instalação e configuração de Apache
SEÇÕES
Manuais relacionados
+Instalação e configuração de Apache
Categorias
+Apache

Índice do Manual Instalação e configuração de Apache
+ Arquitetura do servidor Apache
+ Instalação de Apache em Windows
+ Estrutura da instalação de Apache
+ O arquivo httpd.conf
+ Httpd.conf: Parâmetros globais
+ Httpd.conf: diretrizes de funcionamento (1)
+ Httpd.conf: diretrizes de funcionamento (2)
+ Httpd.conf: diretrizes de funcionamento (3)
+ Criação de diretórios virtuais em Apache
+ Segurança em Apache I
+ Proteger pastas mediante usuários em Apache
+ Controle de acesso em Apache. Mod_access.
+ Apache Commons Configuration
+ 20 truques de segurança para Apache

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Proteger pastas mediante usuários em Apache

Como proteger uma pasta e autentificação e autorização de usuários com Mysql e Apache. mod_auth_mysql.


1º. Criar um arquivo de chaves fora da parte pública:

   -htpasswd -c /rota/passwords Carlos

Ao fazê-lo, pedirá que se introduza a chave, e esta será codificada, escrevendo o arquivo.

2º Criar um novo arquivo, na mesma localização que "rota", que se chamará "groups" na qual se armazenarão os grupos, por agora um, para isso escrever a seguinte linha e salvar o arquivo:

   usuariosAutenticados: Carlos

Desta forma, deveria ter um arquivo que se chame passwords, e que contenha uma linha com os dados do usuário Carlos, e um arquivo, com nome groups, que contém uma linha definindo um grupo chamado usuariosAutenticados, do qual só o usuário Carlos faz parte.

3º Criar um arquivo com o nome .htaccess na pasta que se quer proteger, e escrever as seguintes linhas e salvar o arquivo:

AuthType Basic
AuthName "ServidorProvasCarlos"
AuthUserFile /rota/passwords
AuthGroupFile /rota/groups
Require group usuariosAutenticados

A explicação do conteúdo do arquivo é a seguinte:

  • Com "AuthType Basic" se estará protegendo a pasta com autenticação básica, ou seja, que a chave que o usuário introduzir, se transmitirá sem cifrar pela web.
  • Com "AuthName "ServidorProvasCarlos" se associará esta pasta com o domínio "ServidorProvasCarlos", nome com o qual identificará o cliente.
  • Com "AuthUserFile /rota/passwords" e "AuthGroupFile /rota/groups" Definirá a localização tanto dos arquivos de usuários como os arquivos de grupos e se armazenarão na pasta /rota, com nomes passwords e groups respectivamente.
  • Com "Require group usuariosAutenticados" se autorizará o acesso ao conteúdo desta pasta a todos os usuários que fazem parte do grupo de "usuariosAutenticados", por isso na prática se autorizará o acesso ao conteúdo ao usuário Carlos.

Ao invés de realizar as autorizações a grupos completos, se pode autorizar a um usuário determinado mudando a última linha por "Require user Carlos", desta forma só se autorizará ao usuário Carlos.

Pode-se permitir o acesso a todos os usuários identificados mediante a introdução da seguinte diretriz "Require valid-user". O fato de que esta diretriz esteja incluída no arquivo, faz com que as demais não tenham efeito.

Autenticação e autorização de usuários com Mysql e Apache. mod_auth_mysql.

Em capítulos anteriores explicamos como controlar a autenticação e a autorização de usuários com o mod_auth. Este módulo tem como característica o que armazena os nomes de usuário, as senhas e os grupos em arquivos de texto que devem ser escritos e gerenciados pelo administrador do sistema. Esta solução é obviamente pouco escalável, já que enquanto o número de usuários e de grupos é elevado, o gerenciá-los e controlá-los pode ser um problema.

Por este motivo existe o mod_auth_mysql, este módulo permite gerenciar a autenticação e autorização, armazenando os usuários e os grupos em tabelas de Mysql, de forma que inclusive se podem gerenciar mediante um painel de controle escrito em php.

Para configurar o módulo em Linux, será necessário extraí-lo e executar:

./configure --with-mysql=/usr/local/mysql --with-apache=/usr/local/apache

substituindo o lugar onde se encontra a instalação de mysql ede apache.

Para utilizar o ódulo é necessário dispor ao menos de uma tabela onde se armazenam os usuários e outra onde se armazenam os grupos. Para isso, pode-se criar uma tabela usuários com os campos, nome e password, e outra tabela chamada grupos com os campos grupo, usuário, armazenando uma entrada por cada usuário que tiver um grupo.

A configuração é a seguinte:

Em primeiro lugar será necessário estabelecer o servidor, o usuário e a senha da conexão com o banco de dados, isto se fará escrevendo a seguinte linha no arquivo httpd.conf, e substituindo os valores pelos corretos:

Auth_MySQL_Info <host> <user> <password>

Para configurar o módulo será necessário estabelecer os valores das seguintes diretrizes do módulo:

Auth_MySQL_DB: nome do banco de dados
Auth_MySQL_Password_Table: nome do banco de dados que contém os nomes de usuário e as senhas.
Auth_MySQL_Username_Field: nome do campo da tabela que contém o usuário.
Auth_MySQL_Password_Field: nome do campo da tabela que contém a senha do usuáario.
Auth_MySQL_Group_Table: nome da tabela que contém os usuários e os grupos aos que pertencem.
Auth_MySQL_Group_Field: nome do campo da tabela que contém o nome do grupo
Auth_MySQL_Empty_Passwords on/off para determinar se se aceitam usuários com senhas vazias.
Auth_MySQL_Encryption_Types para especificar o tipo de encriptação que se utilizará para armazenará a chave do usuário dentro do banco de dados.
Auth_MySQL_Non_Persistent on/off para especificar se se desejam utilizar conexões persistentes.

Ademais, será necessário estabelecer as seguintes diretrizes de core para seu correto funcionamento:

AuthName: com o nome do domínio
AuthType: estabelecido a Basic

Uma vez posto em andamento, o funcionamento é análogo ao módulo mod_auth.

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Instalação e configuração de Apache

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Apache


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites