Rủi ro bảo mật của PermitUser Môi trường trong ssh


11

Tôi đã đọc khá nhiều bài viết liên quan đến việc sử dụng PermitUserEnvironmentvà tập tin ~/.ssh/environmentđể chuyển các biến env sang shell ssh. Các tài liệu sshd chính thức và một vài tài nguyên khác ám chỉ một số rủi ro bảo mật khi thực hiện việc này.

Cho phép xử lý môi trường có thể cho phép người dùng bỏ qua các hạn chế truy cập trong một số cấu hình bằng các cơ chế như LD_PRELOAD.

Vấn đề bảo mật có khả năng kích hoạt là PermitUserEnvironmentgì? Tôi đang tìm cách giữ chi tiết kết nối DB trong các biến môi trường này, điều này có nên không?


Tôi đã nộp báo cáo lỗi với dự án OpenSSH, yêu cầu họ thêm một vài từ vào trang man sshd_config, làm rõ vấn đề này: bugzilla.mindrot.org/show_orms.cgi?id=2317
Florin Andrei

Câu trả lời:


16

Trước hết, nếu bạn không cố gắng làm bất cứ điều gì lạ mắt với các hạn chế truy cập của người dùng - nghĩa là, nếu bạn đang cung cấp quyền truy cập shell tương tác - có thể không có rủi ro bảo mật bổ sung nào trong việc cho phép sử dụng .ssh/environmenttệp, vì bất cứ điều gì người dùng có thể thực hiện với tệp đó họ cũng có thể thực hiện tương tác trong vỏ của họ.

Cho phép xử lý môi trường có thể cho phép người dùng bỏ qua các hạn chế truy cập trong một số cấu hình bằng các cơ chế như LD_PRELOAD.

Nếu bạn đang sử dụng các lệnh bắt buộc SSH để giới hạn những gì mọi người có thể làm thông qua ssh (ví dụ: nếu bạn hạn chế mọi người chỉ sử dụng sftphoặc scp), cho phép ai đó đặt các biến môi trường như LD_PRELOAD(hoặc thậm chí PATH) sẽ cho phép họ chiếm quyền điều khiển của bạn hạn chế bằng cách thay thế các cuộc gọi thư viện cơ bản bằng mã riêng của họ. Mặt khác, nếu bạn đang tạo ra .ssh/environmentnhân danh người dùng của mình và họ không thể quản lý nó, thì rủi ro của bạn là tương đối nhỏ.

Không biết thêm về trường hợp sử dụng cụ thể của bạn, thật khó để đưa ra câu trả lời dứt khoát.


Tôi chỉ cho phép truy cập vào máy chủ từ 2 hoặc 3 bên đáng tin cậy (nhà phát triển trong tổ chức của chúng tôi) thông qua các khóa rsa của họ. Vì vậy, từ những gì bạn nói nghe có vẻ ổn
Rob Squires

Từ câu trả lời của bạn, tôi cho rằng tôi không nên mất bất kỳ giấc ngủ nào về ý nghĩa bảo mật của việc bật tùy chọn này nếu tất cả các tài khoản ssh của tôi cung cấp quyền truy cập bash đầy đủ (không có sudo). Chính xác?
Florin Andrei

Đúng rồi. Nếu bạn đang cung cấp quyền truy cập bash đầy đủ, mọi người có thể đặt bất kỳ biến môi trường nào họ muốn.
larsks
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.