Me gustaría poder no solo monitorear centralmente sino también filtrar cualquier dato organizacional que se mueva fuera de nuestros enrutadores de borde, independientemente de la aplicación del remitente y independientemente del protocolo / puerto utilizado por la aplicación del remitente.
Por ejemplo, la aplicación del remitente podría ser un cliente ssh / sftp, un navegador (http / s), un cliente de correo electrónico (??) o incluso un programa cliente / servidor basado en socket TCP manuscrito desde cero.
Si los datos salientes resultan encriptados (por ejemplo, como en el caso de https / ssl, ssh / sftp), todavía me gustaría poder decodificarlos a través de un patrón similar a MITM (tal como lo emplea un programa como Squid) y rechazar o permitir que los datos pasen en función del contenido descodificado.
Por ejemplo, si un usuario ha enviado un archivo grande, me gustaría poder extraer y ensamblar el archivo en una sola unidad lógica (¿desde los paquetes IP?) y luego poder ejecutar más comprobaciones este archivo ensamblado para decidir si permitir o no que pase a través.
Dado un entorno basado en Linux, ¿qué herramientas y técnicas (FOSS) debo emplear para lograr esto? Soy nuevo en esta área y no sé cómo seguir adelante. De ahí la pregunta.