Als allererstes würde ich auf den Client-Rechnern anfangen. D. h. so bekanntermaßen unsichere Programme wie Outlook (Express), IE und Konsorten dem Zugriff entziehen oder zumindest keinen Internetzugriff für diese zulassen. Statt dessen bekannt sichere Browser u. Mailer wie z. B. die Mozilla-Suite benutzen. Dann auf allen Clients das automatische Windows-Update konfigurieren, min. einmal die Woche muss er ziehen. Letztens stand in der c't ein Artikel drin wie man einen lokalen Updateserver einrichtet, das wäre auf jeden Fall empfehlenswert.
Alles unwichtige abschalten bzw. nicht zulassen. Das sich die Benutzer auch wirklich nur als Benutzer, maximal als Hauptbenutzer anmelden können, sollte selbstverständlich sein.
So, und nachdem man die Systeme so bereinigt hat, kann man dann anfangen über Antivirenprogs zu reden. Bei den AV-Programmen muss die Firma wohl oder übel in die Tasche greifen, kostenlos is da nicht. Dafür bekommt man dann auch ein Menge Support und regelmäßigen, bevorzugten Nachschub an Updates.
Und jetzt, und nicht eher, können wir uns Gedanken über einen Router machen. Er sollte nur folgende Funktionen haben: Masquerading (hat jeder), Portforwarding (könnte man brauchen), Einrichtung einer DMZ (ist auch manchmal nötig), VPN-Tunnelung (auch nützlich), vielleicht sogar die Möglichkeit für detaillierte Filterregeln. Jeder einigermaßen professionelle Router kann das, weitere Infos
hier.
Was - ich kenne jetzt den Aufbau des Netzes nicht - auf keinen Fall passieren sollte, ist, dass der Domänencontroller Zugang zum Internet hat. Wenn da irgendwas drauf laufen soll, wie z. B. ein VPN-Server, dann die Tunnelfunktion des Routers benutzen.
Eigentlich sollte es so schon recht ordentlich abgesichert sein.
Was man auf keine Fall bei so einer Planung machen darf: mit dem Router bzw. der Firewall anfangen. Wenn man die Clients vernünftig konfiguriert, dann hat man weniger Probleme mit der Firewall und kann sich etwas sehr kleines und einfaches (nicht schlechtes!) hinstellen.
P.S.: alle eMails würde ich, wenn möglich, erst mal von einem lokalen Mailserver abholen lassen, dort den Spam entsorgen, und dann erst per IMAP an die Benutzer zustellen. Ist zwar ein wenig mehr Aufwand in der Konfiguration, aber nachher viel besser beherrschbar.