Segurança em Home Page
Prof. Roberto Amaral
Segurança de servidor da Web
Apache é o servidor mais popular de http e fornece
muitos mecanismos de segurança predefinidos,
incluindo
– Controle de acesso de rede baseado em host
– Controle sobre se e onde usuários locais podem executar scripts
– Controle sobre se e como usuários locais podem anular sua
configurações
Contorlando acesso : access.conf
Controle de acesso de rede baseado em host
– # Controle de quem pode obter material desse servidor
– Order allow, deny
– Allow from all
Sendo que :
• Allow – A diretiva que controla que hosts podem concectar-se e
oferece quatro opções : all, none ou lista
• Deny – Controla que hosts não pode se conectar e oferece quatro
opções : all, none ou lista
• Order – Controla a ordem em que as regras allow/deny são aplicadas
e oferece três ecolhar : allow, deny, mutual-failure
Usando estas diretivas
Em conjunto, pode-se aplicar controle de acesso
de varias maneiras:
– Inclusiva – Nomeia-se explicitamente todos os hosts
autorizados
– Exclusivamente – Nomeia-se explicitamente todos os hosts
não autorizados
– Inclusiva e exclusiva – Mistura e combina ambos os casos
acima.
Triagem inclusiva
permitindo explicitamente hosts autorizados
– # Controle de quem pode obter material desse
servidor
• Order allow, deny
• Allow from 200.198.103.143
• Deny from all
Triagem exclusive
bloqueando explicitamente hosts indesejáveis
– # Controle de quem pode obter material desse
servidor
• Order allow, deny
• Allow from All
• Deny from 200.198.103.145
Adicionando controle de acesso de diretório
Alem das medidas vistas anteriormente, podese também adicionar proteção adicional de
senha e controle de acesso no nível de
diretório com htpasswd, e permitir que
seus usuários façam o mesmo em uma base
por diretório.
htpasswd
O sistema htpasswd oferece controle de acesso nos níveis de
usuário e grupo via três arquivos de configuração. Cada
arquivo cumpre uma função diferente no processo.
– .htpasswd – Banco de dados de senha
– .htgroup – arquivo de grupo htpasswd
– .htaccess – arquivo de acesso htpasswd. Armazena as regras de acesso
(allow, deny), a localização de arquivos de configuração, o método de
autenticação e assim por diante.
Autenticação simples baseada em usuário
Como a autenticação de grupo não esta
envolvida, você precisa segui os passos:
1. Criar um novo banco de dados de .htpasswd
2. Criar um novo arquivo .htaccess
Criando um banco de dados .htpasswd
Para criar m novo banco de dados de senha
.htpasswd, emita o comando htpasswd mais
a opção –c, o nome de arquivo de senha e o
nome de usuário, assim:
$ /usr/sbin/htpasswd –c .htpasswd orelha
Arquivo
Usuário
Cirando um novo arquivo .htaccess
O arquivo .htaccess armazena suas regras de
acesso e varias informações de
configuração. Para criá-lo, pode-se utilizar
qualquer editor de texto.
Cirando um novo arquivo .htaccess
Eis o arquivo .htaccess para o diretório da Web de
orelha.
– AuthUserFile /home/orelha/public_html/.htpasswd
– AuthGroupFile /dev/null
– AuthName orelha
– AuthType Basic
–
– <Limit GET POST>
– Require user orelha
– </Limit>
Cirando um novo arquivo .htaccess
O arquivo consiste em cinco diretivas:
– AuthUser File – Aponta para a localização do banco de dados ;htpasswd
– AuthGroupFile – Aponta para a localização de seu arquivo de acesso de grupo.
Normalmente .htgroup.
– AuthName – Arqmazena uma string de texto definida pelo usuário para exibir quando a
caixa de diálogo de autenticação aparecer.
– AuthType – Identifica o método de autenticação.
– Limit – Controla que usuários tem acesso permitido, que tipo de acesso eles podem
obter (como GET, PUT e POST) e a ordem em que essas regras são enviadas.
Cirando um novo arquivo .htaccess
Quatro diretivas internas de diretiva Limit oferecem
controle de acesso mais refinado.
– Require – Especifica quais usuários ou grupos podem acessar o diretório protegido por
senha.
– Allow – Controla que hosts podem acessar o diretório protegido
– Deny – especifica quais hosts são proibidos de acessar o diretório protegido
– Order – controla a ordem em que o servidor avaliará regras de acesso.
Autenticação de http baseada em grupo
Deve-se criar um arquivo .htgroup
Designar um grupo
O arquvo é dividido em dois campos. O primeiro
identifica o grupo e o segundo armazena sua lista
de usuários.
Depois de criar .htgroup, editar .htaccess e
especificar a localização de .htgroup:
Autenticação de http baseada em grupo
AuthUserFile /home/orelha/public_html/.htpasswd
AuthGroupFile /home/orelha/public_html/.htgroup
AuthName orelha
AuthType Basic
<Limit GET POST>
Require user orelha
</Limit>
Autenticação de http baseada em grupo
Especificar regras de acesso para o grupo patetas
– AuthUserFile /home/orelha/public_html/.htpasswd
– AuthGroupFile /home/orelha/public_html/.htgroup
– AuthName orelha
– AuthType Basic
–
– <Limit GET POST>
– require group patetas
– </Limit>
Fraquezas na autenticação de http básica
Autenticação de http básica é um excelente correção
para proteger com senha diretórios de mas:
– .htpasswd – protege estritamente contra abordagens externas. Ele não protege
diretórios locais da Web contra usuários locais que podem acessar esses diretórios
diretamente, via o sistema de arquivos ou por outros serviços, sem utilizar um cliente
de Web.
– Por padrão, o sistema de htpasswd não fornece nenhum mecanismo de broqueio de
senha e portanto convida ataques apoiados, reiterativos ou de forca bruta. Os
invasores podem tentar quantos nomes e senha quiserem.
Fraquezas na autenticação de http básica
é recomendável não armazenar arquivos
.htpasswd nos diretorios que eles protegem
invasores podem fazer um sniffing de
trafego de autenticacao
Configuração httpd.conf
<Directory /var/www/html/wesley>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
Download

Seguranca Pagina Web