{"id":55510,"date":"2020-01-22T00:00:00","date_gmt":"2020-01-21T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/linux-udalenie-pula-blokirovok-dev-random"},"modified":"2020-02-18T14:03:38","modified_gmt":"2020-02-18T11:03:38","slug":"linux-udalenie-pula-blokirovok-dev-random","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/linux-udalenie-pula-blokirovok-dev-random","title":{"rendered":"Linux: remo\u00e7\u00e3o do pool de bloqueios \/dev\/random","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Como \u00e9 sabido, o \/dev\/random, um gerador de n\u00fameros pseudoaleat\u00f3rios criptograficamente seguro (CSPRNG), tem um problema desagrad\u00e1vel - bloqueios. Este artigo explica como \u00e9 poss\u00edvel resolv\u00ea-lo. <\/p>\n<p>Nos \u00faltimos meses, os meios de gera\u00e7\u00e3o de n\u00fameros aleat\u00f3rios no n\u00facleo foram um pouco revisados, mas problemas nesse subsistema foram resolvidos ao longo de um per\u00edodo mais amplo. <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Kernel\/Index\/#Random_numbers\">de tempo.<\/a><\/noindex>As mais <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/802360\/\">recentes altera\u00e7\u00f5es<\/a><\/noindex> foram feitas com o objetivo de evitar o bloqueio prolongado da chamada de sistema getrandom() durante a inicializa\u00e7\u00e3o do sistema, sendo que a causa subjacente era o comportamento do pool aleat\u00f3rio bloqueante. Um patch recente removeria esse pool, e esperava-se que ele fosse integrado ao n\u00facleo principal. <\/p>\n<p>Andy Lutomirski publicou a terceira vers\u00e3o do patch no final de dezembro. Ele introduz <i>\u00abduas mudan\u00e7as sem\u00e2nticas principais nas API aleat\u00f3rias do Linux\u00bb.<\/i>O patch adiciona uma nova flag GRND_INSECURE \u00e0 chamada de sistema getrandom() (embora Lutomirski se refira a ele como getentropy(), que \u00e9 implementado na glibc usando getrandom() com flags fixas); essa flag faz com que a chamada sempre retorne a quantidade de dados solicitada, mas sem garantia de que esses dados sejam aleat\u00f3rios. O n\u00facleo apenas far\u00e1 o seu melhor para fornecer os melhores dados aleat\u00f3rios que possui naquele momento. <i>\u00abProvavelmente, o melhor que pode ser feito \u00e9 nome\u00e1-lo de \u201eINSECURE\u201c<\/i> para impedir o uso dessa API para coisas que necessitam de seguran\u00e7a\u00bb.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Os patches tamb\u00e9m removem o pool bloqueante. Atualmente, o n\u00facleo mant\u00e9m dois pools de dados aleat\u00f3rios, um correspondente ao \/dev\/random e o outro ao \/dev\/urandom, conforme descrito neste <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/658497\/\">artigo<\/a><\/noindex> documento de 2015. O pool bloqueante \u00e9 o pool para \/dev\/random; a leitura para esse dispositivo ser\u00e1 bloqueada (referindo-se ao seu nome) at\u00e9 que uma quantidade \u00absuficiente\u00bb de entropia seja coletada do sistema para atender \u00e0 solicita\u00e7\u00e3o. Leituras subsequentes desse arquivo tamb\u00e9m s\u00e3o bloqueadas se o pool n\u00e3o tiver entropia suficiente. <\/p>\n<p>A remo\u00e7\u00e3o do pool de bloqueio significa que a leitura de \/dev\/random se comporta como getrandom() com o valor de flags igual a zero (e transforma a flag GRND_RANDOM em noop). Ap\u00f3s a inicializa\u00e7\u00e3o do gerador criptogr\u00e1fico de n\u00fameros aleat\u00f3rios (CRNG), a leitura de \/dev\/random e as chamadas a getrandom(&#8230;,0) n\u00e3o causar\u00e3o bloqueio e retornar\u00e3o a quantidade solicitada de dados aleat\u00f3rios.<\/p>\n<p>Lutomirski diz: <i>\u201cEu considero que o pool de bloqueio do Linux se tornou obsoleto. O CRNG do Linux gera sa\u00eddas que s\u00e3o boas o suficiente para serem usadas at\u00e9 mesmo para a gera\u00e7\u00e3o de chaves. O pool de bloqueio n\u00e3o \u00e9 mais forte de qualquer maneira material, e sua manuten\u00e7\u00e3o requer mucha infraestrutura de valor duvidoso.\u201d <\/i><\/p>\n<p>Mudan\u00e7as foram feitas com o objetivo de que os programas existentes realmente n\u00e3o fossem afetados, e na verdade, os problemas com longas esperas para coisas como a gera\u00e7\u00e3o de chaves GnuPG ser\u00e3o reduzidos.<\/p>\n<p><i>\u201cEssas s\u00e9ries n\u00e3o devem interferir em nenhum programa existente. \/dev\/urandom permanece inalterado. \/dev\/random ainda \u00e9 bloqueado imediatamente ap\u00f3s a inicializa\u00e7\u00e3o, mas est\u00e1 bloqueado menos do que antes. getentropy() com as flags existentes retornar\u00e1 um resultado que ser\u00e1 igualmente adequado para fins pr\u00e1ticos, como antes.\u201d<\/i> <\/p>\n<p>Lutomirski apontou que ainda h\u00e1 uma quest\u00e3o em aberto sobre se o n\u00facleo deve fornecer os chamados 'n\u00fameros verdadeiramente aleat\u00f3rios', o que em certa medida deveria ser feito pelo n\u00facleo de bloqueio. Ele v\u00ea apenas uma raz\u00e3o para isso: 'cumprir normas governamentais'. Lutomirski sugeriu que, se o n\u00facleo deve garantir isso, deve ser feito por meio de uma interface completamente diferente ou deve ser transferido para o espa\u00e7o do usu\u00e1rio, permitindo que ele extraia amostras brutas de eventos que podem ser usadas para criar tal pool de bloqueio. <\/p>\n<p>Stephan M\u00fcller sugeriu que seu conjunto <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/ml\/linux-kernel\/2722222.P16TYeLAVu@positron.chronox.de\/\">de patches<\/a><\/noindex> O gerador de n\u00fameros aleat\u00f3rios do Linux (LRNG) (atualmente na vers\u00e3o 26) pode ser uma forma de fornecer n\u00fameros verdadeiramente aleat\u00f3rios para aplica\u00e7\u00f5es que necessitam. O LRNG \"atende completamente aos requisitos das 'Diretrizes sobre fontes de entropia utilizadas para gerar bits aleat\u00f3rios' SP800-90B\", o que o torna uma solu\u00e7\u00e3o para o problema dos padr\u00f5es governamentais. <br \/>\nMatthew Garrett contestou o termo \"dados verdadeiramente aleat\u00f3rios\", observando que os dispositivos selecionados podem, em princ\u00edpio, ser modelados com precis\u00e3o suficiente para torn\u00e1-los previs\u00edveis: \"n\u00e3o estamos coletando eventos qu\u00e2nticos aqui\".<\/p>\n<p>M\u00fcller respondeu que esse termo prov\u00e9m do padr\u00e3o alem\u00e3o AIS 31 para descrever um gerador de n\u00fameros aleat\u00f3rios que apenas fornece resultados \"na mesma velocidade com que a fonte b\u00e1sica de ru\u00eddo gera entropia.\" <\/p>\n<p>Al\u00e9m das ambiguidades terminol\u00f3gicas, a exist\u00eancia de um pool de bloqueio, como proposto por patches do LRNG, simplesmente levar\u00e1 a v\u00e1rios problemas, pelo menos se estiver acess\u00edvel sem privil\u00e9gios. <\/p>\n<p>Como disse Lutomirski: <i>\"Isso n\u00e3o resolve o problema. Se dois usu\u00e1rios diferentes executarem programas bobos, como o gnupg, eles simplesmente esgotar\u00e3o um ao outro. Vejo que atualmente existem dois problemas principais com \/dev\/random: ele \u00e9 suscet\u00edvel a DoS (ou seja, esgotamento de recursos, influ\u00eancia maliciosa ou algo semelhante), e, uma vez que nenhum privil\u00e9gio para seu uso \u00e9 necess\u00e1rio, ele tamb\u00e9m \u00e9 propenso a abusos. O Gnupg \u00e9 um erro, \u00e9 um colapso total. Se adicionarmos uma nova interface n\u00e3o privilegiada que ser\u00e1 utilizada pelo gnupg e programas semelhantes, voltaremos a perder.\"<\/i> <\/p>\n<p>M\u00fcller observou que a adi\u00e7\u00e3o do getrandom() agora permitir\u00e1 que o GnuPG utilize essa interface, pois garantir\u00e1 que o pool foi inicializado. Com base nas discuss\u00f5es com o desenvolvedor do GnuPG, Werner Koch, M\u00fcller acredita que a garantia \u00e9 a \u00fanica raz\u00e3o pela qual o GnuPG atualmente l\u00ea diretamente de \/dev\/random. Mas se houver uma interface n\u00e3o privilegiada suscet\u00edvel a nega\u00e7\u00e3o de servi\u00e7o (como \u00e9 hoje \/dev\/random), ent\u00e3o, segundo Lutomirski, ela ser\u00e1 mal utilizada por alguns aplicativos. <\/p>\n<p>Teodoro Tsao (Theodore Yue Tak Ts&#8217;o), desenvolvedor do subsistema de n\u00fameros aleat\u00f3rios do Linux, aparentemente mudou de ideia sobre a necessidade do pool de bloqueio. Ele disse que a remo\u00e7\u00e3o desse pool permitir\u00e1 efetivamente livrar-se da ideia de que o Linux possui um verdadeiro gerador de n\u00fameros aleat\u00f3rios (TRNG): <i>\u00abisso n\u00e3o \u00e9 uma insanidade, j\u00e1 que \u00e9 exatamente isso que sempre fizeram *BSD\u00bb.<\/i><\/p>\n<p>Ele tamb\u00e9m expressou preocupa\u00e7\u00e3o de que fornecer um mecanismo TRNG serviria apenas como um atrativo para desenvolvedores de aplicativos e acredita que, na verdade, considerando os diferentes tipos de hardware suportados pelo Linux, n\u00e3o \u00e9 poss\u00edvel garantir um TRNG no n\u00facleo. O problema n\u00e3o ser\u00e1 resolvido nem mesmo pela possibilidade de trabalhar com o hardware apenas com privil\u00e9gios de root: <i>\u00abOs desenvolvedores de aplicativos indicam que seu aplicativo, por quest\u00f5es de seguran\u00e7a, deve ser instalado como root, pois apenas assim voc\u00ea pode acessar os \u201crealmente bons\u201d n\u00fameros aleat\u00f3rios\u00bb.<\/i><\/p>\n<p>M\u00fcller perguntou se Ts\u2019o havia desistido da implementa\u00e7\u00e3o do pool bloqueador, que ele mesmo havia proposto h\u00e1 muito tempo. Ts\u2019o respondeu que planeja adotar os patches de Lutomi e se op\u00f5e ativamente \u00e0 reintegra\u00e7\u00e3o da interface bloqueadora ao n\u00facleo. <\/p>\n<p><i>\"O n\u00facleo n\u00e3o pode garantir se a fonte de ru\u00eddo foi caracterizada adequadamente. A \u00fanica coisa que um desenvolvedor de GPG ou OpenSSL pode obter \u00e9 uma vaga sensa\u00e7\u00e3o de que o TRUERANDOM \u00e9 'melhor', e como eles desejam maior seguran\u00e7a, certamente tentar\u00e3o utiliz\u00e1-lo. Em determinado momento, ele ser\u00e1 bloqueado, e quando algum outro usu\u00e1rio inteligente (talvez um especialista em release de distribui\u00e7\u00e3o) o inserir no script init e os sistemas pararem de funcionar, os usu\u00e1rios s\u00f3 poder\u00e3o reclamar diretamente a Linus Torvalds.\"<\/i> <\/p>\n<p>Ts\u2019o tamb\u00e9m defende que se deve fornecer aos cript\u00f3grafos e \u00e0queles que realmente precisam de TRNG uma forma de coletar sua pr\u00f3pria entropia no espa\u00e7o do usu\u00e1rio, para utiliz\u00e1-la como desejarem. Ele afirma que a coleta de entropia n\u00e3o \u00e9 um processo que pode ser realizado pelo n\u00facleo em todo o hardware suporte, al\u00e9m disso, o pr\u00f3prio n\u00facleo n\u00e3o pode avaliar a quantidade de entropia fornecida por diferentes fontes. <\/p>\n<p><i>\u00abO n\u00facleo n\u00e3o deve misturar diferentes fontes de ru\u00eddo e, certamente, n\u00e3o deve tentar afirmar que sabe quantos bits de entropia est\u00e1 recebendo ao tentar jogar algum \"jogo de entropia\" rabugento em uma arquitetura de CPU absurdamente simples para casos de uso de IOT\/Embutidos, quando tudo est\u00e1 dessincronizado em rela\u00e7\u00e3o a um \u00fanico gerador mestre, quando n\u00e3o h\u00e1 nenhuma instru\u00e7\u00e3o da CPU para reordenar ou renomear registradores, etc.\u00bb<\/p>\n<p>\u00abPode-se falar sobre fornecer ferramentas que tentem fazer esses c\u00e1lculos, mas essas coisas devem ocorrer no equipamento de cada usu\u00e1rio, o que \u00e9 impratic\u00e1vel para a maioria dos usu\u00e1rios do distribuidor. Se isso for destinado apenas a cript\u00f3grafos, ent\u00e3o que seja feito no espa\u00e7o de usu\u00e1rio deles. E n\u00e3o vamos simplificar o GPG, OpenSSL, etc., para que todos digam: \"n\u00f3s queremos 'verdadeira aleatoriedade' e n\u00e3o aceitamos menos do que isso\". Pode-se falar sobre como fornecemos interfaces a cript\u00f3grafos para que possam obter as informa\u00e7\u00f5es necess\u00e1rias por meio do acesso a fontes de ru\u00eddo prim\u00e1rias, separadas e nomeadas, e, talvez, de alguma forma, a fonte de ru\u00eddo consiga se autenticar na biblioteca ou aplicativo do espa\u00e7o do usu\u00e1rio.\u00bb<\/i><\/p>\n<p>Houve uma pequena discuss\u00e3o sobre como poderia ser essa interface, pois, por exemplo, para alguns eventos podem haver consequ\u00eancias em termos de seguran\u00e7a. Cao observou que os c\u00f3digos de escaneamento de teclado (ou seja, de pressionamento de teclas) s\u00e3o misturados em um pool como parte da coleta de entropia: \u00abTransferir isso para o espa\u00e7o do usu\u00e1rio, mesmo atrav\u00e9s de uma chamada de sistema privilegiada, seria, no m\u00ednimo, imprudente\u00bb. \u00c9 bem poss\u00edvel que outros momentos de eventos possam criar algum vazamento de informa\u00e7\u00f5es por canais laterais. <\/p>\n<p>Assim, parece que um problema de longa data do subsistema de n\u00fameros aleat\u00f3rios do Linux est\u00e1 a caminho da solu\u00e7\u00e3o. As mudan\u00e7as que o subsistema de n\u00fameros aleat\u00f3rios passou recentemente, na verdade, resultaram apenas em problemas de DoS durante seu uso. Agora, surgiram maneiras eficazes de obter os melhores n\u00fameros aleat\u00f3rios que o n\u00facleo pode fornecer. Se o TRNG ainda for desej\u00e1vel para o Linux, essa defici\u00eancia precisar\u00e1 ser resolvida no futuro, mas provavelmente n\u00e3o ser\u00e1 feita dentro do pr\u00f3prio n\u00facleo. <\/p>\n<h3>Um pouco de publicidade \ud83d\ude42<\/h3>\n<p>\nObrigado por permanecer conosco. Voc\u00ea gosta dos nossos artigos? Quer ver mais materiais interessantes? Apoie-nos fazendo um pedido ou recomendando para conhecidos. <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">VPS em nuvem para desenvolvedores a partir de $4.99<\/a><\/noindex>, <b>uma alternativa \u00fanica aos servidores entry-level, que criamos para voc\u00ea:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Toda a verdade sobre VPS (KVM) E5-2697 v3 (6 N\u00facleos) 10GB DDR4 480GB SSD 1Gbps a partir de $19 ou como dividir um servidor corretamente?<\/a><\/noindex> (dispon\u00edveis op\u00e7\u00f5es com RAID1 e RAID10, at\u00e9 24 n\u00facleos e at\u00e9 40GB DDR4).<\/p>\n<p><b>Dell R730xd por 2 vezes mais barato no datacenter Equinix Tier IV em Amsterd\u00e3?<\/b> Somente conosco <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100TB a partir de $199<\/a><\/noindex> na Holanda! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 a partir de $99!<\/b><\/b> Leia sobre <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Como construir uma infraestrutura de classe corporativa utilizando servidores Dell R730xd E5-2650 v4 com custo de 9000 euros por centavos?<\/a><\/noindex><br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/484736\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0443 \/dev\/random, \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0442\u043e\u0439\u043a\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043f\u0441\u0435\u0432\u0434\u043e\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b (CSPRNG), \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0430 \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u2013 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0435\u0435 \u0440\u0435\u0448\u0438\u0442\u044c. \u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0432 \u044f\u0434\u0440\u0435 \u0431\u044b\u043b\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u044b, \u043d\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u044d\u0442\u043e\u0439 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0440\u0435\u0448\u0430\u043b\u0438\u0441\u044c \u043d\u0430 \u043f\u0440\u043e\u0442\u044f\u0436\u0435\u043d\u0438\u0438 \u0431\u043e\u043b\u0435\u0435 \u0448\u0438\u0440\u043e\u043a\u0438\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u043c\u043e\u043a. \u0421\u0430\u043c\u044b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u043d\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-55510","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0443 \/dev\/random, \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0442\u043e\u0439\u043a\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043f\u0441\u0435\u0432\u0434\u043e\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b (CSPRNG), \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0430 \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u2013 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0435\u0435 \u0440\u0435\u0448\u0438\u0442\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/linux-udalenie-pula-blokirovok-dev-random\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Linux: \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0443\u043b\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a \/dev\/random | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0443 \/dev\/random, \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0442\u043e\u0439\u043a\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043f\u0441\u0435\u0432\u0434\u043e\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b (CSPRNG), \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0430 \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u2013 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0435\u0435 \u0440\u0435\u0448\u0438\u0442\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/linux-udalenie-pula-blokirovok-dev-random\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-21T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:38+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Linux: remo\u00e7\u00e3o do pool de bloqueios \/dev\/random | ProHoster","description":"Como \u00e9 sabido, o \/dev\/random, um gerador de n\u00fameros pseudoaleat\u00f3rios criptograficamente seguro (CSPRNG), tem um problema desagrad\u00e1vel - bloqueios. Este artigo explica como \u00e9 poss\u00edvel resolv\u00ea-lo.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/linux-udalenie-pula-blokirovok-dev-random","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Linux: \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0443\u043b\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a \/dev\/random | ProHoster","og:description":"\u041a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0443 \/dev\/random, \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0442\u043e\u0439\u043a\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043f\u0441\u0435\u0432\u0434\u043e\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b (CSPRNG), \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0430 \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u2013 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0435\u0435 \u0440\u0435\u0448\u0438\u0442\u044c.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/linux-udalenie-pula-blokirovok-dev-random","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-21T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55510","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:43:30","updated":"2022-10-02 22:01:02","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/55510","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=55510"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/55510\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=55510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=55510"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=55510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}