Ajustando o IBM HTTP Server (IHS) para ambiente de produção
HTTP Server by IBM é frequentemente usado em combinação com IBM WebSphere Application Server . Alguns dos sites populares usando o IBM HTTP Server são:
- Airtel.in
- Marriott.com
- Hsbc.co.uk
- Mercedes-benz.com.eg
- Argos.co.uk
O IHS é baseado no Apache HTTP Server, no entanto, aprimorado pela IBM para oferecer suporte a aplicativos corporativos e suporte de manutenção. Ele segura muito menos Quota de mercado no mundo dos servidores da Web, mas ainda amplamente usado com o WebSphere Application Server.
A configuração padrão do IHS fornece muitas informações confidenciais, que podem ajudar os hackers a se preparar para um ataque e interromper as operações comerciais. Como administrador, você deve estar ciente de proteger a configuração do IHS para proteger os aplicativos da web .
Neste artigo, explicarei como tornar o ambiente pronto para produção IHS para manter a segurança e seguro .
Poucas coisas: –
- Você tem o IHS instalado no ambiente Linux, caso contrário, pode consultar guia de instalação aqui .
- É recomendável fazer um backup de um arquivo de configuração.
- Você tem cabeçalho HTTP extensões em um navegador ou você pode usar Verificador de cabeçalho ferramenta on-line.
- Devido ao tamanho do artigo, falarei sobre a configuração do SSL no próximo post.
Ocultar banner do servidor e informações do produto do cabeçalho HTTP
Provavelmente, uma das primeiras tarefas a serem executadas durante a configuração do ambiente de produção é mascarar a versão do IHS e o banner do servidor em um cabeçalho. Isso não é crítico, mas considerado de baixo risco como vulnerabilidade de vazamento de informações e deve ser feito para aplicativos compatíveis com PCI DSS.
Vamos dar uma olhada em como a resposta de solicitação inexistente (404) na configuração padrão.
Oh não, revela que estou usando o IBM HTTP Server junto com o IP do servidor e o número da porta, o que é feio. Vamos escondê-los.
Solução: –
- Adicione as três diretivas a seguir no arquivo httpd.conf do seu IHS.
AddServerHeader Off ServerTokens Prod ServerSignature Off
- Salve o arquivo e reinicie o IHS
Vamos verificar acessando um arquivo inexistente. Você também pode usar Ferramenta de cabeçalho HTTP para verificar a resposta.
Muito melhor! Agora não fornece informações de produto, servidor e porta.
Desativar Etag
O cabeçalho da Etag pode revelar informação do inode e pode ajudar o hacker a executar ataques NFS. Por padrão, o IHS revela o etag e aqui está como você pode corrigir essa vulnerabilidade.
Solução: –
- Adicione a seguinte diretiva em um diretório raiz.
FileETag none
Por exemplo:
<Directory /> Options FollowSymLinks AllowOverride None FileETag none </Directory>
- Reinicie o servidor IHS para entrar em vigor.
Executar IHS com conta não raiz
A configuração padrão executa um servidor da Web com usuário root e ninguém, o que não é aconselhável, pois a execução por meio de uma conta privilegiada pode afetar todo o servidor em caso de falha de segurança. Para limitar o risco, você pode criar um usuário dedicado para executar instâncias IHS.
Solução: –
- Criar usuário e grupo chamado ihsadmin
groupadd ihsadmin useradd –g ihsadmin ihsadmin
Agora, altere a propriedade da pasta IHS para ihsadmin para que o usuário recém-criado tenha permissão total para ela. Supondo que você tenha instalado no local padrão – /opt/IBM/HTTPServer
chown –R ihsadmin:ihsadmin /opt/IBM/HTTPServer
Vamos alterar o valor de usuário e grupo em httpd.conf
User ihsadmin Group ihsadmin
Salve o httpd.conf e reinicie o servidor IHS. Isso ajudará o IHS a iniciar como usuário ihsadmin.
Implemente o sinalizador HttpOnly e Secure no Cookie
Tendo cookie protegido e httponly irá ajudá-lo a reduzir o risco de ataques XSS.
Solução: –
Para implementar isso, você deve garantir mod_headers.so está ativado em httpd.conf.
Caso contrário, descomente a linha abaixo em httpd.conf
LoadModule headers_module modules/mod_headers.so
E adicione abaixo do parâmetro Header
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Salve o arquivo de configuração e reinicie o servidor web.
Mitigar o ataque de Clickjacking
o clickjacking Essa técnica é bem conhecida em que um invasor pode induzir os usuários a clicar em um link e executar o código incorporado sem o conhecimento do usuário.
Solução: –
- Certifique-se de que mod_headers.so esteja ativado e adicione o parâmetro abaixo do cabeçalho no arquivo httpd.conf
Header always append X-Frame-Options SAMEORIGIN
- Salve o arquivo e reinicie o servidor.
Vamos verificar acessando a URL, ela deve ter X-Frame-Options conforme mostrado abaixo.
Configurar diretiva de escuta
Isso é aplicável se você tiver várias interfaces Ethernet/IP no servidor. É aconselhável configurar o IP absoluto e a diretiva Port in Listen para evitar que as solicitações de DNS sejam encaminhadas. Isso geralmente é visto em ambiente compartilhado.
Solução: –
- Adicione IP e porta pretendidos em httpd.conf na diretiva Listen. Ex:-
Listen 10.0.0.9:80
Adicionar proteção X-XSS
Você pode aplicar a proteção Cross for Site Scripting (XSS) implementando o cabeçalho a seguir se estiver desabilitado no navegador pelo usuário.
<IfModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" </IfModule>
Desativar solicitação HTTP de rastreamento
Ter o método Trace ativado no servidor da Web pode permitir ataques de rastreamento entre sites e possível roubo de informações de cookies. Por padrão, isso está ativado e você pode desativá-los com o parâmetro abaixo.
Solução: –
- Modifique o arquivo httpd.con e adicione a linha abaixo
TraceEnable off
- Salve o arquivo e reinicie a instância do IHS para entrar em vigor.
Espero que as dicas acima ajudem você a fortalecer o IBM HTTP Server para um ambiente de produção.