{"id":11105,"date":"2024-05-29T18:36:57","date_gmt":"2024-05-29T18:36:57","guid":{"rendered":"https:\/\/wcanvas.com\/?post_type=blogs&#038;p=11105"},"modified":"2024-12-23T19:46:43","modified_gmt":"2024-12-23T19:46:43","slug":"politica-seguridad-contenido-wordpress","status":"publish","type":"blogs","link":"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/","title":{"rendered":"C\u00f3mo implementar la pol\u00edtica de seguridad de contenido en tu sitio de WordPress"},"content":{"rendered":"\n<p>La Content Security Policy (CSP) es una funci\u00f3n de seguridad que protege tu sitio de WordPress de XSS, adware, clickjacking, spyware y otras inyecciones de c\u00f3digo malicioso filtrando las fuentes de los recursos de tu sitio, como im\u00e1genes, scripts, fuentes, estilos y m\u00e1s.<\/p>\n\n\n\n<p>Al permitir que solo fuentes de confianza muestren contenido en tu sitio, garantiz\u00e1s que vos y tus usuarios est\u00e9n protegidos de actores malintencionados que se aprovechan de vulnerabilidades de seguridad.<\/p>\n\n\n\n<p>Exploremos qu\u00e9 es la CSP y c\u00f3mo pod\u00e9s implementarla para hacer tu sitio m\u00e1s seguro.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Puntos Clave<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>La Content Security Policy (CSP) es una funci\u00f3n de seguridad que previene ataques XSS y otros tipos de ataques.<\/li>\n\n\n\n<li>La CSP se implementa a trav\u00e9s de encabezados HTTP que filtran las fuentes para los recursos de tu sitio (im\u00e1genes, scripts, etc.) y solo permiten que las fuentes expl\u00edcitamente confiables los muestren o ejecuten.<\/li>\n\n\n\n<li>Pod\u00e9s implementar la CSP manualmente editando tu archivo de configuraci\u00f3n del servidor o utilizando un plugin.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 es la Content Security Policy (CSP) en WordPress?<\/h2>\n\n\n\n<p>M\u00e1s adelante, explicaremos c\u00f3mo configurar CSP en tu sitio de WordPress.<\/p>\n\n\n\n<p>La Content Security Policy (CSP) es una funci\u00f3n de seguridad que ayuda a prevenir varios tipos de ataques en sitios de WordPress, tales como <a href=\"https:\/\/wcanvas.com\/es\/blog\/wordpress-cross-site-scripting-xss-attacks-how-to-protect-your-site\/\" target=\"_blank\" rel=\"noreferrer noopener\">cross-site scripting<\/a> (XSS), clickjacking, adware o spyware, y otros ataques de <a href=\"https:\/\/wcanvas.com\/es\/blog\/wordpress-sql-injection-attacks-how-to-protect-your-site\/\" target=\"_blank\" rel=\"noreferrer noopener\">inyecci\u00f3n de c\u00f3digo<\/a>. El Consorcio World Wide Web (W3C) establece las <a href=\"https:\/\/www.w3.org\/TR\/CSP2\/\" target=\"_blank\" rel=\"noreferrer noopener\">directrices<\/a> para CSP.<\/p>\n\n\n\n<p>La CSP protege tu sitio permiti\u00e9ndote controlar qu\u00e9 recursos se pueden cargar en \u00e9l. Los recursos que tu sitio de WordPress puede cargar pueden incluir im\u00e1genes, estilos, scripts, fuentes, audio, video y m\u00e1s.<\/p>\n\n\n\n<p>En la pr\u00e1ctica, CSP es un encabezado HTTP. Un encabezado HTTP es un campo en una solicitud o respuesta HTTP que proporciona informaci\u00f3n adicional sobre ella. CSP es un encabezado HTTP que los servidores web env\u00edan al navegador del usuario para controlar qu\u00e9 recursos el navegador puede cargar para una p\u00e1gina web dada.<\/p>\n\n\n\n<p>Aqu\u00ed tienes un ejemplo de c\u00f3mo puede verse CSP en el archivo <code>.htaccess<\/code> de tu sitio:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"apacheconf\" class=\"language-apacheconf line-numbers\">&lt;IfModule mod_headers.c&gt;\nHeader set Content-Security-Policy \"default-src 'self'; img-src 'self' http: https: *.amazon.com;\"\n&lt;\/IfModule&gt;<\/code><\/pre>\n\n\n\n<p>M\u00e1s adelante, explicaremos c\u00f3mo configurar CSP en tu sitio de WordPress.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfPor qu\u00e9 es importante la Content Security Policy en WordPress?<\/h2>\n\n\n\n<p>La CSP es esencial porque controlar los recursos que tu sitio est\u00e1 autorizado a cargar tiene los siguientes beneficios:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Prevenci\u00f3n de ataques XSS.<\/strong> La CSP ayuda a prevenir la ejecuci\u00f3n de scripts maliciosos inyectados por atacantes.<\/li>\n\n\n\n<li><strong>Especificaci\u00f3n de fuentes confiables.<\/strong> Crear una lista blanca de fuentes confiables reduce el riesgo de que un actor malicioso inyecte contenido malicioso en tu sitio.<\/li>\n\n\n\n<li><strong>Protecci\u00f3n contra clickjacking.<\/strong> Asegura que tu sitio no sea embebido en un sitio malicioso usando <strong>&lt;iframe&gt;<\/strong>, un elemento HTML que incrusta una p\u00e1gina HTML en otra.<\/li>\n\n\n\n<li><strong>Garantizar el cumplimiento.<\/strong> La CSP ayuda a cumplir con los est\u00e1ndares y regulaciones de seguridad local e internacional.<\/li>\n<\/ul>\n\n\n\n<p>Estas caracter\u00edsticas protegen tanto tu sitio como a tus usuarios de c\u00f3digo malicioso, lo cual puede ser particularmente importante en entornos de WordPress, donde los temas y plugins a menudo son el origen de <a href=\"\/why-is-your-wordpress-site-not-secure-what-you-need-to-know\" target=\"_blank\" rel=\"noreferrer noopener\">vulnerabilidades de seguridad<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Directivas de Content Security Policy<\/h2>\n\n\n\n<p>Las directivas de Content Security Policy son las reglas que definen las pol\u00edticas para cargar contenido en una p\u00e1gina web. Cada directiva especifica las fuentes permitidas para un tipo espec\u00edfico de recurso. Aqu\u00ed hay algunas de las directivas de CSP m\u00e1s comunes y sus funciones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">default-src<\/h3>\n\n\n\n<p>Esta directiva sirve como respaldo para otras directivas. Si una directiva espec\u00edfica no est\u00e1 definida, se aplicar\u00e1 la pol\u00edtica <code>default-src<\/code>. Por ejemplo, <code>default-src 'self';<\/code> significa que, por defecto, el contenido solo se puede cargar desde el propio sitio.<\/p>\n\n\n\n<p>Sin embargo, si otra directiva m\u00e1s espec\u00edfica establece que un tipo de recurso (como im\u00e1genes) se puede cargar desde un dominio externo, entonces tu sitio cargar\u00e1 im\u00e1genes de ese dominio externo, mientras que todos los dem\u00e1s recursos deben proceder de tu sitio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">script-src<\/h3>\n\n\n\n<p>Controla las fuentes desde las cuales se pueden cargar scripts. Esto es particularmente importante para prevenir ataques de cross-site scripting (XSS). Por ejemplo, <code>script-src 'self' https:\/\/trustedscripts.com;<\/code> establece que los scripts solo se cargar\u00e1n y ejecutar\u00e1n si se originan en el propio dominio de tu sitio y en un dominio externo confiable especificado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">style-src<\/h3>\n\n\n\n<p>Controla las fuentes desde las cuales se pueden cargar hojas de estilo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">img-src<\/h3>\n\n\n\n<p>Controla las fuentes desde las cuales se pueden cargar im\u00e1genes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">font-src<\/h3>\n\n\n\n<p>Controla las fuentes desde las cuales se pueden cargar fuentes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">connect-src<\/h3>\n\n\n\n<p>Controla las fuentes desde las cuales el sitio puede cargar datos usando mecanismos como XHR, WebSockets y EventSource.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">frame-src<\/h3>\n\n\n\n<p>Controla las fuentes desde las cuales se pueden cargar marcos. Esto es importante para prevenir ataques de clickjacking.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">media-src<\/h3>\n\n\n\n<p>Controla las fuentes desde las cuales se pueden cargar archivos multimedia (como audio y v\u00eddeo).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">object-src<\/h3>\n\n\n\n<p>Controla las fuentes desde las cuales se pueden cargar plugins (como Flash, Java, etc.). Esto es \u00fatil para mitigar riesgos asociados con plugins vulnerables.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">frame-ancestors<\/h3>\n\n\n\n<p>Especifica padres v\u00e1lidos que pueden embeber una p\u00e1gina utilizando <code>frame<\/code>, <code>iframe<\/code>, <code>object<\/code> o <code>embed<\/code>. Esto es \u00fatil para prevenir clickjacking. Por ejemplo, <code>frame-ancestors 'none';<\/code> previene que todos los frames se carguen en tu sitio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">form-action<\/h3>\n\n\n\n<p>Restringe las URLs que se pueden utilizar como acci\u00f3n de los elementos de formulario HTML.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">base-uri<\/h3>\n\n\n\n<p>Restringe las URLs que se pueden utilizar en el elemento <code>&lt;base&gt;<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">report-uri y report-to<\/h3>\n\n\n\n<p>Estas directivas especifican a d\u00f3nde el navegador debe enviar los informes sobre violaciones de pol\u00edticas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">upgrade-insecure-requests<\/h3>\n\n\n\n<p>Instruye al navegador a actualizar todas las solicitudes HTTP a HTTPS.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">block-all-mixed-content<\/h3>\n\n\n\n<p>Impide la carga de cualquier activo que use HTTP cuando la p\u00e1gina se carga mediante HTTPS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Palabras Clave de Content Security Policy<\/h2>\n\n\n\n<p>Las palabras clave de Content Security Policy (CSP) son valores que pod\u00e9s usar dentro de las directivas CSP para especificar ciertos comportamientos o permitir fuentes espec\u00edficas de manera concisa. Aqu\u00ed est\u00e1n las palabras clave de CSP m\u00e1s comunes y sus funciones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">self<\/h3>\n\n\n\n<p>Se refiere al propio origen del sitio, incluyendo el mismo esquema (HTTP o HTTPS), host y puerto. Por ejemplo, Content-Security-Policy: <code>script-src 'self';<\/code> permite que los scripts se carguen solo desde el propio dominio del sitio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">none<\/h3>\n\n\n\n<p>Proh\u00edbe todas las fuentes para la directiva especificada. Por ejemplo, <code>object-src 'none';<\/code> evita que se carguen todos los elementos de objeto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">unsafe-inline<\/h3>\n\n\n\n<p>Permite recursos en l\u00ednea como elementos <code>&lt;script&gt;<\/code> en l\u00ednea o atributos <code>style<\/code>. Esto debilita tu pol\u00edtica de seguridad y debe usarse con precauci\u00f3n.<\/p>\n\n\n\n<p>Por ejemplo, <code>script-src 'self' 'unsafe-inline';<\/code> permite tanto scripts del propio dominio del sitio como scripts en l\u00ednea.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">unsafe-eval<\/h3>\n\n\n\n<p>Permite usar <code>eval()<\/code> y m\u00e9todos similares para crear c\u00f3digo din\u00e1micamente. Esto tambi\u00e9n debilita la pol\u00edtica de seguridad y debe evitarse, si es posible, especialmente considerando que <code>eval()<\/code> no es tan com\u00fan en JavaScript moderno. Por ejemplo, <code>script-src 'self' 'unsafe-eval';<\/code> permite scripts del propio dominio del sitio y el uso de <code>eval()<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">strict-dynamic<\/h3>\n\n\n\n<p>Permite ejecutar scripts a\u00f1adidos din\u00e1micamente si son a\u00f1adidos por un script de confianza (uno que fue permitido por la pol\u00edtica). Esto requiere <code>unsafe-inline<\/code> y <code>nonce-&lt;base64-value&gt;<\/code> o <code>hash-&lt;hash-algorithm&gt;-&lt;base64-value&gt;<\/code>. Por ejemplo, <code>script-src 'self' 'strict-dynamic' 'nonce-&lt;base64-value&gt;';<\/code> permite scripts a\u00f1adidos din\u00e1micamente si son a\u00f1adidos por scripts con el nonce especificado.<\/p>\n\n\n\n<p>Un nonce (&#8220;n\u00famero usado una vez&#8221;) es un n\u00famero seudoaleatorio usado una vez para autenticaci\u00f3n. Son comunes para prevenir ataques XSS.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">data:<\/h3>\n\n\n\n<p>Permite que los recursos se carguen desde URIs <code>data:<\/code>. Por ejemplo, <code>img-src 'self' data:;<\/code> permite que las im\u00e1genes se carguen tanto del propio dominio del sitio como de URIs <code>data:<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">unsafe-hashes<\/h3>\n\n\n\n<p>Permite el uso de controladores de eventos en l\u00ednea y URLs de JavaScript cuando coinciden con un hash en la pol\u00edtica. \u00dasese con precauci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfC\u00f3mo configurar la Content Security Policy en WordPress?<\/h2>\n\n\n\n<p>Ahora que exploramos la Content Security Policy y las directivas y palabras clave m\u00e1s comunes, conocemos lo b\u00e1sico para configurarla en nuestro sitio de WordPress.<\/p>\n\n\n\n<p>Hay dos formas principales de configurar CSP en WordPress: manualmente y a trav\u00e9s de un plugin.<\/p>\n\n\n\n<p>En las siguientes secciones, explicaremos ambos m\u00e9todos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configurar la Content Security Policy Manualmente<\/h3>\n\n\n\n<p>Si quer\u00e9s implementar CSP manualmente, tendr\u00e1s que editar el archivo de configuraci\u00f3n del servidor de tu sitio de WordPress. Es decir, tendr\u00e1s que editar <code>.htaccess<\/code>.<\/p>\n\n\n\n<p>La Content Security Policy sigue este formato:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"apacheconf\" class=\"language-apacheconf line-numbers\">Content-Security-Policy: &lt;policy-directive&gt;; &lt;policy-directive&gt;;<\/code><\/pre>\n\n\n\n<p>Donde <code>&lt;policy-directive&gt;<\/code> consiste en <code>&lt;directive&gt; &lt;value&gt;<\/code> sin puntuaci\u00f3n entre ellos.<\/p>\n\n\n\n<p>Exploremos c\u00f3mo editar manualmente el archivo <code>.htaccess<\/code>.<\/p>\n\n\n\n<p><strong>Nota:<\/strong> <a href=\"https:\/\/wcanvas.com\/es\/blog\/how-to-back-up-your-wordpress-site-3-effective-methods-in-2023\/\" target=\"_blank\" rel=\"noreferrer noopener\">Hac\u00e9 una copia de seguridad<\/a> de tu sitio antes de agregar directivas CSP. Las directivas mal pensadas pueden romper tu sitio, por lo que es buena idea tener una copia de seguridad para regresar a ella. Exploraremos las precauciones a tomar al implementar CSP m\u00e1s adelante en este post.<\/p>\n\n\n\n<p><strong>Nota adicional:<\/strong> Prob\u00e1 las pol\u00edticas en un entorno de prueba o desarrollo antes de implementarlas en tu sitio en vivo.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">C\u00f3mo Editar Manualmente el Archivo .htaccess<\/h4>\n\n\n\n<p>Puedes usar varios m\u00e9todos para editar el archivo <code>.htaccess<\/code>. Si ten\u00e9s <a href=\"https:\/\/wcanvas.com\/es\/blog\/how-to-manage-noindex-tags-in-wordpress-with-yoast-seo\/\" target=\"_blank\" rel=\"noreferrer noopener\">Yoast SEO<\/a>, la forma m\u00e1s f\u00e1cil de editar es ingresando a <strong>Yoast &gt; Herramientas<\/strong> desde el panel de control.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-1-1024x451.jpg\" alt=\"La interfaz del panel de WordPress. El usuario est\u00e1 accediendo a la opci\u00f3n &quot;Herramientas&quot; del submen\u00fa &quot;Yoast SEO&quot;\" class=\"wp-image-4380\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-1-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-1-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-1-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-1.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>En la pantalla de Herramientas, desplazate hacia abajo hasta ver el enlace del Editor de Archivos y hac\u00e9 clic en \u00e9l.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-2-1024x451.jpg\" alt=\"La interfaz de Yoast SEO, resaltando un enlace a la funci\u00f3n &quot;Editor de Archivos&quot;\" class=\"wp-image-4381\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-2-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-2-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-2-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-2.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ahora desplazate hacia abajo hasta ver un cuadro de texto etiquetado como <strong>archivo .htaccess<\/strong>. Si no ves esta secci\u00f3n, es posible que necesites crear un archivo <code>.htaccess<\/code> en blanco y subirlo a la carpeta ra\u00edz de tu sitio antes de que aparezca en la pantalla del Editor de Archivos.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-3-1024x451.jpg\" alt=\"Cuadro de texto de Yoast SEO para modificar el archivo .htaccess\" class=\"wp-image-4382\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-3-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-3-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-3-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-3.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ahora ten\u00e9s que abrir un m\u00f3dulo con la directiva <code>IfModule<\/code>, luego usar la directiva <code>Header set<\/code>, escribir tu configuraci\u00f3n CSP y cerrar el m\u00f3dulo. La siguiente configuraci\u00f3n es un ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"apacheconf\" class=\"language-apacheconf line-numbers\">&lt;IfModule mod_headers.c&gt;\nHeader set Content-Security-Policy default-src 'none'; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';\n&lt;\/IfModule&gt;<\/code><\/pre>\n\n\n\n<p>Si no ten\u00e9s Yoast SEO, tendr\u00e1s que acceder a tus archivos principales a trav\u00e9s de un cliente FTP como FileZilla o un panel de control de hosting como cPanel. <code>.htaccess<\/code> estar\u00e1 en el directorio ra\u00edz (<code>public_html<\/code>). Hac\u00e9 clic derecho sobre el archivo, seleccion\u00e1 <strong>Ver\/Editar<\/strong> y luego edit\u00e1lo.<\/p>\n\n\n\n<p>Tene en cuenta que si est\u00e1s utilizando un servicio de hosting compartido, es posible que no tengas acceso al archivo <code>.htaccess<\/code> y necesites hablar con tu proveedor para ver c\u00f3mo implementar CSP.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configurar la Content Security Policy Con un Plugin<\/h3>\n\n\n\n<p>Hay m\u00faltiples plugins que te ayudan a configurar CSP y otros encabezados HTTP. Algunos son gratuitos y otros son premium.<\/p>\n\n\n\n<p>Una de las soluciones m\u00e1s accesibles es <a href=\"https:\/\/wordpress.org\/plugins\/http-headers\/\" target=\"_blank\" rel=\"noreferrer noopener\">HTTP Headers<\/a>. Este plugin gratuito te ayuda a establecer y mantener m\u00faltiples tipos de encabezados HTTP, incluida la CSP. Record\u00e1 que, en la pr\u00e1ctica, la CSP se implementa a trav\u00e9s de un encabezado HTTP que restringe las fuentes de los recursos de tu sitio.<\/p>\n\n\n\n<p>Veamos el proceso paso a paso de implementaci\u00f3n de CSP con un plugin.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Implementar Content Security Policy Con HTTP Headers<\/h4>\n\n\n\n<p>Comenz\u00e1 buscando e instalando el plugin HTTP Headers. Ir a <strong>Plugins &gt; A\u00f1adir nuevo plugin<\/strong>. Escrib\u00ed &#8220;HTTP Headers&#8221; en el cuadro de b\u00fasqueda. Hac\u00e9 clic en <strong>Instalar<\/strong> y luego en <strong>Activar<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-4-1024x451.jpg\" alt=\"Interfaz de b\u00fasqueda de plugins de WordPress, resaltando el plugin &quot;HTTP Headers&quot;\" class=\"wp-image-4383\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-4-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-4-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-4-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-4.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Una vez instalado, and\u00e1 a <strong>Ajustes &gt; HTTP Headers<\/strong>. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-5-1024x451.jpg\" alt=\"La interfaz del panel de WordPress. El usuario est\u00e1 accediendo a la opci\u00f3n &quot;HTTP Headers&quot; del submen\u00fa &quot;Ajustes&quot;\" class=\"wp-image-4384\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-5-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-5-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-5-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-5.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Hac\u00e9 clic en el icono de <strong>Seguridad<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-6-1024x451.jpg\" alt=\"Interfaz para el plugin de WordPress &quot;HTTP Headers&quot;, resaltando la funci\u00f3n &quot;Seguridad&quot;\" class=\"wp-image-4385\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-6-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-6-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-6-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-6.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ver\u00e1s varios encabezados HTTP relacionados con caracter\u00edsticas de seguridad. Todos est\u00e1n inactivos por defecto. Hac\u00e9 clic en <strong>Editar<\/strong> en la fila correspondiente a <strong>Content-Security-Policy<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-7-1024x451.jpg\" alt=\"Una lista de encabezados HTTP relacionados con seguridad en la interfaz del plugin de WordPress &quot;HTTP Headers&quot;, resaltando el encabezado &quot;Content-Security-Policy&quot;\" class=\"wp-image-4386\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-7-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-7-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-7-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-7.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Comenz\u00e1 haciendo clic en la casilla de verificaci\u00f3n <strong>On<\/strong> para implementar el encabezado HTTP CSP.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-8-1024x451.jpg\" alt=\"La interfaz &quot;HTTP Headers&quot;, resaltando la casilla &quot;On&quot; que habilita el encabezado Content Security Policy para tu sitio de WordPress\" class=\"wp-image-4387\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-8-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-8-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-8-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-8.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ahora pod\u00e9s agregar las directivas de CSP que tu sitio necesita para protegerte a vos y a tus usuarios.<\/p>\n\n\n\n<p>Por ejemplo, si quer\u00e9s que tu sitio solo cargue y ejecute scripts que se originen en tu propio dominio, pod\u00e9s ir a la secci\u00f3n <code>script-src<\/code> y marcar la opci\u00f3n <code>'self'<\/code>, luego desplazarte hacia abajo y hacer clic en <strong>Guardar Cambios<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-9-1024x451.jpg\" alt=\"Interfaz del plugin &quot;HTTP Headers&quot; de WordPress. Una serie de casillas activan palabras clave para la directiva &quot;script-src&quot;\" class=\"wp-image-4389\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-9-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-9-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-9-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-9.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 Especificaciones Debe Tener tu Content Security Policy?<\/h2>\n\n\n\n<p>Deb\u00e9s tener mucho cuidado con tus directivas al usar CSP en tu sitio de WordPress.<\/p>\n\n\n\n<p>Ser demasiado restrictivo puede evitar que algunas piezas de contenido se ejecuten porque no se les permite, lo que podr\u00eda romper la funcionalidad de tu sitio. Por ejemplo, algunos plugins y temas tambi\u00e9n pueden requerir la carga de contenido externo que pol\u00edticas demasiado estrictas impedir\u00edan.<\/p>\n\n\n\n<p>Por otro lado, ser demasiado permisivo puede exponer tu sitio y a tus usuarios a ataques de XSS y otros tipos de ataques.<\/p>\n\n\n\n<p>Sobre todo, ten\u00e9 en cuenta que cada sitio tiene una configuraci\u00f3n CSP diferente porque cada sitio utiliza diferentes fuentes para sus estilos, im\u00e1genes, scripts, etc. Por lo tanto, tu configuraci\u00f3n CSP depende de los recursos espec\u00edficos de tu sitio y sus or\u00edgenes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfC\u00f3mo Determinar Qu\u00e9 Directivas Necesit\u00e1s Para tu Content Security Policy?<\/h2>\n\n\n\n<p>Implementar directivas CSP es crear una lista de todos los recursos que utiliza tu sitio, junto con sus or\u00edgenes, y permitir solo esos recursos y or\u00edgenes en tus directivas. Todo lo dem\u00e1s ser\u00eda bloqueado.<\/p>\n\n\n\n<p>Revisar manualmente cada fuente para cada recurso en tu sitio llevar\u00eda una cantidad significativa de tiempo y es propenso a errores, especialmente si tu sitio extrae contenido de m\u00faltiples fuentes externas. Es mejor usar una extensi\u00f3n de navegador o un plugin. <\/p>\n\n\n\n<p>Para este ejemplo, te vamos a mostrar c\u00f3mo usar la extensi\u00f3n <a href=\"https:\/\/chromewebstore.google.com\/detail\/content-security-policy-c\/ahlnecfloencbkpfnpljbojmjkfgnmdc?pli=1\" target=\"_blank\" rel=\"noreferrer noopener\">Content Security Policy (CSP) Generator<\/a> para Chrome (tambi\u00e9n funciona con Edge).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Determinando Directivas CSP Con la Extensi\u00f3n CSP Generator<\/h3>\n\n\n\n<p>Despu\u00e9s de instalar la extensi\u00f3n Content Security Policy (CSP) Generator, and\u00e1 a tu sitio y habilit\u00e1 la extensi\u00f3n para tu dominio.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Paso 1: Auditor\u00eda de tu Sitio<\/h5>\n\n\n\n<p>Para hacer eso, hac\u00e9 clic en el bot\u00f3n de extensi\u00f3n CSP Generator, luego hac\u00e9 clic en <strong>Start Building Policy<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-10-1024x451.jpg\" alt=\"Interfaz para la extensi\u00f3n de Chrome &quot;CSP Generator&quot;\" class=\"wp-image-4390\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-10-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-10-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-10-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-10.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>La extensi\u00f3n comenzar\u00e1 a auditar tu dominio y a construir una lista temporal de directivas CSP.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-11-1024x451.jpg\" alt=\"Interfaz para la extensi\u00f3n de Chrome &quot;CSP Generator&quot;\" class=\"wp-image-4391\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-11-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-11-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-11-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-11.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Paso 2: Visit\u00e1 M\u00faltiples P\u00e1ginas<\/h5>\n\n\n\n<p>Sin embargo, la extensi\u00f3n solo puede generar directivas para el contenido que ve. Como resultado, deber\u00edas visitar m\u00faltiples p\u00e1ginas en tu sitio. No es necesario presionar el bot\u00f3n <strong>Start Building Policy<\/strong> nuevamente. Solo naveg\u00e1 tu sitio.<\/p>\n\n\n\n<p>Despu\u00e9s de recorrer varias p\u00e1ginas, es posible que tengas m\u00e1s informes, y la pol\u00edtica generada temporalmente podr\u00eda tener m\u00e1s directivas que antes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-12-1024x451.jpg\" alt=\"Interfaz para la extensi\u00f3n de Chrome &quot;CSP Generator&quot;\" class=\"wp-image-4394\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-12-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-12-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-12-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-12.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Cuantas m\u00e1s p\u00e1ginas visites, m\u00e1s probabilidades tendr\u00e1s de encontrar recursos de varias fuentes, haciendo que la pol\u00edtica automatizada sea m\u00e1s exhaustiva y ahorr\u00e1ndote tiempo al modificarla durante la implementaci\u00f3n.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Paso 3: Revisi\u00f3n de Recursos en L\u00ednea<\/h5>\n\n\n\n<p>Ahora hac\u00e9 clic en <strong>Siguiente<\/strong> o en <strong>3. Inline<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-13-1024x451.jpg\" alt=\"Interfaz para la extensi\u00f3n de Chrome &quot;CSP Generator&quot;\" class=\"wp-image-4392\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-13-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-13-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-13-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-13.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Esta secci\u00f3n te dar\u00e1 una lista de recursos en l\u00ednea que necesitas mover a sus propios archivos por razones de seguridad.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-14-1024x451.jpg\" alt=\"Interfaz para la extensi\u00f3n de Chrome &quot;CSP Generator&quot;\" class=\"wp-image-4393\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-14-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-14-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-14-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-14.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>La CSP bloquea todos los recursos en l\u00ednea porque es imposible determinar si un recurso en l\u00ednea es intencional, no intencional o malicioso.<\/p>\n\n\n\n<p>Por esta raz\u00f3n, la CSP bloquea todo, lo que significa que cualquier recurso en l\u00ednea que hayas agregado a tu sitio ser\u00e1 bloqueado a menos que los muevas a sus propios archivos JavaScript\/estilo y te asegures de tener <code>'self'<\/code> en la lista blanca de tu pol\u00edtica.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Paso 4: Despliegue<\/h5>\n\n\n\n<p>Hac\u00e9 clic en <strong>Siguiente<\/strong> o <strong>4. Deploy<\/strong>. Ver\u00e1s un cuadro de texto con una lista de directivas CSP que pod\u00e9s pegar en tu archivo <code>.htaccess<\/code> o replicarlo a trav\u00e9s del plugin HTTP Headers.<\/p>\n\n\n\n<p>Como sugiere la extensi\u00f3n, deber\u00edas usar el modo &#8220;solo para informes&#8221; durante un tiempo para asegurarte de que la pol\u00edtica funcione correctamente sin da\u00f1ar tu sitio web. Despu\u00e9s de confirmar que no est\u00e1 causando problemas, desplieguelo.<\/p>\n\n\n<p>Para usar el modo &#8220;solo para informes&#8221;, lo \u00fanico que ten\u00e9s que hacer es usar <code>Content-Security-Policy-Report-Only<\/code> en lugar de <code>Content-Security-Policy<\/code> al escribir tu pol\u00edtica en el archivo <code>.htaccess<\/code>. Aqu\u00ed tienes un ejemplo:<\/p>\n<!-- \/wp:post-content -->\n\n<!-- wp:code {\"lineNumbers\":true} -->\n<pre class=\"wp-block-code\"><code lang=\"apacheconf\" class=\"language-apacheconf line-numbers\">&lt;IfModule mod_headers.c&gt;\nHeader set Content-Security-Policy-Report-Only default-src 'none'; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';\n&lt;\/IfModule&gt;<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p>Si est\u00e1s utilizando el plugin HTTP Headers, and\u00e1 a <strong>Ajustes &gt; HTTP Headers &gt; Seguridad<\/strong> y hac\u00e9 clic en <strong>Editar<\/strong> en la fila correspondiente a Content Security Policy.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Al redactar tu pol\u00edtica, hac\u00e9 clic en la casilla <strong>&#8220;Report-Only&#8221; (para fines de solo reporte)<\/strong>, luego desplazate hacia abajo y hac\u00e9 clic en <strong>Guardar Cambios<\/strong>.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":4396,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-16-1024x451.jpg\" alt=\"Interfaz para la extensi\u00f3n de Chrome &quot;CSP Generator&quot;\" class=\"wp-image-4396\" srcset=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-16-1024x451.jpg 1024w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-16-300x132.jpg 300w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-16-768x338.jpg 768w, https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-16.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:heading -->\n<h2 class=\"wp-block-heading\">Implement\u00e1 Seguridad de Contenido en tu Sitio de WordPress<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>La Content Security Policy es una gu\u00eda regulada por el World Wide Web Consortium (W3C) que previene XSS y otras vulnerabilidades de seguridad. La CSP te permite controlar qu\u00e9 recursos se pueden cargar en ella, ayud\u00e1ndote a filtrar las fuentes para tus im\u00e1genes, estilos, scripts y otros contenidos.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>En WordPress, esta es una medida de seguridad crucial porque es el CMS m\u00e1s popular del mundo y, por lo tanto, muchos actores malintencionados buscan inyectar c\u00f3digo malicioso en sitios de WordPress. Adem\u00e1s, los temas y plugins son a menudo el origen de vulnerabilidades de seguridad, por lo que restringir las fuentes de contenido de tu sitio es la mejor manera de minimizar o eliminar completamente recursos no autorizados.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Ojal\u00e1 este post te haya ayudado a entender CSP y c\u00f3mo implementarlo en tu sitio de WordPress.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Si encontraste \u00fatil este post, <a href=\"https:\/\/wcanvas.com\/es\/blogs\/\" target=\"_blank\" rel=\"noreferrer noopener\">le\u00e9 nuestro blog<\/a> y <a href=\"https:\/\/wcanvas.com\/es\/resources\/\" target=\"_blank\" rel=\"noreferrer noopener\">recursos<\/a> para m\u00e1s informaci\u00f3n y gu\u00edas.<\/p>\n<!-- \/wp:paragraph -->","protected":false},"excerpt":{"rendered":"<p>La Content Security Policy (CSP) es una funci\u00f3n de seguridad que protege tu sitio de WordPress de XSS, adware, clickjacking, spyware y otras inyecciones de c\u00f3digo malicioso filtrando las fuentes de los recursos de tu sitio, como im\u00e1genes, scripts, fuentes, estilos y m\u00e1s. Al permitir que solo fuentes de confianza muestren contenido en tu sitio, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4378,"template":"","blog-categories":[77,89],"class_list":["post-11105","blogs","type-blogs","status-publish","has-post-thumbnail","hentry","blog-categories-paso-a-paso","blog-categories-seguridad-en-wordpress"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>C\u00f3mo implementar la pol\u00edtica de seguridad de contenido en tu sitio de WordPress - White Canvas<\/title>\n<meta name=\"description\" content=\"La Pol\u00edtica de Seguridad de Contenidos (CSP) filtra las fuentes de tu contenido para protegerte contra XSS, adware, y m\u00e1s.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C\u00f3mo implementar la pol\u00edtica de seguridad de contenido en tu sitio de WordPress - White Canvas\" \/>\n<meta property=\"og:description\" content=\"La Pol\u00edtica de Seguridad de Contenidos (CSP) filtra las fuentes de tu contenido para protegerte contra XSS, adware, y m\u00e1s.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/\" \/>\n<meta property=\"og:site_name\" content=\"White Canvas\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-23T19:46:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-HERO.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"528\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"15 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t    \"@context\": \"https:\/\/schema.org\",\n\t    \"@graph\": [\n\t        {\n\t            \"@type\": [\n\t                \"Article\",\n\t                \"BlogPosting\"\n\t            ],\n\t            \"@id\": \"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/\"\n\t            },\n\t            \"author\": {\n\t                \"@type\": \"Organization\",\n\t                \"name\": \"Wcanvas\",\n\t                \"url\": \"https:\/\/wcanvas.com\/\"\n\t            },\n\t            \"headline\": \"C\u00f3mo implementar la pol\u00edtica de seguridad de contenido en tu sitio de WordPress\",\n\t            \"datePublished\": \"2024-05-29T18:36:57+00:00\",\n\t            \"dateModified\": \"2024-12-23T19:46:43+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@type\": \"WebPage\",\n\t                \"@id\": \"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/\"\n\t            },\n\t            \"wordCount\": 2860,\n\t            \"publisher\": {\n\t                \"@type\": \"Organization\",\n\t                \"name\": \"Wcanvas\",\n\t                \"logo\": {\n\t                    \"@type\": \"ImageObject\",\n\t                    \"url\": \"https:\/\/wcanvas.com\/wp-content\/themes\/wcanvas\/assets\/img\/elements\/logo-white-white.png\"\n\t                }\n\t            },\n\t            \"image\": [],\n\t            \"thumbnailUrl\": \"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-HERO.jpg\",\n\t            \"inLanguage\": \"es\",\n\t            \"description\": null\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/\",\n\t            \"url\": \"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/\",\n\t            \"name\": \"C\u00f3mo implementar la pol\u00edtica de seguridad de contenido en tu sitio de WordPress - White Canvas\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\/\/wcanvas.com\/es\/#website\"\n\t            },\n\t            \"primaryImageOfPage\": {\n\t                \"@id\": \"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-HERO.jpg\",\n\t            \"datePublished\": \"2024-05-29T18:36:57+00:00\",\n\t            \"dateModified\": \"2024-12-23T19:46:43+00:00\",\n\t            \"description\": \"La Pol\u00edtica de Seguridad de Contenidos (CSP) filtra las fuentes de tu contenido para protegerte contra XSS, adware, y m\u00e1s.\",\n\t            \"breadcrumb\": {\n\t                \"@id\": \"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/#breadcrumb\"\n\t            },\n\t            \"inLanguage\": \"es\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"ImageObject\",\n\t            \"inLanguage\": \"es\",\n\t            \"@id\": \"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/#primaryimage\",\n\t            \"url\": \"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-HERO.jpg\",\n\t            \"contentUrl\": \"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-HERO.jpg\",\n\t            \"width\": 1200,\n\t            \"height\": 528,\n\t            \"caption\": \"man using a computer with programming code projecting off the screen\"\n\t        },\n\t        {\n\t            \"@type\": \"BreadcrumbList\",\n\t            \"@id\": \"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/#breadcrumb\",\n\t            \"itemListElement\": [\n\t                {\n\t                    \"@type\": \"ListItem\",\n\t                    \"position\": 1,\n\t                    \"name\": \"Home\",\n\t                    \"item\": \"https:\/\/wcanvas.com\/es\/\"\n\t                },\n\t                {\n\t                    \"@type\": \"ListItem\",\n\t                    \"position\": 2,\n\t                    \"name\": \"Blogs\",\n\t                    \"item\": \"https:\/\/wcanvas.com\/es\/blogs\/\"\n\t                },\n\t                {\n\t                    \"@type\": \"ListItem\",\n\t                    \"position\": 3,\n\t                    \"name\": \"C\u00f3mo implementar la pol\u00edtica de seguridad de contenido en tu sitio de WordPress\"\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebSite\",\n\t            \"@id\": \"https:\/\/wcanvas.com\/es\/#website\",\n\t            \"url\": \"https:\/\/wcanvas.com\/es\/\",\n\t            \"name\": \"White Canvas\",\n\t            \"description\": \"\",\n\t            \"publisher\": {\n\t                \"@id\": \"https:\/\/wcanvas.com\/es\/#organization\"\n\t            },\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"SearchAction\",\n\t                    \"target\": {\n\t                        \"@type\": \"EntryPoint\",\n\t                        \"urlTemplate\": \"https:\/\/wcanvas.com\/es\/?s={search_term_string}\"\n\t                    },\n\t                    \"query-input\": {\n\t                        \"@type\": \"PropertyValueSpecification\",\n\t                        \"valueRequired\": true,\n\t                        \"valueName\": \"search_term_string\"\n\t                    }\n\t                }\n\t            ],\n\t            \"inLanguage\": \"es\"\n\t        },\n\t        {\n\t            \"@type\": \"Organization\",\n\t            \"@id\": \"https:\/\/wcanvas.com\/es\/#organization\",\n\t            \"name\": \"White Canvas\",\n\t            \"url\": \"https:\/\/wcanvas.com\/es\/\",\n\t            \"logo\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"es\",\n\t                \"@id\": \"https:\/\/wcanvas.com\/es\/#\/schema\/logo\/image\/\",\n\t                \"url\": \"https:\/\/wcanvas.com\/wp-content\/uploads\/2023\/01\/logowhitecanvas.svg\",\n\t                \"contentUrl\": \"https:\/\/wcanvas.com\/wp-content\/uploads\/2023\/01\/logowhitecanvas.svg\",\n\t                \"width\": 115,\n\t                \"height\": 32,\n\t                \"caption\": \"White Canvas\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\/\/wcanvas.com\/es\/#\/schema\/logo\/image\/\"\n\t            },\n\t            \"alternateName\": \"Wcanvas\",\n\t            \"contactPoint\": [\n\t                {\n\t                    \"@type\": \"ContactPoint\",\n\t                    \"telephone\": \"+1 (347) 688 2902\",\n\t                    \"contactType\": \"sales\",\n\t                    \"contactOption\": \"TollFree\",\n\t                    \"areaServed\": \"US\",\n\t                    \"availableLanguage\": \"en\"\n\t                },\n\t                {\n\t                    \"@type\": \"ContactPoint\",\n\t                    \"telephone\": \"+54 (11) 5236 4717\",\n\t                    \"contactType\": \"sales\",\n\t                    \"contactOption\": \"TollFree\",\n\t                    \"areaServed\": \"AR\",\n\t                    \"availableLanguage\": \"es\"\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"Person\",\n\t            \"@id\": \"https:\/\/wcanvas.com\/es\/#\/schema\/person\/ea362f7fa9eb0239142e5e982bd8c198\",\n\t            \"name\": \"Nicolas Pisani\",\n\t            \"image\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"es\",\n\t                \"@id\": \"https:\/\/wcanvas.com\/es\/#\/schema\/person\/image\/\",\n\t                \"url\": \"https:\/\/wcanvas.com\/wp-content\/uploads\/2022\/12\/cropped-avatar-nico-96x96.png\",\n\t                \"contentUrl\": \"https:\/\/wcanvas.com\/wp-content\/uploads\/2022\/12\/cropped-avatar-nico-96x96.png\",\n\t                \"caption\": \"Nicolas Pisani\"\n\t            },\n\t            \"sameAs\": [\n\t                \"https:\/\/wcanvas.com\",\n\t                \"#\",\n\t                \"https:\/\/www.instagram.com\/whitecanvasteam\/\",\n\t                \"https:\/\/x.com\/wcanvas\"\n\t            ]\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C\u00f3mo implementar la pol\u00edtica de seguridad de contenido en tu sitio de WordPress - White Canvas","description":"La Pol\u00edtica de Seguridad de Contenidos (CSP) filtra las fuentes de tu contenido para protegerte contra XSS, adware, y m\u00e1s.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/","og_locale":"es_ES","og_type":"article","og_title":"C\u00f3mo implementar la pol\u00edtica de seguridad de contenido en tu sitio de WordPress - White Canvas","og_description":"La Pol\u00edtica de Seguridad de Contenidos (CSP) filtra las fuentes de tu contenido para protegerte contra XSS, adware, y m\u00e1s.","og_url":"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/","og_site_name":"White Canvas","article_modified_time":"2024-12-23T19:46:43+00:00","og_image":[{"width":1200,"height":528,"url":"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-HERO.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"15 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/#article","isPartOf":{"@id":"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/"},"author":{"@type":"Organization","name":"Wcanvas","url":"https:\/\/wcanvas.com\/"},"headline":"C\u00f3mo implementar la pol\u00edtica de seguridad de contenido en tu sitio de WordPress","datePublished":"2024-05-29T18:36:57+00:00","dateModified":"2024-12-23T19:46:43+00:00","mainEntityOfPage":{"@type":"WebPage","@id":"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/"},"wordCount":2860,"publisher":{"@type":"Organization","name":"Wcanvas","logo":{"@type":"ImageObject","url":"https:\/\/wcanvas.com\/wp-content\/themes\/wcanvas\/assets\/img\/elements\/logo-white-white.png"}},"image":[],"thumbnailUrl":"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-HERO.jpg","inLanguage":"es","description":null},{"@type":"WebPage","@id":"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/","url":"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/","name":"C\u00f3mo implementar la pol\u00edtica de seguridad de contenido en tu sitio de WordPress - White Canvas","isPartOf":{"@id":"https:\/\/wcanvas.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/#primaryimage"},"image":{"@id":"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-HERO.jpg","datePublished":"2024-05-29T18:36:57+00:00","dateModified":"2024-12-23T19:46:43+00:00","description":"La Pol\u00edtica de Seguridad de Contenidos (CSP) filtra las fuentes de tu contenido para protegerte contra XSS, adware, y m\u00e1s.","breadcrumb":{"@id":"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/#primaryimage","url":"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-HERO.jpg","contentUrl":"https:\/\/wcanvas.com\/wp-content\/uploads\/2024\/05\/content-policy-HERO.jpg","width":1200,"height":528,"caption":"man using a computer with programming code projecting off the screen"},{"@type":"BreadcrumbList","@id":"https:\/\/wcanvas.com\/es\/blog\/politica-seguridad-contenido-wordpress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wcanvas.com\/es\/"},{"@type":"ListItem","position":2,"name":"Blogs","item":"https:\/\/wcanvas.com\/es\/blogs\/"},{"@type":"ListItem","position":3,"name":"C\u00f3mo implementar la pol\u00edtica de seguridad de contenido en tu sitio de WordPress"}]},{"@type":"WebSite","@id":"https:\/\/wcanvas.com\/es\/#website","url":"https:\/\/wcanvas.com\/es\/","name":"White Canvas","description":"","publisher":{"@id":"https:\/\/wcanvas.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wcanvas.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/wcanvas.com\/es\/#organization","name":"White Canvas","url":"https:\/\/wcanvas.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wcanvas.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/wcanvas.com\/wp-content\/uploads\/2023\/01\/logowhitecanvas.svg","contentUrl":"https:\/\/wcanvas.com\/wp-content\/uploads\/2023\/01\/logowhitecanvas.svg","width":115,"height":32,"caption":"White Canvas"},"image":{"@id":"https:\/\/wcanvas.com\/es\/#\/schema\/logo\/image\/"},"alternateName":"Wcanvas","contactPoint":[{"@type":"ContactPoint","telephone":"+1 (347) 688 2902","contactType":"sales","contactOption":"TollFree","areaServed":"US","availableLanguage":"en"},{"@type":"ContactPoint","telephone":"+54 (11) 5236 4717","contactType":"sales","contactOption":"TollFree","areaServed":"AR","availableLanguage":"es"}]},{"@type":"Person","@id":"https:\/\/wcanvas.com\/es\/#\/schema\/person\/ea362f7fa9eb0239142e5e982bd8c198","name":"Nicolas Pisani","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wcanvas.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/wcanvas.com\/wp-content\/uploads\/2022\/12\/cropped-avatar-nico-96x96.png","contentUrl":"https:\/\/wcanvas.com\/wp-content\/uploads\/2022\/12\/cropped-avatar-nico-96x96.png","caption":"Nicolas Pisani"},"sameAs":["https:\/\/wcanvas.com","#","https:\/\/www.instagram.com\/whitecanvasteam\/","https:\/\/x.com\/wcanvas"]}]}},"_links":{"self":[{"href":"https:\/\/wcanvas.com\/es\/wp-json\/wp\/v2\/blogs\/11105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wcanvas.com\/es\/wp-json\/wp\/v2\/blogs"}],"about":[{"href":"https:\/\/wcanvas.com\/es\/wp-json\/wp\/v2\/types\/blogs"}],"author":[{"embeddable":true,"href":"https:\/\/wcanvas.com\/es\/wp-json\/wp\/v2\/users\/1"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wcanvas.com\/es\/wp-json\/wp\/v2\/media\/4378"}],"wp:attachment":[{"href":"https:\/\/wcanvas.com\/es\/wp-json\/wp\/v2\/media?parent=11105"}],"wp:term":[{"taxonomy":"blog-categories","embeddable":true,"href":"https:\/\/wcanvas.com\/es\/wp-json\/wp\/v2\/blog-categories?post=11105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}