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.