{"id":667,"date":"2019-10-24T17:07:50","date_gmt":"2019-10-24T15:07:50","guid":{"rendered":"https:\/\/www.tiraquelibras.com\/blog\/?p=667"},"modified":"2021-02-02T11:09:32","modified_gmt":"2021-02-02T10:09:32","slug":"servidor-de-correo-instalacion-y-configuracion-amavis-clamav-y-spamassassin-parte-11-15","status":"publish","type":"post","link":"https:\/\/blog.tiraquelibras.com\/?p=667","title":{"rendered":"Servidor de correo &#8211; Instalaci\u00f3n y configuraci\u00f3n Amavis, Clamav y Spamassassin (parte 11)"},"content":{"rendered":"<p>Esta es una entrada dentro de la serie para la instalaci\u00f3n de un servidor de correo completo. \u00cdndice completo de contenidos pincha <a href=\"https:\/\/blog.tiraquelibras.com\/?p=601\" class=\"external external_icon\" rel=\"nofollow\" target=\"_blank\">aqu\u00ed<\/a>.<\/p>\n<hr \/>\n<p>En esta entrada vamos a instalar la soluci\u00f3n Antivirus y AntiSPAM, con <strong>Clamav<\/strong> y <strong>Sapamassassin<\/strong> respectivamente, pero gestionado por <strong>Amavis<\/strong>, que es el software utilizado por Postfix para la gesti\u00f3n de los dos anteriores.<\/p>\n<p>Solo un detalle, <strong>Clamav<\/strong> correr\u00e1 en el servidor como servicio, pero <strong>Spamassassin<\/strong> no, debe de estar parado. Esto es debido a que\u00a0<strong>Amavis<\/strong> usar\u00e1 sus librer\u00edas y no utilizar\u00e1 este como servicio, al contrario que el primero.<\/p>\n<hr \/>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Tabla de contenidos<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69f95512b9e42\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69f95512b9e42\"  aria-label=\"Alternar\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=667\/#Instalacion_de_paquetes\"  rel=\"nofollow\" target=\"_blank\">Instalaci\u00f3n de paquetes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=667\/#Configuracion_de_Amavis\"  rel=\"nofollow\" target=\"_blank\">Configuraci\u00f3n de Amavis<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-3 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=667\/#Configuracion_de_Spamassassin\"  rel=\"nofollow\" target=\"_blank\">Configuraci\u00f3n de Spamassassin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-4 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=667\/#Configuracion_de_Postfix\"  rel=\"nofollow\" target=\"_blank\">Configuraci\u00f3n de Postfix<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-5 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=667\/#Confirmar_virus_y_SPAM\"  rel=\"nofollow\" target=\"_blank\">Confirmar virus y SPAM<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=667\/#SPAM\"  rel=\"nofollow\" target=\"_blank\">SPAM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=667\/#Virus\"  rel=\"nofollow\" target=\"_blank\">Virus<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-8 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=667\/#Whitelist_para_el_SPAM\"  rel=\"nofollow\" target=\"_blank\">Whitelist para el SPAM<\/a><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"Instalacion_de_paquetes\"><\/span>Instalaci\u00f3n de paquetes<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Instalamos los siguientes paquetes, quitando el <strong><em>unzoo<\/em><\/strong>, indicado en la mayor\u00eda de los enlaces que puedes encontrar, ya que no est\u00e1 en los repositorios:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 unzoo libnet-ph-perl libnet-snpp-perl libnet-telnet-perl nomarch lzop<\/pre>\n<p>Ahora instalamos <strong>Razor<\/strong> y <strong>Pyzor<\/strong> a Spamassassin para agregar sus rendimientos de filtrado. <em><strong>DCC<\/strong> <\/em>no lo podemos agregar ya que no se encuentra en los respositorios oficiales. Estos son <strong><em>spamfilters<\/em><\/strong> que usan una red de filtrado colaborativa:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">apt-get install razor pyzor dcc-client<\/pre>\n<p>&nbsp;<\/p>\n<hr \/>\n<h1><span class=\"ez-toc-section\" id=\"Configuracion_de_Amavis\"><\/span>Configuraci\u00f3n de Amavis<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Editamos el directorio <strong><em>\/etc\/amavis\/conf.d\/15-content_filter_mode<\/em><\/strong> descomentando dos l\u00edneas:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">use strict;\r\n\r\n# You can modify this file to re-enable SPAM checking through spamassassin\r\n# and to re-enable antivirus checking.\r\n\r\n#\r\n# Default antivirus checking mode\r\n# Uncomment the two lines below to enable it back\r\n#\r\n\r\n@bypass_virus_checks_maps = (\r\n   \\%bypass_virus_checks, \\@bypass_virus_checks_acl, \\$bypass_virus_checks_re);\r\n\r\n\r\n#\r\n# Default SPAM checking mode\r\n# Uncomment the two lines below to enable it back\r\n#\r\n\r\n@bypass_spam_checks_maps = (\r\n   \\%bypass_spam_checks, \\@bypass_spam_checks_acl, \\$bypass_spam_checks_re);\r\n\r\n1;  # insure a defined return\r\n<\/pre>\n<p>Editamos el archivo <strong><em>\/etc\/amavis\/conf.d\/20-debian_defaults <\/em><\/strong>para indicar \u00a0la direcci\u00f3n de email donde <strong>Amavis<\/strong> nos enviar\u00e1 cualquier notificaci\u00f3n y las puntuaciones que tiene configuradas por defecto para el filtrado de mensajes:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">\u2026\r\n$sa_spam_modifies_subj = 1;\r\n\r\n$sa_spam_subject_tag = '***SPAM*** ';\r\n$sa_tag_level_deflt  = -999;  # Siempre a\u00f1adimos los spam info headers\r\n$sa_tag2_level_deflt = 4; # A\u00f1adimos los 'spam detected' headers\r\n$sa_kill_level_deflt = 10; # Envio de correo DSN...\r\n$sa_dsn_cutoff_level = 10; # ...que no se enviar\u00e1 nunca. Har\u00e1 quarantine (en \/var\/lib\/amavis\/virusmails\/)\r\n\u2026\r\n\r\n###$virus_admin = \"postmaster\\@$mydomain\"; # due to D_DISCARD default\r\n$virus_admin = \"amavis\\@$mydomain\";\r\n\u2026\r\n$final_virus_destiny      = D_DISCARD;  # (data not lost, see virus quarantine)\r\n$final_banned_destiny     = D_BOUNCE;   # D_REJECT when front-end MTA\r\n#$final_spam_destiny       = D_BOUNCE;\r\n$final_spam_destiny       = D_PASS;\r\n$final_bad_header_destiny = D_PASS;     # False-positive prone (for spam)\r\n...<\/pre>\n<p>Dejamos pasar el SPAM detectado para entregar en el directorio de SPAM, y con filtros SIEVE poder filtrar estos mensajes a nuestro gusto.<\/p>\n<p>Adem\u00e1s, para que surja efecto la configuraci\u00f3n anterior, debemos de agregar la siguiente l\u00ednea. Esta l\u00ednea no est\u00e1 incluida en la instalaci\u00f3n por defecto, y debemos de agregarla o no se sobrescribir\u00e1n las cabeceras del AntiSPAM, por ejemplo:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">...\r\n# Para que los cambios en Amavis tengan efecto en todos los dominios, como las cabeceras de SPAM.\r\n@local_domains_maps = ['.'];\r\n\u2026\r\n<\/pre>\n<p>Tener en cuenta que los emails en Quarentena se almacenan en el directorio <strong><em>\/var\/lib\/amavis\/virusmails\/<\/em><\/strong><\/p>\n<p>Agregamos el usuario clamav al grupo amavis y reiniciamos los servicios:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">adduser clamav amavis\r\n\r\n\/etc\/init.d\/amavis restart\r\n\/etc\/init.d\/clamav-daemon restart\r\n<\/pre>\n<p>Ahora deber\u00edamos editar el archivo <strong><em>\/etc\/clamav\/freshclam.conf<\/em><\/strong> para modificar el siguiente par\u00e1metro, pero nosotros ya lo ten\u00edamos as\u00ed corregido seguramente por la versi\u00f3n instalada. Este es el programa que actualiza las bases de datos del Antivirus:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">[...]\r\nNotifyClamd \/etc\/clamav\/clamd.conf\r\n[...]\r\n<\/pre>\n<p>Reiniciamos Freshclam:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">\/etc\/init.d\/clamav-freshclam restart<\/pre>\n<hr \/>\n<h1><span class=\"ez-toc-section\" id=\"Configuracion_de_Spamassassin\"><\/span>Configuraci\u00f3n de Spamassassin<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Los configuramos en el archivo de Spamassassin <strong><em>\/etc\/spamassassin\/local.cf<\/em><\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">[...]\r\n\r\n# No se encuentra en los repos de Debian Stretch\r\n# dcc\r\n#use_dcc 1\r\n#dcc_path \/usr\/bin\/dccproc\r\n#dcc_add_header 1\r\n#dcc_dccifd_path \/usr\/sbin\/dccifd\r\n\r\n#pyzor\r\nuse_pyzor 1\r\npyzor_path \/usr\/bin\/pyzor\r\n###pyzor_add_header 1 # Esto da error en los logs\r\npyzor_timeout 10\r\n\r\n#razor\r\nuse_razor2 1\r\nrazor_config \/etc\/razor\/razor-agent.conf\r\n\r\n#bayes\r\nuse_bayes 1\r\nuse_bayes_rules 1\r\nbayes_auto_learn 1\r\n<\/pre>\n<p>Luego editamos el archivo <strong><em>\/etc\/default\/spamassassin<\/em><\/strong> y editamos la siguiente l\u00ednea \u00a0se ejecute el CRON peri\u00f3dicamente:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">\u2026\r\n# If you're using systemd (default for jessie), the ENABLED setting is\r\n# not used. Instead, enable spamd by issuing:\r\n# systemctl enable spamassassin.service\r\n# Change to \"1\" to enable spamd on systems using sysvinit:\r\nENABLED=0\r\n\u2026\r\n# Cronjob\r\n# Set to anything but 0 to enable the cron job to automatically update\r\n# spamassassin's rules on a nightly basis\r\nCRON=1\r\n<\/pre>\n<p>Reiniciamos amavisd-new:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">\/etc\/init.d\/amavis restart<\/pre>\n<p>Ahora tras reiniciar amavisd-new podremos ver en el archivo de log <strong><em>\/var\/log\/mail.log<\/em><\/strong> que se cargan los c\u00f3digos de escaneo para SPAM y Virus.<\/p>\n<hr \/>\n<h1><span class=\"ez-toc-section\" id=\"Configuracion_de_Postfix\"><\/span>Configuraci\u00f3n de Postfix<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Ahora agregamos las siguientes l\u00edneas al archivo de Postfix <strong><em>\/etc\/init.d\/main.cf<\/em><\/strong> para forzar que todo email entrante pase a trav\u00e9s de <strong><em>amavisd-new<\/em><\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">postconf -e 'content_filter = amavis:[127.0.0.1]:10024'\r\npostconf -e 'receive_override_options = no_address_mappings'\r\n<\/pre>\n<p>Ahora configuramos el archivo de Postfix <strong><em>\/etc\/postfix\/master.cf<\/em><\/strong> agregando las siguientes l\u00edneas al final del documento:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">[...]\r\n# Amavis\r\n# El filtro amavis con el puerto por defecto (10024)\r\namavis unix - - - - 2 smtp\r\n        -o smtp_data_done_timeout=1200\r\n        -o smtp_send_xforward_command=yes\r\n\r\n# El reinjection path por defecto de amavis (10025)\r\n127.0.0.1:10025 inet n - - - - smtpd\r\n        -o content_filter=\r\n        -o local_recipient_maps=\r\n        -o relay_recipient_maps=\r\n        -o smtpd_restriction_classes=\r\n        -o smtpd_delay_reject=no\r\n#        -o smtpd_client_restrictions=\r\n        -o smtpd_client_restrictions=permit_mynetworks,reject\r\n        -o smtpd_helo_restrictions=\r\n        -o smtpd_sender_restrictions=\r\n        -o smtpd_recipient_restrictions=permit_mynetworks,reject\r\n        -o mynetworks_style=host\r\n        -o mynetworks=127.0.0.0\/8\r\n        -o strict_rfc821_envelopes=yes\r\n        -o smtpd_error_sleep_time=0\r\n        -o smtpd_soft_error_limit=1001\r\n        -o smtpd_hard_error_limit=1000\r\n        -o smtpd_client_connection_count_limit=0\r\n        -o smtpd_client_connection_rate_limit=0\r\n        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks\r\n        -o smtpd_bind_address=127.0.0.1\r\n<\/pre>\n<p>Reiniciamos Postfix:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">systemctl restart postfix<\/pre>\n<p>Ahora si ejecutamos el comando <strong><em>netstat -tap<\/em><\/strong> vemos como <strong><em>Postfix master<\/em><\/strong> est\u00e1 escuchando en los puertos 25 (smtp) y 10025, y <strong><em>amavis-new<\/em><\/strong> en el 10024.<\/p>\n<hr \/>\n<h1><span class=\"ez-toc-section\" id=\"Confirmar_virus_y_SPAM\"><\/span>Confirmar virus y SPAM<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Para probar que funciona correctamente el Antivirus y el AntiSPAM enviamos un mensaje con el siguiente contenido:<\/p>\n<h2><span class=\"ez-toc-section\" id=\"SPAM\"><\/span>SPAM<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Para confirmar que nuestra configuraci\u00f3n actual detecta el mensaje pero se entrega con la cabecera cambiada, enviamos un email a una direcci\u00f3n de nuestro servidor de correo desde l\u00ednea de comandos con el siguiente contenido:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\"># echo \"XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X\" | mail -S smtp=localhost -r sender@yeloquehay.com -s \"Spam test example\" destino@email.com<\/pre>\n<p>En los logs se muestra el siguiente evento:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Sep 12 11:31:16 h2847530 amavis[13790]: (13790-01) Passed SPAM {RelayedTaggedInbound,Quarantined}, ...<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Virus\"><\/span>Virus<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Descargamos un archivo TXT y lo enviamos como adjunto, y en este caso el virus detectado es bloqueado:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\"># wget http:\/\/www.eicar.org\/download\/eicar.com.txt\r\n\r\n# echo \"TEST MESSAGE w\/ ATTACHMENT\" | mail -S smtp=localhost -r sender@yeloquehay.com -s \"A\/V test example\" -a eicar.com.txt destino@email.com\r\n<\/pre>\n<p>Indicar una cuenta v\u00e1lida del servidor de correo.<\/p>\n<p>En los logs ser ver\u00eda un evento como el siguiente:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Sep 12 11:37:26 h2847530 amavis[13791]: (13791-01) Blocked INFECTED (Eicar-Test-Signature) {DiscardedInbound,Quarantined},...<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Sep 12 11:37:26 h2847530 postfix\/smtp[13854]: B6AA1D202BB:..., relay=127.0.0.1[127.0.0.1]:10024, delay=0.42, delays=0.27\/0.01\/0.01\/0.14, dsn=2.7.0, status=sent (250 2.7.0 Ok, discarded, id=13791-01 - INFECTED: Eicar-Test-Signature)<\/pre>\n<hr \/>\n<h1><span class=\"ez-toc-section\" id=\"Whitelist_para_el_SPAM\"><\/span>Whitelist para el SPAM<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>En el archivo <strong>20-debian_defaults<\/strong> configuramos lo siguiente:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">read_hash(\\%whitelist_sender, '\/etc\/amavisd.whitelist');\r\n@whitelist_sender_maps = (\\%whitelist_sender);\r\n\r\n$interface_policy{'10026'} = 'VIRUSONLY';\r\n$policy_bank{'VIRUSONLY'} = { # mail from the pickup daemon\r\n bypass_spam_checks_maps =&gt; ['@whitelist_sender_maps'], # don't spam-check this mail\r\n bypass_banned_checks_maps =&gt; ['@whitelist_sender_maps'], # don't banned-check this mail\r\n bypass_header_checks_maps =&gt; ['@whitelist_sender_maps'], # don't header-check this mail\r\n};\r\n<\/pre>\n<p>Y luego en el archivo <strong>\/etc\/amavisd.whitelist<\/strong> indicamos los emails en lista blanca:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">sbrodriguez@gmail.com<\/pre>\n<p>Reiniciamos Amavis:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">systemctl restart amavis<\/pre>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>\u00cdndice general pincha <a href=\"https:\/\/blog.tiraquelibras.com\/?p=601\" class=\"external external_icon\" rel=\"nofollow\" target=\"_blank\">aqu\u00ed<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esta es una entrada dentro de la serie para la instalaci\u00f3n de un servidor de correo completo. \u00cdndice completo de contenidos pincha aqu\u00ed. En esta<span class=\"read-more-link\"><a class=\"read-more\" href=\"https:\/\/blog.tiraquelibras.com\/?p=667\">Read More<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":668,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,22],"tags":[82,81],"class_list":["post-667","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sistemas","category-ti","tag-spam","tag-virus"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/posts\/667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=667"}],"version-history":[{"count":0,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/posts\/667\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/media\/668"}],"wp:attachment":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}