VNC 설치에 단점이 있습니까?


20

우리 대학의 언어 부서에는 인텔 NUC가 있으며이 부서는 교직원과 부서의 학생들이 사용하는 웹 응용 프로그램을 곧 호스팅 할 것입니다. NUC는 우분투 (14.10)를 운영합니다.

터미널과 서버에 대한 SSH 연결에 익숙하지만 VNC (스크린 공유)를 통해 수행해야하는 많은 작업이 훨씬 쉽다는 것을 알게되었습니다.

새로운 기술 책임자에게이 서버에 VNC를 설치하여 내 삶을 훨씬 쉽게 만들 수 있도록 제안했습니다 (사실 전에 VNC를 설치 한 다음 제거했습니다). 그러나 그는 다음과 같이 대답했다.

우리가 그것을 멀리 할 수 ​​있다면 서버에서 X 또는 VNC를 실행하지 않는 것이 훨씬 좋습니다. 결국 서버입니다.

나는이 논리를 정말로 이해하지 못한다. 모니터에 연결되어 있지 않습니다. SSH를 통한 유일한 액세스. 내가 모르는 서버에 VNC 액세스 권한을 갖는 기적적인 단점이 있습니까?

분명히 당신은 공격자를 위해 다른 포트를 열고 있습니다; 반박 : 우리는 두 개의 대학 방화벽 (주된 대학 네트워크 방화벽과 서브넷 자체의 특수 방화벽) 뒤에 있습니다. VNC는 서브넷 내에서만 수행 할 수 있기 때문에 이것이 "유지 관리해야 할 또 다른 패키지"이외의 문제가되는 이유와 우분투 apt가 아닌 Ubuntu의 패키지 관리자 와 관련하여 손실이 있습니다 .

서버에 VNC를 설치하면 어떤 단점이 있습니까?

편집 : 이것은 웹 서버가 아닙니다. 다른 많은 응용 프로그램을 호스팅하고 있습니다. 차이가 있는지 확실하지 않습니다.


21
나는 상상할 수 없다 아무것도 당신이 GUI를 사용하여 쉬울 것 웹 서버와 수행해야 할 수도 있습니다. 또한 수행하려는 작업을 수행하는 더 좋은 방법이 있는지 묻어 야합니다 .
Michael Hampton

3
어느 쪽이든, 이것은 새로운 것을 배울 수있는 기회입니다.
Michael Hampton

9
표면 제한에 관한 것입니다. 더 많은 서비스를 사용하면 더 많은 문제가 발생하고 더 많은 해킹을 당할 수 있습니다. 이 말을했지만 사실입니다. 또한 개인적으로 나는 VNC를 싫어한다. SSH를 통한 X11 포워딩은 어떻습니까?
Michael Bailey

1
서버에서 이러한 도구를 사용해야하는 이유는 무엇입니까? 대부분의 경우 그래픽 인터페이스없이 브라우저를 사용하는 것은 쓸모가 없지만 서버에서 브라우저를 실행하는 것은 고려하지 않습니다. 사용중인 도구는 클라이언트에 설치하고 ssh를 통해 서버에 필요한 모든 데이터에 액세스하십시오. 아마도 sshfs를
Ben

7
나는 "VNC의 단점은 무엇입니까?"라는 질문에 대답하지 않기 때문에 이것을 대답으로 게시하고 싶지 않지만 @MichaelBailey의 의견을 자세히 설명하기 위해 서버에 X 또는 VNC가 필요하지 않습니다. . X 포워드를 사용하여 서버에 SSH를 사용하면 로컬 시스템 에서 실행중인 X11 서버에 창을 표시하면서 그래픽 프로그램을 서버에서 실제로 실행할 수 있습니다 . 서버에 공유 X11 라이브러리 만 있으면됩니다.이 라이브러리를 사용하는 프로그램을 실행하지 않은 동안 리소스를 낭비하지 않습니다. IMO는 좋은 절충안입니다.
Gerald Schneider

답변:


42

