it-swarm-vi.com

Mối quan tâm bảo mật với X11 Forwarding

Một số mối quan tâm và lý do bảo mật là gì hoặc không cho phép X11 Forwarding. Tôi thường đã thực hiện một cách tiếp cận không cho phép nó dưới vỏ bọc an ninh. Gần đây, tôi có một người dùng chỉ ra rằng họ nghĩ rằng ý nghĩa bảo mật của việc cho phép các phiên Chuyển tiếp X11 là không đáng kể. Tôi tò mò tìm hiểu thêm về tác hại của việc cho phép X11 Forwarding và lý do tại sao người ta có thể muốn cho phép nó.

29
John

Hàm ý của chuyển tiếp X11 là nó mở một kênh từ máy chủ trở lại máy khách. Trong một phiên SSH đơn giản, máy khách đáng tin cậy hơn máy chủ: bất kỳ ai kiểm soát máy khách đều có thể chạy các lệnh trên máy chủ (giả sử truy cập Shell), nhưng điều ngược lại là không đúng. Với chuyển tiếp X11, máy chủ có thể có quyền truy cập Shell đến máy khách.

Trong phiên văn bản, có một kênh giới hạn từ máy chủ trở lại máy khách: máy chủ xác định đầu ra được hiển thị trên máy khách và đặc biệt có thể thử khai thác các chuỗi thoát trong thiết bị đầu cuối chạy trên máy khách,

Trong phiên X11, máy chủ có thể gửi các lệnh X11 trở lại máy khách. X11 không được thiết kế với mục đích bảo mật, nó được thiết kế với ý tưởng rằng tất cả các chương trình bạn đang hiển thị đều do bạn điều hành và do đó đáng tin cậy. Theo mặc định, SSH chủ đề các lệnh từ máy chủ đến các hạn chế thông qua tiện ích mở rộng X11 AN NINH . Tiện ích mở rộng AN NINH vô hiệu hóa một số cuộc tấn công rõ ràng như lấy bàn phím và bấm phím, nhưng cho phép những người khác thích ăn cắp tập trung.

Giả sử tôi mở kết nối SSH tới someserver, với tính năng chuyển tiếp X11 được bật. Rủi ro chính là nếu someserver là độc hại, thì someserver có thể làm tất cả các loại nội dung khó chịu cho các cửa sổ/ứng dụng tôi đã mở trên máy tính của mình.

Chẳng hạn, someserver có thể mở các cửa sổ trên máy tính của tôi, có thể đóng các cửa sổ khác mà tôi đã mở, có thể theo dõi nội dung của các cửa sổ khác mà tôi đã mở, có thể theo dõi các phím tôi nhập vào các cửa sổ khác, có thể tiêm tổ hợp phím giả và các sự kiện chuột vào các cửa sổ khác mà tôi đã mở và thường chỉ gây rối với mọi cửa sổ khác mà tôi đã mở trên máy của mình - ngay cả khi một số cửa sổ khác là các ứng dụng cục bộ chạy cục bộ.

7
D.W.

Một giải pháp cho những rủi ro của việc chuyển tiếp X qua ssh được thảo luận trong các câu trả lời khác là sử dụng máy chủ X giả, không thực sự là máy chủ X nhưng trình bày giao diện giả X và màn hình giả X cho phần mềm máy khách trên container, trong khi chuyển một số X hoạt động đến máy chủ X thực sự phía sau nó. Màn hình giả X được hiển thị dưới dạng một cửa sổ X trên màn hình X thực tế của máy chủ.

Mặc dù nó không có ý định như một công cụ bảo mật, Xephyr vẫn phù hợp với mô tả đó.

Vì lý do đó, tôi đã viết một chương trình javascript để tạo một thùng chứa lxd/lxc từ một hình ảnh Vanilla ub Ubuntu và đưa nó vào firefox, openvpn, Xephyr và pusleaudio.

https://github.com/craigphicks/browser-on-lxc-vpn-xephyr

https://www.npmjs.com/package/browser-on-lxc-vpn-xephyr

Tôi sẽ không đưa ra bất kỳ tuyên bố bảo mật mạnh mẽ nào - đó là một bằng chứng về việc thực hiện khái niệm.

0
Craig Hicks