Điểm:0

OpenSSH - sshd_config - Cho phép đăng nhập sftp-chroot VÀ ssh bình thường với cùng một người dùng

lá cờ cn

Hy vọng không phải là trùng lặp, nhưng không thể tìm thấy câu trả lời cho câu hỏi này... Tôi đã tìm thấy câu trả lời này, nhìn bề ngoài thì có vẻ giống nhau, nhưng đã rất cũ và câu trả lời duy nhất trong đó không trả lời được câu hỏi thực tế: Đặt Người dùng làm chroot cho sftp, nhưng cho phép người dùng đăng nhập vào SSH

Tôi đã thiết lập thành công môi trường ChrootDirectory đang hoạt động thông qua sftp cho người dùng trong nhóm 'sftp_users'. Nó hoạt động tốt, tất cả các perm thích hợp và như vậy, hạn chế quyền truy cập chỉ sftp và họ có thể rw trong (các) thư mục con của họ bên trong ChrootDirectory. Điều này rất tốt cho những người dùng không có đặc quyền, không cho phép truy cập ssh và chỉ cho phép rw bên trong (các) thư mục con của họ trong ChrootDirectory.

Tôi muốn có những người dùng riêng tư hơn một chút vẫn có thể sử dụng ssh bình thường, tuy nhiên khi đăng nhập qua sftp thì sẽ có môi trường ChrootDirectory. Đây không phải là vấn đề bảo mật, vì chúng được coi là riêng tư và obvi có thể lướt quanh hệ thống tệp trong ssh trong phạm vi quyền người dùng thông thường của chúng. Vấn đề là, tôi không thấy cách Chroot họ khi họ đăng nhập bằng sftp mà không ngăn đăng nhập ssh. Điều này nhằm mục đích tiêu chuẩn hóa và thuận tiện hơn bất kỳ thứ gì khác, vì vậy khi họ sftp, họ chỉ đến vị trí Chroot của họ giống như những người dùng chỉ sftp.

Tôi nghĩ rằng điều này sẽ hoạt động nếu tôi để Shell của họ làm mặc định (không phải /bin/false hoặc nologin). Thật không may, khi họ ở trong nhóm sftp_only, nó sẽ không cho phép họ ssh vào, chỉ có sftp. Có cách giải quyết nào cho vấn đề này không, ngoài việc có hai tài khoản riêng biệt-- một tài khoản được thêm vào 'sftp_users' và một tài khoản không thuộc nhóm đó? Cho đến nay, tất cả những gì tôi có thể tìm thấy là tài liệu về việc hạn chế sftp Chroot và đồng thời không cho phép ssh nếu họ thuộc nhóm đó.

Ví dụ người dùng là 'thử nghiệm'. 'test' nằm trong nhóm sftp_users và do đó có thể đăng nhập qua sftp và được Chroot vào thư mục đã chỉ định của anh ấy ('/sftp/test') và đọc hoặc ghi vào thư mục nhà của anh ấy được gắn kết liên kết tại '/sftp/test/home' . Tất cả điều này hoạt động. Nhưng ngay cả khi shell của anh ta vẫn được đặt trong /etc/passwd thành /bin/bash, 'test' không thể đăng nhập qua ssh nếu được thêm vào nhóm sftp_users. Xóa tư cách thành viên trong nhóm đó và anh ấy có thể làm cả hai, nhưng sau đó không được Chroot trong sftp.

Người dùng không thuộc nhóm 'sftp_users' vẫn có thể đăng nhập qua ssh hoặc sftp, nhưng không được Chroot bằng sftp.

Có cách nào để So khớp giao thức nào được sử dụng và/hoặc có thể đặt So khớp bổ sung cho một nhóm khác không? Tôi chỉ tìm chroot khi họ đăng nhập qua sftp. Không chroot qua ssh là tốt cho những người dùng này.

Sau đây là sshd_config của tôi:

Cổng XXXX
#ListenAddress ::
#ListenAddress 0.0.0.0

giao thức 2

Khóa máy chủ /etc/ssh/ssh_host_rsa_key
Khóa máy chủ /etc/ssh/ssh_host_dsa_key
Khóa máy chủ /etc/ssh/ssh_host_ecdsa_key
Khóa máy chủ /etc/ssh/ssh_host_ed25519_key

SyslogCơ sở AUTH
Thông tin logLevel

Đăng nhậpGraceTime 120
Giấy phépRootĐăng nhập không
Chế độ nghiêm ngặt có

PubkeyAuthentication có

Bỏ quaRhosts có
HostbasedAuthentication không

Giấy phépEmptyMật khẩu không

ChallengeResponseXác thực không

X11Chuyển tiếp có
X11DisplayOffset 10
PrintMotd vâng
PrintLastLog có

ClientAliveCountTối đa 10
ClientAliveInterval 3600
TCPKeepAlive không

#Banner /etc/issue.net

Chấp nhậnEnv LANG LC_*

Hệ thống con sftp /usr/lib/openssh/sftp-server -u 0027

Sử dụngPAM có
Xác thực mật khẩu có



So khớp nhóm sftp_users
  ChrootDirectory /sftp/%u
  ForceCommand nội bộ-sftp -u 0027
  X11Số chuyển tiếp
  AllowTcpForwarding không
  Xác thực mật khẩu có
