Integración de seguridad informática en redes y sistemas de software (Gpo 401). Repo del equipo.
- Miguel Enrique Soria
- Fausto Jiménez de la Cuesta Vallejo
- Hector Julián Zárate Ramirez
- Valentina González Hernández
git clone https://github.com/BassedWarrior/TC2007B.401
Como prueba de concepto, este proyecto únicamente contempla la utilización
de llaves y certificados auto generados y auto firmados para el uso del
protocolo de HTTPS. Para ello, se utiliza la librería de openssl
. De modo
que localmente, se cuente con los certificados requeridos para correr el
proyecto con HTTPS.
Dentro de los directorios de /frontend
y /backend
, se requiere generar
subdirectorios /frontend/crm/certs
y /backend/certs
, y dentro de estos, se
deben correr los siguientes comandos en terminal:
- Generar una llave privada para la Autoridad Certificadora (CA):
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out ca.key
- Generar el certificado raíz para la CA:
openssl req -x509 -new -nodes -key ca.key -sha256 -days 365 -out ca.crt
- Generar una llave privada para tu servidor:
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key
- Crear una Solicitud de Firma de Certificado (CSR) para el servidor:
openssl req -new -key server.key -out server.csr
- Firmar un CSR:
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 365 -sha256
Todos los archivos se deben de ignorar con archivos
/frontend/certs/.gitignore
, /backend/certs/.gitignore
que contengan lo
siguiente:
*
De modo que se ignore completamente todo el contenido del directorio, ya que no se deben de publicar las llaves, ni los certificados como buena práctica de seguridad. Aún si fuera inconsecuente ya que es únicamente una prueba de concepto como parte de los requisitos de la materia.
En la raíz de \backend
debe existir un archivo .env
con los siguientes elementos.
MONGO_URI=mongodb://localhost:27017/SandersDB
PORT=5001
JWT_SECRET=super_secret_phrase
JWT_EXPIRATION_TIME=3600
En \frontend\crm
:
VITE_API_URL=https://localhost:5001/api
En \frontend\donaciones
:
HTTPS=true
En la raíz del proyecto, corre el comando:
npm run dependencies
En la raíz del proyecto, corre el comando:
npm run SUDOcreate
Warning
Se necesita instalar en el sistema Mongodb y Mongosh para poder correr la base de datos e insertar el usuario administrativo con este comando.
Esto creara un usuario para acceder al crm con las siguientes credenciales:
- Username:
admin
- Contraseña:
admin
Utiliza el comando npm start
para correr el proyecto. Si todo se instaló de manera apropiada deberías ver mensajes en la terminal de [DONOS], [FRONT] y [BACK]
.
Puedes acceder al CRM con las credenciales creadas en la URL https:localhost:5173 y al portal de donaciones en la URL https://localhost:3000, o los puertos que se hayan configurado en los archivos .env
.