Como dijo Tom Leek, la seguridad es un área ENORME. Cubre todo, desde secretos de seguridad, protocolos, activos, hasta privacidad, repudio, disponibilidad, recuperación de desastres, etc. Sé que comenzó la pregunta sobre los protocolos, estoy avanzando un poco más porque no sé si su percepción es que con solo agregar estos bastará para la seguridad, o si ya tiene todo lo demás asegurado y esta es la única área que queda.
Además, la seguridad está en toda la pila, en cualquier lugar, desde garantizar que no tenga errores de código (como los desbordamientos de búfer) hasta todos los parches de seguridad aplicados, hasta el diseño seguro general (cómo se autentican los usuarios, el control de acceso, etc.) ).
Tendrá que restringir específicamente lo que está tratando de asegurar, o si está buscando mejorar la seguridad en general, intente lo siguiente:
- Mire ISO 27034 y SDL de Microsoft , los cuales brindan una guía prescriptiva sobre cómo impulsar la seguridad en el proceso de desarrollo (Descargo de responsabilidad: trabajo para Microsoft y SDL es una de mis fuentes principales en el trabajo y en proyectos personales .)
- También puede consultar los libros de certificación, como los de CISSP o CCSK de Cloud Security Alliance, que se centrará más en varios principios de seguridad aplicables. Por supuesto, puede buscar más certificaciones y leer reseñas para elegir la mejor para su propósito.
Ambos de estos, esp. SDL de Microsoft (solo porque tengo un conocimiento íntimo de la misma) brindará una guía muy prescriptiva, y tiene enlaces a ella. He estudiado CISSP, pero eso es más de un nivel de Oficina de Seguridad Principal. Sin embargo, ambos son valiosos, pero si pudiera hacer solo uno, iría con SDL, o algún recurso que apunte a ISO 27034, o algo similar.
- Por último, no importa la cantidad de estas cosas que lea, tendrá que estar al tanto de los problemas de seguridad actuales y asegurarse de seguir aplicando correcciones. Por ejemplo, si tiene un sitio web, hay una gran cantidad de ataques en torno a XSS, XSRF, inyección SQL, bombas XML, etc. que deberá conocer y, dependiendo de las tecnologías que use, tendrá que asegurarse de que no estén expuestos. su servicio.
- Al igual que estos ataques, también deberá asegurarse de saber qué software externo está utilizando (incluido el sistema operativo) y cuáles son los problemas de seguridad más recientes y si ha aplicado todos los parches, etc. Esto significa apache , IIS, Linux, Windows, lo que sea. Por ejemplo, si usó OpenSSL (incluso si no lo sabía, pero su instalación, por ejemplo, lo tenía), sería mejor aplicar una solución para protegerse contra la vulnerabilidad de Heart Bleed.
En lo que respecta a los protocolos, por lo general, se trata de su diseño en torno a quién va a acceder, qué se está asegurando, etc., casi la mayoría de las preguntas que Tom Leek hizo. Entre algunos protocolos (como OAUTH y SAML), no es tanto que difieran en la seguridad (según sus necesidades), sino que diferentes partes son compatibles con diferentes partes con las que puede integrarse. Por ejemplo, la mayoría, si no todos, los IDP sociales (facebook, google, cuenta de Microsoft, linkedin, incluso stackexchange) son compatibles con OAUTH, y si los usara como su proveedor de identidad, se vería obligado a consumir OAUTH y token formatos soportados por cualquiera de estos.
Sin embargo, si estuviera actuando como su propio IDP, entonces tendría más opciones y consideraría si desea usar un directorio (especialmente si su organización ya tiene uno, como AD), o construir su propio . Un directorio normalmente proporcionará un conjunto de protocolos que admite para la autenticación. Si ya tiene un servicio de terceros que está utilizando su organización (por ejemplo, SAP, Salesforce, Office en línea), es posible que pueda usar la autenticación desde allí.
Espero que esto ayude.