WSL2 se ha convertido en una herramienta clave para equipos DevSecOps que buscan una solución ligera, segura y flexible para automatizar la integración, entrega y operaciones de software. Su compatibilidad con herramientas de seguridad, contenedores, scripting y pipelines CI/CD, lo convierte en un puente ideal entre desarrollo y operaciones dentro del sistema operativo Windows.

Este artículo detalla un caso real de integración de WSL2 en un entorno DevSecOps, con ejemplos de workflows que incluyen validación de código, escaneo de vulnerabilidades, despliegue automatizado y hardening de entornos desde una terminal Linux sobre Windows.

Objetivo Link to heading

Demostrar cómo un entorno WSL2 puede ser parte activa y segura en un flujo DevSecOps moderno, usando herramientas como Docker, GitHub Actions, Trivy, Ansible y más.

Paso 1: Preparar entorno de trabajo seguro en WSL2 Link to heading

Instalar herramientas básicas:

sudo apt update && sudo apt install -y git curl build-essential python3-pip

Instalar Docker dentro de WSL2 o usar Docker Desktop con integración activa:

docker version

Instalar herramientas DevSecOps:

pip install ansible
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh

Paso 2: Escaneo de vulnerabilidades con Trivy Link to heading

Escanear imágenes antes del despliegue:

docker pull node:18
trivy image node:18

Escanear un proyecto local:

trivy fs .

Agregar esto a un script scan.sh para automatizar:

#!/bin/bash
echo "Escaneando vulnerabilidades..."
trivy fs ./backend

Paso 3: Automatización de seguridad con Ansible Link to heading

Playbook de hardening básico:

- name: Aplicar hardening de sistema
  hosts: localhost
  tasks:
    - name: Asegurar permisos de logs
      file:
        path: /var/log
        state: directory
        mode: '0750'

Ejecutar desde WSL2:

ansible-playbook playbooks/hardening.yml -c local

Paso 4: CI/CD con GitHub Actions desde WSL2 Link to heading

Simular el pipeline local con act:

brew install act
act -j test

Ejemplo de workflow:

name: CI

on: push

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - run: npm install
      - run: npm test

Usar WSL2 para validar estos scripts antes de hacer push a producción.

Paso 5: Integración de análisis de código estático Link to heading

Instalar ESLint o Bandit (Python):

npm install -g eslint
pip install bandit

Escanear:

eslint ./frontend
bandit -r ./backend

Paso 6: Política de seguridad de contenedores Link to heading

Definir un archivo Dockerfile seguro:

FROM node:18-alpine
RUN addgroup -S app && adduser -S app -G app
USER app
COPY . .
CMD ["node", "index.js"]

Validar con Trivy o Docker Scout:

trivy image myimage:latest

Buenas prácticas Link to heading

  • No usar root dentro de contenedores
  • Validar código con linters y analizadores de seguridad
  • Versionar todos los scripts y playbooks en Git
  • Usar variables de entorno cifradas para secrets
  • Monitorear imágenes con alertas de vulnerabilidad

Conclusión Link to heading

WSL2 permite simular y ejecutar flujos DevSecOps reales con herramientas de seguridad, automatización y despliegue en un entorno Linux completo dentro de Windows. Con acceso a Docker, Trivy, Ansible y GitHub Actions, es posible desarrollar y validar código seguro, auditable y productivo sin necesidad de servidores externos o máquinas virtuales.