Skip to content

danunziata/pps_fede_Ferro_2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

PPS Federico Rodriguez Ferro

Seguridad de entornos contenerizados con enfoque en Kubernetes
Mira la Documentación completa »

Tabla de Contenidos
  1. Sobre el proyecto
  2. Para Comenzar
  3. Uso
  4. Roadmap
  5. Contribuir
  6. Licencia
  7. Contacto

Sobre el proyecto

Product Name Screen Shot

El proyecto "Seguridad en Kubernetes" se enfoca en fortalecer la seguridad y privacidad del entorno productivo del clúster de Kubernetes, mediante la implementación de medidas efectivas que mitiguen posibles riesgos de seguridad. Los objetivos generales incluyen mejorar la infraestructura y salvaguardar la integridad de los sistemas y la confidencialidad de los datos.

Para lograr esto, se plantean objetivos específicos como familiarizarse con la tecnología de contenedores, desplegar un clúster de Kubernetes correctamente configurado, aplicar medidas de seguridad necesarias y evaluar soluciones de monitoreo y detección de intrusiones. El proyecto también incluye pruebas de penetración, evaluación de vulnerabilidades y documentación detallada de las configuraciones y medidas de seguridad implementadas.

(Volver al Inicio)

Componentes

  • Kubernetes
  • Python
  • Helm

(Volver al Inicio)

Para Comenzar

Este repositorio tiene como objetivo proporcionarte la información necesaria para comenzar rápidamente a trabajar con el proyecto en cuestión. Ya seas un desarrollador experimentado o nuevo en el proyecto, esta guía te ayudará a empezar en poco tiempo.

Prerequisitos

Acá se listan todo lo que se debe descargar para luego poder instalar y hacer funcionar el proyecto

  • Python

    sudo apt update
    sudo apt install python
  • Instalar las librerias necesarias

    python3 -m venv venv #Crea un nuevo entorno virtual donde se guardan todas las librerias a utilizar
    source venv/bin/activate
    pip install -r requirements.txt
  • Helm

    curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
    sudo chmod 700 get_helm.sh
    ./get_helm.sh

Instalación

(Volver al Inicio)

Uso

Para ejemplos e información, por favor diríjase a la Documentación

(Volver al Inicio)

Roadmap

  • Investigar la literatura existente sobre seguridad en entornos clusterizados utilizando contenedores y Kubernetes.
  • Desplegar un entorno de laboratorio local que permita realizar pruebas y experimentos.
  • Seleccionar, evaluar e implementar soluciones de seguridad específicas para Kubernetes, como Kubernetes Security Context, Network Policies, soluciones de monitoreo y observabilidad, entre otros.
  • Desplegar un entorno de laboratorio remoto (producción) y aplicar las medidas de seguridad seleccionadas al clúster de Kubernetes en producción , siguiendo las mejores prácticas recomendadas.
  • Realizar pruebas y evaluación de vulnerabilidades utilizando herramientas y metodologías seleccionadas en entorno de laboratorio productivo.
  • Documentar el proceso, las configuraciones, medidas de seguridad implementadas y los resultados de las pruebas realizadas.

(Volver al Inicio)

Contribuir

Flujo de Trabajo

El proceso que seguiremos implica utilizar la rama main como la rama de producción del proyecto. Cualquier nueva funcionalidad o corrección de errores se realizará creando nuevas ramas.

Para incorporar una función en la rama main, simplemente se crea un "PR" (Pull Request), que deberá ser aprobado por algún colaborador, cualquier colaborador puede hacerlo, o bien, si no requiere revisión, puede ser aceptado por quien esté incluyendo la funcionalidad.

Es crucial que el nombre de las ramas creadas sea lo más descriptivo posible. Por ejemplo, si trabajamos en una nueva funcionalidad relacionada con la API, la rama se debe llamar como referencia a la funcionalidad en cuestión. En el caso de tratarse de la corrección de un error en el código de la API, la llamaremos fix-api.

Además, se contarán con ramas específicas para la documentación del proyecto denominada docs, esta rama sera utilizada para registrar toda la documentación ya sea de la carpeta docs o el mismo README.md.

Los pasos para contribuir en este proyecto como miembro del mismo son:

  1. Clonar el repositorio (git clone)
  2. Crear una nueva rama para la función (git checkout -b feature/AmazingFeature)
  3. Publicar la rama en el repositorio remoto(git push --set-upstream origin <nombre-de-la-nueva-rama>)
  4. Commit los cambios (git commit -m 'Add some AmazingFeature')
  5. Push a la rama (git push origin feature/AmazingFeature)
  6. Abrir un Pull Request dirigido a la rama develop

Commits

Los commits convencionales nos permiten mantener la organización al realizar los commits y facilitan la creación de releases de forma automatizada.

Se basan en el uso de palabras clave al inicio del mensaje de cada commit, de la siguiente manera:

  • feat(tema de la modificación): Breve explicación: Para cambios significativos o nuevas características.
  • fix(tema de la modificación): Breve explicación: Para correcciones pequeñas.
  • chore(tema de la modificación): Breve explicación: Para cambios menores insignificantes para el usuario.
  • docs: Breve explicación: Para cambios que se realizan a la documentación.

(Volver al Inicio)

Licencia

Este proyecto se distribuye bajo los términos de la Licencia Pública General de GNU, versión 3.0 (GNU General Public License, version 3.0). Consulta el archivo LICENSE para obtener detalles completos.

Resumen de la Licencia

La Licencia Pública General de GNU, versión 3.0 (GNU GPL-3.0), es una licencia de código abierto que garantiza la libertad de uso, modificación y distribución del software bajo los términos estipulados en la licencia. Requiere que cualquier software derivado se distribuya bajo los mismos términos de la GPL-3.0. Consulta el archivo LICENSE para más información sobre los términos y condiciones.

Aviso de Copyright

El aviso de copyright para este proyecto se encuentra detallado en el archivo LICENSE.

(Volver al Inicio)

Contacto

Federico Rodriguez Ferro - federico@rodriguezferro.com.ar

Link del Proyecto: https://github.com/danunziata/pps_fede_Ferro_2024

(Volver al Inicio)