Wiki source code of Sécurisation XSS

Last modified by Christian SENET on 2016/03/25 09:31

Show last authors
1 (((
2 = Configuration pour TOMCAT =
3 )))
4
5 Préconisations de sécurisation des headers HTTP
6
7 Configuration du token de session JSESSIONID à HttpOnly dans le fichier web.xml
8
9
10 {{code language="xml" title="JSESSIONID HttpOnly" language="xml"}}
11 <session-config>
12 <cookie-config>
13 <http-only>true</http-only>
14 </cookie-config>
15 </session-config>
16 {{/code}}
17
18
19
20 La mise en place des directives de protection XSS relèvent généralement de la configuration d'un frontal Web. Cependant, il est possible de rajouter ces directives directement dans l'application par ajout d'une servlet filter dans le fichier web.xml de l'application
21
22
23
24 {{code language="xml" title="XSSFilter" language="xml"}}
25 <filter>
26 <display-name>XSSFilter</display-name>
27 <filter-name>XSSFilter</filter-name>
28 <filter-class>com.hardis.adelia.filter.XSSFilter</filter-class>
29 </filter>
30 <filter-mapping>
31 <filter-name>XSSFilter</filter-name>
32 <url-pattern>/*</url-pattern>
33 </filter-mapping>
34 {{/code}}
35
36
37 Paramétrage du filtre avec des valeurs spécifiques
38
39
40 {{code language="xml" title="XSSFilter" language="xml"}}
41 <filter>
42 <display-name>XSSFilter</display-name>
43 <filter-name>XSSFilter</filter-name>
44 <filter-class>com.hardis.adelia.filter.XSSFilter</filter-class>
45 <init-param>
46 <description>X-FRAME-OPTIONS value</description>
47 <param-name>X-FRAME-OPTIONS</param-name>
48 <param-value>DENY</param-value>
49 </init-param>
50 <init-param>
51 <description>X-Content-Type-Options value</description>
52 <param-name>X-Content-Type-Options</param-name>
53 <param-value>nosniff</param-value>
54 </init-param>
55 <init-param>
56 <description>X-XSS-Protection value</description>
57 <param-name>X-XSS-Protection</param-name>
58 <param-value>1; mode=block</param-value>
59 </init-param>
60 </filter>
61 <filter-mapping>
62 <filter-name>XSSFilter</filter-name>
63 <url-pattern>/*</url-pattern>
64 </filter-mapping>
65 {{/code}}
66
67 |=(((
68 Attribut)))|=(((
69 Valeur par défaut)))|=(((
70 Remarque)))
71 |(((
72 {{{X-FRAME-OPTIONS}}}
73 )))|(((
74 {{{DENY}}}
75 )))|(((
76 Valeurs possibles : DENY, SAMEORIGIN, ALLOW-FROM [[https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet>>url:https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet]])))
77 |(((
78 {{{X-Content-Type-Options}}}
79 )))|(((
80 {{{nosniff}}}
81 )))|(((
82 )))
83 |(% colspan="1" %)(((
84 {{{X-XSS-Protection}}}
85 )))|(% colspan="1" %)(((
86 {{{1; mode~=block}}}
87 )))|(% colspan="1" %)(((
88
89 )))
90
91
92 (((
93 = Configuration pour HaProxy =
94 )))
95
96 Pour configurer dans HAProxy l'envoi des entêtes anti-XSS ajouter ceci à votre //frontend// , //listener// ou //backend// configuration :
97
98
99 {{code language="xml" title="JSESSIONID HttpOnly" language="xml"}}
100 rspadd X-Frame-Options:\ DENY
101 rspadd X-Content-Type-Options:\ nosniff
102 rspadd X-XSS-Protection:\ 1; mode=block
103  
104 {{/code}}
105
106
107
108 (((
109 = Configuration pour Apache Httpd =
110 )))
111
112 Pour configurer dans Apache l'envoi des entêtes anti-XSS pour toutes les pages , ajouter à la configuration de votre site
113
114 :
115
116
117 {{code language="xml" title="httpd.conf" language="xml"}}
118
119 Header set Set-Cookie HttpOnly;Secure
120 Header always append X-XSS-Protection 1;mode=block
121 Header always append X-Frame-Options DENY
122 Header always append X-Content-Type-Options nosniff
123  
124 {{/code}}
125