Configurando o IIS 8.5 - Práticas de segurança

2

Esta é a primeira vez que estou configurando uma instalação do IIS e quero garantir a máxima segurança. Algumas perguntas surgiram em minha mente durante a configuração:

Observe que este servidor hospeda sites externos que têm cerca de 50 usuários simultaneamente e cerca de 1000 usuários por dia, mas também sites internos que são apenas para fins internos (meios internos, neste caso, sites que os usuários da nossa empresa usam fora da rede , mas nenhum cliente usa esses sites)

Identidades do pool de aplicativos:

Eu li que é a melhor prática de segurança usar a conta interna ApplicationPoolIdentity for Application Pool Identities. Minha pergunta aqui é, se eu posso usar essa conta de buit-in para cada Pool de Aplicativos que tenho porque vou implantar o Isolamento de Aplicativos Wep - significa que irei configurar um AppPool diferente para cada Aplicativo da Web que possuo. Não é uma contradição usar a mesma conta em cada AppPool, mesmo que eu implemente diferentes Apppools para cada Web App?

Fortalecimento de servidores:

Eu quero instalar o mínimo possível de recursos e serviços para proteger o servidor o máximo possível. Existe uma maneira de verificar se os recursos que eu instalei são usados ou se eles não precisam disso? (sim, eu sei. um pouco de pergunta noob)

Autenticação:

A autenticação anônima é necessária para sites que têm visitantes externos? sites como www.mycompany.com , que precisam ser acessados por todos? Ainda não encontrei uma maneira de desativar a autenticação anônima, mas tornar o site ainda acessível para todos.

Pergunta geral sobre redes:

Sempre achei que a prática recomendada para o IIS é colocar o servidor na DMZ, pois se o servidor fosse invadido, o invasor não conseguiria acessar todos os outros servidores que estão em nossa rede de domínio. Como existem novos métodos de autenticação como Digestauthentification que precisam se comunicar com um controlador de domínio e também o próprio servidor precisa estar em um domínio para isso, eu estava me perguntando se era melhor colocar o servidor na rede de domínio e seguro o acesso a ele com outras medidas de segurança (proxy etc.) ou a DMZ ainda é a melhor prática de segurança?

Agradeço antecipadamente por cada entrada.

    
por SimonS 03.03.2016 / 12:24

2 respostas

1

1. Identidades do pool de aplicativos

Use contas separadas para cada aplicativo - cada pool de aplicativos resulta em um processo w3wp separado que é executado no contexto do usuário atribuído. Tendo coisas como arquivos e outros recursos (como autenticações de banco de dados), você pode aumentar a segurança devido à utilização do sistema operacional padrão, do sistema de arquivos e de outros subsistemas de segurança (como o kerberos).

Obviamente, as contas atribuídas devem ter menos acesso ao seu host possível (nunca use contas com alto privilégio para sites, a menos que seja absolutamente necessário pelo aplicativo [o que realmente não deveria ser o caso]).

Se possível, eu strongmente recomendo separar os servidores que hospedam seu (s) site (s) público (s) e seus materiais internos. Os servidores públicos acessíveis também devem ser colocados em um segmento de rede separado.

2. Endurecimento do servidor

Sua superfície de ataque principal é o IIS (eu suponho que você tenha um firewall na frente do servidor) - é necessário endurecer ao desabilitar os serviços para evitar ataques locais. Local significa, nesse caso, sua rede local (serviços relacionados à rede), bem como seu próprio sistema operacional e até mesmo seu hardware local (como cachebleed ).

Então, sim - desabilite serviços que você não precisa. Não desative os serviços que protegem você. Você pode encontrar alguns recursos na Web sobre isso.

Para evitar que pessoas mal-intencionadas iniciem aplicativos personalizados que podem, finalmente, incluir mais partes do seu servidor, aconselhamos usar as políticas de restrições de software :

  • Seus pools de aplicativos estão usando contas fracas (como um usuário em uma estação de trabalho) e não podem instalar / modificar aplicativos em caminhos considerados "caminhos de aplicativos"
  • Restringir software executado para esses caminhos

Isso leva a uma exclusão mútua e impede alguns ataques simples, como abrir um shell e fazer o download do aplicativo real que finalmente abre as portas para o servidor.

Ao usar o SSL / TLS, aconselho também proteger o servidor. Uma boa ferramenta para este trabalho é IISCrypto e SslLabs para verificações. Tendo algum tempo livre, você pode usar o NGINX como um proxy reverso que oferece algumas vantagens adicionais em relação à segurança de transporte.

3. Autenticação

A autenticação anônima é mais ou menos "sem autenticação". Então está tudo bem.

4. Segmentação de rede

Eu vi muitas redes aplicando o conceito de DMZ colocando um monte de servidores lá e abrindo portas para a rede principal para suportar conectividade de backend para os serviços fornecidos pelos servidores hospedados na DMZ.

Isso leva à conclusão de que você tem uma segmentação de rede que não oferece nenhum benefício.

Portanto: Sim, absolutamente DMZ. Mas não coloque tudo lá e não abra portas que você não precisa. Se você tiver muitos serviços não relacionados na mesma DMZ, considere a criação de uma zona separada que separe o serviço fornecido em grupos de serviços relacionados uns com os outros e que tenham dependências.

    
por 03.03.2016 / 23:32
0

A melhor prática de segurança do IIS é uma disciplina inteira e você pode passar meses lendo e aprendendo. E você certamente está fazendo as perguntas corretas.

Gostaria de falar sobre cada um dos seus tópicos específicos e fazer explicações, mas eu estaria apenas repetindo informações que já estão bem documentadas.

Em suma, se você deseja seguir a configuração das melhores práticas com o IIS, siga as Avaliações de desempenho do CIS II8. TUDO o que você precisa saber e configurar está aqui. link

    
por 09.07.2016 / 18:05