Jump to content

Entêtes de sécurité et htaccess ?


Recommended Posts

Bonjour, auriez-vous d'autres idées pour mettre toutes les sécurités nécessaires dans le htaccess ?
Je vérifie avec ce site: https://securityheaders.com/

Pour le moment j'ai mis celles-ci... Merci de vos avis

# Security Headers

<IfModule mod_headers.c>

Header set X-Content-Type-Options "nosniff"

Header set X-XSS-Protection "1; mode=block"

Header set X-Frame-Options "SAMEORIGIN"

Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"

Header always set Referrer-Policy "strict-origin-when-cross-origin" Header set Expect-CT "enforce, max-age=604800"

#Header set Content-Security-Policy "default-src script-src script-src 'nonce-uG2bsk6JIH923nsvp01n24KE' 'unsafe-inline' 'unsafe-eval' 'self';" Header always set Permissions-Policy "accelerometer=(self); ambient-light-sensor=(self); autoplay=(self); camera=(self); encrypted-media=(self); fullscreen=(self); geolocation=(self); gyroscope=(self); magnetometer=(self); microphone=(self); midi=(self); payment=(self); picture-in-picture=(*); speaker=(self); sync-xhr=(*); usb=(self); vr=(self);" Header always edit Set-Cookie (.*) "$1; HTTPOnly; Secure" Header set Connection keep-alive

</IfModule>

Edited by Thierry L (see edit history)
Link to comment
Share on other sites

Bonsoir, 

Super article comme d'habitude, merci pour ce travail. Je suis toujours FAN de ton travail...

En vérifiant cette sécurité j'essaye de tout pointer sur "Vert"... Même si le bi-color fait joli.

Avec

# Extra Security Headers
<IfModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
Header always append X-Frame-Options SAMEORIGIN
Header set X-Content-Type-Options nosniff
</IfModule>

Cela donne ceci:

1.thumb.png.93ce7bbcb35dec228af7685414e8b36d.png

Avec

# Security Headers
<IfModule mod_headers.c>
   Header set X-Content-Type-Options "nosniff"
   Header set X-XSS-Protection "1; mode=block"
   Header set X-Frame-Options "SAMEORIGIN"
   Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
   Header always set Referrer-Policy "strict-origin-when-cross-origin"
   Header set Expect-CT "enforce, max-age=604800"
   #Header set Content-Security-Policy "default-src script-src script-src 'nonce-uG2bsk6JIH923nsvp01n24KE' 'unsafe-inline' 'unsafe-eval' 'self';"
   Header always set Permissions-Policy "accelerometer=(self); ambient-light-sensor=(self); autoplay=(self); camera=(self); encrypted-media=(self); fullscreen=(self); geolocation=(self); gyroscope=(self); magnetometer=(self); microphone=(self); midi=(self); payment=(self); picture-in-picture=(*); speaker=(self); sync-xhr=(*); usb=(self); vr=(self);"
   Header always edit Set-Cookie (.*) "$1; HTTPOnly; Secure"
   Header set Connection keep-alive
</IfModule>

Cela donne ceci:

2.thumb.png.f5bc3618490387642d620c53074d7f23.png

Je dois encore mettre le "content-security-policy"

y a t'il d'autre trucs qui serait bien de rajouter ?
Rien de bien grave et cela n'empêche pas une vrais attaque mais tant qu'a faire, tout en "vert" serait pas mal.
Et merci pour la source, je vais poursuivre la lecture 🙂

Bonne soirée à toi, bonne fin de week end et encore merci

 

 

Edited by Thierry L
Rajout (see edit history)
Link to comment
Share on other sites

