Introdução

Introdução

Se você já esteve no comando de uma rede, definitivamente tinha a necessidade de uma conexão remota segura. Talvez você só precise ficar de olho nos funcionários ou crianças. Fazer isso pode ser um aborrecimento para um pouco de cruzamento de redes e sub -redes. Além disso, muitas empresas podem ter internet, mas sem dhcp para máquinas mais protegidas. Muitos fazem isso com máquinas de rede, mantendo os funcionários de navegar na web. Seja como. Melhor ainda, obteremos tudo o que precisamos para acessar um cliente Linux ou Windows.

Requisitos

Você deve ter privilégios de raiz na máquina de onde deseja monitorar e nos clientes. Você não precisa ter direitos de administrador em um cliente Windows se puder pelo menos ativar a área de trabalho remota. Para seguir este tutorial, você pode usar máquinas virtuais se não tiver clientes físicos para testar. Contanto que você tenha os direitos acima e um endereço IP, você deve ficar bem.

Contrato

Enquanto eu já mencionei propósitos legítimos para este tutorial, ele pode ser abusado. O objetivo deste escrito é ajudar as pessoas a rede suas próprias máquinas. Por favor, use essas informações apenas para monitoramento legal de clientes!

Configurando nosso anfitrião

A primeira coisa que você deve fazer é baixar os pacotes necessários com o APT-Get, se você estiver no Debian ou em derivativos:

# install apt-get xrdp openSsh-server 

Depois disso, precisamos fazer alguma configuração para garantir que nosso servidor SSH funcione corretamente. Em um tipo de terminal "ssh-keygen" para criar as teclas RSA para criptografia. Você verá alguma arte ascii passando e então está pronto. Provavelmente, suas chaves RSA serão armazenadas em/home // nome de usuário/.ssh/ se você precisar encontrá -los.

Agora podemos verificar para garantir que tudo esteja funcionando.

$ NETSTAT -ANTP proto recv-Q Send-Q Endereço local Endereço estrangeiro Estado PID/Nome do programa TCP 0 0 0.0.0.0:22 0.0.0.0:* Ouça 6294/sshd tcp 0 0 127.0.0.1: 3350 0.0.0.0:* Ouça 6230/xrdp-sesman tcp 0 0 0.0.0.0: 3389 0.0.0.0:* Ouça 6227/xrdp 

Executando este comando netstat, devemos ver algo assim. Obviamente, a porta 22 é o nosso servidor ssh. 3389 é a porta do servidor Rdesktop que aguarda conexões. O outro é uma porta para o nosso cliente RDP usar para se conectar e visualizar de.

Configurando o cliente Windows

Agora que configuramos nosso host Linux, precisamos fazer o mesmo com nosso cliente Windows. Para Windows, começamos ativando a área de trabalho remota. No Windows XP, você vai para começar-> todos os programas-> Acessórios-> conexão de desktop remota. Para o túnel SSH, usaremos Plink. Basta baixar Plink.exe e soltar o .arquivo exe em um subpasso, ou em algum lugar não será notado. Faremos o mesmo com o NetCat para nossa conexão inicial.

Fazendo a conexão

Do cliente Windows, começaremos abrindo um shell temporário na porta 1234.

C: \> NC -LVP 1234 -E CMD.exe 

Com a sintaxe acima, devemos agora ter um shell Windows ouvindo na porta 1234. Se sua distro não vier com o NetCat pré-instalado, você pode instalá-lo através do seu gerenciador de pacotes. Se Yum, Pacman ou Apt-Get, a sintaxe deve ser assim:

# apt-get install netcat 

Agora podemos usar o netcat em nosso host Linux para conectar e obter um shell. O parâmetro -v diz ao NetCat para ser detalhado. O endereço IP usado aqui é o endereço do cliente Windows. Finalmente, 1234 é a porta que desejamos conectar.

$ nc -v 192.168.1.12 1234 

Agora devemos ter um prompt de comando do Windows para o cliente remoto em nossa máquina Linux. Eu escolhi 192.168.1.12 para o endereço IP da máquina do Windows. Use o que for apropriado para sua rede.

Quando isso for feito, podemos executar o Plink do shell do Windows em nosso host Linux.

C: \> plink -l Nome de usuário -pw Senha -R 3390: 127.0.0.1: 3389 192.168.1.11 

O que fizemos aqui é dizer que o nome de usuário e a senha do host Linux estamos prestes a conectar. O parâmetro -r é usado para dizer ao SSH que isso vai para um host remoto. O número 3390 que estamos nos conectando aqui é a porta em nossa máquina Linux. Não podemos usar 3389, pois essa porta já está em uso por xrdp. Obviamente 127.0.0.1 é o endereço de loopback na máquina Windows. 3389 é a porta na máquina Windows que precisamos para voltar ao Linux. Finalmente, 192.168.1.11 é o endereço IP que estou usando para o nosso host Linux que queremos nos conectar.

Se tudo correu conforme planejar, devemos ver algo assim da NetStat.

