X11 neden sunucularda bir güvenlik riski oluşturuyor?


11

Sunucuların GUI'sinin olmadığını okuduğumu hatırlıyorum, çünkü X11 bir güvenlik riski. Neden?

Yanıtlar:


8

Ubuntu'nun topluluk belgeleri , bir üretim sunucusu sisteminde GUI çalıştırmanın önerilmemesinin gerçek nedenlerini açıklar :

Çoğu Ubuntu Sunucusu geliştiricisi , X'i bir sunucuya yüklemenizi önermez. Bir GUI yüklememenin birçok nedeni vardır.

Bir GUI'nin yüklenmemesinin bazı nedenleri şunlardır:

  1. Güvenlik açıklarına maruz kalan daha fazla kod, güncellenmesi gereken daha fazla paket ve daha fazla sunucu kapalı kalma süresine sahip olacaksınız.
  2. X11 ve masaüstü paketleri, LTS sunucu sürümünün 5 yıllık tam ömrü için desteklenmez.
  3. Kaynaklar (bellek, sabit disk alanı, CPU vb.) GUI tarafından tüketileceğinden performans düşebilir.
  4. Bir üretim sunucusuna sadece gerekli yazılımı kurmak en iyi uygulamadır.
  5. GUI, bir sunucu için uygun olmayan diğer ağ hizmetlerini içerebilir.
    1. Ubuntu Desktop Edition'ın amaçlarından biri, kullanıcıların Linux kullanmalarını kolaylaştırmaktır. Bazı masaüstü ortamlarını kurarken, özellikle istemeyebileceğiniz hizmetler yüklenir. Örneğin , ağ yapılandırmasına yardımcı olmak için kullanılan avahi-daemon başka bir açık bağlantı noktası ekler ve .local etki alanı ile istenmeyen DNS çakışmaları oluşturabilir.

Bu yüzden en güvenli sunucu için bir GUI yüklememek en iyisidir.

"Ubuntu dokümantasyon wiki'sine katkıda bulunanlar" tarafından "ServerGUI", burada CC-BY-SA 3.0'ın izin verdiği şekilde çoğaltılmıştır .

Biraz Sanıldığının aksine, X11 bir varlık sunucu gerçekten sahiptir ilgisi üretim sunucusunda bir GUI çalıştıran neden olan güvenlik açısından ideal olmayan olarak kabul edilir. X11 neredeyse hiçbir zaman varsayılan olarak herhangi bir işletim sisteminde ağ üzerinden erişilebilecek şekilde yapılandırılmamıştır. Ubuntu'nun hiçbir sürümünde X11 varsayılan yapılandırmada ağdan erişilebilen bir sunucu çalıştırmamıştır. (Ubuntu'da X11'e TCP üzerinden erişmek için, SSH üzerinden iletmeniz veya sunucuyu manuel olarak yeniden yapılandırmanız gerekir.)

