segurança do logmein€¦ · quando os usuários pensam na segurança de dados na internet,...
TRANSCRIPT
Segurança do LogMeInUma visão detalhada
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 1
Índice
Axiomas do acesso remoto ............................................................................................... 3 Arquitetura do LogMeIn .................................................................................................... 5 Mecanismos de segurança do LogMeIn ............................................................................ 7 Detecção de intrusão ...................................................................................................... 13 Encaminhamento de dados ............................................................................................. 19 Travessia NAT UDP ......................................................................................................... 20 Atualizações de software e segurança do gateway ........................................................ 21 Conclusão ....................................................................................................................... 22
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 2
Resumo Este documento fornece uma visão detalhada dos recursos de
segurança dos produtos de acesso e gerenciamento remoto da
LogMeIn, o LogMeIn Pro e o LogMeIn Central. Na LogMeIn,
acreditamos em segurança por meio da transparência. Não
esperamos que nossos clientes aceitem nossos argumentos
sem questionar. Ao publicar detalhes sobre como os
mecanismos de segurança funcionam e operam em conjunto
em nossos produtos, também estamos convidando o público a
examinar de perto nossos esforços.
Público-alvo Este documento é de natureza técnica e destina-se a
engenheiros ou designers de rede. Ler este documento pode
ajudar o leitor a executar a análise de ameaças necessária
antes de implantar nosso produto.
Terminologia Na arquitetura do LogMeIn, há três entidades que fazem parte
de todas as sessões de acesso remoto. O "cliente" ou o
"usuário" é a pessoa ou o software (navegador, aplicativo nativo
ou aplicativo móvel) que está acessando um recurso remoto. O
"host" ou o "servidor" é o computador que está sendo acessado
ou o software host do LogMeIn neste computador. O "gateway"
é o serviço do LogMeIn que media o tráfego entre o cliente e o
host.
Princípios básicos do
design
O LogMeIn é projetado para permitir acesso remoto seguro a
recursos críticos em uma rede não confiável. Durante o
desenvolvimento, as considerações sobre segurança sempre
prevalecem sobre as questões de utilização.
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 3
Axiomas do acesso remoto
Tudo é um destino
Um número cada vez maior de computadores estão online 24 horas por dia, 7 dias por
semana. A maioria desses computadores é operada por usuários domésticos e possui
brechas na segurança, como vulnerabilidades que não foram corrigidas e ausência de
senhas adequadas.
Entretanto, o maior ponto fraco é o próprio usuário. Nada ilustra melhor a absoluta falta de
consciência sobre segurança e a natureza ingênua da maioria dos usuários de Internet do
que a penetração extremamente rápida de vírus de email. Os vírus de email, é claro, são
anexos melhor classificados como cavalos de Troia. Eles se espalham tão rapidamente
porque os usuários, surpreendentemente, estão dispostos a violar as regras fundamentais
para lidar com conteúdo não confiável. Se os próprios usuários são responsáveis por
infectar seus computadores com cavalos de Troia, como você pode confiar neles para
proteger adequadamente seus sistemas contra ataques diretos?
Até mesmo os administradores de rede competentes podem cometer deslizes e esquecer
de instalar um ou mais patches, o que, na pior das hipóteses, pode permitir que invasores
executem códigos arbitrários nos sistemas afetados.
Ataques cibernéticos não são novidade. No entanto, recentemente ocorreram mudanças
no que diz respeito a quem é capaz de executá-los. O que antes era uma profissão ilícita
restrita a poucas pessoas altamente gabaritadas e com conexão de alta qualidade se
transformou em uma atividade que pode ser praticada por praticamente qualquer pessoa,
em grande parte devido aos kits de exploração automática que se aproveitam de milhares
de vulnerabilidades conhecidas.
Segurança e acesso remoto
É fácil ver que muitos computadores conectados à Internet são extremamente vulneráveis,
mesmo sem a instalação de um produto de acesso remoto. Os produtos de acesso remoto
são vistos como fatores de alto risco, mas, principalmente, por razões psicológicas. Quando
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 4
um usuário vê pela primeira vez uma solução de acesso remoto em ação, sua primeira
reação negativa é, normalmente, relacionada às implicações na segurança. Isso é
perfeitamente normal e, na verdade, desejável. O verdadeiro problema é que os usuários
não vêem imediatamente a ameaça inerente em outros aplicativos habilitados para rede,
como um cliente de email, um servidor da Web ou o próprio sistema operacional.
Todos os sistemas operacionais modernos incluem algum tipo de solução de acesso
remoto por padrão. O Windows, por exemplo, vem com a Área de trabalho remota da
Microsoft como uma interface simples de administração remota. Até mesmo o OpenBSD, a
variante da Unix que geralmente é conceituada como o sistema operacional mais seguro
disponível, inclui o SSH, que também é um aplicativo simples e seguro que permite acesso
por linha de comando por uma conexão de rede ao computador remoto.
Em essência, uma solução remota bem escolhida e bem configurada não oferece nenhum
risco adicional. Se um gerenciador de rede pode manter uma rede segura usando um
pacote de software de acesso remoto confiável, como o LogMeIn, a produtividade pode ser
elevada e os custos reduzidos sem qualquer efeito adverso na segurança da rede.
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 5
Arquitetura do LogMeIn Antes de explicar os mecanismos de segurança exatos empregados pelo LogMeIn, é
necessário fornecer uma rápida introdução à arquitetura da solução.
Qualquer sessão de acesso remoto possui três componentes principais. As funções do
cliente e do host são simples - o terceiro componente é o gateway do LogMeIn.
Figura 1. Arquitetura do LogMeIn
O host do LogMeIn na Figura 1 mantém uma conexão constante protegida por TLS com um
dos servidores de gateway do LogMeIn em nossos centros de dados fisicamente
protegidos. Esse vínculo é iniciado pelo host e os firewalls o tratam como uma conexão de
saída, como o tráfego protegido de navegação na Web.
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 6
O cliente estabelece uma conexão com o LogMeIn e se autentica. Com base na identidade
do cliente, é autorizada a troca de dados com um ou mais hosts (que pertençam à conta do
usuário). O gateway então encaminha o tráfego criptografado subsequente entre o cliente
e o host. Vale observar que o cliente ainda precisa se autenticar no host - o gateway media
o tráfego entre as duas entidades, mas isso não exige que o host confie implicitamente no
cliente. Depois que o cliente verifica a identidade do cliente e autoriza seu acesso ao
computador, a sessão de acesso remoto é realmente iniciada.
A vantagem de utilizar o gateway é que o cliente, o host ou ambos podem ser protegidos
por firewall. O gateway do LogMeIn garante que os usuários não precisem se preocupar
com a configuração do firewall.
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 7
Mecanismos de segurança do LogMeIn Quando os usuários pensam na segurança de dados na Internet, geralmente, estão
preocupados com a criptografia de dados – até um ponto em que a segurança é avaliada
de acordo com o comprimento da chave de criptografia usada. Entretanto, a criptografia e a
descriptografia, embora sejam muito importantes, são tarefas bastante comuns comparadas
a outros desafios enfrentados pelos designers de sistemas seguros. Como você verá, a
criptografia de dados é apenas uma das principais metas definidas pelos designers do
LogMeIn.
Autenticação do gateway para o cliente
Em primeiro lugar, quando um usuário se conecta a uma instalação do LogMeIn via
gateway – o "servidor" – ele precisa estar 100% certo de que o computador com o qual
está prestes a trocar dados é realmente aquele com o qual desejava se conectar.
Suponha que um invasor finja-se de servidor para o usuário, e finja-se de usuário para o
servidor. Nesse caso, o invasor pode ficar entre as duas partes enquanto lê ou,
possivelmente, modifica os dados em trânsito. Isso é conhecido como um ataque "Man in
the Middle" ou MITM e é especialmente difícil se proteger dele.
O LogMeIn utiliza autenticação baseada em certificado TLS 1.x para verificar as identidades
do servidor e, assim, proteger-se contra ataques Man-in-the-middle. Quando uma conexão
é estabelecida, o certificado do servidor é verificado. Um alerta é exibido se uma
autoridade de certificação não confiável for a emissora do certificado. Um alerta diferente é
apresentado quando o nome do host no URL não corresponde ao nome do host no
certificado, mesmo que emitido por uma autoridade confiável.
Se o servidor passar nessas verificações, o cliente do usuário gerará um "Pre-Master
Secret" (PMS), o criptografará com a chave pública do servidor contida nesse certificado e o
enviará ao servidor. Como garantido pelo uso da criptografia de chave pública, somente o
servidor que detém a chave privada correspondente pode descriptografar o PMS. O PMS é
então usado para produzir o Master Secret pelo usuário e pelo servidor que, por sua vez,
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 8
será usado para produzir vetores de inicialização e chaves de sessão para a duração da
sessão segura.
Em resumo, isso garante que o usuário está estabelecendo a conexão com o servidor, e
não com uma terceira entidade. Se houver uma tentativa de ataque MITM, um dos avisos
de segurança será acionado ou o PMS será desconhecido para o MITM, tornando o ataque
efetivamente impossível.
Autenticação de usuários para o gateway
Os usuários do LogMeIn devem ser autenticados pelo gateway e pelo host. Quando um
usuário se conecta ao site do LogMeIn, é executada uma simples verificação de endereço
de email e senha. Os usuários também são aconselhados a ativar um ou mais recursos
adicionais de segurança oferecidos pelo LogMeIn para fortalecer essa etapa de
autenticação.
Os assinantes do LogMeIn Central podem garantir uma política de senha segura. Visite o site help.logmein.com para obter detalhes.
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 9
Figura 2. Autenticação entre usuários e o gateway
Códigos de segurança impressos
Um dos recursos de segurança adicionais é uma folha de códigos de segurança impressos.
Ao ativar esse recurso, o usuário é obrigado a imprimir uma lista de senhas aleatórias de 9
caracteres geradas pelo gateway. Toda vez que o usuário do LogMeIn efetuar login em sua
conta no www.LogMeIn.com, ele será solicitado a inserir um dos códigos de segurança da
lista impressa para obter acesso à sua conta. Se você tiver vários perfis, insira um código
quando acessar o perfil ativo no momento. Cada código só poderá ser usado uma vez.
Antes que os códigos de segurança impressos acabem, o usuário será solicitado a imprimir
outra folha. Isso invalida os códigos de segurança não utilizados anteriormente.
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 10
Como ativar os códigos de segurança impressos.
1 Efetue login em sua conta do LogMeIn.
2 Clique em Configurações > Segurança reforçada.
3 Selecione a opção Código de segurança impresso.
4 Gere e imprima uma lista de códigos de segurança.
5 Clique em Salvar.
Códigos de segurança enviados por email
Outra forma de proteger a sua conta do LogMeIn é o uso do recurso Código de segurança
enviado por email. Sempre que você efetuar login na sua conta do www.LogMeIn.com,
você receberá um email com um código de segurança que deverá ser inserido na caixa de
diálogo apropriada para que o acesso à conta seja possível. Cada código só poderá ser
usado uma vez.
Quando esse recurso é ativado e o usuário se autentica com êxito com seu endereço de
email e senha ao gateway da LogMeIn, um código é gerado e enviado ao endereço de
email. O usuário recebe esse código por email e o insere no formulário fornecido pelo
gateway. O código expira após ser usada ou alguns minutos após sua geração, o que vier
primeiro.
Como ativar os códigos de segurança enviados por email
1 Efetue login em sua conta do LogMeIn.
2 Clique em Configurações > Segurança reforçada.
3 Na guia Segurança reforçada, selecione a opção Código de segurança enviado por email.
4 Insira seu endereço de email no campo fornecido.
5 Clique em Salvar.
Auditoria da conta
Acompanhe a atividade na sua conta do LogMeIn. Selecione os eventos para os quais você
deseja receber uma notificação automática por email, como uma falha na tentativa de login
ou alterações de senha. As notificações serão enviadas para os endereços de email
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 11
especificados (para mais de um destinatário, separe os endereços de email com ponto-e-
vírgula). Observe que alguns eventos da conta são habilitados por padrão e não podem ser
desabilitados.
Como habilitar o recurso de auditoria da conta (notificações de email)
1 Efetue login em sua conta do LogMeIn.
2 Clique em Configurações > Configurações da conta.
3 Em Notificações de email, clique em alterar e selecione os eventos para os quais você deseja receber uma notificação automática por email. Dica: você também pode editar a lista de destinatários.
4 Clique em Salvar.
Os assinantes do LogMeIn Central (titulares de conta) podem auditar outros itens em Configurações > Segurança reforçada > Configurações de auditoria:
• Alterações nas configurações relacionadas a segurança
• Eventos de usuário (usuários convidados, convites aceitos ou recusados, eventos de login)
• Eventos relacionados a computadores (adição ou exclusão de computadores, atalhos gerados/invalidados, pacote de instalação gerado)
Verificação em duas etapas (autenticação de dois fatores, 2FA)
A verificação em duas etapas adiciona outra camada de proteção à sua conta. É como um
caixa eletrônico, que protege seu dinheiro solicitando um cartão do banco e um PIN. Sem a
verificação em duas etapas, qualquer pessoa que saiba sua senha pode acessar seus
dados. Quando você configurar a verificação em duas etapas, o procedimento de login
mudará: Depois de inserir o ID do LogMeIn e a senha, também será solicitado que você
verifique a sua identidade.
Os assinantes do LogMeIn Central podem garantir uma política de login que force todos os
usuários a usar a verificação em duas etapas. Para obter instruções passo a passo, acesse
help.LogMeIn.com
Autenticação do gateway para o host
O gateway precisa provar sua identidade ao host antes de ser confiado com códigos de
acesso. O host, ao estabelecer uma conexão com o gateway, verifica o certificado
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 12
transportado durante o handshake do TLS para garantir a conexão com um dos servidores
gateway da LogMeIn. Esse processo é muito similar a como um gateway autentica um
cliente.
Autenticação do host para o gateway
O gateway verifica a identidade do host quando aceita uma conexão de entrada usando
uma sequência de caracteres longa do identificador exclusivo. Essa sequência é um
segredo compartilhado entre duas entidades e é emitida pelo gateway quando o host é
instalado. Esse identificador exclusivo é comunicado por um canal protegido por TLS
somente depois que o host tiver verificado a identidade do gateway. A Figura 3 ilustra
como o host e o gateway autenticam um ao outro antes que um host se torne acessível
para o cliente.
Figura 3. Autenticação do host e do gateway
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 13
Criptografia de dados
O padrão TLS define uma ampla gama de pacotes de cifras, baseados principalmente em
criptografia AES ou 3DES por questões de compatibilidade. O AES pode utilizar chaves de
128 ou 256 bits, e o 3DES usa chaves de 168 bits. O cliente e o host entrarão em acordo em
relação à cifra mais forte possível. O cliente envia para o host uma lista de cifras que deseja
utilizar, e o host escolhe a de sua preferência.
O padrão TLS não define como o host deve escolher a cifra final. No LogMeIn, o host
simplesmente seleciona o conjunto de cifras comum mais forte disponível oferecido pelo
cliente.
Esse método permite que o cliente e o host recusem o uso de algoritmos específicos de
proteção de dados, sem a necessidade de atualizar ambos os componentes se o algoritmo
for considerado violado ou não seguro.
Detecção de intrusão O LogMeIn oferece duas camadas para detectar tentativas de intrusão: TLS e Filtros de
intrusão LogMeIn.
TLS
A primeira camada de detecção de intrusão é fornecida por TLS para garantir que os dados
não tenham sido alterados em trânsito. Isso realizado com as seguintes técnicas:
Numeração da sequência de
registro
A Numeração da sequência de registro significa que os
registros TLS são numerados pelo remetente e que a
ordem é verificada pelo destinatário. Isso garante que um
invasor não possa remover ou inserir códigos arbitrários
no fluxo de dados.
Códigos de autenticação de Os Códigos de autenticação de mensagem (MACs,
Message Authentication Codes) são anexados a cada
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 14
mensagem registro TLS. Eles são originados da chave de sessão
(conhecida somente pelas duas partes que se
comunicam) e dos dados contidos no registro. Em caso de
falha na verificação do MAC, é pressuposto que os dados
foram modificados em trânsito.
Filtros de intrusão LogMeIn
A segunda camada é fornecida pelo próprio LogMeIn e consiste em três filtros de intrusão.
Filtro do endereço IP
Quando o LogMeIn recebe uma solicitação de conexão de um cliente, primeiramente, ele
verifica sua lista de endereços IP confiáveis e não confiáveis e, possivelmente, nega a
conexão. Um administrador pode definir uma lista de endereços IP permitidos ou não no
LogMeIn para estabelecer uma conexão com o host selecionado (por exemplo, designar a
rede interna e o endereço IP doméstico de outro administrador como permitidos).
Filtro de negação de serviço
Um filtro de negação de serviço rejeita conexões se o endereço IP da solicitação tiver feito
uma quantidade excessiva de solicitações sem autenticação na janela do tempo da
observação. Isso serve para impedir que alguém sobrecarregue o computador host, por
exemplo, solicitando de modo rápido e automático, a página de login repetidas vezes.
Filtro de autenticação
Se o usuário tiver feito uma quantidade excessiva de tentativas de login que falharam, o
Filtro de autenticação rejeitará a conexão. O Filtro de autenticação é definido para impedir
que um possível invasor obtenha o nome e a senha de uma conta.
Como definir filtros em um host do LogMeIn
1 Acesse as preferências do host pelo host ou pelo cliente:
a Se você estiver no host, abra o Painel de controle do LogMeIn e siga o seguinte caminho:
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 15
Opções > Preferências > Segurança
b Se você estiver no cliente, conecte-se ao Menu principal do host e siga este caminho: Preferências > Segurança
2 Em Controle de intrusão, clique em Editar perfis para começar a criar um perfil de filtro.
Para obter detalhes, consulte o Guia do usuário do LogMeIn Pro ou o Guia do usuário do Central.
Autenticação e autorização de usuários para o host
Após receber acesso pelas camadas anteriores, o usuário deve provar sua identidade ao
host. Isso é feito por meio de uma etapa obrigatória de autenticação no nível do SO.
O usuário deve se autenticar para o host usando seu nome de usuário e senha padrão do
Windows ou Mac. O host geralmente passará essa solicitação ao controlador de domínio
relevante. Essa etapa não apenas valida a identidade do usuário, mas também garante que
os administradores da rede possam controlar quem pode efetuar login em um host
específico.
Senha pessoal
Senha pessoal é outra medida de segurança opcional que pode ser configurada no host
do LogMeIn. O usuário pode atribuir uma Senha pessoal para o host que, como a senha do
SO, não é armazenada ou verificada pelo gateway. Uma diferença entre a senha do sistema
operacional e a Senha pessoa é que o host nunca pede a Senha pessoal completa,
portanto, o usuário nunca a insere como um todo em uma única sessão de autenticação. O
host solicita ao usuário três dígitos aleatórios da Senha pessoal depois que a autenticação
do SO tiver sido bem-sucedida. Se o usuário inserir os caracteres corretos (por exemplo, o
primeiro, o quarto e o sétimo), ele obterá acesso.
Como definir uma senha pessoal
1 Acesse as preferências do host pelo host ou pelo cliente:
a Se você estiver no host, abra o Painel de controle do LogMeIn e siga o seguinte caminho: Opções > Preferências > Segurança
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 16
b Se você estiver no cliente, conecte-se ao Menu principal do host e siga este caminho: Preferências > Segurança
2 Em Senha pessoal, digite sua senha pessoal e repita-a para confirmá-la.
3 Clique em Aplicar.
LogMeIn e RSA SecurID
Para adicionar uma camada extra de segurança na autenticação simples de usuário/senha,
configure o LogMeIn para solicitar a autenticação RSA SecurID. RemotelyAnywhere, o
produto que introduziu a tecnologia usada pelo LogMeIn, foi oficialmente certificado pela
RSA Security como SecureID Ready em 2003 Desde então, o LogMeIn continuou a manter
o alto nível de segurança consistente com a tecnologia RSA.
Para obter mais informações sobre o produto RSA SecurID, consulte o site da RSA.
Para obter informações sobre a configuração desse recurso em um host do
LogMeIn, consulte help.logmein.com.
Figura 4: Autenticação entre usuários e o host
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 17
Autenticação e autorização de usuários no host
Depois que o LogMeIn verificar a identidade do usuário usando os métodos acima, ele
verificará seu próprio banco de dados de usuários internos para ver quais módulos internos
o usuário poderá acessar.
Os administradores de sistema podem configurar o LogMeIn para que os usuários com
determinadas funções tenham acesso somente a um subconjunto de ferramentas oferecido
pelo LogMeIn; por exemplo, o departamento de Helpdesk pode ser configurado para
visualizar apenas a tela do computador e os dados de desempenho, mas não podem tomar
o controle, de fato, do mouse e do teclado, nem fazer nenhuma alteração na configuração
do sistema. Por outro lado, o departamento de Vendas pode receber acesso de controle
remoto total a seus respectivos computadores, mas os recursos como monitoramento de
desempenho e administração remota não seriam disponibilizados.
Usando o token de acesso do sistema operacional obtido quando o usuário foi autenticado,
o LogMeIn representa o usuário para o sistema operacional enquanto executa ações no
seu lugar. Isso garante que o LogMeIn siga o modelo de segurança do sistema operacional,
e que os usuários tenham acesso aos mesmos arquivos e recursos de rede que teriam se
estivessem sentados em frente ao computador. Os recursos não disponíveis no Windows
ou no OS X permanecerão assim pelo LogMeIn.
Consulte “Controlando quem pode acessar seus computadores host" no
Guia do usuário do LogMeIn Pro ou no Guia do usuário do Central.
Fazendo auditoria e login
O LogMeIn oferece recursos abrangentes de conexão. Um log de eventos bastante
detalhado que ocorre no software é mantido no diretório de instalação. Os eventos mais
importantes também são colocados no log de eventos do aplicativo Windows – esses
eventos incluem, por exemplo, ações de logon e logoff. O log detalhado também pode ser
enviado para um servidor central SYSLOG.
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 18
Para obter detalhes, consulte "Como exibir arquivos de log de evento do LogMeIn" no
Guia do usuário do LogMeIn Pro.
Para o SYSLOG, consulte "Preferências de host implantável para logs e gravação de
sessões" no Guia do usuário do LogMeIn Central.
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 19
Encaminhamento de dados O gateway fornece criptografia de ponta a ponta encaminhando dados criptografados entre
o host e o cliente. Se você está familiarizado com o funcionamento do TLS, isso pode
parecer impossível; afinal de contas, a suposição lógica é de que somente o gateway
poderá decodificar os dados enviados pelo cliente, já que o cliente teria certeza de estar se
comunicação com o gateway. Esse é um argumento válido, mas a LogMeIn fez algumas
alterações importantes no modo de tratamento das sessões TLS entre o host e o gateway.
A primeira parte da negociação do TLS é executada entre o gateway e o cliente. O
gateway, então, passa a tarefa para o host, que renegocia a sessão TLS e concorda com o
cliente em relação à nova chave de sessão, fornecendo, assim, uma criptografia
verdadeiramente completa do host ao cliente.
Quando o tráfego é transmitido pelo gateway, o cliente estabelece uma sessão TLS com o
gateway usando o certificado do gateway. O gateway transfere o estado dessa sessão TLS
(incluindo o PMS) para o host. Após concordar a respeito de uma nova chave, o host usa
esse estado da sessão para lidar com o restante da sessão TLS diretamente com o cliente.
O certificado do gateway protege a sessão, permitindo que o cliente se comunique
diretamente com o host, sem precisar que o gateway descriptografe e criptografe
novamente o tráfego.
Um ataque Man-in-the-middle se torna impossível, pois tanto o host quanto o cliente
verificam o certificado do gateway, e o cliente usa a sua chave RSA pública para
criptografar informações que são usadas para produzir o Pre-Master Secret do TLS.
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 20
Travessia NAT UDP É importante explicar como a Travessia NAT UDP é usada, especialmente porque o UDP
em si é notoriamente considerado não seguro. Esse não é um conceito totalmente errado:
Se o UDP for usado como um meio de comunicação, a segurança poderá ser um problema
sério, pois os datagramas UDP são fáceis de serem forjados e o endereço IP do remetente
pode ser falsificado.
Para remediar essa situação, o LogMeIn.com não usa o UDP como um meio de
comunicação em si com as conexões de Travessia NAT UDP. O UDP é transmitido à
camada da rede, conforme definido pelo Modelo de rede ISO/OSI, com uma camada de
transporte parecida com o TCP criada sobre ele, completo com o controle de fluxo,
expansão de largura de banda dinâmica e numeração de sequência de pacote.
O LogMeIn.com usa o UDP em vez de pacotes TCP (e, dessa forma, efetivamente
reimplementado uma camada de transporte similar ao TCP) porque a maioria dos firewalls e
dispositivos NAT permite a comunicação bidirecional direta por um transporte UDP, desde
que ela tenha sido iniciada dentro do perímetro de segurança, porém, é exigida uma
reconfiguração significativa para TCP e pacotes IP. Depois que um fluxo confiável como o
TCP é estabelecido a partir de pacotes UDP não confiáveis, o fluxo ganha a proteção
adicional de uma camada TLS, fornecendo recursos completos de criptografia, proteção de
integridade e verificação de terminais.
Para configurar uma conexão de Travessia NAT UDP, o cliente e o host enviam vários
pacotes UDP criptografados ao gateway. Esses pacotes são criptografados com uma chave
secreta compartilhada pelo gateway e seu respectivo par, comunicado por uma conexão
TLS preexistente. É impossível falsificá-los.
O gateway usa esses pacotes para determinar os endereços IP externos (Internet) das duas
entidades. Ele também tenta prever qual porta do firewall será usada para comunicação
quando um novo pacote UDP for enviado. Os resultados são passados aos pares, que
tentarão então estabelecer uma conexão direta. Se o gateway puder determinar a porta em
uso, a conexão será bem-sucedida. Os pares verificam uns aos outros usando outro
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 21
segredo compartilhado obtido do gateway. Uma sessão TLS é estabelecida. Os pares
então comunicam-se diretamente.
Se não for possível estabelecer uma conexão direta, os pares serão conectados de volta ao
gateway pelo TCP e solicitarão que uma sessão criptografada de ponta a ponta e
encaminhada seja usada. Esse processo leva apenas alguns segundos e é transparente ao
usuário. A única diferença notável é o maior desempenho e a baixa latência quando uma
conexão direta está em uso. Para obter mais detalhes, consulte a patente nº 7.558.862 dos
EUA.
Atualizações de software e segurança do gateway Com base nas preferências do usuário, o host do LogMeIn pode se atualizar de forma
automática ou semi-automática no computador do usuário. O software host verifica
periodicamente o site LogMeIn.com em busca de versões mais recentes do software. Caso
uma nova versão seja encontrada, ela é baixada automaticamente e uma mensagem é
exibida ao usuário, que poderá permitir que a atualização seja realizada. O processo de
download usa, no máximo, 50% da largura de banda disponível, minimizando assim a
interferência com outros aplicativos na rede.
Essas atualizações de software são digitalmente assinadas pela LogMeIn.com com uma
chave privada que não é encontrada em nenhum dos nossos sistemas conectados à
Internet. Portanto, mesmo que os centros de dados LogMeIn estivessem fisicamente
comprometidos por invasores que tivessem obtido controle total sobre nossos servidores,
eles não poderiam enviar uma atualização não autorizada e executar um código arbitrário
nos computadores dos nossos usuários. O máximo que um ataque tão improvável poderia
causar é o acesso à tela de logon do LogMeIn no computador do cliente; e, mesmo que os
invasores contornem efetivamente os mecanismos de segurança do gateway, eles ainda
teriam que inserir credenciais válidas do sistema operacional para obter acesso ao
computador. Obter a senha por insistência é impossível, pois o Filtro de autenticação, por
padrão, bloqueia o endereço IP do usuário depois da inserção de algumas senhas
incorretas.
Segurança do LogMeIn: Uma visão detalhada
Copyright © 2003-2016 LogMeIn, Inc. Todos os direitos reservados. 22
Para os casos em que um usuário usa a mesma senha tanto no LogMeIn quanto no
computador, é importante observar que não armazenamos senhas LogMeIn reais no nosso
banco de dados. Em vez disso, usamos uma função de derivação da chave criptográfica
unidirecional e um valor de sal em cada conta para garantir que ataques de força bruta não
sejam possíveis, mesmo com a posse do valor derivado.
Conclusão Uma solução de acesso remoto bem desenvolvida pode aumentar significativamente a
produtividade e proporcionar um rápido retorno sobre o investimento. Quando a
implantação é feita com cuidado e os recursos opcionais de segurança da LogMeIn são
utilizados, os benefícios sobrepõem-se aos riscos.