O cliente Apidog suporta controlos de segurança para determinadas operações que envolvem acesso a recursos locais ou capacidades de execução de código. Nas definições de Segurança, pode pré-configurar o intervalo de capacidades disponíveis para projetos fidedignos. Se um projeto não tiver sido previamente autorizado, mas acionar uma operação relacionada, o cliente apresentará um pedido de confirmação antes da execução e continuará apenas depois de o utilizador confirmar.As definições de segurança ajudam a reduzir o risco de capacidades sensíveis serem utilizadas indevidamente ou invocadas de forma inesperada, tornando as chamadas a capacidades locais mais controláveis.Aceder às Definições de Segurança#
Pode aceder às definições de Segurança através do seguinte caminho:1
Abra o cliente Apidog e clique no ícone Definições no canto superior direito
2
Selecione Segurança em Preferências
3
Na página Segurança, configure o âmbito de autorização para capacidades como ligações a bases de dados, chamada de programas externos e carregamento dinâmico de pacotes npm
Confirmação de Autorização para Operações de Alto Risco#
Algumas capacidades envolvem acesso a recursos locais, chamadas de programas externos ou carregamento de dependências de terceiros. Para reduzir o risco de utilização indevida, o Apidog adiciona um mecanismo de confirmação de autorização de segurança para estas operações.As capacidades configuráveis atualmente suportadas incluem:Ligações a bases de dados: Controla se um projeto pode utilizar ligações a bases de dados configuradas em scripts pré- ou pós-operação, reduzindo o risco de projetos ou scripts não autorizados acederem a recursos de bases de dados, ou acederem a recursos da intranet através de um túnel SSH
Chamada de programas externos: Controla se um projeto pode chamar scripts ou ficheiros de código executável no diretório External Programs, reduzindo o risco de programas locais serem invocados de forma inesperada
Carregamento dinâmico de pacotes npm: Controla se um projeto pode instalar e carregar pacotes npm durante o tempo de execução, reduzindo os riscos de segurança causados pela utilização indevida de dependências de terceiros
Pode ativar ou desativar estas capacidades separadamente nas definições de Segurança e configurar o âmbito de autorização para projetos fidedignos.Configuração Estática: Pré-autorizar Projetos Fidedignos#
Se confirmar que um projeto precisa de utilizar capacidades como ligações a bases de dados, chamada de programas externos ou carregamento dinâmico de pacotes npm, pode adicionar o projeto em Projetos Autorizados para a capacidade correspondente.Após a configuração, os projetos autorizados podem utilizar a capacidade correspondente de acordo com as regras de autorização atuais.Recomendamos ativar estas capacidades apenas para projetos fidedignos e rever regularmente a lista de projetos autorizados para impedir que projetos que já não são utilizados ou que já não são fidedignos mantenham permissões para capacidades sensíveis.
Autorização Dinâmica: Confirmação de Autorização em Tempo de Execução#
Se um projeto não tiver sido previamente autorizado, mas acionar uma operação de alto risco relacionada durante o tempo de execução, o cliente apresentará um pedido de confirmação de autorização antes da execução.Por exemplo, quando um projeto que não foi previamente autorizado chama um programa externo através de um script pré- ou pós-operação, o cliente avisará que esta operação poderá contornar o ambiente de sandbox e perguntará se pretende permitir que o projeto atual utilize esta capacidade. A operação relacionada continuará apenas depois de o utilizador confirmar; se o utilizador cancelar, a operação não continuará.Este mecanismo de confirmação de configuração estática + autorização dinâmica adiciona uma etapa de confirmação extra para capacidades sensíveis sem afetar a utilização normal.
Restrições às Chamadas de Programas Externos#
Para reduzir os riscos de segurança causados pela execução de scripts, o Apidog restringe ainda mais o âmbito das chamadas de programas externos.Agora, o cliente e a CLI permitem apenas chamar scripts ou ficheiros de código executável no diretório External Programs. Em scripts pré- ou pós-operação, fluxos de trabalho automatizados ou cenários de CLI, se precisar de chamar um programa externo, deve primeiro colocar o script ou ficheiro de código executável relevante no diretório External Programs e, em seguida, chamá-lo utilizando o método correspondente.Isto 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 demasiado amplos.Restrições ao Parâmetro command de executeAsync#
Ao chamar um script externo através de executeAsync, o Apidog também restringe os valores permitidos do parâmetro command para impedir que comandos de execução de scripts sejam especificados arbitrariamente.Atualmente, command só pode ser definido como python3 ao chamar scripts Python.Se os scripts existentes dependerem de outros valores do parâmetro command, recomendamos ajustar o método de invocação de scripts de acordo com as novas regras de execução para evitar afetar os fluxos de trabalho existentes.Recomendações#
1.
Ative capacidades como ligações a bases de dados, chamada de programas externos e carregamento dinâmico de pacotes npm apenas quando necessário, e autorize apenas projetos fidedignos.
2.
Se os seus fluxos de trabalho automatizados, scripts pré- ou pós-operação ou tarefas de CLI envolverem chamadas de programas externos, verifique se o caminho do script e o parâmetro command cumprem as novas regras de execução.
3.
Se um projeto já não precisar de uma capacidade, desative imediatamente o seletor correspondente nas definições de Segurança ou remova o projeto autorizado.