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.
GitHub para principiantes: qué hacen Git y GitHub, los términos básicos, una práctica local con Git y cómo revisar un proyecto antes de ejecutarlo.
GitHub es un sitio web donde las personas guardan, comparten y revisan proyectos de software. La mayoría de esos proyectos se controlan con Git, una herramienta de control de versiones que registra cada cambio en un conjunto de archivos. GitHub mantiene los repositorios Git en línea, ofrece una interfaz web y da a los equipos pull requests, issues y releases para trabajar juntos en el código.
Respuesta corta: Git es la herramienta, y GitHub es uno de los lugares donde los proyectos Git se alojan y se discuten.
Git funciona en tu propia computadora. Puedes convertir cualquier carpeta en un repositorio y registrar cambios sin conexión a internet y sin una cuenta de GitHub.
GitHub es un servicio en línea. Guarda copias de repositorios Git, muestra archivos e historial en el navegador y añade funciones como seguimiento de issues y pull requests. Otros servicios también alojan repositorios Git, así que GitHub es solo uno de los lugares donde se alojan proyectos Git.
Crear un repositorio tú mismo es la forma más rápida de entender estos términos.
No necesitas GitHub para aprender lo básico. Instala Git desde el sitio oficial, git-scm.com, y luego revisa la versión instalada:
git --versionEn la máquina Windows donde se revisó este artículo, el comando imprimió:
git version 2.49.0.windows.1Tu salida mostrará otra versión. Después, configura el nombre y el correo que Git asocia a cada commit. Usa tus propios datos:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"Ahora crea un repositorio de práctica con dos ramas y dos commits:
mkdir security-learning-notes
cd security-learning-notes
git init
printf '# security-learning-notes\n' > README.md
git add README.md
git commit -m "Add README"
git switch -c add-glossary
printf -- '- DNS\n- HTTPS\n- hash\n- encryption\n' > glossary.md
git add glossary.md
git commit -m "Add glossary terms"
git branchAl ejecutar git branch en ese repositorio, la salida fue:
* add-glossary
masterEl asterisco marca la rama en la que estás. El nombre de la rama predeterminada puede ser master o main, según tu configuración de Git. En Windows, Git también puede mostrar advertencias sobre los finales de línea. Esas advertencias no cambian los commits.
La guía Hello World de GitHub recorre este flujo en el navegador. Los menús y los nombres de los botones cambian con el tiempo, así que sigue la guía oficial si tu pantalla no coincide con este texto:
security-learning-notes. Elige público o privado.README.md con una frase que describa el proyecto.add-glossary.El paso del pull request importa incluso en un repositorio personal. La vista del diff muestra exactamente qué líneas cambiaron antes de que algo llegue a la rama principal.
Para enviar un repositorio local a GitHub, crea un repositorio vacío en el sitio y luego conéctalo desde la terminal. OWNER y REPOSITORY son marcadores de posición. Cambia main por el nombre de tu rama si git branch muestra master:
git remote add origin https://github.com/OWNER/REPOSITORY.git
git push -u origin mainUn git clone copia el repositorio con su historial completo:
git clone https://github.com/OWNER/REPOSITORY.gitSustituye OWNER y REPOSITORY por el dueño y el nombre que aparecen en la barra de direcciones de la página del proyecto. Clonar descarga archivos. No ejecuta nada del proyecto y no demuestra que sea seguro. Un ZIP descargado desde el sitio trae los archivos sin historial, lo cual sirve para leer, pero pierde el rastro de commits.
Antes de ejecutar una herramienta que nunca has usado, revisa el propio repositorio:
install.sh u otro script de instalación cambia paquetes del sistema, instala servicios o pide privilegios de administrador?Lee los scripts de instalación antes de ejecutarlos. Un README que te pide pegar un comando en la terminal te está pidiendo que ejecutes código en tu máquina.
Las herramientas de seguridad son para trabajo autorizado. Practica en máquinas que son tuyas, en un laboratorio que tú montaste o en objetivos para los que tienes permiso por escrito.
Confundir Git con GitHub es un error frecuente. Git funciona en tu computadora y no necesita un sitio web. GitHub es un servicio construido alrededor de Git.
Subir secretos al repositorio es el segundo. Un token o una contraseña que subes a un repositorio público los puede copiar cualquiera que los encuentre. Borrar la línea en un commit posterior no la elimina del historial. Revoca primero la credencial y luego sigue la guía de GitHub sobre cómo eliminar datos sensibles de un repositorio.
Ejecutar comandos de un README sin leerlos es el tercero. Los scripts de instalación pueden cambiar tu computadora, así que léelos antes de ejecutarlos.
El siguiente artículo de esta ruta explica cómo crear una cuenta de GitHub y tu primer repositorio. Cuando estos conceptos básicos ya te resulten habituales, puedes empezar a mirar herramientas de seguridad. Prueba cada una en un laboratorio que controles antes de confiarle algo real.
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.