Upload
elliando-dias
View
1.173
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
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, pode-
se também adicionar proteção adicional de
senha e controle de acesso no nível de
diretório com htpasswdhtpasswd, 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 orelhaArquivo 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>