Notas de segurança para desenvolvedores de soluções do Office
Definir a segurança do Office em um ambiente de teste
Observação
Você pode incluir Visual Basic for Applications código (VBA) ou executar suplementos COM apenas em um documento, planilha ou apresentação habilitado para macro. Você pode criar um arquivo habilitado para macro salvando os documentos com uma extensão .docm ou .dotm no Word; uma extensão .xlsm, .xltm ou .xlam no Excel; ou uma extensão .pptm, .potm, .ppam ou .ppsm no PowerPoint.
Para instalar e executar um suplemento COM não assinado, os Suplementos de Aplicativo obrigatórios a serem assinados pelo Trusted Publisher e as opções Desabilitar todos os Suplementos de Aplicativo devem ser desmarcadas na guia Suplementos no Centro de Confiança. Para abrir a guia Suplementos, escolha a guia Arquivo e, em seguida, escolhaSuplementos de Configurações> do Centro de Confiança do Centro deConfiança>opções>.
Para executar todas as macros VBA, incluindo aquelas que não foram assinadas digitalmente, a opção Habilitar todas as macros deve ser selecionada no Centro de Confiança. Para exibir as opções Configurações de Macro, escolha a guia Arquivo e escolha Opções>Configurações de Macros> doCentro de Confiança do Centro> de Confiança. Por motivos de segurança, é altamente recomendável que você faça isso somente em um ambiente de teste. Depois de concluir o teste, defina as opções de volta para o estado original.
Na guia Configurações de Macro do Centro de Confiança, defina opções para Desabilitar todas as macros sem notificação, Desabilitar todas as macros com notificação ou Desabilitar todas as macros, exceto macros assinadas digitalmente. Desabilite macros salvando o documento do Word, a planilha do Excel ou a apresentação do PowerPoint como arquivos desabilitados por macro (.docm, .xlsm ou .pptm, respectivamente). Defina ou desabilite o acesso ao modelo de objeto de projeto do VBA na guia Configurações de Macro selecionando ou desmarcando o acesso de confiança à opção de modelo de objeto de projeto VBA .
Observação
Na faixa de opções de interface do usuário do Office Fluent, quando os suplementos com e específicos do aplicativo são habilitados e carregados, seus controles são exibidos em uma guia Suplementos .
Confira uma lista de suplementos disponíveis na guia Suplementos na Central de Confiança. Na mesma guia, habilite, desabilite, adicione ou remova suplementos COM ou Word selecionando o tipo de suplemento na caixa suspensa ao lado do rótulo Gerenciar e escolha o botão Ir .
Modificar o registro do Windows
Modificar o registro do Windows de qualquer maneira, seja no Editor do Registro ou programaticamente, sempre carrega algum grau de risco. Uma modificação incorreta pode causar problemas sérios que talvez exijam a reinstalação do sistema operacional. É sempre uma boa prática fazer backup do registro de um computador antes de modificá-lo. Se você estiver executando o Microsoft Windows NT, Windows 2000, Windows XP ou Windows Server 2003, você também deverá atualizar seu ERD (Disco de Reparo de Emergência).
Para obter informações sobre como editar o registro, consulte o tópico De Ajuda de Alterar Chaves e Valores no Editor do Registro (Regedit.exe) ou adicionar e excluir informações nos tópicos Registro e Editar Informações do Registro no Editor do Registro (Regedt32.exe).
Fazer chamadas de função da API do Windows
Antes de chamar funções de API (Interface de Programação de Aplicativo do Windows), você deve entender como argumentos e tipos de dados são tratados pelas DLLs da API do Windows. Chamar incorretamente funções do Windows pode resultar em falhas de página inválidas ou outros comportamentos inesperados. Para obter mais informações sobre como chamar funções do Windows, confira o tópico "API do Windows e Outras Bibliotecas Dynamic-Link" na Documentação online do Desenvolvedor do Office 2000.
Assinar digitalmente o código
Assinar digitalmente um documento é o processo de "carimbar" um documento para que o destinatário do documento possa ter certeza de que ele veio de uma fonte específica e pode detectar se o conteúdo do documento foi alterado desde que o documento foi assinado. Além disso, as assinaturas digitais podem ser usadas para marcar um documento como somente leitura para proteger sua autenticidade e integridade.
Além das assinaturas digitais, os documentos também podem conter assinaturas no documento visíveis no conteúdo do documento. O criador do documento pode criar documentos não assinados com linhas de assinatura que podem ser transmitidas ao destinatário para assinar. O destinatário abre o documento, localiza a linha de assinatura, assina o documento e o retorna ao remetente.
Basicamente, as etapas para assinar digitalmente um documento incluem:
- O criador do documento compacta o conteúdo do documento em algumas linhas usando um processo chamado "hash". O conteúdo compactado é chamado de digestão de mensagem. O hash é executado por um software criado para essa finalidade.
- O criador do documento criptografa o resumo da mensagem usando uma chave privada obtida de uma autoridade de assinatura. O resultado é uma assinatura digital.
- O criador anexa a assinatura digital ao documento. Todos os dados que foram assinados agora foram assinados e a assinatura foi criptografada e anexada ao documento.
- Em seguida, o criador envia o documento para o destinatário.
- O destinatário descriptografa primeiro o documento usando uma chave pública recebida do originador. Isso altera a assinatura de volta para um resumo de mensagem. Se isso funcionar, ele provará que o documento foi assinado pelo criador.
- O destinatário, usando o software de assinatura digital, coloca o documento em um resumo de mensagem e compara esse hash com o hash do remetente. Se corresponderem, isso verificará se o conteúdo do documento não foi alterado desde que o documento foi enviado pelo criador.
As assinaturas digitais estão disponíveis para clientes desde o Office XP. No entanto, o Office 2007 adicionou recursos que facilitam que os usuários assinem documentos digitalmente, assinem seus documentos para torná-los somente leitura e adicionem linhas de assinatura de documento embutido a um documento. Os usuários do Office podem executar essas tarefas na interface do usuário do Office que está disponível na guia Arquivo .
O Office 2007 também introduziu membros que facilitam o trabalho com assinaturas online e assinaturas digitais de forma programática.
Implantar suplementos COM gerenciados no Office com segurança
Para cumprir a segurança do Office, os suplementos COM gerenciados (suplementos COM direcionados ao runtime de linguagem comum) devem ser assinados digitalmente e as configurações de segurança dos usuários devem ser definidas na Central de Confiança do Office para permitir suplementos em seus aplicativos do Office. Além disso, você deve incorporar ao seu projeto de suplemento COM gerenciado um pequeno proxy não gerenciado chamado shim para evitar avisos de segurança inesperados.
Automatizar o Editor do Visual Basic
No Office, ao chamar os recursos do modelo de objeto extensibilidade Visual Basic for Applications, você pode receber uma mensagem de erro de que o acesso programático ao projeto do Visual Basic não é confiável. Para impedir que essa mensagem apareça, escolha a guia >Opções> de arquivoCentral de Confiança e escolha Configurações do Centro de Confiança. Em seguida, na guia Configurações de Macro , escolha o acesso de confiança à caixa de modelo de objeto do projeto VBA . Ao verificar essa caixa, você torna possível para macros em todos os documentos habilitados para macro que você abrir para acessar os principais objetos, métodos e propriedades do Visual Basic.
Definir a opção representa um possível risco à segurança. O comportamento recomendado é verificar o acesso de confiança à caixa de modelo de objeto do projeto VBA somente durante a duração de uma macro que acessa o modelo de objeto do Visual Basic. Certifique-se de limpar o acesso de confiança à caixa de modelo de objeto de projeto do VBA depois que a macro terminar de ser executada.
Usar senhas
Evite usar senhas codificadas em seus aplicativos. Se um aplicativo for necessário em um procedimento, solicite a senha do usuário, armazene-a em uma variável e então use a variável em seu código.
Sempre use senhas fortes. Senhas fortes devem conter:
- Caracteres minúsculas e maiúsculas
- Números
- Símbolos (como #, $, %, e ^)
- Pelo menos oito caracteres
Senhas fortes não devem conter padrões, temas ou palavras encontradas em um dicionário.
Exemplos de senhas fortes incluem:
$tR0n9p@$s
G80dn[s$M4!
Observação
Você deve alterar sua senha com frequência; por exemplo, a cada um ou três meses.
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.