Um servidor Web exposto à Internet pública requer um esforço administrativo contínuo. É inevitável que sejam levantadas questões de segurança, relacionadas tanto ao software como à configuração incorreta acidental. Aqui vão algumas dicas sobre como lidar com elas.
Se forem encontradas vulnerabilidades no software Apache, um aviso de segurança será emitido pelo SUSE. Ele contém instruções para a correção de vulnerabilidades, que devem ser aplicadas o mais rápido possível. A lista de discussão sobre anúncios de segurança do SUSE está disponível em http://www.suse.com/us/private/support/online_help/mailinglists/. As informações mais recentes sobre questões de segurança dos pacotes do SUSE Linux também estão disponíveis online em http://www.novell.com/linux/security/securitysupport.html.
Além disso, você pode inscrever-se na lista de discussão sobre anúncios do Apache (http://httpd.apache.org/lists.html#http-announce) onde são publicadas novas versões e correções de erros.
Por padrão, no SUSE Linux, o diretório DocumentRoot /srv/www/htdocs e o diretório CGI /srv/www/cgi-bin pertencem ao usuárioroot. Não mude essas permissões. Se os diretórios fossem graváveis para todos, qualquer usuário poderia colocar arquivos neles. Esses arquivos seriam então executados pelo Apache com as permissões de wwwrun que poderiam dar ao usuário acesso não desejado a recursos do sistema de arquivos. Use subdiretórios de /srv/www/htdocs e /srv/www/cgi-bin para organizar dados específicos do usuário ou domínio em combinação com a diretiva Directory (consulte Diretório).
Os scripts interativos em Perl, PHP, SSI ou qualquer outra linguagem de programação podem essencialmente executar comandos arbitrários. Limitar a execução de CGIs e SSIs (consulte a Seção 46.5.1.2, “Interface de Gateway Comum: mod_cgi
”, o Álias de script e a Seção 46.5.1.1, “"Server-Side Includes" com o mod_include
”) a diretórios específicos em vez de permiti-los globalmente é uma opção para diminuir o risco.
Outra possibilidade é trabalhar com o mod_suexec (consulte a Seção 46.5.2.1, “Executando as CGIs como um usuário diferente com mod_suexec
”) para CGIs em geral. Para os módulos Apache, uma configuração segura para os interpretadores, como descrito na Seção 46.5.3.2, “Servindo o PHP: mod_php4, mod_php5
”, ajuda a manter o ambiente da Web seguro.
Muitas vezes, principalmente em ambientes de teste, permissões de acesso a um servidor Web são tratadas casualmente devido à natureza do teste de uma configuração. Isso pode resultar na revelação acidental de informações confidenciais ou mesmo na exposição de um servidor inteiro ao público errado. Use a diretiva Order (http://httpd.apache.org/docs-2.0/mod/mod_access.html#order) em combinação com arquivos .htaccess (consulte a Seção 46.3.2.3.3, “AccessFileName nomes de arquivos
”) para permitir acesso a certos sites da Web somente para usuários ou clientes específicos.
Você também pode usar a abordagem “segurança por ofuscação”: um exemplo típico disso é executar o Apache em uma porta não-padrão (consulte Seleção de dispositivos de rede). Isso resulta em URLs com a porta anexada, como http://www.example.com:8765, que é aceitável em ambientes de teste.