{"id":35652,"date":"2019-10-31T22:05:33","date_gmt":"2019-10-31T19:05:33","guid":{"rendered":"https:\/\/prohoster.info\/blog\/rasshifrovka-luks-kontejnera-v-moment-zagruzki-sistemy\/"},"modified":"2019-10-31T22:05:33","modified_gmt":"2019-10-31T19:05:33","slug":"rasshifrovka-luks-kontejnera-v-moment-zagruzki-sistemy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rasshifrovka-luks-kontejnera-v-moment-zagruzki-sistemy","title":{"rendered":"Descriptografia do container LUKS no momento da inicializa\u00e7\u00e3o do sistema","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A todos um bom dia, boa noite! Este post ser\u00e1 \u00fatil para aqueles que utilizam a criptografia de dados LUKS e desejam realizar a descriptografia de discos no Linux (Debian, Ubuntu) em <b>est\u00e1gio de descriptografia da parti\u00e7\u00e3o root<\/b>. E n\u00e3o consegui encontrar tais informa\u00e7\u00f5es na internet.<\/p>\n<p>Recentemente, com o aumento do n\u00famero de discos nas prateleiras, enfrentei o problema de descriptografar discos usando o m\u00e9todo bem conhecido atrav\u00e9s de \/etc\/crypttab. Pessoalmente, destaco alguns problemas no uso deste m\u00e9todo, nomeadamente o fato de que o arquivo \u00e9 lido <b>apenas ap\u00f3s o carregamento (mount) da parti\u00e7\u00e3o root<\/b>, o que afeta negativamente a importa\u00e7\u00e3o do ZFS, especialmente se foram constru\u00eddos a partir de parti\u00e7\u00f5es em dispositivos *_crypt, ou em arrays mdadm, que tamb\u00e9m foram criados a partir de parti\u00e7\u00f5es. <i>Todos n\u00f3s sabemos que \u00e9 poss\u00edvel usar parted em cont\u00eaineres LUKS?<\/i> E tamb\u00e9m o problema do in\u00edcio precoce de outros servi\u00e7os, quando os arrays ainda n\u00e3o est\u00e3o prontos e <b>utilizados<\/b> j\u00e1 \u00e9 necess\u00e1rio algo (eu trabalho com Proxmox VE 5.x clusterizado e ZFS sobre iSCSI).<\/p>\n<p><b class=\"spoiler_title\">Um pouco sobre ZFS sobre iSCSI<\/b>iSCSI funciona para mim atrav\u00e9s do LIO, e quando o iscsi-target inicia e n\u00e3o v\u00ea os dispositivos ZVOL, eles simplesmente s\u00e3o removidos da configura\u00e7\u00e3o, o que n\u00e3o permite que as m\u00e1quinas guest iniciem. Portanto, ou restaura\u00e7\u00e3o do arquivo de backup json, ou adi\u00e7\u00e3o manual de dispositivos com os identificadores de cada VM, o que \u00e9 simplesmente horr\u00edvel quando essas m\u00e1quinas s\u00e3o dezenas e em cada configura\u00e7\u00e3o h\u00e1 mais de 1 disco.<\/p>\n<p>E a segunda quest\u00e3o que vou abordar \u00e9 como realizar a descriptografia (este \u00e9 o ponto chave do artigo). E sobre isso vamos falar abaixo, venha conferir!<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNa maioria das vezes, na vastid\u00e3o da internet, utiliza-se um arquivo-chave (obviamente adicionado anteriormente ao slot com o comando \u2014 cryptsetup luksAddKey), ou em raras exce\u00e7\u00f5es (na internet de l\u00edngua russa h\u00e1 informa\u00e7\u00f5es muito escassas) \u2014 o script decrypt_derived, localizado em \/lib\/cryptsetup\/script\/ (claro, existem outros m\u00e9todos, mas usei exatamente esses dois, que serviram como base para o artigo). Tamb\u00e9m busquei a ativa\u00e7\u00e3o completa e aut\u00f4noma ap\u00f3s reinicializa\u00e7\u00f5es, sem quaisquer comandos adicionais no console, para que tudo 'subisse' de uma vez. Ent\u00e3o, por que esperar? \u2014 <\/p>\n<p>Vamos come\u00e7ar!<\/p>\n<p>Suponhamos um sistema, por exemplo, Debian, instalado na parti\u00e7\u00e3o criptografada sda3_crypt e uma dezena de discos prontos para criptografia e cria\u00e7\u00e3o do que desejar. Temos uma frase-chave (passphrase) para desbloquear sda3_crypt e \u00e9 desta parti\u00e7\u00e3o que iremos extrair o \"hash\" da senha em um sistema iniciado (descriptografado) e adicionar nos demais discos. Tudo \u00e9 simples, execute no console:<\/p>\n<pre><code class=\"plaintext\">\/lib\/cryptsetup\/scripts\/decrypt_derived sda3_crypt | cryptsetup luksFormat \/dev\/sdX<\/code><\/pre>\n<p>\nonde X \u00e9 nossos discos, parti\u00e7\u00f5es, etc.<\/p>\n<p>Ap\u00f3s criptografar os discos com o \"hash\" da nossa frase-chave, \u00e9 necess\u00e1rio descobrir o UUID ou ID \u2014 dependendo do que cada um est\u00e1 acostumado. Vamos obter os dados de \/dev\/disk\/by-uuid e by-id, respectivamente.<\/p>\n<p>A pr\u00f3xima etapa \u00e9 preparar arquivos e mini-scripts para executar as fun\u00e7\u00f5es necess\u00e1rias, vamos come\u00e7ar:<\/p>\n<pre><code class=\"plaintext\">cp -p \/usr\/share\/initramfs-tools\/hooks\/cryptroot \/etc\/initramfs-tools\/hooks\/\ncp -p \/usr\/share\/initramfs-tools\/scripts\/local-top\/cryptroot \/etc\/initramfs-tools\/scripts\/local-top\/<\/code><\/pre>\n<p>\nem seguida<\/p>\n<pre><code class=\"plaintext\">touch \/etc\/initramfs-tools\/hooks\/decrypt &amp;&amp; chmod +x \/etc\/initramfs-tools\/hooks\/decrypt<\/code><\/pre>\n<p>\n<b class=\"spoiler_title\">Conte\u00fado ....\/decrypt<\/b><\/p>\n<pre><code class=\"bash\">#!\/bin\/sh\n\ncp -p \/lib\/cryptsetup\/scripts\/decrypt_derived \"$DESTDIR\/bin\/decrypt_derived\"<\/code><\/pre>\n<p>em seguida<\/p>\n<pre><code class=\"plaintext\">touch \/etc\/initramfs-tools\/hooks\/partcopy &amp;&amp; chmod +x \/etc\/initramfs-tools\/hooks\/partcopy<\/code><\/pre>\n<p>\n<b class=\"spoiler_title\">Conte\u00fado ....\/partcopy<\/b><\/p>\n<pre><code class=\"bash\">#!\/bin\/sh\n\ncp -p \/sbin\/partprobe \"$DESTDIR\/bin\/partprobe\"\ncp -p \/lib\/x86_64-linux-gnu\/libparted.so.2 \"$DESTDIR\/lib\/x86_64-linux-gnu\/libparted.so.2\"\ncp -p \/lib\/x86_64-linux-gnu\/libreadline.so.7 \"$DESTDIR\/lib\/x86_64-linux-gnu\/libreadline.so.7\"<\/code><\/pre>\n<p>mais um pouco<\/p>\n<pre><code class=\"plaintext\">touch \/etc\/initramfs-tools\/scripts\/local-bottom\/partprobe &amp;&amp; chmod +x \/etc\/initramfs-tools\/scripts\/local-bottom\/partprobe<\/code><\/pre>\n<p>\n<b class=\"spoiler_title\">Conte\u00fado ....\/partprobe<\/b><\/p>\n<pre><code class=\"bash\">#!\/bin\/sh\n\n$DESTDIR\/bin\/partprobe<\/code><\/pre>\n<p>e por \u00faltimo, antes do update-initramfs, precisamos editar o arquivo \/etc\/initramfs-tools\/scripts\/local-top\/cryptroot, a partir da linha ~360, o trecho de c\u00f3digo abaixo<\/p>\n<p><b class=\"spoiler_title\">Original<\/b><\/p>\n<pre><code class=\"bash\">\n                # decrease $count by 1, apparently last try was successful.\n                count=$(( $count - 1 ))\n                \n                message \"cryptsetup ($crypttarget): set up successfully\"\n                break\n<\/code><\/pre>\n<p>e o transformamos nesse formato<\/p>\n<p><b class=\"spoiler_title\">Editado<\/b><\/p>\n<pre><code class=\"bash\">\n                # decrease $count by 1, apparently last try was successful.\n                count=$(( $count - 1 ))\n                \n\n                \/bin\/decrypt_derived $crypttarget | cryptsetup luksOpen \/dev\/disk\/by-uuid\/ *CRYPT_MAP*\n                \/bin\/decrypt_derived $crypttarget | cryptsetup luksOpen \/dev\/disk\/by-id\/ *CRYPT_MAP*\n\n                message \"cryptsetup ($crypttarget): set up successfully\"\n                break<\/code><\/pre>\n<p>Note que aqui podemos usar tanto UUID quanto ID. O importante \u00e9 que os drivers necess\u00e1rios para os dispositivos HDD\/SSD estejam adicionados em \/etc\/initramfs-tools\/modules. Para saber qual driver est\u00e1 em uso, utilize o comando <i>udevadm info -a -n \/dev\/sdX | egrep 'looking|DRIVER'<\/i>.<\/p>\n<p>Agora que terminamos e todos os arquivos est\u00e3o no lugar, vamos executar <i>update-initramfs -u -k all -v<\/i>, no log <b>n\u00e3o deve haver<\/b> erros na execu\u00e7\u00e3o de nossos scripts. Reiniciamos, inserimos a frase-chave e esperamos um pouco, dependendo da quantidade de discos. Em seguida, o sistema ser\u00e1 iniciado e na fase final de inicializa\u00e7\u00e3o, ou seja, ap\u00f3s o \"montagem\" da parti\u00e7\u00e3o root, o comando partprobe ser\u00e1 executado \u2014 ele localizar\u00e1 e conectar\u00e1 todas as parti\u00e7\u00f5es criadas em dispositivos LUKS e quaisquer arrays, sejam ZFS ou mdadm, se conectar\u00e3o sem problemas! E tudo isso <b>antes do carregamento<\/b> dos principais servi\u00e7os e aplica\u00e7\u00f5es que necessitam desses discos\/arrays.<\/p>\n<p><b>update1<\/b>: Como <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/457260\/#comment_20315522\">notou<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/aep\/\" class=\"user_link\">AEP<\/a><\/noindex>, este m\u00e9todo funciona apenas para LUKS1.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/457260\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f, \u043d\u043e\u0447\u0438! \u042d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0442\u0435\u043c, \u043a\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 LUKS \u0438 \u0445\u043e\u0447\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c decrypt\u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u0434\u0438\u0441\u043a\u043e\u0432 \u043f\u043e\u0434 Linux (Debian, Ubuntu) \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 root \u0440\u0430\u0437\u0434\u0435\u043b\u0430. \u0418 \u0442\u0430\u043a\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u044f \u043d\u0430\u0439\u0442\u0438 \u043d\u0435 \u0441\u043c\u043e\u0433. \u0421\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0441 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0434\u0438\u0441\u043a\u043e\u0432 \u0432 \u043f\u043e\u043b\u043a\u0430\u0445, \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 \u0434\u0438\u0441\u043a\u043e\u0432 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e [&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-35652","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=\"\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f, \u043d\u043e\u0447\u0438! \u042d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0442\u0435\u043c, \u043a\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 LUKS \u0438 \u0445\u043e\u0447\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c decrypt\u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u0434\u0438\u0441\u043a\u043e\u0432 \u043f\u043e\u0434 Linux (Debian, Ubuntu) \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 root \u0440\u0430\u0437\u0434\u0435\u043b\u0430.\" \/>\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\/rasshifrovka-luks-kontejnera-v-moment-zagruzki-sistemy\" \/>\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\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 LUKS \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f, \u043d\u043e\u0447\u0438! \u042d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0442\u0435\u043c, \u043a\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 LUKS \u0438 \u0445\u043e\u0447\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c decrypt\u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u0434\u0438\u0441\u043a\u043e\u0432 \u043f\u043e\u0434 Linux (Debian, Ubuntu) \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 root \u0440\u0430\u0437\u0434\u0435\u043b\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rasshifrovka-luks-kontejnera-v-moment-zagruzki-sistemy\" \/>\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:05:33+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:05:33+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\udd47Desbloqueio do cont\u00eainer LUKS durante a inicializa\u00e7\u00e3o do sistema | ProHoster","description":"A todos um bom dia, boa noite! Este post ser\u00e1 \u00fatil para aqueles que utilizam a criptografia de dados LUKS e desejam realizar a descriptografia de discos no Linux (Debian, Ubuntu) na fase de descriptografia da parti\u00e7\u00e3o root.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rasshifrovka-luks-kontejnera-v-moment-zagruzki-sistemy","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\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 LUKS \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f, \u043d\u043e\u0447\u0438! \u042d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0442\u0435\u043c, \u043a\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 LUKS \u0438 \u0445\u043e\u0447\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c decrypt\u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0443 \u0434\u0438\u0441\u043a\u043e\u0432 \u043f\u043e\u0434 Linux (Debian, Ubuntu) \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 root \u0440\u0430\u0437\u0434\u0435\u043b\u0430.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rasshifrovka-luks-kontejnera-v-moment-zagruzki-sistemy","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:05:33+00:00","article:modified_time":"2019-10-31T19:05:33+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35652","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-22 00:12:43","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:58:29","updated":"2026-01-22 00:12:43","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\/35652","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=35652"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/35652\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=35652"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=35652"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=35652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}