Назад | Перейти на главную страницу

Есть ли обратная сторона установки VNC?

У нас есть Intel NUC на языковом отделении моего университета, где скоро будет размещено веб-приложение, используемое преподавателями и студентами отделения. NUC работает под управлением Ubuntu (14.10).

Мне комфортно с терминалом и SSH-подключением к серверу, однако я считаю, что многие задачи, которые мне нужно выполнить, намного проще благодаря совместному использованию экрана (VNC).

Я предложил нашему новому техническому директору установить VNC на этот сервер, чтобы упростить мне жизнь (на самом деле на нем был установлен VNC до того, как его наняли, а затем он удалил его). Однако он ответил следующим комментарием:

Я бы предпочел не запускать X или VNC на сервере, если нам это сойдет с рук. В конце концов, это сервер.

Я действительно не понимаю этой логики. Он не подключен к монитору; единственный доступ к нему через SSH. Есть ли какой-то чудесный недостаток в доступе VNC к серверу, о котором я не знаю?

Очевидно, вы открываете другой порт для злоумышленника; опровержение: мы за двумя университетскими брандмауэрами (главный брандмауэр университетской сети, а также специальный брандмауэр нашей подсети). VNC может быть реализован только внутри нашей подсети, поэтому я не понимаю, почему это может быть проблемой, кроме «это еще один пакет, который нужно поддерживать», и с Ubuntu apt менеджер пакетов, который перестает быть проблемой.

Каковы недостатки установки VNC на сервере?

редактировать: это не просто веб-сервер. На нем размещается ряд других приложений. Не уверен, что это имеет значение.

Причин великое множество:

  • Поверхность атаки: больше программ, особенно сетевых, означает больше возможностей для кого-то найти ошибку и проникнуть в нее.

  • Поверхность дефекта: как указано выше, но заменить "кто-то" на "Мерфи"и" войти "с" испортишь свой день ". На самом деле," испортишь свой день ", вероятно, применимо и к предыдущему пункту.

  • Эффективность системы: X11 и среды GUI, которые люди обычно запускают на них, потребляют приличный объем ОЗУ, особенно в системе с ограниченными ресурсами, такой как NUC. Не запускать их означает больше ресурсов для выполнения полезной работы.

  • Эффективность оператора: графические интерфейсы пользователя не поддаются написанию сценариев и другим формам автоматизации. Нажатие на что-то кажется продуктивным, но на самом деле это худший способ сделать что-то глубоко техническое. Вы также обнаружите, что ваши будущие возможности трудоустройства сильно ограничены, если вы не можете создать сценарий и автоматизировать свою работу - отрасль идет прочь из инструментов администрирования графического интерфейса. Черт возьми, в наши дни даже сервер Windows можно установить без графического интерфейса пользователя, и если это не заставляет вас думать об относительных достоинствах только знания того, как щелкать мышью, я действительно не знаю, что вам сказать.

Проблема не в VNC - не поймите меня неправильно, VNC - ужасный протокол и имеет много недостатков (самый большой из них - отсутствие поддержки шифрования, поэтому все идет по сети в виде простого текста), но это не главное. причина, по которой его использование не рекомендуется на серверах.

Вы собираетесь установить VNC, чтобы получить доступ к черному экрану? Нет, вы хотели получить доступ ко всей среде рабочего стола, и это настоящая проблема.

После установки всего этого программного обеспечения Gnome (или аналогичного) настольного уровня вы уже можете считать свой сервер скомпрометированным, поскольку в этой ужасной огромной коллекции приложений осталось так много ошибок, которые нужно использовать (помимо того факта, что оно не предназначено для повышения производительности). и использует массу ресурсов). Одна из других причин, почему я не рекомендую это программное обеспечение и большинство окружений рабочего стола Linux, заключается в том, что они берут на себя всю систему почти как руткит и реализуют свои собственные версии всего (аутентификация? Больше никаких надежных пользователей и групп , давайте запустим эту чушь Policykit от имени пользователя root, который дает разрешения на основе некоторых нечитаемых, непонятных XML-файлов ... конфигурации? Кому нужны удобочитаемые файлы конфигурации? Давайте сохраним все в двоичных базах данных, которые вы не можете видеть или редактировать, если вы предоставляемые ими утилиты, как и реестр Windows, а также давайте запустим кучу демонов как root, чтобы использовать ресурсы, даже когда вы не используете рабочий стол).

При попытке установить среду рабочего стола Gnome на моем сервере Archlinux я получил сообщение «Общий установленный размер: 1370,86 МБ». Это огромно, представьте себе дополнительную поверхность атаки, которая будет у этого бывшего сервера после его установки. Другие среды рабочего стола не намного лучше.

Очевидно, вы открываете другой порт для злоумышленника; опровержение: мы за двумя университетскими брандмауэрами (главный брандмауэр университетской сети, а также специальный брандмауэр нашей подсети). VNC может быть реализован только внутри нашей подсети, поэтому я в недоумении ...

Никогда не предполагайте, что, поскольку ваша система находится за брандмауэром в частной сети, вам не нужно беспокоиться о безопасности. Многие, если не большинство успешных вторжений осуществляются инсайдерами (сотрудниками, студентами и т. Д.), Которые имеют доступ к указанным сетям.

Попробуйте сделать это, чтобы порадовать технического директора:

  • Установите VNC и любой рабочий стол, который вам нравится

  • НЕ устанавливайте какие-либо заставки. Зачем? У вас нет экрана, а рабочий стол, просто сидящий на нем, не потребляет много ресурсов.

  • НЕ пересылайте порт VNC. Если вам нужно его использовать, туннелируйте порт VNC (5900) через SSH (порт 22) и подключитесь к нему таким образом.

Этот процесс дает вам шифрование и всю безопасность SSH, который уже открыт. Вы не добавляете никаких проблем безопасности, которых у вас не было раньше.

Я уже делаю это на собственном сервере, заметных дополнительных задержек в процессе VNC по сравнению с прямым подключением нет.