Seguridad
Apertur esta construido con seguridad en cada capa. Esta guia cubre las herramientas y mejores practicas para proteger sus API keys, verificar los payloads de webhooks y asegurar su cuenta.
Seguridad de API keys
Las API keys son la forma principal de autenticarse con la API de Apertur. Mantenerlas seguras es fundamental para proteger su cuenta y los datos de sus usuarios.
Lista de IPs permitidas
Restrinja su API key a direcciones IP o rangos CIDR especificos para que solo sus servidores puedan realizar solicitudes.
- Abra su proyecto y vaya a Configuracion > API Keys.
- Haga clic en la clave que desea restringir.
- En Lista de IPs permitidas, agregue las direcciones IP de su servidor.
- Haga clic en Guardar. Las solicitudes desde otras IPs seran rechazadas con un error 403.
Restricciones de dominio
Para claves del lado del cliente (si aplica), restrinja la clave a dominios especificos para evitar el uso no autorizado.
- Abra su proyecto y vaya a Configuracion > API Keys.
- Haga clic en la clave que desea restringir.
- En Dominios permitidos, agregue los dominios de su sitio web.
- Haga clic en Guardar. Las solicitudes desde otros origenes seran rechazadas.
Rotacion de claves
Rote sus API keys regularmente, especialmente si sospecha que una clave ha sido comprometida. Puede crear una nueva clave y migrar su integracion antes de revocar la anterior: ambas claves pueden estar activas simultaneamente durante la transicion.
Importante
Nunca incluya API keys en el control de versiones, las incruste en codigo del lado del cliente o las comparta en texto plano. Use variables de entorno o un gestor de secretos.
TOTP para API keys
Para una capa adicional de seguridad, puede requerir una contrasena de un solo uso basada en el tiempo (TOTP) con cada solicitud a la API que utilice una clave especifica.
- Abra la configuracion de su API key y haga clic en Habilitar TOTP.
- Escanee el QR code con su aplicacion de autenticacion (Google Authenticator, Authy, 1Password, etc.).
- Ingrese el codigo de 6 digitos para verificar la configuracion.
- De ahora en adelante, incluya el codigo TOTP en el encabezado X-APTR-TOTP con cada solicitud.
El nombre del encabezado es X-APTR-TOTP. Los codigos son validos por 30 segundos con una tolerancia de un paso de tiempo.
curl -X POST https://api.apertur.ca/v1/sessions \
-H "Authorization: Bearer aptr_xxxx" \
-H "X-APTR-TOTP: 123456" \
-H "Content-Type: application/json" \
-d '{ "delivery_mode": "webhook", "webhook_url": "https://..." }'Consejo
TOTP para API keys es ideal para entornos de alta seguridad como servicios financieros o salud. Para la mayoria de los casos de uso, la lista de IPs permitidas proporciona proteccion suficiente.
Certificados de cliente (mTLS)
TLS mutuo (mTLS) proporciona el nivel mas alto de autenticacion de API al requerir un certificado de cliente con cada solicitud, ademas de su API key.
- Genere un certificado de cliente y una clave privada (o use uno emitido por la CA de su organizacion).
- Suba el certificado a la configuracion de su API key en Certificados de cliente.
- Apertur validara el certificado en cada solicitud.
- Incluya tanto el certificado como la clave al realizar llamadas a la API (vea el ejemplo a continuacion).
- Las solicitudes sin un certificado de cliente valido seran rechazadas con un error 403.
# cURL with client certificate
curl -X POST https://api.apertur.ca/v1/sessions \
--cert client.crt \
--key client.key \
-H "Authorization: Bearer aptr_xxxx" \
-H "Content-Type: application/json" \
-d '{ "delivery_mode": "webhook", "webhook_url": "https://..." }'Contrasenas de sesion
Puede proteger sesiones de carga individuales con una contrasena. Cuando se establece, los usuarios finales deben ingresar la contrasena antes de poder subir fotos.
curl -X POST https://api.apertur.ca/v1/sessions \
-H "Authorization: Bearer aptr_xxxx" \
-H "Content-Type: application/json" \
-d '{
"delivery_mode": "webhook",
"webhook_url": "https://your-app.com/webhook",
"password": "claim-4521-pin"
}'Las contrasenas se hashean usando bcrypt en el servidor. Apertur nunca almacena contrasenas en texto plano y no se pueden recuperar despues de la creacion.
Caso de uso
Las contrasenas de sesion son utiles para flujos de trabajo sensibles, como reclamos de seguros o envios de fotos medicas, donde desea asegurarse de que solo el destinatario previsto pueda subir fotos.
SDK Origin Validation
When using the aptr-connect SDK, you can restrict which domains are allowed to use your public key by configuring allowed domains on your OAuth app. The server validates the Origin header of incoming requests against your allowed domains list.
Wildcards are supported: *.example.com matches any subdomain at any depth. Leave the list empty during development to allow all origins.
Configure allowed domains in your partner OAuth app settings.
Verificacion de firmas de webhooks
Cada entrega de webhook incluye un encabezado X-APTR-Signature que contiene una firma HMAC-SHA256 del cuerpo de la solicitud. Verifique esta firma para asegurarse de que el payload fue enviado por Apertur y no ha sido alterado.
const crypto = require("crypto");
function verifyWebhook(body, signatureHeader, secret) {
const expected = "sha256=" +
crypto.createHmac("sha256", secret)
.update(body)
.digest("hex");
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(signatureHeader)
);
}
// In your Express handler:
app.post("/webhook", express.raw({ type: "*/*" }), (req, res) => {
if (!verifyWebhook(req.body, req.headers["x-aptr-signature"], WEBHOOK_SECRET)) {
return res.status(401).send("Invalid signature");
}
// Safe to process...
res.status(200).end();
});import hmac
import hashlib
def verify_webhook(body: bytes, signature: str, secret: str) -> bool:
expected = "sha256=" + hmac.new(
secret.encode(), body, hashlib.sha256
).hexdigest()
return hmac.compare_digest(expected, signature)Nota de seguridad
Siempre use una funcion de comparacion en tiempo constante (como timingSafeEqual o hmac.compare_digest) para prevenir ataques de temporizado al verificar firmas.
Seguridad de la cuenta
Mas alla de la seguridad de las API keys, proteja su cuenta de Apertur con estas medidas.
Autenticacion de dos factores (2FA)
Habilite 2FA para requerir un segundo paso de verificacion al iniciar sesion.
- Vaya a Configuracion de la cuenta > Seguridad.
- Haga clic en Habilitar autenticacion de dos factores.
- Escanee el QR code con su aplicacion de autenticacion.
- Ingrese el codigo de verificacion y guarde sus codigos de recuperacion en un lugar seguro.
- De ahora en adelante, necesitara su codigo de autenticacion cada vez que inicie sesion.
Passkeys
Las passkeys proporcionan una experiencia de inicio de sesion sin contrasena y resistente al phishing, utilizando biometria o una llave de seguridad fisica.
- Vaya a Configuracion de la cuenta > Seguridad.
- Haga clic en Agregar passkey.
- Siga las indicaciones de su navegador para registrar una passkey (huella digital, Face ID o llave de seguridad).
- Ahora puede iniciar sesion usando su passkey en lugar de una contrasena.
Alertas de inicio de sesion
Apertur envia una notificacion por correo electronico cuando se accede a su cuenta desde un dispositivo o ubicacion nuevos. Revise estas alertas de inmediato y cambie su contrasena si no reconoce la actividad.
Articulos relacionados
Le resulto util este articulo?
Necesita mas ayuda? Contacte a nuestro equipo de soporte.