Com as políticas do TeamViewer, é possível carregar automaticamente gravações de sessões de controle remoto para um armazenamento SFTP auto-hospedado ou hospedado na nuvem. Armazenar gravações para revisões posteriores pode ser útil para avaliações de qualidade, treinamentos e auditorias. Este artigo explica como configurar as regras de política do TeamViewer necessárias para fazer isso. Para saber mais sobre como iniciar uma gravação de uma sessão de controle remoto, veja este artigo.
Este artigo se aplica aos clientes com licenças do TeamViewer Tensor que usam Windows e Linux.
Para configurar sua configuração para o upload automático de gravação de sessão de controle remoto, você terá que criar uma nova política do TeamViewer ou atualizar a política existente e adicionar as seguintes regras de política. Você pode combinar várias regras de política dentro da política para atingir seu objetivo específico. Depois que a política for aplicada aos dispositivos desejados, a configuração entrará em vigor. Aprenda como aplicar uma política aos seus dispositivos aqui.
O guia a seguir se concentrará principalmente na configuração da regra de política Carregar a gravação da sessão para armazenamento personalizado, que oferece a capacidade de fazer upload de gravações para seu servidor SFTP. Há duas outras regras que devem ser avaliadas, pois elas aumentam ainda mais o controle sobre quando as gravações são iniciadas e interrompidas.
Aplicar gravação automática de sessões de controle remoto, que iniciará a gravação automaticamente assim que uma conexão de saída for feita do dispositivo com a política aplicada. Se você quiser impedir que o usuário na frente do dispositivo pare ou pause a gravação antes que a sessão de controle remoto termine, você também pode adicionar a regra de política Desativar a parada e pausa das gravações da sessão. Ambas as regras podem ser adicionadas e habilitadas sem nenhuma configuração adicional necessária.
Ao adicionar a regra Carregar gravação de sessão para armazenamento personalizado à sua política, você terá alguns campos obrigatórios e opcionais para configurar. Veja abaixo os detalhes de cada campo.
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 de chave pública
Escolha sua opção preferida e verifique se ela é suportada pelo seu servidor ou serviço SFTP. Você deve configurar a nova conta e sua autenticação antes de continuar, porque a senha ou chave privada são necessárias nos próximos passos.
Insira o Nome de usuário da conta que deve ser usada para autenticar com seu servidor e carregar a gravação. Especifique seu URL de destino, que deve ser um URL SFTP direcionado ao seu servidor, incluindo o caminho para a pasta onde as gravações da sessão de controle remoto devem ser carregadas. É recomendável que você minimize as permissões da conta escolhida, concedendo apenas acesso de gravação à pasta específica designada para carregar gravações.
Senha criptografada ou campo de chave privada criptografada
Somente você e o dispositivo de upload podem acessar as credenciais da conta SFTP com segurança, e a senha ou chave privada precisa ser criptografada usando um certificado definido pelo usuário para entregar as credenciais da conta SFTP com segurança.
As credenciais criptografadas serão então adicionadas à regra de política como Senha criptografada ou Chave privada criptografada. O motivo pelo qual você precisa de um certificado para a criptografia é que ele será implementado em vários dispositivos posteriormente para a descriptografia. Seu servidor SFTP não manipulará as credenciais criptografadas, pois o aplicativo TeamViewer as descriptografará de antemão. É recomendável que esta configuração tenha o OpenSSL instalado em seu sistema.
Há muitas maneiras de gerar certificados, dependendo do sistema operacional e das ferramentas usadas. Todas elas devem ser viáveis, se os parâmetros importantes necessários para o certificado x509 forem especificados corretamente:
Uso da chave: KeyEncipherment, DataEncipherment, KeyAgreement
Tipo/Uso de chave estendida: DocumentEncryptionCert, também conhecido como 1.3.6.1.4.1.311.80.1
Se você quiser usar certificados autoassinados, poderá usar o comando openssl req (encontre 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 gerará um certificado CRT e um arquivo PEM de chave privada, que são capazes de criptografar e descriptografar dados. Esses arquivos terão que ser convertidos para PFX antes de poderem ser lançados em dispositivos Windows, o que será explicado em um parágrafo posterior.
Depois de ter seu arquivo de certificado, você pode verificar seus parâmetros de chave executando o comando a seguir, substituindo <CertificateAndKeyName> pelo seu certificado real, para verificar se ele é compatível. Isso é especialmente importante se você quiser verificar se um certificado existente ou de terceiros pode ser usado:
openssl x509 -text -in <CertificateAndKeyName>.crt
Se a geração da sua chave foi bem-sucedida, você poderá ver as seguintes linhas na saída do seu terminal. Se elas não estiverem presentes, 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
Sua credencial escolhida deve ser criptografada na Cryptographic Message Syntax (CMS, você pode ler mais sobre isso em RFC 5652) usando seu certificado. Isso pode ser feito executando o comando openssl cms (encontre sua documentação aqui). Para os comandos a seguir, você também pode especificar -out <FileName> 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. Use echo -n no Linux para evitar adicionar um caractere de nova linha no final da sua senha:
echo "<Password>" | openssl cms -encrypt -outform PEM <CertificateAndKeyName>.crt
Se você quiser usar a chave privada criptografada, precisará substituir <PathToPrivateKey> pelo caminho relativo ou absoluto para sua chave privada da conta do servidor SFTP.
openssl cms -encrypt -in <PathToPrivateKey> -outform PEM <CertificateAndKeyName>.crt
Depois que as credenciais forem criptografadas com sucesso, a saída resultante será semelhante ao exemplo a seguir:
-----BEGIN CMS-----
MIIBwgYJKoZIhvcNAQcDoIIBszCCAa8CAQAxggFqMIIBZgIBADBOMDoxCzAJBgNVBAYTAkRFMSsw
(...)
hvcNAQcBMB0GCWCGSAFlAwQBKgQQddXx6ufF4KafytY5RKIZqYAQtpGNqX/eU+Oz+lxUnYUTJQ==
-----END CMS-----
Pegue a saída respectiva do comando escolhido e copie-a para o campo de regra, incluindo o cabeçalho e o rodapé da saída que representam o início e o fim da mensagem.
Os preparativos para a regra de política usando este certificado estão prontos, mas os arquivos PEM e CRT gerados ainda são necessários quando o certificado é implementado nos dispositivos. Há campos opcionais adicionais na regra de política que serão explicados a seguir.
O URL do prefixo de download é um campo opcional, que pode ser especificado para oferecer downloads diretos de gravações de seus servidores. Essas informações ficam disponíveis por meio de nossa API da Web (leia mais sobre isso aqui) ou em 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 precisarão manter seu nome original do upload para que os caminhos permaneçam válidos.
Enquanto o TeamViewer armazena 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 man-in-the-middle, você também pode especificá-la explicitamente com a configuração opcional de chave pública do host SSH, que é então 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 dizer aos dispositivos para esperar uma chave do host diferente daquela que eles armazenaram 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 procurá-la nos arquivos de configuração ou nos painéis do seu servidor SFTP. Se você não tiver acesso a esses valores, também poderá obtê-los do seu dispositivo atual.
Caso você tenha se conectado ao servidor antes de usar ssh, você pode obtê-lo do arquivo known_hosts dentro da sua pasta .ssh . Como alternativa, você pode usar o seguinte comando, substituindo <SftpServerDomain> pelo 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, não o nome do servidor, endereço IP, tipo de chave ou comentário.
Isso conclui a configuração da configuração de política. Você pode adicionar mais configurações a sua política ou salvá-la agora.
Para que o aplicativo TeamViewer possa carregar as gravações da sessão de controle remoto para o servidor SFTP, ele precisa ser capaz de descriptografar as credenciais. Para isso, o certificado criado deve ser convertido para o formato do sistema operacional do dispositivo receptor, antes de ser implementado. A mesma política pode ser implementada em máquinas Windows e Linux se as chaves subjacentes forem as mesmas.
Se você estiver implementando isso em dispositivos Windows , será necessário converter seus arquivos PEM e CRT para o formato PFX usando o seguinte comando, atualizando <CertificateAndKeyName> e <CertificateName> pelos respectivos nomes de arquivo:
openssl pkcs12 \
-inkey <CertificateAndKeyName>.pem \
-in <CertificateAndKeyName>.crt \
-export \
-out <CertificateName>.pfx
O certificado PFX resultante pode ser implementado no armazenamento de certificados da máquina local dos dispositivos de destino ( cert:\LocalMachine\My ) usando sua solução de gerenciamento de endpoint. Para minimizar o acesso à chave privada, é reduzir o acesso à conta SYSTEM .
Testando ou recurso `backticks`.
Se você estiver implementando isso em dispositivos Linux, nenhuma alteração será necessária. Você deve colocar as chaves privadas PEM em /etc/teamviewer/ssl/private e os certificados públicos CRT em /etc/teamviewer/ssl/certs. Certifique-se de que tanto o certificado público quanto a chave privada correspondente tenha o mesmo nome de arquivo base, por exemplo <CertificateAndKeyName>.pem e <CertificateAndKeyName>.crt . Certifique -se de que root seja o proprietário do arquivo de chave privada. É recomendado minimizar o acesso ao próprio root.
Como o processo de configuração para esse recurso é complicado, essa configuração deve ser testada antes de ser totalmente descoberta em outros dispositivos. Isso pode ser testado instalando o certificado em um dispositivo local e aplicando a política ao mesmo dispositivo, iniciando uma sessão de controle remoto, iniciando uma gravação e verificando se o arquivo foi carregado com sucesso no servidor SFTP após a gravação ter parado. Isso confirma que a criptografia, a descrição e a configuração SFTP, bem como a conexão com o servidor do dispositivo de upload, estão funcionando.
Se um upload falhar, o upload será tentado novamente após um curto período de tempo, aumentando com cada tentativa subsequente com falha até uma hora. O limite de tempo reduzirá o número de interferências errôneas no servidor SFTP. Especialmente durante o teste, quando uma configuração ainda está aprimorada, uma próxima tentativa poderá não ser imediatamente após uma gravação ter parado. Para tentar outro upload imediatamente, uma reinicialização completa do TeamViewer pode ser realizada (por exemplo, reiniciando o computador).
Assim que o teste for bem-sucedido, primeiro distribua o certificado para todos os dispositivos de destino usando sua solução de gerenciamento de endpoint e, em seguida, aplique a política a esses dispositivos. Assim que esses dispositivos gravarem quaisquer sessões de controle remoto, todas as gravações desses dispositivos serão automaticamente transmitidas para seu servidor.