it-swarm-vi.com

Tôi cần cấu hình gì để đảm bảo phần mềm của tôi sử dụng / dev / urandom?

Khi thiết lập máy chủ, tôi cần thay đổi cấu hình nào để đảm bảo rằng tất cả phần mềm sử dụng /dev/urandom thay vì /dev/random?

Một số máy chủ không có nhiều entropy trong nhóm entropy (ví dụ: VPS). Nếu một thành phần phần mềm sử dụng /dev/random, sau đó nó có thể chặn và khiến máy chủ trở nên chậm hơn một cách bí ẩn. Có phần mềm nào đi ra khỏi hộp bằng cách sử dụng /dev/random theo mặc định? Nếu vậy, làm cách nào tôi có thể định cấu hình nó để buộc nó sử dụng /dev/urandom? Thật tuyệt khi có một danh sách kiểm tra các cài đặt cấu hình để thiết lập, khi thiết lập môi trường VPS mới.

28
D.W.

Lời khuyên chung

Bất kỳ chương trình nào được viết bằng Java

Thêm vào

-Djava.security.egd=file:///dev/urandom switch

hoặc là

-Djava.security.egd=file:/dev/./urandom

đến lệnh gọi dòng lệnh được sử dụng để bắt đầu quá trình Java. (Không có điều này, Java sử dụng /dev/random để gieo hạt SecureRandom class, có thể khiến Java bị chặn bất ngờ.)

Ngoài ra, trong $Java_HOME/jre/lib/security/Java.security tập tin cấu hình, thêm dòng

securerandom.source=file:/dev/./urandom

Chú thích : Trong các ví dụ trên, bạn cần tên tệp trông điên rồ, ví dụ: thêm /./, để lừa Java chấp nhận tên tệp của bạn. Nếu bạn chỉ sử dụng /dev/urandom, Java quyết định bạn không thực sự có ý đó và thay thế những gì bạn đã viết bằng /dev/random. Sự điên rồ!

Chroot

Nếu bạn đang bắt đầu một số dịch vụ trong môi trường chroot, đừng quên tạo /dev/urandom thiết bị trong thư mục chroot của bạn.

Phần mềm cụ thể

Mod_ssl

Sử dụng

SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect file:/dev/urandom 512

trong tập tin cấu hình mod_ssl. Tránh sử dụng file:/dev/random với SSLRandomSeed.

Cyrus POP3, IMAPD và SASL

Biên dịch Cyrus SASL (libsasl) với cờ cấu hình --with-devrandom=/dev/urandom.

Theo mặc định, Cyrus POP3 đọc từ /dev/random. Tôi không thể tìm thấy bất kỳ cài đặt cấu hình nào để thay đổi điều này, không cần biên dịch lại.

OpenLDAP

Thêm vào

TLSRandFile /dev/urandom

đến slapd.conf tập tin cấu hình. (Điều này hy vọng sẽ là mặc định, nhưng một số hướng dẫn gợi ý nhầm khi sử dụng /dev/random, vì vậy bạn có thể muốn kiểm tra lại.)

Hậu tố

Sử dụng

tls_random_source = dev:/dev/urandom

bên trong main.cf tập tin cấu hình, hoặc

Sudo postconf -e 'tls_random_source = dev:/dev/urandom'

từ dòng lệnh.

25
D.W.

Mọi thứ :

root, chỉ cần làm điều này:

rm /dev/random
mknod /dev/random c 1 9

Hiện nay /dev/random thực sự sẽ truy cập cùng logic cơ bản như /dev/urandom.

Sau khi thay đổi, cả /dev/random/dev/urandom sẽ rút ra từ nhóm không chặn. Nhóm không chặn sẽ rút ra từ nhóm chặn mà hệ thống vẫn sẽ lấp đầy.

19
David Schwartz

Sáng kiến ​​tuyệt vời của D.W. để liệt kê các cấu hình phần mềm khác nhau (Tôi là một fan hâm mộ cuồng nhiệt của D.W.)

NHƯNG - Như tôi đã đề cập trên nhận xét trước đây của tôi , Trên các máy chủ VPS của tôi, cá nhân tôi vẫn thích cài đặt một thành phần duy nhất ( hasged ) để mọi thứ hoạt động trơn tru.

Có lẽ đề nghị của @ DavidSchwartz là người duy nhất có thể dễ dàng hơn, nhưng tôi chưa thử.

Cấu hình riêng lẻ từng thành phần thay vì nhóm entropy cơ bản nghe có vẻ hơi ngớ ngẩn đối với tôi để hoàn toàn trung thực. Khi tôi gặp vấn đề, tôi cố gắng giải quyết nguyên nhân gốc và giữ nguyên tắc KHÔ .

8
Yoav Aner

[~ # ~] php [~ # ~]

Đối với PHP phiên bạn có thể sử dụng/dev/urandom dưới dạng nguồn entropy

session.entropy_file = /dev/urandom
3
rook