Я помню, что читал, что на серверах нет GUI, потому что X11 представляет угрозу безопасности Почему?
Каждый запущенный процесс представляет собой угрозу безопасности. Особенно те, которые слушают через сетевой порт (X11 делает).
Общая хорошая практика - не запускать на сервере ничего, что не обязательно должно быть там, и X11, безусловно, не обязательно должно быть на сервере, к которому вы будете подключаться по SSH.
Я сомневаюсь, что в статье, которую вы читали, говорилось об определенной уязвимости в X11 (если бы она была исправлена, уязвимости, как правило, не оставались ненадежными в течение длительного времени), скорее, это всего лишь хорошая общая практика.
Это потому, что система X Window представляет серьезную угрозу безопасности, если она не защищена должным образом. «Дисплей» X11 - это сервер X11, работающий на вашем рабочем столе и включающий экран, клавиатуру и мышь. Если ваш дисплей X11 небезопасен, он позволит программе, работающей в любом месте Интернета, подключиться к нему, и соединение может быть для вас полностью невидимым. После подключения эта программа получает полный доступ к вашему дисплею, что означает, что она может:
Нельзя использовать правило большого пальца xhost +
- оно полностью отключает безопасность вашего дисплея.
Хорошим способом является пересылка X через ssh
Взято из : http://www2.slac.stanford.edu/computing/ безопасность / Xwindow /
Настоящая причина в том, что администраторы могут думать о себе как о супер-умных, запуская вещи из командной строки. Нет риска безопасности при запуске графического интерфейса на сервере Ubuntu.
Документация сообщества Ubuntu объясняет реальные причины , почему не рекомендуется запускать графический интерфейс в системе с производственным сервером:
Большинство разработчиков Ubuntu Server этого не делают ] рекомендуем установить X на сервер. Есть несколько причин не устанавливать графический интерфейс.
Некоторые причины не устанавливать графический интерфейс включают:
- У вас будет больше кода, подверженного уязвимостям безопасности, больше пакетов, которые требуют обновления, и большее время простоя сервера.
- Пакеты X11 и настольные ПК не поддерживаются в течение всего 5-летнего жизненного цикла выпуска сервера LTS.
- Производительность может снизиться, поскольку ресурсы (память, пространство на жестком диске, процессор и т. Д.) Будут потребляться графическим интерфейсом.
- Рекомендуется устанавливать только необходимое программное обеспечение на производственном сервере.
- GUI может включать в себя другие сетевые службы, которые не подходят для сервера.
- Одна из целей Ubuntu Desktop Edition - облегчить пользователям использование Linux. При установке некоторых сред рабочего стола будут установлены службы, которые вам могут не понадобиться. Например, avahi-daemon , который используется для настройки сети, добавляет еще один открытый порт и может привести к нежелательным конфликтам DNS с доменом .local.
Так что для наиболее безопасного сервера лучше не устанавливать графический интерфейс.
«ServerGUI» от «Участников вики-документации Ubuntu», воспроизведено здесь, как разрешено CC-BY-SA 3.0 . Sup>
Вопреки распространенному заблуждению, X11 как сервер действительно не имеет ничего общего с тем, почему запуск графического интерфейса пользователя на рабочем сервере считается неидеальным с точки зрения безопасности. X11 практически никогда не настроен по умолчанию так, чтобы он был доступен по сети, в любой операционной системе. Ни в одной версии Ubuntu X11 никогда не запускал доступный по сети сервер в конфигурации по умолчанию. (Чтобы получить доступ к X11 в Ubuntu через TCP, вы должны переслать его через SSH или вручную перенастроить сервер.)
Более того, , даже если X11 действительно запускал сервер, доступный по сети , это не быть причиной, чтобы не устанавливать его на систему производственного сервера. Предполагается, что любой пользователь, работающий с рабочим сервером, может настроить его для своих нужд и провести аудит, чтобы убедиться, что нежелательные службы не работают. (Если они не могут, , что будет представлять гораздо большую угрозу для их безопасности, чем создавалось бы с установленным графическим интерфейсом.) Даже если X11 имел , чтобы порт слушал физическое сетевой интерфейс (, который не имеет место ), порт может быть легко заблокирован путем перенастройки встроенного netfilter
с использованием iptables
(или внешнего интерфейса более высокого уровня, такого как ufw
).
Напротив, проблемы, перечисленные выше, не так легко преодолеть путем реконфигурации.