É basicamente impossível tornar um servidor Windows completamente seguro. Você absolutamente deveria ter um firewall de hardware. Não é tão caro; Acabei de verificar Newegg.com e descobri que você pode obter um firewall Netgear FVS336G por menos de US $ 300. (Eu recomendo Netgear; eu fui queimado por outras marcas como Linksys, mas eu não fui queimado pela Netgear ainda.)
O problema básico com o Windows é que a Microsoft colocou um grande número de recursos. Cada recurso é um possível ponto de ataque. Mesmo que você nunca use os recursos, os recursos estão no Windows e, se algum deles tiver algum problema, algum black hat poderá quebrar seu servidor. E um único incidente em que alguém decifra seu servidor e copia todos os seus dados levaria você a desejar que você gastasse US $ 300 para um firewall. (Pior ainda se o cracker depurar ou destruir seu servidor e você precisar reconstruí-lo ...)
Um firewall é um dispositivo pequeno e despojado. Ele não tem o tempo de execução do .NET, ele não tem um servidor de e-mail, ele não possui um monte de coisas que o Windows possui. Portanto, é muito mais fácil tornar um firewall seguro. Você configura o firewall para permitir somente o tráfego nas portas que sua empresa realmente usa e fecha todas as outras.
Com um firewall de software, se alguém puder encontrar uma exploração no próprio código de rede do Windows, sua máquina ainda estará defeituosa. Com um firewall de hardware, primeiro o invasor precisa encontrar uma exploração (em um alvo muito mais difícil) e, depois de tê-la derrotado, ainda pode ser interrompido pelo firewall do seu software. Defesa em camadas.
Se você realmente não quer pagar US $ 300 por um firewall, aqui está uma opção: obter um PC antigo, colocar duas placas de rede nele, retirar seu disco rígido e inicializar a partir de um CD do Devil-Linux.
link