Aquí anem a explicar que són les capçaleres x-content-type-options, x-frame i x-XSS i com podem utilitzar-les per millorar la seguretat d’un lloc web, tant si utilitzes WordPress com si no.
1. Capçalera X-Content-Type-Options
Què són les capçaleres X-Content-Type-Options?
Les capçaleres de seguretat són uns codis que estableixen unes directives que afecten el comportament de el navegador quan el servidor obre una pàgina web, per millorar la seguretat hem d’enviar la capçalera “X-Content-Type-Options: nosniff” en les respostes quan se sol·liciti qualsevol url de la pàgina web.
Quins problemes de seguretat resol la capçalera x-content-type-options establerta a “nosniff”?
Amb aquesta capçalera, es redueix el risc que es produeixi un atac basat en confusió de tipus mime.
Si es rep la directiva “nosniff” en una resposta rebuda per una referència de fulla d’estil, el navegador no carregarà l’arxiu “full d’estil” a menys que el tipus MIME coincideixi amb “text / css”.
Si es rep la directiva “nosniff” en una resposta recuperada per una referència de script, el navegador no carregarà l’arxiu “script” tret que el tipus MIME coincideixi amb un dels següents valors:
- “aplicació / ecmascript”
- “aplicació / javascript”
- “aplicació / x-javascript”
- “text / ecmascript”
- “text / javascript”
- “text / jscript”
- “text / x-javascript”
- “text / vbs”
- “text / vbscript”
En general amb la Capçalera X-Content-Type-Options evitarem que es carreguin fulls d’estil o scripts maliciosos.
Més informació a les pàgines d’ajuda de Microsoft MSDN.
Com establir la capçalera X-Content-Type-Options a “nosniff” utilitzant WordPress?
Independentment de l’tipus de servidor (Apache o Ngix)
Si la web està muntada sobre WordPress podem afegir una funció que afegeix la capçalera X-Content-Type-Options establerta a “nosniff” a l’arxiu functions.php del tema principal però aquest canvi es perdria si s’actualitzés el tema i caldria tornar a fer-ho, per tant el més recomanable en la nostra opinió és crear un connector únicament amb aquesta funció, d’aquesta manera podem activar-la i desactivar-la quan vulguem.
Aquí està el codi:
add_action('send_headers', 'add_header_x_content_type'); function add_header_x_content_type() { header('X-Content-Type-Options: nosniff'); }
Aquí un plugin per a WordPress que afegeix aquest codi i res més:
DESCARREGAR PLUGIN SIAICA-CABECERA-X-CONTENT-TYPE-OPTIONS
Com fer-ho en un servidor amb Apache?
Independentment de si utilitzes un CMS o un altre si treballa sobre un servidor amb Apache hauríem de tenir un arxiu anomenat, htaccess a l’arrel del web. Si no hi ha hauríem de crear un arxiu de tipus text amb el nom “.htaccess”
Notareu que abans de la paraula hi ha un punt, això no és un error, és correcte, l’arxiu no té nom sol extensió. En alguns servidors aquest arxiu està ocult i haurem d’activar l’opció veure arxius ocults a l’administrador d’arxius per poder editar-lo. Un senyal inequívoc que l’arxiu .htaccess està ocult és que ens llanci missatge semblant a “l’arxiu ja existeix” quan intentem crear-lo.
Quan haguem aconseguit obrir el fitxer i puguem editar-caldrà afegir la següent línia per establir la capçalera X-Content-Type-Options a “nosniff” a el principi o a la fi de l’arxiu .htaccess
Header set X-Content-Type-Options nosniff
2. Capçalera X-Frame
La capçalera X-Frame-Options millora la seguretat de la Web
Què són les capçaleres X-Frame-Options i quins problemes de seguretat resol?
Les capçalera X-Frame-Options és una directriu que afecta el comportament d’un visor web de manera que impedeix que un web o una part es mostri en frames incrustats en altres llocs web.
Cal tenir en compte que si necessitem que alguna part del web es mostri en dominis externs en un <frame> o <iframe> caldria modificar el codi excloent un domini concret a què se li permetria mostrar iframes del web o desactivar totalment aquesta capçalera
La capçalera X-Frame-Options serveix per a evitar que la pàgina pugui ser oberta en un frame, o iframe. D’aquesta manera es poden prevenir atacs de clickjacking sobre la teva web.
Què directrius té la capçalera X-Frame-Options? Com s’estableixen?
Aquests són els valors que accepta:
- DENY
La pàgina no pot ser mostrada en un frame / iframe. - SAMEORIGIN
Només podrà ser mostrada en un frame / iframe des del seu propi domini. - ALLOW-FROM uri
Només podrà ser mostrada en un frame / iframe des de les URL ‘s indicades.
Es pot establir la capçalera amb alguna d’aquestes directrius de diverses formes …
- Afegint una funció a el tema de WordPress (en cas d’utilitzar WordPress com CMS)
- Instal·lant i activant un plugin que afegeix la funció establerta en SAMEORIGIN
- Afegint una línia nova a l’arxiu .htaccess com hem esmentat anteriorment en cas que que el servidor sigui Apache
FUNCIÓ PER WORDPRESS
add_action('send_headers', 'add_header_x_frame_options'); function add_header_x_frame_options() { header('X-Frame-Options: SAMEORIGIN'); }
PLUGIN DE WORDPRESS QUE AFEGEIX LA FUNCIÓ
DESCARREGAR PLUGIN SIAICA-X-FRAME-OPTIONS
CODI PER EL .HTACCESS
Header always append X-Frame-Options SAMEORIGIN
Exemple de X-FRAME-OPTIONS amb ALLOW-FROM per permetre frames des d’un domini determinat
Exemple de funció per a WordPress que afegeix la capçalera X-FRAME-OPTIONS establerta amb ALLOW-FROM per a l’arxiu functions.php del tema o per modificar el plugin de WordPress
add_action('send_headers', 'add_header_x_frame_options'); function add_header_x_frame_options() { header('X-Frame-Options: ALLOW-FROM http://siaica.boostersite.es'); }
En cas de no tenir WordPress però si un servidor Apache afegint una línia de codi a l’arxiu .htaccess com ara:
Header always append X-Frame-Options ALLOW-FROM url-dominio-con-http-o-https-incluido
3. Capçalera X-XSS-Protection per evitar atacs XSS en IE i Chrome
La capçalera X-XSS-Protection s’utilitza per activar el filtre XSS que tenen habilitat IE i Chrome.
Es tracta d’una capa de seguretat addicional que bloqueja atacs XSS. Internet Explorer ho implementa des de la versió 8. Pots llegir més sobre el filtre XSS de l’IE al IEBlog de Microsoft.
Més informació sobre capçaleres HTTP.
Si utilitzem WordPress una forma d’afegir aquesta capçalera seria afegint unes línies de codi a l’arxius functions.php del tema de WordPress que estiguem fent servir però com ja hem esmentat abans no creiem que sigui la millor
add_action( 'send_headers', 'add_header_x_xss_protection' ); function add_header_x_xss_protection() { header( 'X-XSS-Protection: 1;mode=block' ); }
Aquí deixem un plugin per a WordPress que afegeix només aquesta funció que no es veurà afectada per canvi de tema o actualització, amb l’avantatge afegit que podem activar i desactivar-quan vulguem
DESCARREGAR PLUGIN SIAICA-CABECERA-X-XSS
Com podem fer-ho amb qualsevol CMS o WEB muntada sobre un servidor Apache?
Independentment de si fem servir WordPress o no podem afegir capçaleres sempre que el web treballi sobre un sistema Apache.
Com hem dit anteriorment afegint una fila codi a l’arxiu .htaccess a l’arrel del web. El codi és el següent:
Header set X-XSS-Protection "1; mode=block"
Amb aquests 3 connectors tindríem les capçaleres de seguretat i una millor protecció de la pàgina web
També podríem fer un connector la les tres funcions juntes però no podríem desactivar-una a una, serien totes o cap. El codi de l’connector seria el següent:
add_action('send_headers', 'cabeceras_de_seguridad'); function cabeceras_de_seguridad() { header('X-Content-Type-Options: nosniff'); header('X-Frame-Options: SAMEORIGIN'); header('X-XSS-Protection: 1;mode=block'); }
Una altra opció si no tens WordPress però si un servidor amb Apache és posar les tres línies de la 3 capçaleres a l’arxiu .htaccess i quedaria una cosa així:
Header set X-Content-Type-Options nosniff Header always append X-Frame-Options SAMEORIGIN Header set X-XSS-Protection "1; mode=block"
Esperem que aquesta publicació ajudi als nostres clients i usuaris a millorar la seguretat dels seus llocs web, si seguint algun d’aquests passos trobeu que el lloc web deixa de funcionar no desespereu, n’hi haurà prou amb eliminar les línies de codi de l’.htaccess i buidar la memòria cau perquè tot torni a la normalitat
Si necessites ajuda per millorar la seguretat del teu lloc web o del de la teva empresa contacta amb nosaltres i analitzarem les opcions amb tu per ajudar-te de la millor manera possible
Comentaris recents