Existe uma desvantagem na instalação do VNC?

20

Temos um NUC da Intel no departamento de idiomas da minha universidade que em breve hospedará um aplicativo da Web usado por professores e alunos do departamento. O NUC executa o Ubuntu (14.10).

Estou confortável com o terminal e com o SSH no servidor, mas acho que muitas tarefas que preciso fazer são muito mais fáceis através do compartilhamento de tela (VNC).

Sugeri ao nosso novo diretor técnico que instalássemos o VNC nesse servidor para facilitar minha vida (na verdade, ele tinha o VNC instalado antes de ele ser contratado e depois ele foi desinstalado). No entanto, ele respondeu com o seguinte comentário:

Eu preferiria não rodar o X ou o VNC no servidor, se pudermos nos safar. Afinal, é um servidor.

Eu realmente não entendo essa lógica. Não está ligado a um monitor; o único acesso a ele através do SSH. Existe alguma desvantagem milagrosa em ter acesso VNC a um servidor que eu não conheço?

Obviamente, você está abrindo outra porta para um invasor; refutação: estamos atrás de dois firewalls universitários (o principal firewall da rede universitária e o firewall especial da nossa sub-rede). O VNC só seria capaz de ser realizado dentro de nossa sub-rede, por isso não sei por que isso seria um problema diferente de "é outro pacote para manter" e com o aptgerenciador de pacotes do Ubuntu que se torna um problema.

Quais são as desvantagens de instalar o VNC em um servidor?

Edit : este não é apenas um servidor web. Está hospedando uma série de outras aplicações. Não tenho certeza se isso faz diferença.

Chris Cirefice
fonte
21
Não consigo imaginar nada que você precise fazer com um servidor da Web que seria mais fácil usando uma GUI. Talvez você também deva perguntar se existe uma maneira melhor de executar as tarefas que deseja executar.
Michael Hampton
3
De qualquer maneira, esta é uma oportunidade para aprender algo novo.
Michael Hampton
9
É tudo uma questão de limitar a superfície. Com mais serviços, mais pode dar errado e mais podem ser invadidos. É verdade que você disse isso, mas continua sendo verdade. Também pessoalmente eu odeio VNC. E o X11 Forwarding over SSH?
22615 Michael Bailey
11
Então, por que você precisa usar essas ferramentas em um servidor? Usar um navegador sem uma interface gráfica será inútil na maioria dos casos - mas você não consideraria executar o navegador em um servidor. Qualquer que seja a ferramenta que você esteja usando, basta instalá-la no seu cliente e acessar os dados necessários no servidor, de preferência via ssh. Talvez ter um olhar para sshfs
Ben
7
Não quero postar isso como resposta, porque não responde à pergunta "Quais são as desvantagens do VNC", mas para elaborar o comentário de @MichaelBailey: Você não precisa do X ou do VNC no servidor . O SSH para o servidor com encaminhamento X permite que programas gráficos sejam realmente executados no servidor enquanto exibe as janelas em um servidor X11 em execução na sua máquina local . Você só precisa de algumas bibliotecas X11 compartilhadas no servidor que não desperdiçam recursos enquanto não tiver um programa em execução que as utilize. OMI é um bom compromisso.
Gerald Schneider

Respostas:

42

Existem muitas razões:

  • Superfície de ataque: mais programas, especialmente os em rede, significam mais oportunidades para alguém encontrar um bug e entrar.

  • Superfície defeituosa: como acima, mas substitua "alguém" por " Murphy " e "entre" por "arruinar o seu dia". Na verdade, "arruinar o seu dia" provavelmente também se aplica ao ponto anterior.

  • Eficiência do sistema: O X11 e os ambientes da GUI que as pessoas costumam executar neles consomem uma quantidade razoável de RAM, especialmente em um sistema de recursos limitados, como um NUC. Não executá-los significa mais recursos para realizar um trabalho útil.

  • Eficiência do operador: As GUIs não se prestam a scripts e outras formas de automação. Clicar nas coisas parece produtivo, mas na verdade é a pior maneira de fazer algo profundamente técnico. Você também encontrará suas oportunidades futuras de emprego bastante limitadas se não conseguir criar scripts e automatizar seu trabalho - o setor está se afastando das ferramentas de administração da GUI. Caramba, até mesmo o servidor Windows pode ser instalado sem GUI hoje em dia, e se isso não fizer você pensar nos méritos relativos de saber apenas clicar nas coisas, eu realmente não sei o que dizer para você.

