Tại sao X11 có rủi ro bảo mật trong máy chủ?


11

Tôi nhớ đọc rằng các máy chủ không có GUI vì X11 là một rủi ro bảo mật. Tại sao?

Câu trả lời:


8

Tài liệu cộng đồng của Ubuntu giải thích lý do thực sự tại sao không nên chạy GUI trên hệ thống máy chủ sản xuất:

Hầu hết các nhà phát triển Ubuntu Server không khuyên bạn nên cài đặt X trên máy chủ. Có nhiều lý do để không cài đặt GUI.

Một số lý do để không cài đặt GUI bao gồm:

  1. Bạn sẽ có nhiều mã hơn với các lỗ hổng bảo mật, nhiều gói cần cập nhật hơn và thời gian ngừng hoạt động của máy chủ nhiều hơn.
  2. Các gói X11 và máy tính để bàn không được hỗ trợ cho toàn bộ vòng đời 5 năm của phiên bản máy chủ LTS.
  3. Hiệu năng có thể bị ảnh hưởng vì tài nguyên (bộ nhớ, dung lượng ổ cứng, CPU, v.v.) sẽ bị GUI sử dụng.
  4. Cách tốt nhất là chỉ cài đặt phần mềm cần thiết trên máy chủ sản xuất.
  5. GUI có thể bao gồm các dịch vụ mạng khác không phù hợp với máy chủ.
    1. Một trong những mục tiêu của Ubuntu Desktop Edition là giúp người dùng sử dụng Linux dễ dàng hơn. Khi cài đặt một số môi trường máy tính để bàn, các dịch vụ mà bạn có thể không muốn cụ thể sẽ được cài đặt. Ví dụ: avahi-daemon , được sử dụng để giúp định cấu hình mạng, thêm một cổng mở khác và có thể đưa ra xung đột DNS không mong muốn với tên miền .local.

Vì vậy, đối với máy chủ an toàn nhất, tốt nhất là không cài đặt GUI.

"ServerGUI" của "Người đóng góp cho wiki tài liệu Ubuntu", được sao chép ở đây theo sự cho phép của CC-BY-SA 3.0 .

Trái với quan niệm sai lầm phổ biến, X11 là một máy chủ thực sự không liên quan gì đến việc tại sao chạy GUI trên máy chủ sản xuất được coi là không lý tưởng từ góc độ bảo mật. X11 hầu như không bao giờ được cấu hình theo mặc định để có thể truy cập qua mạng nữa, trên bất kỳ hệ điều hành nào. Không có phiên bản Ubuntu nào từng có X11 chạy máy chủ có thể truy cập mạng trong cấu hình mặc định. (Để truy cập X11 trên Ubuntu thông qua TCP, bạn phải chuyển tiếp nó qua SSH hoặc cấu hình lại thủ công máy chủ.)

Hơn nữa, ngay cả khi X11 đã chạy một máy chủ có thể truy cập mạng , đây sẽ không phải là lý do để không cài đặt nó trên hệ thống máy chủ sản xuất. Bất cứ ai chạy một máy chủ sản xuất có lẽ có khả năng cấu hình nó theo nhu cầu của họ và kiểm tra nó để đảm bảo các dịch vụ không mong muốn không chạy. (Nếu họ không thể, điều đó sẽ gây ra mối đe dọa lớn hơn cho bảo mật của họ so với sẽ được tạo bằng cách cài đặt GUI.) Ngay cả khi X11 phải có một cổng nghe trên giao diện mạng vật lý ( không phải là trường hợp ), cổng có thể dễ dàng bị chặn bằng cách cấu hình lại netfilterbằng cách sử dụng tích hợp iptables(hoặc giao diện cấp cao hơn như ufw).

Ngược lại, các vấn đề được liệt kê ở trên không dễ khắc phục bằng cách cấu hình lại.


1
10.04 có thời gian hỗ trợ khác nhau cho máy chủ so với máy tính để bàn, 12.04 trở lên thì không. Ngoài ra, một gui nhàn rỗi không tiêu thụ bất kỳ cpu nào và ram mà nó sử dụng sẽ bị tráo đổi.
psusi