여러 가지 이유가 있습니다.

  • 공격 영역 : 더 많은 프로그램, 특히 네트워크화 된 프로그램은 누군가 버그를 발견 할 기회가 더 많다는 것을 의미합니다.

  • 표면 결함 : 위와 같이 "누군가"를 " 머피 "로 바꾸고 "들어 오십시오"를 "오늘을 망치다"로 바꾸 십시오. 실제로, "하루를 망치다"는 아마도 이전 시점에도 적용됩니다.

  • 시스템 효율성 : X11 및 사람들이 실행하는 GUI 환경은 특히 NUC와 같은 제한된 리소스 시스템에서 상당한 양의 RAM을 소비합니다. 이를 실행하지 않으면 유용한 작업을 수행하기위한 더 많은 리소스가 필요합니다.

  • 운영자 효율성 : GUI는 스크립팅 및 기타 형태의 자동화에 적합하지 않습니다. 물건을 클릭하면 생산적인 느낌이 들지만 실제로는 엄청나게 기술적 인 일을하는 최악의 방법에 관한 것입니다. 당신은 또한 당신이 스크립트를 할 수없는 경우 심각하게 제한 미래의 고용 기회를 찾아 작업을 멀리 자동화 할 수 있습니다 - 업계는 것입니다 멀리 GUI 관리 도구에서. 요즘 Windows 서버조차 GUI가 없어도 설치할 수 있습니다. 그래야만 물건을 클릭하는 방법을 아는 것의 상대적인 장점에 대해 생각하지 않으면 실제로 무엇을 말 해야할지 모르겠습니다.


1
엉망이 .. 당신은 다시 30 초 정도 펀치에 나를 때렸다. :) 좋은 답변입니다.
Tim Brigham

3
젊음에 Mavis Beacon과 함께 보낸 많은 시간은 몇 가지 이점이 있습니다 ... <grin>
womble

6
@ChrisCirefice 그런 다음 약간의 사용 편의성을 위해 프로덕션 서버의 보안을 손상시키는 대신 올바른 방식으로 작업을 수행하도록 누군가에게 요청하는 것이 좋습니다.
André Borie

8
안타깝 네요, 안드레 나는 Chris가 지금 자신이 선호하는 것의 의미를 약간 더 잘 이해하고 있다고 생각하고 싶습니다.
울다

4
수 @ChrisCirefice 정말 "방화벽 뒤에" "아니오 슈퍼 유용한 정보"와 같이 신중하게 생각하는 것들. 데이터의 가치는 보는 사람의 눈에 있으며 시스템의 역할은 시간이 지남에 따라 미묘하게 변화 할 수 있으므로 더 가치있는 (공격자에게) 데이터는 모든 사람이 방어 할 가치가 없다고 생각하는 시스템에 천천히 누적됩니다. 그런 다음 모든 당황스러운 소식이 유출되어 모든 뉴스 웹 사이트의 첫 페이지에 표시됩니다.
womble

15

문제는 VNC가 아닙니다-틀리지 마십시오 .VNC는 끔찍한 프로토콜이며 많은 결함이 있습니다 (암호화 지원이 부족하여 모든 것이 일반 텍스트로 네트워크를 통과합니다). 서버에서는 사용하지 않는 것이 좋습니다.

VNC를 설치하여 검은 화면에 액세스 할 수 있습니까? 아니요, 전체 데스크톱 환경에 액세스하려고했기 때문에 이것이 실제 문제입니다.

이 데스크탑 급 Gnome (또는 이와 유사한) 소프트웨어를 모두 설치하고 나면 서버가 손상되었다고 생각할 수 있습니다.이 끔찍하고 방대한 응용 프로그램 모음에는 많은 버그가 남아 있기 때문입니다 (생산성을 위해 설계된 것이 아니라는 사실 외에도) 그리고 많은 자원을 사용합니다). 이 소프트웨어와 대부분의 Linux 데스크탑 환경을 권장하지 않는 다른 이유 중 하나는 루트킷처럼 전체 시스템을 인수하고 모든 버전의 자체 버전 (인증? 더 이상 견고한 사용자 및 그룹을 구현하지 않기 때문입니다) 읽을 수없고 모호한 일부 XML 파일을 기반으로 권한을 부여하는이 Policykit 넌센스를 루트로 실행 해 보겠습니다 ... 구성? 사람이 읽을 수있는 구성 파일이 필요한 사용자 • 모든 것을 바이너리 데이터베이스에 저장할 수 있습니다.

Archlinux 서버에 Gnome 데스크탑 환경을 설치하려고하면 "전체 설치 크기 : 1370.86 MiB"가 표시됩니다. 이 전 서버가 설치되면 추가 공격 영역이 있다고 상상해보십시오. 다른 데스크탑 환경은 그리 나쁘지 않습니다.


"VNC는 끔찍한 프로토콜이며 많은 결함이 있습니다 (가장 큰 것은 암호화 부족입니다 ...") 서버 환경이 아닌 VNC가 필요한 상황에서는 ssh를 통해 VNC 세션을 터널링하여 문제를 피할 수 있습니다.
키이스 레이놀즈

@KeithReynolds 예, 그러나 특히 암호화 된 "최신"RDP와 같이 동시 서버와 비교할 때는 내장되어 있어야합니다 (서버 인증서를 신뢰하는 한 안전합니다).
André Borie

