Có thể vô hiệu hóa Yêu cầu?


39

Tôi đang cố gắng thiết lập tập lệnh triển khai bằng Capistrano Tại cap deploy:setuptập lệnh bước đang kết nối với máy chủ của tôi và cố gắng chạy các lệnh tạo thư mục. Sau đó, tôi thấy một lỗi:msudo: sorry, you must have a tty to run sudo

Có một giải pháp được đề xuất để vô hiệu hóa Yêu cầu trên máy chủ của tôi. https://unix.stackexchange.com/a/49078/26271

Tôi đang tự hỏi nếu nó an toàn để làm gì?

Câu trả lời:


40

Có một lợi thế bảo mật rất hạn chế khi có requirettytrên một máy chủ. Nếu một số mã không phải root được khai thác (ví dụ tập lệnh PHP), requirettytùy chọn có nghĩa là mã khai thác sẽ không thể trực tiếp nâng cấp các đặc quyền của nó bằng cách chạy sudo.

Có thể có một cách khác để kẻ tấn công lấy được root, và tất nhiên kẻ tấn công vẫn có thể đánh bại trang web của bạn, nhưng không để kẻ tấn công lấy được root có nghĩa là các dịch vụ khác chạy vì những người dùng khác sẽ tiếp tục chạy bình thường và kẻ tấn công đã thắng ' t có thể xóa nhật ký hệ thống. Nếu không có sudoquy tắc nào của bạn làm bất cứ điều gì nguy hiểm như tạo thư mục , thì đây không phải là vấn đề đáng lo ngại.

Hơn nữa - và gây tổn hại nhiều hơn cho requiretty- không cần đặc quyền để tạo ra một tty, ví dụ như với kỳ vọng . Vì vậy, bạn cũng có thể tắt requiretty: tự nó, nó không cung cấp một lợi thế bảo mật. Nó cung cấp một lợi thế kiểm toán nhẹ khi được thực thi bởi người dùng (vì các nhật ký cho ý tưởng tốt hơn về người được gọi sudovà họ đến từ đâu), nhưng không phải khi được thực hiện từ một công việc nền.


1
Bạn có nghĩa là nếu người dùng có thể chạy expect(hoặc screenví dụ), thì requirettyvô dụng theo quan điểm bảo mật? (Tôi hoàn toàn không hiểu ý của bạn khi nói "
chết tiệt

@ GeorgesDupéron Vâng, đúng vậy. Vì bất cứ ai cũng có thể tạo ra một tty, requirettytùy chọn không ngăn ai sử dụng sudo.
Gilles 'SO- ngừng trở nên xấu xa'

3
requirettycó thể ngăn người dùng rò rỉ mật khẩu của họ trong Cleartext, nếu họ đang thực thi lệnh sudo yêu cầu mật khẩu qua ssh. Nó ở đó để buộc người dùng gọi ssh -t.
Chris Betti

1
@Chris Betti - tại sao đó là một điều tốt, để thực thi ssh -t ...?
Rop

Suy nghĩ của tôi lúc đó là trong trường hợp này, nếu bạn đang thực thi lệnh sudo từ xa nhắc mật khẩu, thì tốt hơn là tận dụng chương trình hỏi đường của máy từ xa hơn là điền mật khẩu vào Cleartext thông qua bảng điều khiển. Tôi thực sự không biết nếu làm như vậy sẽ tăng cường bảo mật, ngoài việc có thể ngăn chặn tình huống mật khẩu của bạn bị dội lại trên màn hình khi bạn nhập nó. Tôi tin rằng tôi đã nghĩ rằng một chương trình hỏi đường sẽ không được gọi nếu không có tty hoặc giả.
Chris Betti
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.