Czy instalacja VNC ma wadę?

20

W dziale językowym mojej uczelni mamy Intel NUC, który wkrótce będzie obsługiwał aplikację internetową używaną przez wykładowców i studentów na tym wydziale. NUC uruchamia Ubuntu (14.10).

Czuję się dobrze z terminalem i SSH-owaniem do serwera, jednak uważam, że wiele zadań, które muszę wykonać, jest o wiele łatwiejsze dzięki współdzieleniu ekranu (VNC).

Zasugerowałem naszemu nowemu dyrektorowi technicznemu, abyśmy zainstalowali VNC na tym serwerze, aby moje życie było o wiele łatwiejsze (w rzeczywistości miał on zainstalowany VNC przed jego zatrudnieniem, a następnie go odinstalował). Odpowiedział jednak następującym komentarzem:

Wolałbym nie uruchamiać X lub VNC na serwerze, jeśli możemy sobie z tym poradzić. W końcu jest to serwer.

Naprawdę nie rozumiem tej logiki. Nie jest podłączony do monitora; jedyny dostęp do niego za pośrednictwem SSH. Czy jest jakiś cudowny minus posiadania dostępu VNC do serwera, którego nie jestem świadomy?

Oczywiście otwierasz kolejny port dla atakującego; odpierające: jesteśmy za dwiema zaporami uniwersyteckimi (główna zapora sieciowa uniwersytetu, a także specjalna zapora specjalna naszej podsieci). VNC byłoby możliwe tylko w naszej podsieci, więc nie rozumiem, dlaczego byłby to problem inny niż „to inny pakiet do utrzymania”, a aptmenedżer pakietów Ubuntu stał się problemem.

Jakie są wady instalacji VNC na serwerze?

Edycja : to nie jest tylko serwer WWW. Obsługuje wiele innych aplikacji. Nie jestem pewien, czy to robi różnicę.

Chris Cirefice
źródło
21
Nie wyobrażam sobie nic, co mogłoby być potrzebne z serwerem WWW, które byłoby łatwiejsze przy użyciu GUI. Być może powinieneś również zapytać, czy istnieje lepszy sposób wykonywania zadań, które chcesz wykonać.
Michael Hampton
3
Tak czy inaczej, jest to okazja, aby nauczyć się czegoś nowego.
Michael Hampton
9
Chodzi o ograniczenie powierzchni. Przy większej liczbie usług więcej może pójść nie tak, a więcej może zostać zhakowanych. To prawda, że ​​tak powiedziałeś, ale to prawda. Również osobiście nienawidzę VNC. A co z X11 Forwarding over SSH?
Michael Bailey,
1
Dlaczego więc chcesz korzystać z tych narzędzi na serwerze? Korzystanie z przeglądarki bez interfejsu graficznego będzie w większości przypadków bezużyteczne - ale nie należy rozważać uruchamiania przeglądarki na serwerze. Jakiekolwiek narzędzie, którego używasz, po prostu zainstaluj je na swoim kliencie i uzyskaj dostęp do potrzebnych danych na serwerze, najlepiej za pośrednictwem ssh. Może zajrzyj do sshfs
Ben
7
Nie chcę publikować tego jako odpowiedzi, ponieważ nie odpowiada to na pytanie „Jakie są wady VNC”, ale aby rozwinąć komentarz @MichaelBailey: Nie potrzebujesz X ani VNC na serwerze . SSH do serwera z przekazywaniem X pozwala programom graficznym faktycznie działać na serwerze podczas wyświetlania okien na serwerze X11 działającym na twoim komputerze lokalnym . Potrzebujesz tylko niektórych wspólnych bibliotek X11 na serwerze, które nie będą marnować zasobów, dopóki nie uruchomisz programu, który ich używa. IMO dobry kompromis.
Gerald Schneider

Odpowiedzi:

42

Jest wiele powodów:

  • Powierzchnia ataku: więcej programów, zwłaszcza sieciowych, oznacza więcej możliwości znalezienia błędu i włączenia się.

  • Uszkodzona powierzchnia: jak wyżej, ale zamień „ktoś” na „ Murphy ” i „wejdź” na „zepsuć swój dzień”. W rzeczywistości „zrujnuj swój dzień” prawdopodobnie dotyczy również poprzedniego punktu.

  • Wydajność systemu: X11 i środowiska GUI, które ludzie na nich uruchamiają, zużywają przyzwoitą ilość pamięci RAM, szczególnie w systemie o ograniczonych zasobach, takim jak NUC. Ich brak oznacza więcej zasobów do wykonywania pożytecznej pracy.

  • Wydajność operatora: GUI nie nadają się do tworzenia skryptów i innych form automatyzacji. Klikanie na rzeczy wydaje się produktywne, ale w rzeczywistości jest to najgorszy sposób zrobienia czegoś głęboko technicznego. Uznajesz również, że twoje przyszłe możliwości zatrudnienia są poważnie ograniczone, jeśli nie możesz pisać skryptów i automatyzować swojej pracy - przemysł odchodzi od narzędzi administracyjnych GUI. Do diabła, nawet serwer Windows może być obecnie zainstalowany bez GUI, a jeśli to nie zmusza cię do zastanowienia się nad względnymi zaletami polegającymi na tym, że wiesz, jak klikać, naprawdę nie wiem, co ci powiedzieć.

