Por que o / dev / urandom só pode ser lido pelo root desde o Ubuntu 12.04 e como posso “consertá-lo”?

10

Eu costumava trabalhar com modelos Ubuntu 10.04 em muitos servidores. Desde que mudei para o 12.04, tenho problemas que agora isolei.

O dispositivo / dev / urandom só é acessível para o root.

Isso causou mecanismos SSL, pelo menos em PHP, por exemplo file_get_contents (https: // ... para falhar.

Ele também quebrou o redmine.

Depois de um chmod 644 ele funciona bem, mas isso não fica na reinicialização.

Então, minha pergunta.

  1. por que isso acontece? Não vejo risco de segurança porque ... quero dizer ... quero roubar alguns dados aleatórios?

  2. Como posso "consertar" isso? Os servidores são isolados e usados por apenas um aplicativo, é por isso que uso o openvz. Eu penso em algo como um script de nível de execução mais ou menos ... mas como faço isso de forma eficiente? Maby com dpkg ou apt?

  3. O mesmo vale para vor / dev / shm. neste caso eu entendo totalmente porque não é acessível, mas eu suponho que eu possa "consertar" da mesma maneira para corrigir / dev / urandom

por The Shurrican 22.05.2012 / 12:50

5 respostas

3

Com leitura excessiva do udev, você pode drenar o conjunto aleatório, resultando em números aleatórios previsíveis. Provavelmente esta é a razão pela qual / dev / urandom não está disponível para ler para todos. (deletado porque Graeme Donaldson está certo)

Caso você ainda queira alterar a permissão, consulte as regras do udev responsáveis por definir os modos em / dev / urandom, em vez de estragar seus scripts de inicialização.

No Debian, é fácil encontrar a regra do culpado:

$ dpkg -L udev | xargs grep urandom
/lib/udev/rules.d/91-permissions.rules:KERNEL=="urandom", MODE="0666"

No seu caso, o MODE definitivamente não é 0666.

Altere-o de acordo com as regras de configuração do udev, se desejar.

Observação: o link pode ajudar na alteração do udev.

Você basicamente precisará criar uma regra com aparência semelhante ao resultado do grep, exceto que ela possui um modo correto definido e adicioná-la como um rulefile em /etc/udev/rules.d/ (lembre-se das possíveis diferenças em Ubuntu e Debian!)

    
por 20.06.2012 / 17:50
1

Quanto a como você pode consertar, um band-aid temporário seria apenas

cat "chmod 666 /dev/urandom" >> /etc/rc.local
    
por 30.05.2012 / 04:20
1

na verdade, o ubuntu 12.04 openvz template agora é público e eles consertaram as permissões também no uraondm como no dispositivo shm

    
por 20.06.2012 / 21:24
1

O problema que o udevtrigger não foi iniciado. Tente reiniciar com /etc/init.d/udevtrigger restart ... e se resolver o problema como para mim ... então altere o arquivo /etc/init/udevtrigger.conf:

-     and not-container)
+     )
    
por 12.09.2012 / 09:17
0

No RHEL: adicione regras de segurança com substituições de permissão em /etc/security/console.perms.d /

deve ser semelhante no ubuntu

    
por 13.06.2012 / 15:32