mulher
fonte
11
Dang womble .. você me venceu no soco por 30 segundos novamente. :) Ótima resposta.
Tim Brigham
3
Muito tempo gasto com Mavis Beacon na minha juventude tem que ter alguns benefícios ... <grin>
womble
6
@ ChrisCirefice, então sugiro que você peça a alguém para fazer as coisas da maneira certa, em vez de comprometer a segurança dos servidores de produção por um pouco de facilidade de uso.
André Borie
8
É um toque duro, Andre. Eu gostaria de pensar que Chris tem uma compreensão um pouco melhor das implicações de suas preferências agora, não há necessidade de derrotá-lo por isso.
womble
4
O @ChrisCirefice tenha muito cuidado ao pensar em coisas como "nenhuma informação super valiosa" e "atrás de firewalls". O valor dos dados está nos olhos de quem vê e o papel dos sistemas pode mudar sutilmente ao longo do tempo, para que dados mais valiosos (para um invasor) acabem acumulando lentamente em um sistema que todo mundo acha que não vale a pena defender. e você acaba na primeira página de todos os sites de notícias porque algo vergonhoso vazou.
womble
15

O problema não é o VNC - não me interpretem mal, o VNC é um protocolo horrível e possui muitas falhas (a maior delas é a falta de suporte à criptografia, para que tudo passe pela rede em texto sem formatação), mas não é o principal razão pela qual seu uso não é recomendado em servidores.

Você vai instalar o VNC para acessar uma tela preta? Não, você queria acessar todo um ambiente de área de trabalho, e esse é o verdadeiro problema.

