O cliente Apidog oferece suporte a controles de segurança para determinadas operações que envolvem acesso a recursos locais ou recursos de execução de código. Nas configurações de Segurança, você pode pré-configurar o intervalo de recursos disponíveis para projetos confiáveis. Se um projeto não tiver sido pré-autorizado, mas acionar uma operação relacionada, o cliente exibirá uma solicitação de confirmação antes da execução e continuará somente depois que o usuário confirmar.As configurações de segurança ajudam a reduzir o risco de recursos sensíveis serem usados indevidamente ou invocados inesperadamente, tornando as chamadas a recursos locais mais controláveis.Acessar as Configurações de Segurança#
Você pode acessar as configurações de Segurança pelo seguinte caminho:1
Abra o cliente Apidog e clique no ícone Configurações no canto superior direito
2
Selecione Segurança em Preferências
3
Na página Segurança, configure o escopo de autorização para recursos como conexões de banco de dados, chamada de programas externos e carregamento dinâmico de pacotes npm
Confirmação de Autorização para Operações de Alto Risco#
Alguns recursos envolvem acesso a recursos locais, chamadas a programas externos ou carregamento de dependências de terceiros. Para reduzir o risco de uso indevido, o Apidog adiciona um mecanismo de confirmação de autorização de segurança para essas operações.Os recursos configuráveis atualmente compatíveis incluem:Conexões de banco de dados: Controla se um projeto pode usar conexões de banco de dados configuradas em scripts pré ou pós-operação, reduzindo o risco de projetos ou scripts não autorizados acessarem recursos de banco de dados ou acessarem recursos da intranet por meio de um túnel SSH
Chamada de programas externos: Controla se um projeto pode chamar scripts ou arquivos de código executáveis no diretório External Programs, reduzindo o risco de programas locais serem invocados inesperadamente
Carregamento dinâmico de pacotes npm: Controla se um projeto pode instalar e carregar pacotes npm durante o runtime, reduzindo riscos de segurança causados pelo uso indevido de dependências de terceiros
Você pode habilitar ou desabilitar esses recursos separadamente nas configurações de Segurança e configurar o escopo de autorização para projetos confiáveis.Configuração Estática: Pré-autorizar Projetos Confiáveis#
Se você confirmar que um projeto precisa usar recursos como conexões de banco de dados, chamada de programas externos ou carregamento dinâmico de pacotes npm, poderá adicionar o projeto em Projetos Autorizados para o recurso correspondente.Após a configuração, os projetos autorizados poderão usar o recurso correspondente de acordo com as regras de autorização atuais.Recomendamos habilitar esses recursos somente para projetos confiáveis e revisar regularmente a lista de projetos autorizados para evitar que projetos que não são mais usados ou que não são mais confiáveis mantenham permissões para recursos sensíveis.
Autorização Dinâmica: Confirmação de Autorização em Runtime#
Se um projeto não tiver sido pré-autorizado, mas acionar uma operação de alto risco relacionada durante o runtime, o cliente exibirá uma solicitação de confirmação de autorização antes da execução.Por exemplo, quando um projeto que não foi pré-autorizado chama um programa externo por meio de um script pré ou pós-operação, o cliente avisará que essa operação pode contornar o ambiente de sandbox e perguntará se deve permitir que o projeto atual use esse recurso. A operação relacionada continuará somente depois que o usuário confirmar; se o usuário cancelar, a operação não continuará.Esse mecanismo de confirmação de configuração estática + autorização dinâmica adiciona uma etapa extra de confirmação para recursos sensíveis sem afetar o uso normal.
Restrições a Chamadas de Programas Externos#
Para reduzir os riscos de segurança causados pela execução de scripts, o Apidog restringe ainda mais o escopo das chamadas de programas externos.Agora, o cliente e a CLI permitem chamar somente scripts ou arquivos de código executáveis no diretório External Programs. Em scripts pré ou pós-operação, fluxos de trabalho automatizados ou cenários de CLI, se você precisar chamar um programa externo, deverá primeiro colocar o script ou arquivo de código executável relevante no diretório External Programs e, em seguida, chamá-lo usando o método correspondente.Isso impede que scripts chamem programas locais a partir de caminhos arbitrários e reduz potenciais riscos de segurança causados por limites de execução excessivamente amplos.Restrições ao Parâmetro command de executeAsync#
Ao chamar um script externo por meio de executeAsync, o Apidog também restringe os valores permitidos do parâmetro command para impedir que comandos de execução de script sejam especificados arbitrariamente.Atualmente, command só pode ser definido como python3 ao chamar scripts Python.Se scripts existentes dependerem de outros valores do parâmetro command, recomendamos ajustar o método de invocação do script de acordo com as novas regras de execução para evitar afetar fluxos de trabalho existentes.Recomendações#
1.
Habilite recursos como conexões de banco de dados, chamada de programas externos e carregamento dinâmico de pacotes npm somente quando necessário, e autorize apenas projetos confiáveis.
2.
Se seus fluxos de trabalho automatizados, scripts pré ou pós-operação ou tarefas de CLI envolverem chamadas a programas externos, verifique se o caminho do script e o parâmetro command estão em conformidade com as novas regras de execução.
3.
Se um projeto não precisar mais de um recurso, desabilite imediatamente o botão correspondente nas configurações de Segurança ou remova o projeto autorizado.