Il y a un module sur prestashop addons qui est abordable (69€) et qui fait tout ça et bien plus (protections.... multiples, sauvegarde, analyses, liste des point de sécurity système, serveur, et j'en passe.

Il s'appelait SecurityPro développé par Mathias Reker, mais je crois qu'il a changé de nom il y a quelques temps... voilà le nom actuel, ensuite, tu fais ce que tu veux (mais quand tu l'a en main... c'est très complet (https://addons.prestashop.com/fr/securite-access/44413-security-pro-all-in-one.html)

sinon, Il y a un tuto sur le site de Webbax qui permet de mettre en place des filtres et sécurités directement dans le fichier index.php. C'est le tuto 69 (si tu vas sur son site, tu cherches "tuto69" il explique tout dans la vidéo, il fournit le fichier, et c'est ultra simple à mettre en place, et si tu te débrouille en php, tu peux même développer le truc. Je suis en plein de dans à cause d'une faille dans prestashop que je ne parviens pas à identifier. Enfin bref, c'est très intéressant.

Webbax propose également un script simple (incompatible avec SecurityPro, et qui consiste à renommer automatiquement, chaque jour l'url du backoffice selon des paramètres que tu choisis. Ca n'empêche pas le hack, mais en étant toujours mobile et en changeant ton adresse, c'est bien plus dur pour un hacker.

Mais, le vrai défi actuel, c'est d'empêcher les connexions via VPN. Parce que c'est ce qui fait la force des hacker. Je suis en train de faire des test (sans succès pour le moment) pour empêcher l'accès des VPN (je sais qu'on peut les détecter en comptant le nombre de "hops", mais je n'ai pas encore trouvé comment utiliser cette info pour les bloquer dans le fichier index.php (ca fait du boulot!)

Du coup, j'ai envoyé la suggestion à Mathias pour lui demander s'il pouvait intégrer une option de blocage des VPN (les clients peuvent comprendre, surtout s'il est bien expliqué que des mesures de sécurité complémentaires sont mises en place...)

Link to comment
Share on other sites

Bonjour jgd24, merci de ton retour d'info.

Je connais ce module et il est très bien. Merci
Ca peut servir a d'autres qui visiteraient cette page.
Le site de Webbax est toujours un régal à visiter, j'adore son humour et ses conseils.
Bon Week end 🙂
 

Link to comment
Share on other sites

  • 1 year later...

Je rajoute, si cela peut servir à d'autres :

Voila la liste complète à mettre dans votre fichier .htaccess

L'en-tête Content-Security-Policy a été ajouté avec des directives pour limiter les sources autorisées pour différents types de contenu.

Et un site pour vérifier: https://securityheaders.com

# Security Headers
<IfModule mod_headers.c>
Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"
Header set X-Frame-Options "SAMEORIGIN"
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header set Expect-CT "enforce, max-age=604800"
#Header set Content-Security-Policy "default-src script-src script-src 'nonce-uG2bsk6JIH923nsvp01n24KE' 'unsafe-inline' 'unsafe-eval' 'self';"
Header always set Permissions-Policy "accelerometer=(self); ambient-light-sensor=(self); autoplay=(self); camera=(self); encrypted-media=(self); fullscreen=(self); geolocation=(self); gyroscope=(self); magnetometer=(self); microphone=(self); midi=(self); payment=(self); picture-in-picture=(*); speaker=(self); sync-xhr=(*); usb=(self); vr=(self);"
Header always edit Set-Cookie (.*) "$1; HTTPOnly; Secure"
Header set Connection keep-alive
Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; object-src 'none'; base-uri 'self'; frame-ancestors 'self'; form-action 'self'"
</IfModule>

entete.jpg.cb623b631d5743a44d9aefb283f9c86a.jpg

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Bonjour,

Pour commencer j'ai suivi pour le moment l'article https://www.mediacom87.fr/renforcer-la-securite-avec-les-en-tetes-x-security/ (Je suis du même avis toujours un excellent travail) j'ai ensuite placé la liste complète (merci):

 

Mais le résultat sur le site https://securityheaders.com/ n'est pas bon trop : de rouge

Ai-je manqué quelque chose ?

Cordialement,

Marc.

Link to comment
Share on other sites

Il y a 1 heure, MarcRiviere2 a dit :

Bonjour,

Pour commencer j'ai suivi pour le moment l'article https://www.mediacom87.fr/renforcer-la-securite-avec-les-en-tetes-x-security/ (Je suis du même avis toujours un excellent travail) j'ai ensuite placé la liste complète (merci):

Bonjour :-),

Oui, le site de Mediacom apporte toujours des avis éclairés. Et ses modules sont toujours au top. D'ailleurs je le conseil souvent pour du travail de développement sur Prestashop. C'est un bon.

Il y a 1 heure, MarcRiviere2 a dit :

Mais le résultat sur le site https://securityheaders.com/ n'est pas bon trop : de rouge

Ai-je manqué quelque chose ?

Peut-être...

Mais en regardant dans ma boule de cristal je n'arrive pas à bien trouver... Surtout ton URL 🙂 🙂 

Si tu teste un de mes sites, je suis dans le vert.
Mais bien entendu les entêtes de sécurités ne sont qu'une partie du travail de sécurisation d'un site.

Et pour le Content-Security-Policy, entre autre sur Prestashop, comme la bien noté plus haut Mediacom87 "c'est pas le plus simple" et il donne un lien pour le comprendre.

Link to comment
Share on other sites

Le 23/05/2023 à 11:06 AM, Thierry L a dit :

Et pour le Content-Security-Policy, entre autre sur Prestashop, comme la bien noté plus haut Mediacom87 "c'est pas le plus simple" et il donne un lien pour le comprendre.

Merci,

Dans ton exemple, tu as une ligne commentée concernant ce point, tu peux donc la retirer.

Par contre, dans l'état actuel, la ligne que tu proposes ne fonctionne que si on n'utilise pas de CDN, cette ligne doit être adaptée à chaque installation, en l'état, par exemple, chez moi, je n'ai plus d'images ou de script JS ou CSS.

Donc, faites bien attention, on met en place et on teste tout de suite, puis on commente chaque ligne une par une pour identifier le souci et on adapte en suivant les explications disponibles.

  • Thanks 1
Link to comment
Share on other sites

Le 31/05/2023 à 11:04 AM, Mediacom87 a dit :

Donc, faites bien attention, on met en place et on teste tout de suite, puis on commente chaque ligne une par une pour identifier le souci et on adapte en suivant les explications disponibles.

Oui, le genre de tests à faire sur un clone afin de trouver le bon réglage.
Et bien entendu, suivez les conseils de Mediacom87, personne ne doit faire ce genre de trucs sur une boutique en ligne.
J'ai peut être était vite en donnant ces entêtes, c'est surtout pour lancer la discussion sur le sujet et trouver une solution.

Securi.net explique assez bien.
https://blog.sucuri.net/2023/04/how-to-set-up-a-content-security-policy-csp-in-3-steps.html

et bien sur des infos sur le site de l'OWASP
https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html

Mais aucun miracle, c'est juste un plus à mettre en place.

Edited by Thierry L (see edit history)
Link to comment
Share on other sites

  • 7 months later...
Le 15/03/2023 à 6:41 PM, Thierry L a dit :

Je rajoute, si cela peut servir à d'autres :

Voila la liste complète à mettre dans votre fichier .htaccess

L'en-tête Content-Security-Policy a été ajouté avec des directives pour limiter les sources autorisées pour différents types de contenu.

Et un site pour vérifier: https://securityheaders.com

# Security Headers
<IfModule mod_headers.c>
Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"
Header set X-Frame-Options "SAMEORIGIN"
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header set Expect-CT "enforce, max-age=604800"
#Header set Content-Security-Policy "default-src script-src script-src 'nonce-uG2bsk6JIH923nsvp01n24KE' 'unsafe-inline' 'unsafe-eval' 'self';"
Header always set Permissions-Policy "accelerometer=(self); ambient-light-sensor=(self); autoplay=(self); camera=(self); encrypted-media=(self); fullscreen=(self); geolocation=(self); gyroscope=(self); magnetometer=(self); microphone=(self); midi=(self); payment=(self); picture-in-picture=(*); speaker=(self); sync-xhr=(*); usb=(self); vr=(self);"
Header always edit Set-Cookie (.*) "$1; HTTPOnly; Secure"
Header set Connection keep-alive
Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; object-src 'none'; base-uri 'self'; frame-ancestors 'self'; form-action 'self'"
</IfModule>

entete.jpg.cb623b631d5743a44d9aefb283f9c86a.jpg

Bonjour et merci pour cette liste.

  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...