• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

20 truques de segurança para Apache

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Estas são 20 recomendações para otimizar a segurança em seu servidor Apache.




Por Manu Gutierrez









Deve-se ter em conta que algumas destas recomendações podem diminuir o rendimento de seu servidor dependendo de sua configuração e das especificações do sistema.

 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Primeiro, certifique-se de ter instalado os últimos parches de segurança









Não faz sentido colocar uma fechadura mais resistente na sua porta se você deixa uma janela aberta. Da mesma forma se você não tem os últimos parches de segurança instalado não teria sentido continuar com a otimização de segurança.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Restringir acesso por IP








Se tiver um recurso ao que deva somente ter acesso alguma rede, ou IP em concreto você pode configurá-lo em Apache. Por exemplo, se deseja restringir o acesso a sua Intranet para permitir somente a rede 176.16:

Order Deny,Allow
Deny from all
Allow from 176.16.0.0/16

ou por IP:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Oculte a versão e outra informação delicada









Por padrão, muitas instalações de Apache mostram o número de versão que está funcionando, o sistema operacional e um informe de módulos de Apache estão instalados no servidor. Os usuários maliciosos podem utilizar esta informação para atacar seu servidor.

Há duas diretrizes que você necessita agregar, ou corrigir em seu arquivo de httpd.conf:

ServerSignature Off
ServerTokens Prod

O ServerSignature aparece na parte inferior das páginas geradas por apache tais como os famosos erros 404.

A diretriz ServerTokens se utiliza para determinar o que Apache colocará no cabeçalho da resposta HTTP do servidor.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Apache deve funcionar sob sua própria conta e grupo de usuário









Algumas versões de Apache funcionam sob o usuário nobody, isto compromete muito sua segurança, portanto faça o seguinte:

User apache
Group apache

 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Utilize o mod_security





O mod_security é um módulo excelente de Apache escrito por Ivan Ristic, o autor de Apache Security de O'Reilly.

Esta é uma lista de coisas que você pode fazer com mod_security:
•Filtragem simples
•Filtragem baseada em expressões regulares
•Validação de codificação da URL
•Validação de codificação Unicode
•Auditing
•Prevenção do ataque NULL Byte
•Limitar a memória de subida
•Mascarar a identidade do servidor
•E mais...
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Desabilitar qualquer módulo desnecessário






Apache vem por padrão instalado com uma série de módulos. Você deve dar uma olhada na documentação de Apache e ver para que serve cada um deles, e desta maneira se dará conta de que há alguns que não são úteis em seu servidor.

Busque em httpd.conf as linhas que contenham LoadModule. Para desabilitar o módulo deve agregar um # ao princípio da linha, para que desta forma passe a ser um comentário. Para buscar os módulos prove com:

grep LoadModule httpd.conf

Aqui estão alguns módulos que se instalam por padrão, porém muitas vezes não são necessários: mod_imap, mod_include, mod_info, mod_userdir, mod_status, mod_cgi, mod_autoindex.

 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Certifique-se de que os arquivos aos que se acessa são os desejados






Não desejamos que se possa acessar aos diretórios que não tenham permissões para isso, suponhamos que o diretório raiz para nossas webs é /web, a configuração ótima deverá ser a seguinte:

Order Deny,Allow
Deny from all
Options None
AllowOverride None

Order Allow,Deny
Allow from all
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Desative as opções para explorar diretórios










Isto pode fazer com as opções de diretriz dentro da etiqueta diretório tem dois possíveis valores none ou indexes.

Options -Indexes
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Desative os includes do lado servidor










Isto também se faz com as opções de diretriz dentro da etiqueta diretório tem dois possíveis valores none ou include.

Options -Includes
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Desative a execução de CGI










Se não necessitar da execução de CGI por algum motivo em concreto desativá-los se faz com as opções de diretriz dentro da etiqueta diretório tem dois possíveis valores none ou ExecCGI.

Options -ExecCGI
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Não permitir que apache siga links simbólicos











De novo se configura com as opções de diretriz dentro da etiqueta diretório tem dois possíveis valores none ou FollowSymLinks.

Options -FollowSymLinks
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Desativar todas as opções





Se deseja desativar o uso de todas as opções simplesmente:

Options None

Se somente deseja desativar algumas em concreto, separe-as com um espaço nas opções de diretriz:

Options -ExecCGI -FollowSymLinks -Indexes

 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Desativar a ajuda para os arquivos .htaccess





Isto já está feito, mas com a diretriz AllowOverride. Mude-o a none.

AllowOverride None

Outra opção interessante seria bloquear o download de todos os arquivos que comecem com .ht por exemplo, se faria da seguinte maneira:

AccessFileName .httpdoverride

Order allow,deny
Deny from all
Satisfy All
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Diminua o valor máximo de tempo de espera









Por padrão, o tempo de espera é de 300 segundos. Pode diminuí-lo por segurança para prevenir ataques desta maneira:

Timeout 45
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Limitar o tamanho máximo de petições





Apache tem várias diretrizes que permitem que limite o tamanho de uma petição, isto pode ser muito útil.

Uma boa maneira de começar é com a diretriz LimitRequestBody. Esta diretriz está fixada a ilimitado por padrão. Se estiver permitindo uploads de arquivos que não sejam maiores a 1MB, poderia fixar este ajuste a algo parecido a isto:

LimitRequestBody 1048576

Se não estiver permitindo uploads de arquivos, pode fixá-lo inclusive a um tamanho menor.

Algumas outras diretrizes para olhar são LimitRequestFields, LimitRequestFieldSize e LimitRequestLine.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Conclusão






Espero que estas recomendações tenham sido úteis e lembrem que o uso que têm que dar depende em grande medida dos recursos que necessita e das características de seu servidor, antes de fazer qualquer mudança se não estiver seguro documente-se e utilize este artigo unicamente como uma referência que leve à solução mais ideal.

 
Topo