Ayrıca, X11 ağa erişilebilen bir sunucu çalıştırsa bile , bu bir üretim sunucusu sistemine kurulmaması için bir neden olmaz. Bir üretim sunucusu çalıştıran herkes, muhtemelen ihtiyaçları için yapılandırma ve istenmeyen hizmetlerin çalışmadığından emin olmak için denetleme yeteneğine sahiptir. (Eğer yapamazlarsa, bu , güvenlik için bir GUI'nin kurulmasıyla oluşturulabileceğinden çok daha büyük bir tehdit oluşturacaktır.) X11'in fiziksel bir ağ arayüzünde ( durum böyle değil ) dinleyen bir bağlantı noktası olması gerekiyorsa , bağlantı noktası yerleşik (veya daha üst düzey bir ön uç gibi ) kullanılarak yeniden yapılandırılarak kolayca engellenebilir .netfilteriptablesufw

Buna karşılık, yukarıda listelenen sorunların yeniden yapılandırılmasıyla aşılması kolay değildir.


1
10.04, sunucu ve masaüstü için farklı bir destek ömrüne sahipti, 12.04 ve üstü desteklenmedi. Ayrıca, boş bir gui herhangi bir cpu tüketmez ve kullandığı koç değiştirilir.
psusi

@psusi Destek yaşam döngüsü değişikliğiyle ilgili nokta iyi bir şey. CPU ve RAM sorunlarına gelince, (1) boş bir GUI'nin asla CPU tüketmediği deneyiminden katılmıyorum ve (2) bir GUI çalışıyorsa, birisi yerel makinede çalışırken, muhtemelen isteseler de istemeseler de bu daha fazla CPU ve bellek kaynağı tüketmesine neden olur. Ancak, puan 1, 4, ve 5 gerçekten (ve muhtemelen her zaman olmuştur) en önemli nedenleri dikkate almak değil , bir üretim sunucusuna bir GUI koşmak zorunda ve onlar destek ömrü veya kaynak kullanımı konularında bağımsızdır.
Eliah Kagan

Xorg'un varsayılan olarak kök olarak da çalıştığını ekleyebilir miyim.
Wadih

5

Çalışan her işlem bir güvenlik riskidir. Özellikle bir ağ bağlantı noktasını dinleyenler (X11 yapar).

Genel iyi uygulama, kesinlikle orada olması gerekmeyen bir sunucuda hiçbir şey çalıştırmak değildir ve X11'in kesinlikle SSH'ye gireceğiniz bir sunucuda olması gerekmez.

Okuduğunuz makalenin X11'deki belirli bir güvenlik açığından bahsettiğinden şüpheliyim (eğer öyleyse düzeltildi, güvenlik açıkları uzun süre sabitlenmemiş gibi durur), sadece genel olarak iyi uygulama.


2
Çoğu modern Linux dağıtımında (Ubuntu gibi) X sunucusu varsayılan olarak bir ağ bağlantı noktasını dinlemez, yalnızca etki alanı soketleri aracılığıyla yerel bağlantıları kabul eder.
Florian Diesch

@FlorianDiesch Even Sunucudan yapılandırılmamış olanda mı?
Amith KK

X11'in bir ağ sunucusu olduğunu belirtmek için büyük +1.
Stefano Palazzo

2
Amith: Evet. xinit / startx -nolisten tcpvarsayılan olarak kullanır
Florian Diesch

5

Bunun nedeni, X Pencere Sisteminin düzgün şekilde sabitlenmemesi durumunda ciddi bir güvenlik riski oluşturmasıdır. X11 "ekranı", masaüstünüzde çalışan X11 sunucusudur ve ekranı, klavyeyi ve fareyi içerir. X11 ekranınız güvensizse, İnternet'te herhangi bir yerde çalışan bir programın ona bağlanmasına izin verir ve bağlantı sizin için tamamen görünmez olabilir. Bağlandıktan sonra, bu program ekranınıza tam erişime sahiptir, yani şunları yapabilir:

  • Standart X11 yardımcı programlarını kullanarak ekranınızın içeriğini görüntüleyin ve kopyalayın;
  • Tuş vuruşlarınızı izleyin;
  • Masaüstünüzdeki herhangi bir Netscape tarayıcısını uzaktan kontrol edin ve tuş vuruşlarını kendiniz yazıyormuş gibi biçimlendirin (tüm X11 uygulamaları buna duyarlı olmasa da).

Temel kural KULLANILAMAZ xhost +- Ekranınızın güvenliğini tamamen devre dışı bırakır.

X'in ilerletilmesinin iyi bir yolu ssh


Alındığı yer : http://www2.slac.stanford.edu/computing/security/xwindow/


1
Bu makale yaklaşık 10 yaşında. Bilgiler hala geçerli mi?
Stefano Palazzo

1
Çoğunlukla, evet ... çünkü AFAIK xhost +komutuna
sahibiz

xhost +-nolisten tcpYine de geçersiz kılınamazsa, sizi localhost'tan herhangi bir bağlantıya açmanız yeterlidir.
alanc

Bu sorunlar her uygulama için ayrı ayrı bir xserver başlatılarak çözülebilir mi?
phil294

-6

Asıl sebep, yöneticilerin komut satırından bir şeyler çalıştırarak kendilerini süper akıllı olarak düşünebilmeleridir. Ubuntu sunucusunda GUI çalıştırma güvenlik riski yoktur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.