Depois de instalar todo esse software Gnome (ou similar) para desktop, você já pode considerar seu servidor comprometido, pois ainda existem muitos bugs a serem explorados nessa horrível e enorme coleção de aplicativos (além do fato de que ele não foi projetado para produtividade) e usa uma tonelada de recursos). Uma das outras razões pelas quais eu não recomendo este software e a maioria dos ambientes de desktop Linux é que eles assumem o sistema inteiro quase como um rootkit e implementam suas próprias versões de tudo (autenticação? Não há mais usuários e grupos sólidos , vamos executar essa bobagem do Policykit como raiz que concede permissões com base em alguns arquivos XML ilegíveis e obscuros ... configuração? Quem precisa de arquivos de configuração legíveis por humanos? Vamos armazenar tudo em bancos de dados binários que você puder '

Tentar instalar um ambiente de desktop Gnome no meu servidor Archlinux me diz "Tamanho total instalado: 1370,86 MiB". Isso é enorme, imagine a superfície de ataque extra que esse ex-servidor terá depois de instalado. Outros ambientes de área de trabalho não são muito melhores.

André Borie
fonte
"O VNC é um protocolo horrível e possui muitas falhas (a maior delas é a falta de criptografia ...)" Nas situações em que era necessário um VNC, não um ambiente de servidor, seu problema é evitado através do tunelamento de suas sessões de VNC pelo ssh.
Keith Reynolds
@KeithReynolds sim, mas deve ser incorporado especialmente quando você o compara com seus concorrentes, como o RDP mais "atualizado", que é criptografado imediatamente (seguro, desde que você confie no certificado do servidor).
André Borie
7
Uma filosofia de design é incorporar todas as soluções possíveis (geralmente típicas de desenvolvedores de MS) e a outra é reunir o que você precisa (geralmente típico de desenvolvedores de Linux). Em relação ao VNC: Quando a segurança é necessária em uma rede ssh não confiável, requer uma conta e fornece criptografia. Quando a segurança não é uma preocupação, o compartilhamento da área de trabalho não exige uma conta do sistema ou a sobrecarga de criptografia.
amigos estão dizendo sobre keith
2
O @KeithReynolds outro problema do VNC é que ele envia bitmaps puros em vez de comandos de desenho que são desenhados no lado do cliente como o RDP. Isso torna o VNC horrível de usar em qualquer coisa além de uma rede local, enquanto o RDP permanece bem, mesmo em redes móveis ruins.
André Borie
9

Obviamente, você está abrindo outra porta para um invasor; refutação: estamos atrás de dois firewalls universitários (o principal firewall da rede universitária e o firewall especial da nossa sub-rede). O VNC só seria capaz de ser realizado dentro da nossa sub-rede, por isso estou perdido ...

Nunca assuma que, como seu sistema está protegido por um firewall, em uma rede privada, você não precisa se preocupar com segurança. Muitas, se não a maioria, intrusões bem-sucedidas são realizadas por pessoas de dentro (funcionários, estudantes, etc.) que têm acesso às referidas redes.

Gene
fonte
-8

Tente fazer isso para manter o diretor técnico feliz:

  • Instale o VNC e qualquer desktop que desejar

  • NÃO instale um protetor de tela de qualquer tipo. Por quê? Você não tem uma tela, e uma área de trabalho sentada ali não consome muitos recursos.

  • NÃO encaminhe a porta VNC. Se você precisar usá-lo, encapsule a porta VNC (5900) via SSH (porta 22) e conecte-a dessa maneira.

Esse processo fornece criptografia e toda a segurança do SSH, que já está aberta. Você não adiciona nenhum problema de segurança que ainda não tinha antes.

Eu já faço isso no meu próprio servidor, não há atraso adicional perceptível no processo VNC em comparação com uma conexão direta.

Paulo
fonte
9
" Você não adiciona nenhum problema de segurança que ainda não tinha antes " nem é quase verdade. A instalação de código extra - e Andre B acima fornece uma idéia de quanto de código extra estamos falando - oferece mais oportunidades para escalação de privilégios por usuários locais (ssh'ed-in).
MadHatter apoia Monica
4
Concordo que a segurança é um ato de equilíbrio, mas alegar que atos (instalar software extra) que fazem parte do trade-off não têm desvantagem é falso. Dizer que há poucos usuários ssh'ed é igualmente enganador: o autor da pergunta diz que ele está no momento, e não temos como saber quantas outras pessoas o fazem.
MadHatter apoia Monica
4
"O OP determinou que o SSH é seguro o suficiente ". A segurança não é uma propriedade que você possui ou não; é um grau de preparação contra um determinado modelo de ameaça. Se o modelo de ameaça for " acesso não autorizado pelo usuário remoto ", sim, sshé uma boa defesa. Se o modelo de ameaça for " escalonamento de privilégios por usuário local autorizado" , sshnão haverá defesa e a instalação de toneladas de código extra no servidor aumentará significativamente a superfície de ataque. O Womble é um administrador de sistemas experiente, com cerca de setenta mil vezes a sua reputação neste site; portanto, você pode ir com calma com os insultos.
MadHatter apoia Monica
11
@paul Não, minha principal preocupação não era com a falta de criptografia do VNC (pode ser atenuada usando o encapsulamento SSH), o principal problema é a enorme superfície de ataque de qualquer ambiente de desktop.
André Borie
3
@ Paul: você está certo, não tenho absolutamente nenhum senso de equilíbrio. Não sou Fox News: não preciso ser "justo e equilibrado". Sou administrador de sistemas: preciso estar certo .
womble