Seja seguro por padrão.
O estado normal deve ser o seguro. Isto significa que recursos potencialmente inseguros devem estar inicialmente desligados e ser ligados pelo usuário ou administradores depois deles entenderem as conseqüências de um determinado recurso.
O software deve rodar com o mínimo de privilégios possíveis e jamais como administrador. As contas de usuário usadas pelo software devem ter apenas os privilégios estritamente necessários para o aplicativo rodar satisfatoriamente.
Para serviços, evite rodar como “Local System”. Prefira “Network Service” no Windows 2003 ou outra conta menos privilegiada.
Evidentemente não dá trabalho nenhum ajustar permissões quando o usuário é o administrador, mas isto é terrivelmente inseguro. Se um hacker conseguir acesso ao sistema, ele pode fazer qualquer coisa que o administrador poderia fazer.
Evidentemente, o banco de dados também não deve ser acessado como administrador ou “sa”.
Eventuais falhas ou exceptions devem deixar o sistema em um estado seguro e não inseguro.