Product SiteDocumentation Site

5.8. Tornando o Apache mais seguro

FIXME: Adicionar conteúdo: os módulos fornecidos com a instalação padrão do Apache (sob /usr/lib/apache/X.X/mod_*) e módulos que podem ser instalados separadamente pelos pacotes libapache-mod-XXX.
Você poderá limitar o acesso ao servidor Apache se você somente deseja usar ele internamente (para propósitos de testes, para acessar os arquivos do doc-central, etc..) e não deseja que pessoas de fora o acessem. Para fazer isto, use as diretivas Listen ou BindAddress no /etc/apache/http.conf.
Using Listen:
Listen 127.0.0.1:80
Using BindAddress:
BindAddress 127.0.0.1
Então reinicie o apache com /etc/init.d/apache restart e você verá que ele somente esperará por requisições na interface loopback.
Em qualquer caso, se não estiver usando todas as funcionalidades fornecidas pelo Apache, você poderá querer dar uma olhada em outros servidores web fornecidos no Debian, como o dhttpd.
A http://httpd.apache.org/docs/misc/security_tips.html fornece informações relacionadas com medidas de segurança a serem tomadas no servidor web Apache (estes mesmos passos são oferecidos no Debian através do pacote apache-doc).
Mais informações sobre restrições do Apache configurando uma jaula chroot são mostradas em Seção B.7.3, “Chroot environment for Apache.

5.8.1. Proibindo a publicação de conteúdo dos usuários

A instalação padrão do Apache no Debian permite que usuários publiquem conteúdo sob o diretório $HOME/public_html. Este conteúdo pode ser pego remotamente usando uma URL tal como: http://your_apache_server/~user.
Se não quiser permitir isto, você deverá alterar o arquivo de configuração /etc/apache/http.conf comentando a linha:
LoadModule userdir_module /usr/lib/apache/1.3/mod_userdir.so
If you are using Apache 2.0 you must remove the file /etc/apache2/mods-enabled/userdir.load or restrict the default configuration by modifying /etc/apache2/mods-enabled/userdir.conf.
However, if the module was linked statically (you can list the modules that are compiled in running apache -l) you must add the following to the Apache configuration file:
Userdir disabled
Um invasor ainda pode usar enumeração de usuário, pois a resposta do servidor será um 403 Permissão negada e não um 404 Não disponível.

5.8.2. Permissões de arquivos de log

Os arquivos de log do Apache, desde a 1.3.22-1, tem como dono o usuário 'root' e grupo 'adm' com permissões 640, estas permissões são alteradas após o rotacionamento de logs. Um intruso que acessou o sistema através do servidor web não será capaz (sem escalação de privilégios) de remover entradas antigas do log.

5.8.3. Arquivos da Web Publicados

Os arquivos do Apache estão localizados sob /var/www. Apenas após a instalação o arquivo de configuração padrão fornecerá algumas informações sobre o sistema (principalmente que é um sistema Debian executando o Apache). As páginas web padrões tem como dono o usuário root e grupo root por padrão, enquanto o processo do Apache é executado como o usuário e grupo www-data. Isto torna difícil para invasores que comprometem o sistema através do servidor web, desfigurarem o site. Você deverá, é claro, substituir as páginas padrões por suas próprias (que fornecem informações que não deseja mostrar para pessoas de fora).