$ NETSTAT -ANTP proto recv-Q Send-Q Endereço local Endereço estrangeiro Estado PID/Nome do programa TCP 0 0 0.0.0.0:22 0.0.0.0:* Ouça 6294/sshd tcp 0 0 127.0.0.1: 3350 0.0.0.0:* Ouça 6230/xrdp-sesman tcp 0 0 127.0.0.1: 3390 0.0.0.0:* Ouça 6227/xrdp 

Como você pode dizer, temos a máquina Windows conectada em 127.0.0.1: 3389. Simplesmente correndo Rdesktop em 127.0.0.1 deve abrir janelas em nossa máquina Linux.

$ rdesktop 127.0.0.1 

Agora você pode fechar o NetCat e usar desktop remoto sobre criptografia SSH. Devo notar aqui que deixar uma concha aberta como acabei de fazer pode representar um alto risco de segurança. Se possível, você deve iniciar isso do cliente Windows com a mesma sintaxe para evitar abrir um shell para o mundo inteiro.

Conectando -se com sem DHCP

O que fizemos pode não impressionar alguns de vocês. Conectar de uma máquina a outra na mesma sub -rede não é tão difícil. Mas agora vamos tentar nos conectar a outra sub -rede. Um que tem internet, mas não dhcp. Vamos fingir a caixa às 10.0.0.10 tem uma página da web na porta 80. Também fingiremos o cliente Windows em 192.168.1.12 tem dois cartões de rede e, portanto, dois endereços IP para conversar com as duas redes. Como não estamos nessa sub -rede e sem DHCP, não podemos simplesmente visualizá -la digitando o endereço IP em nosso navegador. O SSH nos permitirá túnel para esta máquina e enviará o serviço e a página da web em execução na porta 80 de volta ao nosso host Linux.

C: \> plink -l Nome de usuário -pw Senha -R 8080: 10.0.0.10:80 192.168.1.11 

Aqui usamos quase a mesma sintaxe com Plink que antes. Decidi que queria que a conexão comece na porta 8080 no meu host Linux. Desta vez, usamos o IP da máquina que queríamos nos conectar em vez de 127.0.0.1. Optamos por nos conectar na porta 80. Finalmente, enviamos essa conexão através do Windows Client e voltamos ao host Linux em 192.168.1.11. O serviço de 10.0.0.10 agora está vinculado a uma porta 8080 no host de nossa caixa Linux. Use http: // 127.0.0.1: 8080 na barra de endereços do seu navegador para ver a página da web de 10.0.0.10.

Mudando o cenário para clientes Linux

Fiquei surpreso ao encontrar a administração da GUI do tunelamento sobre o SSH foi muito mais simples com clientes Linux. Nenhum pacote XRDP era necessário. Somente um servidor SSH era necessário no cliente que desejamos monitorar e um cliente SSH nossa caixa. De nossa linha de comando, começamos assim:

$ ssh -x nome de usuá[email protected] 

Aqui estamos fazendo login no SSH do cliente com -x para permitir o encaminhamento X11. Seremos solicitados à senha do usuário e levados a um shell seguro. Para criar uma sessão interativa da GUI, será específica para o seu desktop. Para KDE, basta digitar o seguinte:

$ startx -: 1

Os usuários da área de trabalho do Gnome terão que usar este comando:

$ gnome-sessão 

Quaisquer usuários que tenham problemas com isso deve procurar configurar os arquivos Xinitrc e/ou XSession da Distro Distro. As linhas desses arquivos podem variar entre distros e serem armazenadas em muitos locais diferentes. No entanto, eu encontrei muitas distros, como o Debian Sid, trabalhei sem configurar ou solucionar problemas. Por favor, veja a documentação da sua distro para obter ajuda.

Depois de emitir o comando da sua sessão de desktop, você deve ter uma área de trabalho da GUI da caixa remota. Ao contrário do XRDP, esta sessão envelope seu monitor completo em vez de uma janela escalável. Você pode alternar entre a sessão remota e sua área de trabalho local alternando entre Control+Alt+F7 e Control+Alt+F8. Apenas certifique -se de não desligar a sessão com a máquina remota. Fazer isso pode desligar o cliente de onde você está monitorando e não é uma investigação muito furtiva.

Agora que estamos dentro da máquina remota que podemos usar, pode usar seu cliente ou proxychains ssh para túnel mais profundo. Fazer isso nos permitirá pular as redes com ou sem DHCP como antes.

Conclusão

Embora esse tipo de monitoramento possa parecer intrusivo, qualquer administrador sério precisará fazer isso em algum momento. Se você precisa consertar uma máquina remota com um aplicativo da GUI ou garantir que seus funcionários não estejam salvando fotos obscenas em uma máquina de trabalho. O uso do SSH não apenas o protege dos invasores, mas também permite que os túneis em redes você não possam nem mesmo ping, usando esse tipo de administração permite monitorar sem ser facilmente notado pelos clientes ou interromper seu trabalho. Por favor, use esta informação com responsabilidade e lembre -se: “Com grande poder vem uma grande responsabilidade.”

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Configurando a rede em Manjaro Linux
  • Como testar a conexão com a Internet no Linux
  • Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Como gerenciar conexões sem fio usando o IWD no Linux
  • Linux: Configurar SSH
  • Sistema Linux Hung? Como escapar para a linha de comando e…