Preferiría decir que estas tres ramas están bastante interconectadas si echamos un vistazo a Internet y su amplia infraestructura. Con tener que elegir solo uno de ellos, definitivamente terminará resolviendo problemas relacionados con otro. Y no creo que esto sea una cuestión de ser certificado en primer lugar, sino ser competente y tener la habilidad. No soy bueno para dar consejos, pero mi opinión es que uno nunca debe “correr” por el papel sino “morir de hambre” por la habilidad y lograr esa habilidad por sí mismo. O, al menos, comenzar por su cuenta, y si ese trabajo elegante requiere una certificación, entonces un paso como ese debería ser solo un pedazo de pastel.
Como más que un administrador de Linux, podría terminar haciendo DevOps, como se le llama hoy en día. Esto requiere conocimientos de Ingeniería de Software (hablando de los conceptos básicos de Java), Operación de Tecnología (más relacionado con la administración del servidor, el SO y el entorno), Aseguramiento de la Calidad (podría incluir seguridad en varios niveles, ya sea relacionados con la aplicación o el entorno).
Aquí hay un pequeño escenario:
La Compañía X trabaja en un proyecto que proporciona una interfaz API escrita en Java. Como el sistema necesita manejar una gran carga de trabajo, debe hacer uso de sistemas distribuidos escalables para realizar tareas específicas rápidamente. Ahora, estos servidores (que se utilizan como esclavos) pueden no estar ubicados bajo la misma subred. Los datos confidenciales enviados entre los esclavos y uno o más maestros (máquinas de interfaz API) deben manejarse de manera segura.
- ¿Es posible estudiar derecho sin aprobar el examen CLAT?
- ¿Es seguro estudiar en Canadá?
- Cómo escribir las respuestas en un examen de ingeniería para obtener buenas calificaciones.
- ¿Qué marca de tapones para los oídos es buena para proteger el ruido, como la música alta del corredor, y también está disponible a nivel local en la India?
- ¿Qué pasa si has estudiado tanto que terminas no estudiando el día anterior a los exámenes?
Como podemos ver, el producto pone mucho énfasis en la seguridad, y se le puede pedir a su equipo que ayude al proyecto con:
- La API de Java debe probarse para detectar errores de seguridad (principios y prácticas de programación segura, fuzzing);
- El código del núcleo ejecutado en los esclavos también necesita ser inspeccionado y probado
- La comunicación maestro-esclavo debe estar encriptada (programación de socket seguro a nivel de aplicación o configuración de TSL / SSL a nivel de servidor);
- La comunicación cliente-API también debe estar protegida a través de TSL / SSL;
- El entorno Java no debe estar desactualizado;
- El software de terceros debe instalarse y configurarse correctamente en todas las máquinas (especialmente las expuestas a Internet);
- El firewall de Linux debe restringir el acceso SSH a un rango específico de IP (aunque el proceso de autenticación siempre debe usar claves asimétricas y el cliente podrá conectarse al host solo si la máquina remota reconoce su clave pública);
- El acceso a archivos específicos u otros recursos (quizás configuraciones) deben estar restringidos a nivel de servidor o sistema operativo (dependiendo de quién esté usando qué);
- Replicación, instalación y configuración automatizadas del servidor.
- Etc, etc., etc.
Y si realmente quiere hacer seguridad, creo que tanto los fundamentos de redes como los de Linux son más que una necesidad. No hay duda sobre eso.