{"id":35532,"date":"2019-10-31T22:04:52","date_gmt":"2019-10-31T19:04:52","guid":{"rendered":"https:\/\/prohoster.info\/blog\/bezopasnye-push-uvedomleniya-ot-teorii-k-praktike\/"},"modified":"2019-10-31T22:04:52","modified_gmt":"2019-10-31T19:04:52","slug":"bezopasnye-push-uvedomleniya-ot-teorii-k-praktike","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/bezopasnye-push-uvedomleniya-ot-teorii-k-praktike","title":{"rendered":"Notifica\u00e7\u00f5es push seguras: da teoria \u00e0 pr\u00e1tica","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ol\u00e1, Habr! <\/p>\n<p>Hoje vou falar sobre o que eu e meus colegas temos trabalhado nos \u00faltimos meses: sobre notifica\u00e7\u00f5es push para mensageiros m\u00f3veis. Como j\u00e1 mencionei, nosso aplicativo tem um grande foco na seguran\u00e7a. Portanto, investigamos se as notifica\u00e7\u00f5es push t\u00eam \"pontos fracos\" e, se sim, como podemos mitig\u00e1-los para adicionar essa fun\u00e7\u00e3o \u00fatil ao nosso servi\u00e7o.<\/p>\n<p>Estou publicando a tradu\u00e7\u00e3o do nosso <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/adamant-im\/push-notifications-friends-or-foes-b118b67ed258?postPublishedType=repub\">artigo do Medium<\/a><\/noindex> com algumas adi\u00e7\u00f5es pessoais. Nele, est\u00e3o as conclus\u00f5es da \"investiga\u00e7\u00e3o\" e a explica\u00e7\u00e3o de como resolvemos o problema.<\/p>\n<h2>Explorando a base t\u00e9cnica<\/h2>\n<p>\nNa modelagem cl\u00e1ssica, as notifica\u00e7\u00f5es push tornam os mensageiros vulner\u00e1veis a ataques MITM (Man-in-the-middle). Por exemplo, no Google, Microsoft e na vers\u00e3o antiga do iMessage, o aplicativo envia as chaves de criptografia para os servidores da Apple \u2014 no servidor, ocorre a autentica\u00e7\u00e3o dos usu\u00e1rios e a descriptografia do cabe\u00e7alho da mensagem (ou de seu conte\u00fado).<\/p>\n<p><img decoding=\"async\" alt=\"Notifica\u00e7\u00f5es push seguras: da teoria \u00e0 pr\u00e1tica\" src=\"\/wp-content\/uploads\/2019\/06\/5a1d3de5fc9c7d6da3f48490dccd2ab6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAssim, existe a possibilidade de ler a conversa, tendo acesso ao servidor de notifica\u00e7\u00f5es push. Isso significa que qualquer criptografia das conversas se torna in\u00fatil: as notifica\u00e7\u00f5es push ainda permitir\u00e3o que terceiros leiam as mensagens. Os autores do artigo <noindex><a rel=\"nofollow\" href=\"https:\/\/xakep.ru\/2018\/06\/14\/useless-encryption\/\">\u201cCriptografe de forma adequada\u201d<\/a><\/noindex> no Xaker.ru, discutiram mais detalhadamente essa possibilidade, dedicada aos m\u00e9todos de criptografia de mensagens. <\/p>\n<p>Se voc\u00ea acha que os servidores da Apple e do Google 100% impedir\u00e3o a filtragem das chaves de criptografia dos usu\u00e1rios, pense que seus funcion\u00e1rios t\u00eam acesso a elas. E os funcion\u00e1rios s\u00e3o pessoas.<br \/>\nApesar das vulnerabilidades das notifica\u00e7\u00f5es push, muitos mensageiros \"seguros\", incluindo o Signal e o Telegram, as utilizam. Caso contr\u00e1rio, os usu\u00e1rios teriam que monitorar manualmente novas mensagens, acessando constantemente o aplicativo. Isso \u00e9 bastante inconveniente, e mensageiros concorrentes teriam uma vantagem.<\/p>\n<h2>Paranoia e senso comum<\/h2>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNo nosso projeto, n\u00f3s focamos nesse tema h\u00e1 alguns meses. Precis\u00e1vamos implementar a op\u00e7\u00e3o de notifica\u00e7\u00f5es push para sermos competitivos. Mas, ao mesmo tempo, n\u00e3o pod\u00edamos deixar uma brecha na seguran\u00e7a, pois qualquer vazamento de dados comprometeria a confian\u00e7a no projeto.<\/p>\n<p>Entretanto, j\u00e1 temos uma importante vantagem: nosso mensageiro \u00e9 descentralizado (os dados s\u00e3o armazenados na blockchain), e os funcion\u00e1rios n\u00e3o t\u00eam acesso \u00e0s contas. As chaves de criptografia est\u00e3o apenas com os usu\u00e1rios, e as chaves p\u00fablicas dos interlocutores est\u00e3o dispon\u00edveis na blockchain, protegendo contra ataques MITM.<\/p>\n<p>Na primeira vers\u00e3o dos push, decidimos nos precaver ao m\u00e1ximo e n\u00e3o transmitimos o texto da mensagem. O servi\u00e7o de push recebia da node apenas um sinal indicando o recebimento, n\u00e3o o texto da mensagem. Portanto, o usu\u00e1rio via o aviso \u2018Uma nova mensagem chegou\u2019. A leitura s\u00f3 era poss\u00edvel no mensageiro. <\/p>\n<p><img decoding=\"async\" alt=\"Notifica\u00e7\u00f5es push seguras: da teoria \u00e0 pr\u00e1tica\" src=\"\/wp-content\/uploads\/2019\/06\/5f4bf5861141666105cd5c76c27c796c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?time_continue=21&amp;v=WK3gyH7_iAw\">Como isso funcionava: v\u00eddeo<\/a><\/noindex>.<\/p>\n<p>Depois disso, descobrimos que na \u00faltima vers\u00e3o das notifica\u00e7\u00f5es da Apple existem novos elementos de prote\u00e7\u00e3o. Eles <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.apple.com\/documentation\/usernotifications\/unnotificationserviceextension\">lan\u00e7amos<\/a><\/noindex> UNNotificationServiceExtension, que permite aos desenvolvedores enviar dados de notifica\u00e7\u00f5es totalmente criptografados pelo APNS. Ent\u00e3o, o aplicativo no dispositivo do usu\u00e1rio final realiza a descriptografia (ou carrega dados adicionais) e exibe a notifica\u00e7\u00e3o. Esta baseamos na segunda vers\u00e3o dos push.<\/p>\n<p>Atualmente, desenvolvemos a segunda vers\u00e3o das notifica\u00e7\u00f5es push para iOS, que permite exibir o texto da mensagem sem comprometer a seguran\u00e7a. Na nova abordagem, a l\u00f3gica \u00e9 a seguinte:<\/p>\n<ul>\n<li>O servi\u00e7o de push envia uma notifica\u00e7\u00e3o com o n\u00famero da transa\u00e7\u00e3o (a mensagem criptografada pode ser muito grande, e o tamanho das notifica\u00e7\u00f5es \u00e9 severamente limitado)<\/li>\n<li>O dispositivo, ao receber a notifica\u00e7\u00e3o, inicia nossa NotificationServiceExtension \u2014 um microaplicativo que solicita \u00e0 node a transa\u00e7\u00e3o por ID, descriptografa usando a passphrase armazenada e entrega ao sistema uma nova notifica\u00e7\u00e3o. A passphrase \u00e9 mantida em um armazenamento seguro.<\/li>\n<li>O sistema exibe a notifica\u00e7\u00e3o com a mensagem descriptografada ou sua tradu\u00e7\u00e3o.<\/li>\n<li>As chaves n\u00e3o saem de lugar algum, assim como a mensagem em texto simples. O servi\u00e7o de push n\u00e3o tem a capacidade de descriptografar a mensagem. <\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Notifica\u00e7\u00f5es push seguras: da teoria \u00e0 pr\u00e1tica\" src=\"\/wp-content\/uploads\/2019\/06\/9b137036738a742c93e5b97a2f0acea5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAceitamos esta vers\u00e3o como funcional e a implementamos na \u00faltima atualiza\u00e7\u00e3o do aplicativo para iOS.<br \/>\nOs interessados na parte t\u00e9cnica podem olhar o c\u00f3digo-fonte: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Adamant-im\/adamant-notificationService\/\">github.com\/Adamant-im\/adamant-notificationService<\/a><\/noindex>.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/456902\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u0447\u0435\u043c \u043c\u044b \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0437\u0430\u043d\u044f\u0442\u044b \u0443\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432: \u043e \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u043e\u0432. \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0443\u043f\u043e\u0440 \u0441\u0434\u0435\u043b\u0430\u043d \u043d\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0432\u044b\u044f\u0441\u043d\u044f\u043b\u0438, \u0435\u0441\u0442\u044c \u043b\u0438 \u0443 \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 \u201c\u0441\u043b\u0430\u0431\u044b\u0435 \u043c\u0435\u0441\u0442\u0430\u201d \u0438 \u0435\u0441\u043b\u0438 \u0434\u0430, \u0442\u043e \u043a\u0430\u043a \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0445 \u043d\u0438\u0432\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u043e\u043f\u0446\u0438\u044e \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26645,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35532","post","type-post","status-publish","format-standard","has-post-thumbnail","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=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u0447\u0435\u043c \u043c\u044b \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0437\u0430\u043d\u044f\u0442\u044b \u0443\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432: \u043e \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u043e\u0432. \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0443\u043f\u043e\u0440 \u0441\u0434\u0435\u043b\u0430\u043d \u043d\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\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\/bezopasnye-push-uvedomleniya-ot-teorii-k-praktike\" \/>\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\udd47\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 push-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f: \u043e\u0442 \u0442\u0435\u043e\u0440\u0438\u0438 \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u0447\u0435\u043c \u043c\u044b \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0437\u0430\u043d\u044f\u0442\u044b \u0443\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432: \u043e \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u043e\u0432. \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0443\u043f\u043e\u0440 \u0441\u0434\u0435\u043b\u0430\u043d \u043d\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/bezopasnye-push-uvedomleniya-ot-teorii-k-praktike\" \/>\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=\"2019-10-31T19:04:52+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:04:52+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\udd47Notifica\u00e7\u00f5es push seguras: da teoria \u00e0 pr\u00e1tica | ProHoster","description":"Ol\u00e1, Habr! Hoje vou contar sobre o que minha equipe e eu temos trabalhado nos \u00faltimos meses: notifica\u00e7\u00f5es push para mensageiros m\u00f3veis. Como j\u00e1 mencionei, nosso aplicativo foca fortemente na seguran\u00e7a.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/bezopasnye-push-uvedomleniya-ot-teorii-k-praktike","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\udd47\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 push-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f: \u043e\u0442 \u0442\u0435\u043e\u0440\u0438\u0438 \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u0447\u0435\u043c \u043c\u044b \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438 \u0437\u0430\u043d\u044f\u0442\u044b \u0443\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432: \u043e \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u043e\u0432. \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0443\u043f\u043e\u0440 \u0441\u0434\u0435\u043b\u0430\u043d \u043d\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/bezopasnye-push-uvedomleniya-ot-teorii-k-praktike","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":"2019-10-31T19:04:52+00:00","article:modified_time":"2019-10-31T19:04:52+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35532","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":"2026-01-21 23:40:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:00:25","updated":"2026-01-21 23:40:19","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\/35532","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=35532"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/35532\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/26645"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=35532"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=35532"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=35532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}