womble
źródło
1
Cholera, womble. Ponownie uderzyłeś mnie o 30 sekund. :) Świetna odpowiedź.
Tim Brigham
3
Dużo czasu spędzonego z Mavis Beacon w mojej młodości musi przynieść pewne korzyści ... <grin>
womble
6
@ChrisCirefice, a następnie sugeruję, aby poprosić kogoś, aby zrobił rzeczy we właściwy sposób, zamiast narażać bezpieczeństwo serwerów produkcyjnych dla odrobiny łatwości użytkowania.
André Borie
8
To trudne, Andre. Chciałbym pomyśleć, że Chris ma teraz trochę lepsze zrozumienie implikacji swoich preferencji, nie ma potrzeby, aby wyrzucać go z tego.
womble
4
@ChrisCirefice bardzo uważaj na takie rzeczy, jak „brak supercennych informacji” i „za zaporami ogniowymi”. Wartość danych zależy od obserwatora, a rola systemów może z czasem ulec subtelnej zmianie, dzięki czemu bardziej wartościowe (dla atakującego) dane powoli gromadzą się w systemie, o którym wszyscy uważają, że nie warto go bronić. , a następnie trafiasz na pierwszą stronę każdej witryny z wiadomościami, ponieważ wyciekło coś zawstydzającego.
womble
15

Problemem nie jest VNC - nie zrozumcie mnie źle, VNC jest okropnym protokołem i ma wiele wad (największym z nich jest brak obsługi szyfrowania, więc wszystko przechodzi przez sieć zwykłym tekstem), ale to nie jest główny powód, dla którego jego użycie nie jest zalecane na serwerach.

Zamierzasz zainstalować VNC, aby uzyskać dostęp do czarnego ekranu? Nie, chciałeś uzyskać dostęp do całego środowiska pulpitu i to jest prawdziwy problem.