Điểm:1
lá cờ fr
anx

OpenSSH không hỗ trợ ghi đè các từ khóa toàn cầu dựa trên lệnh đã gửi. Bạn phải phân biệt trên một số tiêu chí (kết hợp) mà OpenSSH đưa ra cho Trận đấu bản tường trình.

Các tiêu chí có sẵn là Người dùng, Nhóm, Máy chủ, LocalAddress, LocalPort, RDomain và Địa chỉ (với RDomain đại diện cho rdomain(4) mà kết nối được nhận trên đó)

-- người đàn ông 5 sshd_config

Một lựa chọn phổ biến là cung cấp các dịch vụ bị hạn chế có chủ ý trên các IP thay thế được tiếp cận thông qua các miền thay thế, chẳng hạn như snapshot.backup.examplesftp.backup.example.


Các nhận xét về câu hỏi được liên kết giải thích vấn đề một cách rõ ràng, mặc dù.

Nếu bạn nghĩ bạn muốn quyền truy cập sftp được chroot cho người dùng đặc quyền, bạn có khả năng đọc sai khác vai trò thành giống hệt nhau người dùng, và điều đó đang mời gọi rủi ro bảo mật. Hầu hết các mối quan tâm về kiểm toán và phân tách đặc quyền được phục vụ tốt hơn bởi sử dụng một người dùng khác đối với bất cứ điều gì khiến bạn cân nhắc thiết lập cài đặt chroot ngay cả đối với những người dùng không bị giới hạn bởi điều đó. Nếu có hai tác vụ khác nhau, ngay cả khi được thực thi bởi cùng một ngườivà một được thực hiện an toàn hơn nếu bị hạn chế có chủ ý, sau đó bằng mọi cách thiết lập người dùng hệ thống mới (ví dụ: có người dùng ngườingười-nhiệm vụ chia sẻ hầu hết các hạn chế và phương thức xác thực và chỉ hạn chế một trong số chúng trong ssh).

jdmayfield avatar
lá cờ cn
Để làm rõ, nếu tôi thiết lập sshd để nghe trên hai cổng, chẳng hạn như 22 và 2222, tôi có thể đặt các phần Khớp cho cổng 2222 có thể dành riêng cho sftp Chrooted không? Tôi chỉ có một IP, vì vậy đây hiện là lựa chọn duy nhất của tôi với cùng một tên người dùng.
anx avatar
lá cờ fr
anx
Bạn nên có sẵn nhiều IP, ngay cả khi bạn hiện chỉ sử dụng một IP. Nếu nó ghi /56 trong danh sách địa chỉ ip được chỉ định của bạn, tôi tin rằng nó sẽ được đánh vần là *quadrillion* trong tiếng Anh.
anx avatar
lá cờ fr
anx
Cho dù bạn chọn IP hay Cổng, hãy lưu ý rằng bạn không vô tình dỡ bỏ các hạn chế bằng cách áp dụng các hạn chế của mình cho chỉ một cổng và/hoặc địa chỉ. Bạn có thể thấy cấu hình của mình trở nên đáng sợ hơn nếu bạn tạo các nhóm riêng biệt cho "được phép ở đây" và "được phép ở đó".
jdmayfield avatar
lá cờ cn
Tôi có một IP công cộng cục bộ được phân bổ cho máy chủ đám mây của mình. Có thể có được một Pub.IP bổ sung, tuy nhiên, nó có thể đắt tiền nếu được phép. Trường hợp sử dụng này (nói chung) không liên quan đến IP từ xa; nó không cần phải dựa vào địa chỉ của khách hàng.
jdmayfield avatar
lá cờ cn
Tôi đã thực hiện một số thử nghiệm với nhiều cách kết hợp khác nhau giữa các cổng Kết hợp và nhóm người dùng. Điều này dường như làm việc thuận tiện và an toàn. Đã kiểm tra kỹ lưỡng. Nhóm 'sftp_users' chỉ có thể đăng nhập trên một cổng, chỉ thông qua sftp và được chroot. Người dùng không thuộc nhóm đó có thể ssh hoặc sftp tới một cổng (giả sử cổng A), không có chroot hoặc họ có thể sftp sang cổng khác để lấy chroot (giả sử cổng B). Nhóm 'sftp_users' chỉ có một lựa chọn và được chroot (chỉ cổng B). Tất cả điều này dường như đang hoạt động theo kế hoạch, ngoại trừ việc tôi hy vọng mình có thể khớp các tên miền có cùng địa chỉ IP. Cảm ơn bạn đã làm rõ.
jdmayfield avatar
lá cờ cn
Nhận xét về câu hỏi được liên kết không đề cập đến trường hợp sử dụng của tôi, cũng như không cung cấp câu trả lời về cách hoàn thành tác vụ này. Rõ ràng những người dùng trong nhóm 'sftp_users' sẽ bị khóa chỉ với chroot sftp, không có ssh. Người dùng không thuộc nhóm đó được cho là có quyền riêng tư và được phép ssh, sftp bình thường (không có chroot) và chroot để thuận tiện, không phải bảo mật bổ sung. Nếu không, tôi sẽ không đặt câu hỏi, vì có rất nhiều ví dụ rất đơn giản về việc chroot một nhóm. Có một số trường hợp sử dụng cho việc này.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.