it-swarm-id.com

Apa yang perlu saya konfigurasi, untuk memastikan perangkat lunak saya menggunakan / dev / urandom?

Saat mengatur server, perubahan konfigurasi apa yang saya perlukan untuk memastikan bahwa semua perangkat lunak menggunakan /dev/urandom dari pada /dev/random?

Beberapa server tidak memiliki banyak entropi di kumpulan entropi (mis., VPS). Jika komponen perangkat lunak menggunakan /dev/random, maka itu dapat memblokir dan menyebabkan server menjadi lebih lambat secara misterius. Apakah ada perangkat lunak yang keluar dari kotak menggunakan /dev/random secara default? Jika demikian, bagaimana saya bisa mengonfigurasinya untuk memaksanya menggunakan /dev/urandom? Akan lebih baik memiliki daftar periksa pengaturan konfigurasi untuk diatur, ketika mengatur lingkungan VPS baru.

28
D.W.

Saran umum

Setiap program ditulis dalam Java

Menambahkan

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

atau

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

ke permintaan baris perintah yang digunakan untuk memulai proses Java. (Tanpa ini, Java menggunakan /dev/random untuk menebar benihnya SecureRandom class, yang dapat menyebabkan Java kode diblokir secara tidak terduga.)

Atau, dalam $Java_HOME/jre/lib/security/Java.security file konfigurasi, tambahkan baris

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

Catatan Kaki: Dalam contoh di atas, Anda memerlukan nama file yang terlihat gila, misalnya, ekstra /./, untuk menipu Java untuk menerima nama file Anda. Jika Anda hanya menggunakan /dev/urandom, Java memutuskan Anda tidak benar-benar serius dan mengganti apa yang Anda tulis dengan /dev/random. Kegilaan!

Chroot

Jika Anda memulai beberapa layanan di lingkungan chroot, jangan lupa untuk membuat /dev/urandom perangkat di dalam direktori chroot Anda.

Perangkat lunak khusus

Apache mod_ssl

Menggunakan

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

dalam file konfigurasi mod_ssl. Hindari pemakaian file:/dev/random dengan SSLRandomSeed.

Cyrus POP3, IMAPD, dan SASL

Kompilasi Cyrus SASL (libsasl) dengan flag konfigurasi --with-devrandom=/dev/urandom.

Secara default, Cyrus POP3 dibaca dari /dev/random. Saya tidak dapat menemukan pengaturan konfigurasi untuk mengubahnya, sebelum dikompilasi ulang.

OpenLDAP

Menambahkan

TLSRandFile /dev/urandom

ke slapd.conf file konfigurasi. (Mudah-mudahan ini menjadi default, tetapi beberapa panduan menyesatkan menyarankan penggunaan /dev/random, jadi Anda mungkin ingin memeriksa ulang.)

Postfix

Menggunakan

tls_random_source = dev:/dev/urandom

dalam main.cf file konfigurasi, atau

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

dari baris perintah.

25
D.W.

Semuanya:

Sebagai root, lakukan saja ini:

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

Sekarang /dev/random akan benar-benar mengakses logika dasar yang sama seperti /dev/urandom.

Setelah perubahan ini, keduanya /dev/random dan /dev/urandom akan menarik dari kolam non-blocking. Pool non-blocking akan menarik dari pool blocking, yang masih akan diisi oleh sistem.

19
David Schwartz

Inisiatif hebat oleh D.W. untuk daftar konfigurasi perangkat lunak yang berbeda (saya sudah penggemar D.W.)

TETAPI - Seperti yang saya sebutkan pada komentar saya sebelumnya , Pada server VPS saya, saya secara pribadi masih lebih suka menginstal satu komponen tunggal ( telah dibuat ) yang membuat semuanya berjalan dengan lancar.

Mungkin saran @ DavidSchwartz adalah satu-satunya yang bisa lebih mudah, tapi saya belum mencobanya.

Mengkonfigurasi masing-masing komponen secara individual alih-alih kumpulan entropi yang mendasarinya terdengar konyol bagi saya untuk benar-benar jujur. Ketika saya memiliki masalah, saya mencoba untuk menyelesaikan akar permasalahan dan menjaga prinsip KERING .

8
Yoav Aner

[~ # ~] php [~ # ~]

Untuk PHP sesi Anda dapat menggunakan/dev/urandom sebagai sumber entropi

session.entropy_file = /dev/urandom
3
rook