Guia de Segurança e Proteção do Servidor HTTP IBM

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.

ihs-noexist-response

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.

ihs-noexist-response-fixed

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.

ihs-etag

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.

ihs-etag

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.

clickjacking-attack-ihs

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.

Artigos relacionados