Com as políticas do TeamViewer, é possível fazer o upload automático das gravações das sessões de controle remoto para um armazenamento SFTP local ou na nuvem. Armazenar as gravações para revisões posteriores pode ser útil para avaliações de qualidade, treinamento e auditoria. Este artigo explica como configurar as regras de política do TeamViewer necessárias para isso. Para saber mais sobre como iniciar a gravação de uma sessão de controle remoto, você pode ler este artigo.
Este artigo aplica-se a clientes com licenças do TeamViewer Tensor, sendo que o Windows suporta gravações de sessões de entrada e saída, enquanto o Linux suporta apenas gravações de saída.
O TeamViewer suporta a gravação e o upload de gravações de sessões de controle remoto de entrada e saída usando regras de política separadas. Os recursos de gravação e upload variam dependendo da direção da sessão e do sistema operacional.
Configuração de política do TeamViewer
Para configurar o upload automático de gravações de sessão, você deve criar uma nova política ou atualizar uma política existente do TeamViewer e adicionar as regras de política mencionadas nos parágrafos seguintes. Você pode combinar várias regras de política dentro da mesma política para atingir seu objetivo específico. Assim que a política for aplicada aos dispositivos desejados, a configuração entrará em vigor.
Aprenda como criar, atualizar e aplicar políticas e obtenha mais detalhes sobre as regras de política.
O TeamViewer pode gravar e carregar gravações de sessões de entrada e saída usando duas regras de política separadas, com suporte dependendo do sistema operacional. As seções a seguir explicam a configuração de cada regra de política. Ambas as regras podem ser combinadas, quando compatíveis, para permitir o carregamento de gravações de entrada e saída.
Sessões de saída
A regra de política principal para gravação de sessões de saída é chamada Carregar gravações de sessões de saída para armazenamento personalizado, que oferece a capacidade de carregar gravações para o seu servidor SFTP. A configuração dessa regra de política também será explicada na seção seguinte. Existem outras duas regras que devem ser avaliadas, pois elas aprimoram ainda mais o controle sobre quando as gravações são iniciadas e interrompidas.
A regra de política Impor gravação automática de sessões de controle remoto iniciará a gravação automaticamente assim que uma conexão de saída for estabelecida a partir do dispositivo com a política aplicada. Se você quiser impedir que o usuário interrompa ou pause a gravação antes do término da sessão de controle remoto, também poderá adicionar a regra de política Desativar a interrupção e a pausa de gravações de sessão. Ambas as regras podem ser adicionadas e ativadas sem necessidade de configuração adicional.
Sessões de entrada
Se você deseja gravar sessões recebidas, precisa da regra de política Gravar automaticamente sessões de controle remoto recebidas, que iniciará a gravação automaticamente assim que uma conexão for estabelecida com o dispositivo com a política aplicada.
Para também enviar essas gravações para o seu servidor SFTP, é necessário adicionar a regra de política Enviar gravações de sessão de entrada para armazenamento personalizado. A configuração dessa regra de política também será explicada na seção seguinte.
Como configurar a regra de política de uploads automáticos de gravações
Ao adicionar a regra Carregar gravações de sessão de saída para armazenamento personalizado ou a regra Carregar gravações de sessão de entrada para armazenamento personalizado à sua política, existem alguns campos obrigatórios e opcionais que precisam ser configurados, os quais serão explicados em mais detalhes nos parágrafos a seguir.
Campos obrigatórios
Atualmente, apenas servidores SFTP, que podem ser hospedados em um data center local ou em um ambiente baseado em nuvem, como Azure ou Amazon Web Services, são suportados como Tipo de Serviço.
Existem dois tipos de autenticação disponíveis:
- Autenticação por senha
-
Autenticação por chave pública
Escolha a opção desejada e verifique se ela é compatível com seu servidor ou serviço SFTP. Você deve configurar a nova conta e sua autenticação antes de prosseguir, pois a senha ou a chave privada serão necessárias nos próximos parágrafos.
Insira o nome de usuário da conta que será usada para se autenticar com o seu servidor e enviar a gravação. Especifique o URL de destino , que deve ser um URL SFTP apontando para o seu servidor, incluindo o caminho para a pasta onde as gravações da sessão de controle remoto devem ser enviadas. Recomenda-se minimizar as permissões da conta escolhida, concedendo apenas acesso de gravação à pasta específica designada para o envio das gravações.
Senha criptografada ou campo de chave privada criptografada
Para fornecer as credenciais da conta SFTP de forma segura, permitindo o acesso apenas a você e ao dispositivo de upload, a senha ou chave privada deve ser criptografada usando um certificado definido pelo usuário. As credenciais criptografadas serão então adicionadas à regra de política como uma senha criptografada ou uma chave privada criptografada. A necessidade de um certificado para criptografia se deve ao fato de que ele será implementado em vários dispositivos posteriormente. Seu servidor SFTP não processará as credenciais criptografadas, pois o aplicativo TeamViewer as descriptografará previamente usando o certificado. A documentação a seguir pressupõe que o OpenSSL esteja instalado em seu sistema.
Existem vários métodos para gerar certificados, dependendo do sistema operacional e das ferramentas utilizadas. Todos eles devem ser viáveis se os parâmetros importantes exigidos para o certificado x509 forem especificados corretamente:
-
Usos principais: Criptografia de chave, Criptografia de dados, Acordo de chave
-
Tipo/Uso de chave estendida: DocumentEncryptionCert, também conhecido como 1.3.6.1.4.1.311.80.1
Se você deseja usar certificados autoassinados, pode usar o comando openssl req (consulte a documentação aqui), substituindo <CertificateAndKeyName> por um nome de sua escolha:
openssl req -x509 \ -newkey rsa:2048 \ -keyout <CertificateAndKeyName>.pem \ -out <CertificateAndKeyName>.crt \ -addext keyUsage='keyEncipherment, dataEncipherment, keyAgreement' \ -addext extendedKeyUsage='1.3.6.1.4.1.311.80.1'
Este comando irá gerar um arquivo CRT de certificado e um arquivo PEM de chave privada , que são capazes de criptografar e descriptografar dados. Esses arquivos devem ser convertidos para o formato PFX antes de serem implementados em dispositivos Windows, conforme explicado em um parágrafo posterior.
Após obter o arquivo de certificado, você pode verificar seus parâmetros principais executando o seguinte comando, substituindo <CertificateAndKeyName> pelo nome do seu certificado, para verificar a compatibilidade. Isso é especialmente importante se você deseja verificar se um certificado existente ou um certificado de terceiros pode ser usado:
openssl x509 -text -in <CertificateAndKeyName>.crt
Se a geração da sua chave for bem-sucedida, você verá as seguintes linhas na saída do seu terminal. Caso contrário, a criptografia e a descriptografia das suas credenciais falharão.
X509v3 Key Usage: critical Key Encipherment, Data Encipherment, Key Agreement X509v3 Extended Key Usage: 1.3.6.1.4.1.311.80.1
A credencial escolhida deve ser criptografada usando a Sintaxe de Mensagem Criptográfica (CMS), conforme descrito em RFC 5652, com seu certificado. Isso pode ser feito executando o comando openssl cms (consulte a documentação aqui). Para os comandos a seguir, você também pode especificar -out <NomeDoArquivo> para redirecionar a saída do terminal para um arquivo.
Para gerar a senha criptografada , você precisará substituir <Password> pela senha da sua conta do servidor SFTP e <CertificateAndKeyName> pelo nome do seu arquivo de certificado. Utilize o comando `echo -n` no Linux para evitar adicionar um caractere de nova linha ao final da sua senha.
echo "<Password>" | openssl cms -encrypt -outform PEM <CertificateAndKeyName>.crt
Se você preferir usar a chave privada criptografada, precisará substituir <PathToPrivateKey> pelo caminho relativo ou absoluto para a chave privada da sua conta do servidor SFTP.
openssl cms -encrypt -in <PathToPrivateKey> -outform PEM <CertificateAndKeyName>.crt
Após as credenciais serem criptografadas com sucesso, o resultado será semelhante ao exemplo a seguir:
-----BEGIN CMS----- MIIBwgYJKoZIhvcNAQcDoIIBszCCAa8CAQAxggFqMIIBZgIBADBOMDoxCzAJBgNVBAYTAkRFMSsw (...) hvcNAQcBMB0GCWCGSAFlAwQBKgQQddXx6ufF4KafytY5RKIZqYAQtpGNqX/eU+Oz+lxUnYUTJQ== -----END CMS-----
Pegue a saída do comando escolhido e copie-a para o campo da regra, incluindo o cabeçalho e o rodapé que indicam o início e o fim da mensagem.
Os preparativos para a regra de política usando este certificado foram concluídos, mas os arquivos PEM e CRT gerados ainda são necessários quando o certificado for implementado nos dispositivos. Existem campos opcionais adicionais na regra de política que são explicados nos parágrafos seguintes.
Campo opcional
O campo URL de prefixo para download é opcional e pode ser especificado para permitir o download direto das gravações dos seus servidores. Essas informações ficam disponíveis por meio da nossa API Web (saiba mais aqui) ou nas nossas integrações com Salesforce e ServiceNow. O campo espera uma URL da web, incluindo o caminho que contém suas gravações. Como o TeamViewer não tem acesso ao seu armazenamento, as gravações precisam manter seus nomes originais do upload para que os caminhos permaneçam válidos.
Embora o TeamViewer armazene em cache a chave pública do host do seu servidor SFTP na primeira conexão para verificar a identidade do servidor e evitar ataques de interceptação intermediária (Man-in-the-Middle – MitM), você também pode especificá-la explicitamente com a configuração opcional de chave pública do host SSH, que será usada para verificar a identidade do servidor. Isso é especialmente útil quando você precisa substituir a chave do host do seu servidor SFTP em algum momento e informar aos dispositivos que eles devem esperar uma chave diferente daquela que foi armazenada em cache inicialmente.
Na maioria dos casos, você pode especificar a chave pública do host durante a configuração do seu servidor SFTP, ou pode encontrá-la nos arquivos de configuração ou nos painéis de controle do seu servidor SFTP. Se você não tiver acesso a esses valores, também poderá obtê-los do seu dispositivo atual.
Caso você já tenha se conectado ao servidor anteriormente usando SSH, você pode obter o endereço do servidor no arquivo known_hosts localizado na sua pasta .ssh . Alternativamente, você pode usar o seguinte comando, substituindo <SftpServerDomain> pelo domínio do seu servidor:
ssh-keyscan <SftpServerDomain>
Ao copiar a chave do host para o campo de configurações, certifique-se de copiar apenas a impressão digital da chave do host, e não o nome do servidor, o endereço IP, o tipo de chave ou o comentário.
Isso conclui a configuração da política. Você pode estender a política com mais configurações ou salvá-la agora.
Preparando e implementando o certificado
Para que o aplicativo TeamViewer possa enviar gravações de sessões de controle remoto para o servidor SFTP, ele precisa descriptografar as credenciais. Para isso, o certificado criado deve ser convertido para o formato do sistema operacional do dispositivo ao qual a política será aplicada. A mesma política de upload de sessão de saída pode ser implementada em máquinas Windows e Linux, desde que as chaves subjacentes sejam as mesmas. A política de sessão de entrada é compatível apenas com sistemas operacionais Windows.
Implementando os certificados
Se você estiver implementando isso em dispositivos Windows, precisará converter seus arquivos PEM e CRT para o formato PFX usando o seguinte comando, substituindo <CertificateAndKeyName> e <CertificateName> pelos respectivos nomes de arquivo:
openssl pkcs12 \ -inkey <NomeDoCertificadoECágina>.pem \ -in <NomeDoCertificadoECágina>.crt \ -export \ -out <NomeDoCertificado>.pfx
O certificado PFX resultante pode ser implementado no armazenamento de certificados local dos dispositivos de destino usando sua solução de gerenciamento de endpoints. Após a implementação, o certificado deverá aparecer no Gerenciador de Certificados do computador local (pesquise por gerenciar certificados do computador na pasta Pessoal/Certificados).
O PowerShell chama este local de:
cert:\LocalMachine\Meu
Para minimizar o acesso à chave privada, restrinja as permissões à conta SYSTEM e somente às contas de administrador necessárias. Você pode verificar isso no Gerenciador de Certificados do computador local clicando com o botão direito do mouse no certificado, selecionando Todas as Tarefas, depois Gerenciar Chaves Privadas… e confirmando que somente as contas necessárias têm acesso.
Se você estiver implementando isso em dispositivos Linux, nenhuma alteração será necessária. Você deve colocar o arquivo PEM da chave privada em /etc/teamviewer/ssl/private e o arquivo CRT do certificado público em /etc/teamviewer/ssl/certs. Certifique-se de que o certificado público e a chave privada correspondente tenham o mesmo nome base, por exemplo, <NomeDoCertificadoECágina>.pem e <NomeDoCertificadoECágina>.crt. Certifique-se de que o usuário root seja o proprietário do arquivo da chave privada. Recomenda-se minimizar o acesso ao próprio usuário root .
Testar e aplicar a política
Como o processo de configuração desse recurso é complexo, recomenda-se testá-lo antes de implementá-lo em outros dispositivos. Isso pode ser feito instalando o certificado em um dispositivo local e aplicando a política ao mesmo dispositivo.
Para enviar a gravação da sessão de saída, inicie uma sessão de controle remoto a partir do dispositivo e, em seguida, comece a gravar. Para enviar a gravação da sessão de entrada, inicie uma conexão com o dispositivo e verifique se a gravação é iniciada automaticamente. Depois, verifique se o arquivo foi enviado com sucesso para o servidor SFTP após a gravação ser interrompida. Isso confirma que a criptografia, a descriptografia e a configuração do SFTP, bem como a conexão do dispositivo de envio com o servidor, estão funcionando corretamente.
Se um upload falhar, ele será repetido após um curto período de tempo, que aumentará a cada tentativa subsequente com falha, até um máximo de uma hora. O tempo limite reduzirá o número de solicitações errôneas ao servidor SFTP. Principalmente durante testes, quando a configuração ainda está sendo ajustada, a próxima tentativa pode não ocorrer imediatamente após a interrupção da gravação. Para tentar outro upload imediatamente, reinicie o TeamViewer completamente (por exemplo, reiniciando o computador).
Após o teste ser bem-sucedido, primeiro implemente o certificado em todos os dispositivos que utilizam sua solução de gerenciamento de endpoints e, em seguida, aplique a política a esses dispositivos. Assim que esses dispositivos registrarem sessões de controle remoto, todas as gravações serão enviadas automaticamente para o seu servidor.