Bem, IMHO, a melhor prática (para portas / protocolos individuais) é filtrar TUDO e depois permitir seletivamente as coisas. Isso vai derrubar uma tonelada de coisas e forçar seus usuários a justificar por que eles precisam de X, Y ou Z.
O filtro da Web terá que ser feito por meio de algum tipo de filtro de conteúdo (como Websence ou similar), e estes podem ser configurados para a morte para bloquear praticamente qualquer coisa que você queira bloquear.
Eu pessoalmente odeio filtros de conteúdo, mas posso me dar ao luxo de ser otimista sobre eles, já que hoje em dia eu estou sempre alto o suficiente no totem tecnológico para contorná-los. Nunca é um passo popular, mas faz sentido do ponto de vista da segurança e da utilização.