ArtiFerrisSeguridad
Seguridad y sus datos
Las medidas que protegen una instancia, descritas con precisión. Los datos permanecen en su servidor; solo los nombres y versiones de los paquetes auditados se envían a registry.npmjs.org.
Lo que devuelve el servidor
Las cabeceras de seguridad, tal como las envía una instancia.
$ curl -s -D - -o /dev/null https://app.artiferris.pro/healthz
HTTP/2 200
content-security-policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https:; font-src 'self' data:; connect-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'
content-type: text/plain; charset=utf-8
cross-origin-opener-policy: same-origin
cross-origin-resource-policy: same-origin
date: Tue, 06 Oct 2026 14:31:01 GMT
permissions-policy: accelerometer=(), autoplay=(), camera=(), display-capture=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), usb=(), xr-spatial-tracking=()
referrer-policy: same-origin
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: origin
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block
content-length: 2- La autenticación en dos pasos es obligatoria
- Aplicación de autenticación o clave de acceso, con diez códigos de respaldo. Un token distinto y de corta duración representa «contraseña comprobada, segundo factor pendiente»; no sirve como sesión.
- Contraseñas con hash Argon2
- Para las cuentas locales. Las cuentas LDAP y OIDC se autentican ante su proveedor, y los inicios de sesión fallidos están limitados.
- Permisos comprobados en cada ruta
- El servidor aplica los permisos de un repositorio; no solo se ocultan en la interfaz. Los cuerpos de las peticiones solo se leen después de esas comprobaciones.
- Secretos cifrados con AES-256-GCM
- Contraseñas SMTP, LDAP y OIDC, credenciales de los proxys y semillas TOTP, bajo
SECRETS_ENCRYPTION_KEY, que se cambia sin pérdida mediante una rotación. - Tokens, almacenados con hash
- Las herramientas de línea de comandos se autentican con un token de API, que el servidor no puede volver a leer. Los tokens que Docker obtiene tras
docker loginduran 2 minutos. - Una memoria acotada
- Los blobs Docker van a disco a medida que llegan. Los documentos mantenidos en memoria tiran de un presupuesto de 1 GiB, y un cliente tiene como mucho cuatro cuerpos en curso.
- Un presupuesto para el tráfico anónimo
- Las páginas públicas, la API pública y las lecturas npm y Docker tienen un presupuesto por cliente y por minuto, compartido entre réplicas. La base de datos solo recibe huellas, nunca una dirección.
- Registros de auditoría y de seguridad
- Conservados 365 días por defecto. Allí se registran los inicios de sesión, los accesos denegados y las acciones de administración.
- Conexiones salientes controladas
- LDAP, SMTP, OIDC y los proxys no alcanzan ninguna dirección privada, salvo los rangos que usted autorice. Un proxy solo envía sus credenciales al registro de origen configurado, por
https. - Sus datos, en su servidor
- PostgreSQL y un volumen, ambos a su cargo para las copias de seguridad. Con el chart de Helm, el pod se ejecuta sin privilegios, en un sistema de archivos de solo lectura.
Evalúe ArtiFerris y luego despliegue su propia instancia.
La instancia pública permite descubrir el producto. Su instancia conserva sus paquetes.
git clone https://github.com/Masmarino/ArtiFerris.git
cd ArtiFerris
cp .env.example .env
# set POSTGRES_PASSWORD, JWT_SECRET, SECRETS_ENCRYPTION_KEY, PUBLIC_URL and the first admin in .env
docker compose up -d --build