Linux y herramientas de desarrollo
Bash básico para trabajo de seguridad
Aprende pipes, redirección, variables, bucles, códigos de salida y set -euo pipefail, y úsalos para contar logins fallidos y hashear una carpeta.
Crea una cuenta y un primer repositorio en GitHub desde el navegador, añade un README y un segundo commit, y mantén los secretos fuera.
Un repositorio de GitHub es una carpeta cuyos cambios registra Git. Cada cambio en sus archivos se guarda como un commit, así que puedes leer el historial después y ver qué cambió. Esta lección muestra cómo crear la cuenta, armar un repositorio y hacer dos commits, todo desde el navegador. No necesitas experiencia en programación ni herramientas de seguridad.
Ve a github.com y sigue el registro que indica el sitio. Usa una contraseña única, idealmente guardada en un gestor de contraseñas. Luego activa la autenticación de dos factores en la configuración de seguridad de tu cuenta. La guía oficial de 2FA enumera los métodos disponibles. El SMS solo se ofrece en algunos países.
La interfaz de GitHub cambia con el tiempo. Si alguna etiqueta de abajo no coincide con tu pantalla, usa la guía Hello World como referencia.
Abre el menú de creación en la esquina superior derecha y elige New repository. La guía oficial describe estos campos:
., - y _..gitignore y licencia, todos opcionales.Usa el nombre security-learning-notes, añade una descripción corta y elige Private mientras aprendes. Marca la opción para añadir un README y crea el repositorio.
La visibilidad privada limita quién puede ver el repositorio. Eso no lo convierte en un lugar seguro para contraseñas o claves, como explica la sección 6.
Abre README.md y haz clic en el icono de lápiz para editarlo en el navegador. Reemplaza el contenido por algo concreto:
# My Security Learning Notes
This repository contains exercises I created while learning cybersecurity.
## Topics
- How DNS works
- Encoding versus encryption
## Scope
All exercises use local labs or systems I own.Escribe un mensaje breve que describa el cambio, como Document learning goals, y confirma el commit. Un commit es un cambio guardado con mensaje y fecha. GitHub lo guarda como parte del historial del repositorio.
Elige Add file y luego Create new file. Escribe notes/first-lesson.md en el campo del nombre. La barra crea una carpeta. En el cuerpo, escribe un párrafo que explique la diferencia entre un hash de contraseña y el cifrado. Un hash es una huella de un solo sentido que sirve para comprobar un valor sin guardarlo. Quien tenga la clave puede revertir el cifrado. Haz commit de este archivo con su propio mensaje, como Add first lesson notes.
Los commits separados hacen que el historial sea más fácil de leer. Cada commit debe describir una sola idea.
Abre el historial de commits del repositorio. Deberías ver al menos dos commits con mensajes que entiendas. Lo importante es poder explicar qué cambió y por qué, no cuántos commits hay.
Si tienes Git instalado en tu computadora, el mismo historial está disponible desde la línea de comandos. Ejecuté esto en un repositorio de prueba con un commit con el mismo mensaje:
git log --onelineSalida de esa ejecución:
03c208a Document learning goalsTu hash será distinto. En Windows, Git puede mostrar una advertencia sobre los finales de línea en el primer commit. La advertencia no cambia el commit.
Antes de subir cualquier archivo, revisa si hay archivos .env, tokens de acceso, datos de clientes, credenciales de la nube y registros privados. Un .gitignore le indica a Git que ignore los archivos que coinciden con sus patrones, lo que ayuda a evitar accidentes. No elimina un secreto que ya se commiteó, porque el commit anterior sigue en el historial.
Un ejemplo de .gitignore para un proyecto de estudio:
.env
*.pem
*.logSi commiteas un secreto por error, revócalo o rótalo primero. Con el secreto revocado o rotado, el valor anterior ya no da acceso y reescribir el historial puede no valer la pena. La guía de GitHub sobre eliminar datos sensibles cubre ambos pasos, incluidos los efectos secundarios de una reescritura.
Un repositorio web sirve para entender la estructura y el historial. El siguiente paso es aprender qué hace Git en tu propia máquina y cómo git clone crea una copia local del repositorio para trabajar de forma segura.
Guarda en este repositorio solo notas y ejercicios que no te importaría mostrar a cualquier persona.
Linux y herramientas de desarrollo
Aprende pipes, redirección, variables, bucles, códigos de salida y set -euo pipefail, y úsalos para contar logins fallidos y hashear una carpeta.
Linux y herramientas de desarrollo
Propietarios, grupos, bits rwx, chmod, umask y setuid en Linux, con un laboratorio que prueba el acceso de otro usuario y busca modos riesgosos.
Linux y herramientas de desarrollo
Cómo funcionan las claves SSH de host y de usuario, por qué Ed25519 con frase de paso es el estándar y cómo proteger el acceso en una VM de laboratorio.