Last modified by Agnease on 2026/05/26 15:27

Show last authors
1 {{velocity}}
2 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 {{html clean="false"}}
4
5 <section class="resource-header" aria-labelledby="hero-title">
6 <div class="container">
7 <div class="text-center">
8 <div class="hero-kicker">
9 <i class="fa fa-shield" aria-hidden="true"></i>
10 XWiki security review
11 </div>
12 </div>
13
14 <h1 id="hero-title">What an XWiki security review should actually include</h1>
15
16 <p class="resource-summary">
17 A working XWiki instance is not automatically a secure one. A proper review should look at versions,
18 access rights, authentication, extensions, custom code, infrastructure and operational practices.
19 </p>
20 </div>
21 </section>
22
23 <section class="resource-page">
24 <div class="container">
25 <div class="resource-layout">
26
27 <aside class="resource-sidebar" aria-label="Page summary">
28 <h4>In this guide</h4>
29 <ul>
30 <li><a href="#why-it-matters">Why it matters</a></li>
31 <li><a href="#what-to-review">What to review</a></li>
32 <li><a href="#security-checklist">Security checklist</a></li>
33 <li><a href="#review-output">What the review should produce</a></li>
34 <li><a href="#when-to-review">When to run a review</a></li>
35 <li><a href="#security-review-faq">FAQ</a></li>
36 </ul>
37 </aside>
38
39 <article class="resource-content">
40
41 <p>
42 Many XWiki instances continue to work well from a user perspective while slowly accumulating security
43 and governance risks. Users can still log in, search, edit pages and access documents, but that does not
44 always mean the instance is properly secured or easy to maintain.
45 </p>
46
47 <p>
48 Security risks are often hidden in less visible areas: outdated versions, inherited permissions,
49 forgotten administrator accounts, overly powerful rights, old extensions, undocumented scripts,
50 weak fallback access or backup assumptions that were never tested.
51 </p>
52
53 <div class="resource-note">
54 <p>
55 <strong>In practice:</strong> an XWiki security review should evaluate the XWiki version,
56 access rights, authentication setup, installed extensions, custom code, infrastructure,
57 backups, restore expectations and the operational practices used to maintain the instance.
58 </p>
59 </div>
60
61 <p>
62 An XWiki security review is a structured assessment of the wiki platform, its configuration,
63 access model, authentication mechanisms, extensions, customizations and operational setup.
64 The goal is to identify risks, maintenance weaknesses and upgrade blockers before they affect
65 users or business-critical content.
66 </p>
67
68 <div class="resource-note">
69 <p>
70 <strong>The main point:</strong> an XWiki security review should not only check whether the application
71 is online. It should evaluate the platform, the access model and the operational practices around it.
72 </p>
73 </div>
74
75 <h2 id="why-it-matters">Why an XWiki security review matters</h2>
76
77 <p>
78 XWiki is often used as an internal knowledge base, intranet, documentation platform or controlled
79 document system. In these cases, the platform may contain sensitive procedures, internal decisions,
80 customer information, technical documentation, compliance records or business-critical workflows.
81 </p>
82
83 <p>
84 The more important the content becomes, the more important it is to understand who can access it, who can
85 change it, which customizations influence it and how safely the instance can be upgraded or restored.
86 </p>
87
88 <p>
89 A security review helps identify risks before they become incidents, upgrade blockers or maintenance
90 surprises. It also gives administrators a clearer view of the current state of the instance.
91 </p>
92
93 <h2 id="what-to-review">What should be reviewed</h2>
94
95 <h3>1. Version and upgrade status</h3>
96 <p>
97 The current XWiki version should be reviewed together with the target upgrade path, installed extensions
98 and infrastructure dependencies. An outdated instance is not only a maintenance concern. It can also mean
99 that security fixes, compatibility improvements and platform hardening are missing.
100 </p>
101
102 <p>
103 The review should also check whether upgrades are performed regularly or only when something breaks.
104 A repeatable upgrade process is part of the security posture of a long-running XWiki instance.
105 </p>
106
107 <p>
108 For more details on upgrade planning, see
109 <a href="$xwiki.getURL('resources.why-upgrade-xwiki')">why regular XWiki upgrades matter</a>.
110 </p>
111
112 <h3>2. Access rights and permission model</h3>
113 <p>
114 XWiki has a powerful access-rights system, but this flexibility needs a clear governance model. A review
115 should check who has administration rights, who has script or programming rights, whether rights are
116 assigned through groups, and whether page-level exceptions are still understandable.
117 </p>
118
119 <p>
120 It is also important to review inherited rights, public areas, restricted spaces, old groups, inactive
121 users and sensitive pages. Many permission problems do not come from one obvious mistake, but from years
122 of small exceptions that nobody reviewed later.
123 </p>
124
125 <h3>3. Authentication and identity management</h3>
126 <p>
127 Authentication should be reviewed beyond the simple question of whether users can log in. LDAP, Active
128 Directory, OIDC, SAML, SSO and MFA setups all need to be checked together with group synchronization,
129 fallback login options, local administrator accounts and recovery procedures.
130 </p>
131
132 <p>
133 SSO is useful, but it does not automatically guarantee a clean access model. Authentication confirms who
134 the user is. Authorization still depends on how XWiki groups and rights are configured.
135 </p>
136
137 <h3>4. Extensions and custom code</h3>
138 <p>
139 Installed extensions, custom applications, Velocity scripts, Groovy scripts, macros, sheets, templates,
140 UI extensions and Java components are all part of the security and maintenance surface of the instance.
141 </p>
142
143 <p>
144 A review should identify what is installed, what is customized, what is still used, what is documented and
145 what needs special validation during upgrades. Custom code should be tracked, explained and tested, not
146 discovered accidentally during an incident or a production upgrade.
147 </p>
148
149 <p>
150 Customizations should also be reviewed from a maintenance perspective. See
151 <a href="$xwiki.getURL('resources.xwiki-custom-development')">how to keep XWiki custom development maintainable across upgrades</a>.
152 </p>
153
154 <h3>5. Configuration, infrastructure and operations</h3>
155 <p>
156 The review should also cover the environment around XWiki: HTTPS and reverse proxy configuration, database
157 access, filesystem and attachment storage, mail configuration, PDF export services, logs, monitoring,
158 server access and separation between production and staging.
159 </p>
160
161 <p>
162 Backups should be reviewed together with restore expectations. A backup strategy is incomplete if nobody
163 knows what is included, how long recovery would take or whether the restore process has ever been tested.
164 </p>
165
166 <div class="resource-inline-cta">
167 <p>
168 <strong>Need a clearer view of your XWiki security posture?</strong>
169 A structured review can check versions, access rights, authentication,
170 extensions, custom code, infrastructure, backups and operational practices.
171 </p>
172 <a class="btn btn-secondary" href="$xwiki.getURL('contact.WebHome')">Request a security review</a>
173 </div>
174
175 <h2 id="security-checklist">XWiki security review checklist</h2>
176
177 <p>
178 A practical XWiki security review should cover both application-level and operational risks.
179 The following checklist can be used as a starting point when reviewing a production instance.
180 </p>
181
182 <ul class="resource-checklist">
183 <li>Check the current XWiki version, target version and upgrade path.</li>
184 <li>Review installed extensions, outdated components and unsupported customizations.</li>
185 <li>Audit administrator, script and programming rights.</li>
186 <li>Review groups, inherited permissions and page-level exceptions.</li>
187 <li>Validate authentication, SSO, MFA, fallback access and administrator recovery options.</li>
188 <li>Identify custom scripts, templates, macros, UI extensions and Java components.</li>
189 <li>Review public, internal and restricted areas.</li>
190 <li>Check infrastructure, HTTPS, reverse proxy, database, filesystem and mail configuration.</li>
191 <li>Confirm backup coverage, restore expectations and rollback procedures.</li>
192 <li>Document findings and prioritize remediation actions.</li>
193 </ul>
194
195 <h2 id="review-output">What the review should produce</h2>
196
197 <p>
198 A useful security review should not only produce a list of detected problems. It should produce a practical action
199 plan. Each finding should explain the risk, the affected area, the recommended action and the priority.
200 </p>
201
202 <p>
203 Some findings may require immediate action, such as exposed administration rights or unsafe fallback
204 access. Others may become planned improvements, such as cleaning old groups, documenting custom code,
205 reviewing extensions or preparing the next upgrade.
206 </p>
207
208 <div class="resource-note">
209 <p>
210 <strong>A useful review should separate findings by priority:</strong> immediate risks,
211 planned remediation, maintenance improvements and documentation gaps. This makes the result
212 easier to act on instead of producing a generic list of observations.
213 </p>
214 </div>
215
216 <p>
217 The best outcome is a clearer, safer and more maintainable XWiki instance: one where administrators
218 understand the access model, critical features are documented and future upgrades can be planned with
219 fewer surprises.
220 </p>
221
222 <h2 id="when-to-review">When should an XWiki security review be done?</h2>
223
224 <p>
225 A review is especially useful before a major upgrade, after years of organic growth, after an authentication
226 change, before exposing the instance more broadly, after a migration, or when the wiki becomes more
227 business-critical than it was when first installed.
228 </p>
229
230 <p>
231 It is also useful when administration responsibilities change. A new team should not have to guess how
232 permissions, extensions, customizations and recovery procedures were configured years earlier.
233 </p>
234
235 <h2 id="security-review-faq">XWiki security review FAQ</h2>
236
237 <h3>What should an XWiki security review include?</h3>
238 <p>
239 An XWiki security review should include the installed XWiki version, upgrade path,
240 access rights, groups, authentication setup, installed extensions, custom code,
241 infrastructure, backups, restore expectations and operational procedures.
242 </p>
243
244 <h3>Is an updated XWiki instance automatically secure?</h3>
245 <p>
246 No. Updating XWiki is important, but security also depends on permissions,
247 authentication, extensions, custom code, infrastructure configuration, backups
248 and how the instance is maintained.
249 </p>
250
251 <h3>Does SSO solve XWiki access control?</h3>
252 <p>
253 No. SSO helps authenticate users, but access control still depends on XWiki groups,
254 inherited permissions, page-level rights and administrative privileges.
255 </p>
256
257 <h3>Why should custom code be reviewed?</h3>
258 <p>
259 Custom scripts, templates, macros, UI extensions and Java components can affect
260 permissions, workflows, rendering, integrations and upgrade behavior. They should
261 be identified, documented and tested.
262 </p>
263
264 <h3>When should an XWiki security review be done?</h3>
265 <p>
266 A review is useful before a major upgrade, after years of organic growth, after
267 authentication changes, before exposing the wiki more broadly, or when the instance
268 becomes business-critical.
269 </p>
270
271 <div class="resource-note">
272 <p>
273 Related resources:
274 <a href="$xwiki.getURL('resources.why-upgrade-xwiki')">why regular XWiki upgrades matter</a>
275 and
276 <a href="$xwiki.getURL('resources.xwiki-custom-development')">how to keep XWiki custom development maintainable across upgrades</a>.
277 </p>
278 </div>
279
280 <div class="resource-cta">
281 <h3>Need an XWiki security review?</h3>
282 <p>
283 If your XWiki instance has grown over time, contains sensitive content, uses custom code or depends on
284 SSO, extensions and business-critical workflows, a structured review can help identify risks and define
285 the safest next steps.
286 </p>
287 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request a security review</a>
288 </div>
289
290 </article>
291
292 </div>
293 </div>
294 </section>
295
296 <script type="application/ld+json">
297 {
298 "@context": "https://schema.org",
299 "@type": "FAQPage",
300 "mainEntity": [
301 {
302 "@type": "Question",
303 "name": "What should an XWiki security review include?",
304 "acceptedAnswer": {
305 "@type": "Answer",
306 "text": "An XWiki security review should include the installed XWiki version, upgrade path, access rights, groups, authentication setup, installed extensions, custom code, infrastructure, backups, restore expectations and operational procedures."
307 }
308 },
309 {
310 "@type": "Question",
311 "name": "Is an updated XWiki instance automatically secure?",
312 "acceptedAnswer": {
313 "@type": "Answer",
314 "text": "No. Updating XWiki is important, but security also depends on permissions, authentication, extensions, custom code, infrastructure configuration, backups and how the instance is maintained."
315 }
316 },
317 {
318 "@type": "Question",
319 "name": "Does SSO solve XWiki access control?",
320 "acceptedAnswer": {
321 "@type": "Answer",
322 "text": "No. SSO helps authenticate users, but access control still depends on XWiki groups, inherited permissions, page-level rights and administrative privileges."
323 }
324 },
325 {
326 "@type": "Question",
327 "name": "Why should custom code be reviewed in XWiki?",
328 "acceptedAnswer": {
329 "@type": "Answer",
330 "text": "Custom scripts, templates, macros, UI extensions and Java components can affect permissions, workflows, rendering, integrations and upgrade behavior. They should be identified, documented and tested."
331 }
332 },
333 {
334 "@type": "Question",
335 "name": "When should an XWiki security review be done?",
336 "acceptedAnswer": {
337 "@type": "Answer",
338 "text": "A review is useful before a major upgrade, after years of organic growth, after authentication changes, before exposing the wiki more broadly, or when the instance becomes business-critical."
339 }
340 }
341 ]
342 }
343 </script>
344
345 {{/html}}
346 {{/velocity}}