El cliente de Apidog admite controles de seguridad para determinadas operaciones que implican acceso a recursos locales o capacidades de ejecución de código. En la configuración de Seguridad, puede preconfigurar el rango de capacidades disponibles para proyectos de confianza. Si un proyecto no ha sido preautorizado pero activa una operación relacionada, el cliente mostrará una solicitud de confirmación antes de la ejecución y continuará solo después de que el usuario confirme.La configuración de seguridad ayuda a reducir el riesgo de que capacidades sensibles se utilicen indebidamente o se invoquen de forma inesperada, lo que hace que las llamadas a capacidades locales sean más controlables.Acceder a la configuración de seguridad#
Puede acceder a la configuración de Seguridad mediante la siguiente ruta:1
Abra el cliente de Apidog y haga clic en el icono de Configuración en la esquina superior derecha
2
Seleccione Seguridad en Preferencias
3
En la página Seguridad, configure el alcance de autorización para capacidades como conexiones a bases de datos, llamadas a programas externos y carga dinámica de paquetes npm
Confirmación de autorización para operaciones de alto riesgo#
Algunas capacidades implican acceso a recursos locales, llamadas a programas externos o carga de dependencias de terceros. Para reducir el riesgo de uso indebido, Apidog añade un mecanismo de confirmación de autorización de seguridad para estas operaciones.Las capacidades configurables admitidas actualmente incluyen:Conexiones a bases de datos: Controla si un proyecto puede usar conexiones a bases de datos configuradas en scripts previos o posteriores a una operación, lo que reduce el riesgo de que proyectos o scripts no autorizados accedan a recursos de bases de datos, o accedan a recursos de intranet a través de un túnel SSH
Llamadas a programas externos: Controla si un proyecto puede llamar a scripts o archivos de código ejecutable en el directorio External Programs, lo que reduce el riesgo de que programas locales se invoquen de forma inesperada
Carga dinámica de paquetes npm: Controla si un proyecto puede instalar y cargar paquetes npm durante el tiempo de ejecución, lo que reduce los riesgos de seguridad causados por el uso indebido de dependencias de terceros
Puede habilitar o deshabilitar estas capacidades por separado en la configuración de Seguridad y configurar el alcance de autorización para proyectos de confianza.Configuración estática: preautorizar proyectos de confianza#
Si confirma que un proyecto necesita utilizar capacidades como conexiones a bases de datos, llamadas a programas externos o carga dinámica de paquetes npm, puede añadir el proyecto en Proyectos autorizados para la capacidad correspondiente.Después de la configuración, los proyectos autorizados pueden utilizar la capacidad correspondiente según las reglas de autorización actuales.Recomendamos habilitar estas capacidades solo para proyectos de confianza y revisar periódicamente la lista de proyectos autorizados para evitar que proyectos que ya no se utilizan o que ya no son de confianza conserven permisos para capacidades sensibles.
Autorización dinámica: confirmación de autorización en tiempo de ejecución#
Si un proyecto no ha sido preautorizado pero activa una operación de alto riesgo relacionada durante el tiempo de ejecución, el cliente mostrará una solicitud de confirmación de autorización antes de la ejecución.Por ejemplo, cuando un proyecto que no ha sido preautorizado llama a un programa externo mediante un script previo o posterior a una operación, el cliente indicará que esta operación puede omitir el entorno de sandbox y preguntará si desea permitir que el proyecto actual utilice esta capacidad. La operación relacionada continuará solo después de que el usuario confirme; si el usuario cancela, la operación no continuará.Este mecanismo de confirmación de configuración estática + autorización dinámica añade un paso adicional de confirmación para capacidades sensibles sin afectar el uso normal.
Restricciones sobre llamadas a programas externos#
Para reducir los riesgos de seguridad causados por la ejecución de scripts, Apidog restringe aún más el alcance de las llamadas a programas externos.Ahora, el cliente y la CLI solo permiten llamar a scripts o archivos de código ejecutable en el directorio External Programs. En scripts previos o posteriores a una operación, flujos de trabajo automatizados o escenarios de CLI, si necesita llamar a un programa externo, primero debe colocar el script o archivo de código ejecutable correspondiente en el directorio External Programs y, a continuación, llamarlo utilizando el método correspondiente.Esto impide que los scripts llamen a programas locales desde rutas arbitrarias y reduce los posibles riesgos de seguridad causados por límites de ejecución demasiado amplios.Restricciones sobre el parámetro command de executeAsync#
Al llamar a un script externo mediante executeAsync, Apidog también restringe los valores permitidos del parámetro command para impedir que se especifiquen comandos de ejecución de scripts de forma arbitraria.Actualmente, command solo puede establecerse en python3 al llamar a scripts de Python.Si los scripts existentes dependen de otros valores del parámetro command, recomendamos ajustar el método de invocación del script de acuerdo con las nuevas reglas de ejecución para evitar afectar los flujos de trabajo existentes.Recomendaciones#
1.
Habilite capacidades como conexiones a bases de datos, llamadas a programas externos y carga dinámica de paquetes npm solo cuando sea necesario, y autorice únicamente proyectos de confianza.
2.
Si sus flujos de trabajo automatizados, scripts previos o posteriores a una operación, o tareas de CLI implican llamadas a programas externos, compruebe si la ruta del script y el parámetro command cumplen las nuevas reglas de ejecución.
3.
Si un proyecto ya no necesita una capacidad, deshabilite oportunamente el interruptor correspondiente en la configuración de Seguridad o elimine el proyecto autorizado.