Po zainstalowaniu całego oprogramowania Gnome (lub podobnego) do komputerów stacjonarnych możesz już uznać, że Twój serwer jest zagrożony, ponieważ w tej strasznej, ogromnej kolekcji aplikacji pozostało jeszcze wiele błędów (poza tym, że nie jest przeznaczony do wydajności) i zużywa mnóstwo zasobów). Jednym z innych powodów, dla których nie polecam tego oprogramowania i większości środowisk Linuksa jest to, że przejmują one cały system prawie jak rootkit i wdrażają własne wersje wszystkiego (uwierzytelnianie? Nigdy więcej solidnych użytkowników i grup , uruchommy ten nonsens Politykit jako root, który daje uprawnienia w oparciu o niektóre nieczytelne, niejasne pliki XML ... konfiguracja? Kto potrzebuje plików konfiguracyjnych czytelnych dla człowieka? Przechowujmy wszystko w binarnych bazach danych, które możesz '

Próba instalacji środowiska graficznego Gnome na moim serwerze Archlinux mówi mi „Całkowity zainstalowany rozmiar: 1370.86 MiB”. To ogromne, wyobraź sobie dodatkową powierzchnię ataku, którą ten ex-serwer będzie miał po zainstalowaniu. Inne środowiska komputerowe nie są dużo lepsze.

André Borie
źródło
„VNC jest okropnym protokołem i ma wiele wad (największym z nich jest brak szyfrowania ...)” W sytuacjach, gdy potrzebujemy VNC, a nie środowiska serwerowego, problem można uniknąć poprzez tunelowanie sesji VNC przez ssh.
Keith Reynolds
@KeithReynolds tak, ale powinien on zostać wbudowany, szczególnie gdy porównasz go z jego współbieżnymi, takimi jak bardziej „aktualne” RDP, które jest od razu szyfrowane (bezpieczne, o ile ufasz certyfikatowi serwera).
André Borie
7
Jedną z filozofii projektowania jest wbudowanie każdego możliwego rozwiązania (zazwyczaj typowego dla programistów MS), a drugim jest złożenie razem tego, czego potrzebujesz (ogólnie typowego dla programistów Linuksa). Odnośnie VNC: Gdy potrzebne jest bezpieczeństwo w niezaufanym ssh sieci, wymaga konta i zapewnia szyfrowanie. Gdy bezpieczeństwo nie stanowi problemu, współdzielenie pulpitu nie wymaga konta systemowego ani obciążenia związanego z szyfrowaniem.
Keith Reynolds
2
@KeithReynolds innym problemem VNC jest to, że wysyła czyste bitmapy zamiast poleceń rysowania, które są rysowane po stronie klienta, jak RDP. To sprawia, że ​​VNC jest okropny do użycia w czymkolwiek poza siecią lokalną, podczas gdy RDP pozostaje w porządku nawet w cholernych sieciach komórkowych.
André Borie
9

Oczywiście otwierasz kolejny port dla atakującego; obalenie: jesteśmy za dwiema zaporami uniwersyteckimi (główna zapora sieciowa uniwersytetu, a także specjalna zapora specjalna naszej podsieci). VNC byłoby możliwe tylko w naszej podsieci, więc jestem zagubiony ...

Nigdy nie zakładaj, że ponieważ twój system znajduje się za firewallem, w sieci prywatnej, nie musisz się martwić o bezpieczeństwo. Wiele, jeśli nie większość, udanych włamań są wykonywane przez osoby z zewnątrz (pracowników, studentów itp.), Które mają dostęp do wspomnianych sieci.

Gen
źródło
-8

Spróbuj, aby zadowolić dyrektora technicznego:

  • Zainstaluj VNC i dowolny pulpit

  • NIE instaluj żadnego wygaszacza ekranu. Dlaczego? Nie masz ekranu, a siedzący tam pulpit nie zużywa wielu zasobów.

  • NIE przesyłaj dalej portu VNC. Jeśli musisz go użyć, tuneluj port VNC (5900) przez SSH (port 22) i połącz się z nim w ten sposób.

Ten proces zapewnia szyfrowanie i całe bezpieczeństwo SSH, które jest już otwarte. Nie dodajesz żadnych problemów bezpieczeństwa, których wcześniej nie miałeś.

Robię to już na własnym serwerze, nie ma zauważalnego dodatkowego opóźnienia w procesie VNC w porównaniu do bezpośredniego połączenia.

Paweł
źródło
9
Nie dodawać żadnych problemów z bezpieczeństwem, że nie mają już przed ” nie jest nawet blisko true. Zainstalowanie dodatkowego kodu - a Andre B powyżej daje ci pojęcie o tym, o ile dodatkowego kodu mówimy - daje więcej możliwości eskalacji uprawnień przez (lokalnych) użytkowników (ssh'ed-in).
MadHatter obsługuje Monikę
4
Zgadzam się, że bezpieczeństwo jest działaniem równoważącym, ale twierdzenie, że działania (instalowanie dodatkowego oprogramowania) będące częścią kompromisu nie mają żadnych wad, jest nieuczciwe. Mówienie, że użytkowników jest mało ssh', jest równie mylące: autor pytania pyta, że ​​teraz ssh'es, i nie mamy możliwości dowiedzieć się, ilu innych to robi.
MadHatter obsługuje Monikę
4
OP stwierdził, że SSH jest wystarczająco bezpieczny ”. Bezpieczeństwo nie jest własnością, którą masz lub nie; jest to stopień przygotowania do danego modelu zagrożenia. Jeśli modelem zagrożenia jest „ nieautoryzowany dostęp zdalnego użytkownika ”, to tak, sshto dobra obrona. Jeśli modelem zagrożenia jest „ eskalacja uprawnień przez autoryzowanego użytkownika lokalnego” , sshto nie ma obrony, a zainstalowanie ton dodatkowego kodu na serwerze znacznie zwiększa powierzchnię ataku. Womble jest doświadczonym sysadminem z około siedemdziesięciotysięczną reputacją na tej stronie, więc możesz chcieć łagodzić obelgi.
MadHatter obsługuje Monikę
1
@paul Nie, moim głównym zmartwieniem nie był brak szyfrowania VNC (można to złagodzić za pomocą tunelowania SSH), głównym problemem jest ogromna powierzchnia ataku dowolnego środowiska graficznego.
André Borie
3
@paul: masz rację, absolutnie nie mam poczucia równowagi. Nie jestem Fox News: nie muszę być „sprawiedliwy i zrównoważony”. Jestem administratorem: muszę mieć rację .
womble