Mmmm....no se.
Creo que la solucion no esta en shorewall, ya que el filtrado y la mayoria de sus reglas se basan en el bloqueo y semanticas de ip ya sea de modo statico o dinamico.
Yo particularmente apostaria mas a usar SquidGuard sobre Squid Proxy, que permite usar bases de datos con miles de direcciones web clasificadas en grupos (porno, violencia, publicidad...).
Múltiples opciones de configuración: bloqueo por grupo o por palabra clave, identificación del cliente por su dirección IP o por nombre de usuario, creación de horarios, actualización de la base de datos por un robot,...etc.
Gracias a que funciona asociado a proxy Squid, nos va a permitir registrar las páginas web visitadas en ficheros .log y además hacer de caché acelerando el acceso a las páginas visitadas recientemente.
Amigo, yo me la jugaria por ese lado.
Links:
http://www.squidguard.org/ (SquidGuard)
http://www.squid-cache.org/ (Squid Proxy Cache)
Espero sea util la sugerencia.
Saludos.