¿Cuál es la forma más segura de implementar una API de ‘súper administrador’ para su aplicación web?

Lo primero en lo que debe pensar es si todas las conexiones provendrán de una sola API, en otras palabras, si la administra desde un software cargado en una red y se conecta desde una dirección IP estática, o si está utilizando un dispositivo móvil con un dispositivo nativo aplicación instalada que tendrá una nueva dirección IP cada vez que se mueva entre torres. La razón por la que señalo esto es por la restricción del nivel de IP, pero en el nivel más básico, las formas más comunes de restringir el acceso a la API de “superusuario” de esta manera son …

  • Restrinja las conexiones solo a IP confiables
  • Todas las comunicaciones deben realizarse a través de una conexión HTTPS
  • Use sesiones de muy corta duración, IE: 1 minuto de tiempo de inactividad y la sesión expira
  • Cada solicitud debe tener una ID de sesión válida que se verifica cada vez para garantizar que la sesión sea válida.
  • Use un certificado de cliente encima de una ID de usuario para validar el dispositivo y el usuario
  • Si ambos sistemas están en la misma red, restrinja la API de súper administrador a la red local y no permita el acceso a ella a través de Internet

En general, el súper administrador debe autenticarse a través de un punto final que devolvería un token con una marca de tiempo de vencimiento. Debe crear una especie de función global catch all que verifique la existencia y validez de este token antes de cada llamada a la API. Y también tiendo a eliminar los registros de forma bastante simple, eliminarlos de la tabla. Muchos marcos de todas las tecnologías tienen compatibilidad inmediata para la generación y validación del token. Es posible que desee verificar algunas bibliotecas antes de implementar su propia implementación.