@psusi Quan điểm về thay đổi vòng đời hỗ trợ là một điểm tốt. Đối với các vấn đề về CPU và RAM, (1) Tôi không đồng ý với kinh nghiệm rằng GUI nhàn rỗi không bao giờ tiêu thụ CPU và (2) nếu GUI đang chạy, khi đó ai đó đang làm việc tại máy cục bộ, họ có thể sử dụng nó hay không họ muốn hay không, và điều đó sẽ khiến nó tiêu tốn nhiều tài nguyên CPU và bộ nhớ hơn. Tuy nhiên, các điểm 1, 4 và 5 thực sự là (và có lẽ luôn luôn là) những lý do quan trọng nhất để xem xét việc không chạy GUI trên máy chủ sản xuất và chúng độc lập với các vấn đề về vòng đời hỗ trợ hoặc sử dụng tài nguyên.
Eliah Kagan

Tôi có thể thêm rằng Xorg cũng chạy bằng root theo mặc định.
Wadih M.

5

Mỗi quá trình chạy là một rủi ro bảo mật. Đặc biệt là những người nghe trên một cổng mạng (X11 không).

Thực hành tốt chung là không chạy bất cứ thứ gì trên máy chủ mà không nhất thiết phải ở đó và X11 chắc chắn không cần phải ở trên máy chủ mà bạn sẽ SSH vào.

Tôi nghi ngờ bài báo bạn đọc đã nói về một lỗ hổng cụ thể trong X11 (nó sẽ được sửa nếu vậy, các lỗ hổng không có xu hướng tồn tại lâu không được trộn lẫn), mà chỉ là thông lệ tốt nói chung.


2
Trên hầu hết các bản phân phối Linux hiện đại (như Ubuntu), máy chủ X theo mặc định không nghe trên cổng mạng mà chỉ chấp nhận các kết nối cục bộ thông qua ổ cắm tên miền.
Florian Diesch

@FlorianDiesch Ngay cả trên máy chủ chưa được định cấu hình?
Amith KK

+1 lớn để đề cập rằng X11 là một máy chủ mạng.
Stefano Palazzo

2
Amith: Vâng. xinit / startx sử dụng -nolisten tcptheo mặc định
Florian Diesch

5

Điều này là do Hệ thống X Window gây rủi ro bảo mật nghiêm trọng nếu nó không được bảo mật đúng cách. "Màn hình" X11 là máy chủ X11 chạy trên máy tính để bàn của bạn và bao gồm màn hình, bàn phím và chuột. Nếu màn hình X11 của bạn không an toàn, nó sẽ cho phép một chương trình chạy ở bất kỳ đâu trên Internet để kết nối với nó và kết nối có thể hoàn toàn vô hình với bạn. Sau khi kết nối, chương trình đó có toàn quyền truy cập vào màn hình của bạn, điều đó có nghĩa là nó có thể:

  • Xem và sao chép nội dung màn hình của bạn, sử dụng các chương trình tiện ích X11 tiêu chuẩn;
  • Giám sát tổ hợp phím của bạn;
  • Điều khiển từ xa mọi trình duyệt Netscape trên máy tính để bàn của bạn và tổ hợp phím Forge như thể bạn đang tự gõ chúng (mặc dù không phải tất cả các ứng dụng X11 đều dễ bị như vậy).

Quy tắc ngón tay cái KHÔNG được sử dụng xhost +- Nó hoàn toàn vô hiệu hóa bảo mật màn hình của bạn.

Một cách tốt là chuyển tiếp X là thông qua ssh


Lấy từ : http://www2.slac.stanford.edu/computing/security/xwindow/


1
Bài viết này là một số 10 tuổi. Thông tin vẫn còn hiệu lực?
Stefano Palazzo

1
Hầu hết, vâng ... bởi vì AFAIK chúng tôi có xhost +lệnh
Amith KK

xhost +-nolisten tcpmặc dù không thể ghi đè , chỉ cần mở cho bạn bất kỳ kết nối nào từ localhost.
alanc

những vấn đề này sẽ được giải quyết bằng cách bắt đầu một xserver cho từng ứng dụng riêng lẻ?
phil294

-6

Lý do thực sự là các quản trị viên có thể nghĩ rằng họ là siêu thông minh bằng cách chạy các công cụ từ dòng lệnh. Không có rủi ro bảo mật khi chạy GUI trên máy chủ Ubuntu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.