7
하나의 디자인 철학은 가능한 모든 솔루션을 내장하고 (일반적으로 일반적인 MS 개발자), 다른 하나는 필요한 것을 함께 모으는 것입니다 (일반적으로 일반적인 Linux 개발자). VNC 관련 : 신뢰할 수없는 네트워크 ssh를 통해 보안이 필요한 경우 계정이 필요하며 암호화를 제공하십시오. 보안이 중요하지 않은 경우 데스크톱을 공유하는 데 시스템 계정이나 암호화 오버 헤드가 필요하지 않습니다.
Keith Reynolds

2
@KeithReynolds VNC의 또 다른 문제는 RDP와 같이 클라이언트쪽에 그려진 그리기 명령 대신 순수한 비트 맵을 전송한다는 것입니다. 이로 인해 VNC는 로컬 네트워크 이외의 곳에서 사용하기가 끔찍한 반면 RDP는 거친 모바일 네트워크에서도 괜찮습니다.
André Borie

9

분명히 당신은 공격자를 위해 다른 포트를 열고 있습니다; 반박 : 우리는 두 개의 대학 방화벽 (주된 대학 네트워크 방화벽과 서브넷 자체의 특수 방화벽) 뒤에 있습니다. VNC는 서브넷 내에서만 가능하므로 손실이 발생했습니다.

시스템이 개인 네트워크에서 방화벽 뒤에 있기 때문에 보안에 대해 걱정할 필요가 없습니다. 대부분은 아니지만 대부분의 성공적인 침입은 해당 네트워크에 액세스하는 내부자 (직원, 학생 등)에 의해 수행됩니다.


-8

기술 책임자를 행복하게 유지하려면 다음을 수행하십시오.

  • VNC 및 원하는 데스크탑 설치

  • 어떤 종류의 화면 보호기를 설치하지 마십시오. 왜? 화면이없고 바탕 화면 만 앉아 있으면 많은 리소스가 소비되지 않습니다.

  • VNC 포트를 전달하지 마십시오. 이를 사용해야하는 경우 SSH (포트 22)를 통해 VNC 포트 (5900)를 터널링하고 연결하십시오.

이 프로세스는 암호화되어 있으며 이미 열려있는 SSH의 모든 보안을 제공합니다. 이전에는 없었던 보안 문제를 추가하지 않습니다.

이미 내 서버에서이 작업을 수행하므로 직접 연결에 비해 VNC 프로세스에서 눈에 띄는 추가 지연이 없습니다.


9
" 전에는 없었던 보안 문제를 추가하지 않아도됩니다 "는 사실에 가깝지 않습니다 . 추가 코드를 설치하면 (위의 Andre B는 우리가 말하는 추가 코드의 양을 알려줍니다) 로컬 사용자가 더 많은 권한을 확대 할 수있는 기회를 제공합니다.
MadHatter는

4
나는 보안이 균형을 잡는 행위라는 데 동의하지만, 상충 관계에 속하는 행위 (추가 소프트웨어 설치)에 단점이 없다고 주장하는 것은 불분명합니다. 사용자의 ssh가 거의 없다고 말하는 것은 똑같이 오해의 소지가 있습니다. 질문의 저자는 그가 지금 ssh 's라고 말하며, 우리는 얼마나 많은 사람들이 그렇게하는지 알 방법이 없습니다.
MadHatter는

4
" OP는 SSH가 충분히 안전하다고 판단했습니다 ." 보안은 귀하가 소유하거나 보유하지 않은 재산이 아닙니다. 주어진 위협 모델에 대비 한 수준입니다. 위협 모델 "인 경우 원격 사용자에 의한 무단 액세스는 "다음 네, ssh좋은 방위이다. 위협 모델이 " 권한이있는 로컬 사용자에 의한 권한 에스컬레이션" 인 경우 ssh방어 기능이 없으며 서버에 수많은 추가 코드를 설치하면 공격 영역이 크게 증가합니다. Womble은이 사이트에 대한 평판이 약 7 만 배 이상인 숙련 된 sysadmin이므로 모욕을 쉽게 처리 할 수 ​​있습니다.
MadHatter는 Monica

1
@paul 아니요, 주요 관심사는 VNC의 암호화 부족 (SSH 터널링을 사용하여 완화 할 수 있음)에 관한 것이 아니라 주요 문제는 모든 데스크탑 환경의 거대한 공격 표면입니다.
André Borie

3
@ paul : 당신 말이 맞아요, 나는 균형 감각이 전혀 없습니다. 나는 폭스 뉴스가 아니다 : 나는 "공정하고 균형"일 필요는 없다. 나는 sysadmin입니다 : 옳 아야 합니다.
울다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.