ICT:Account protection: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
{{DISPLAYTITLE:Account | {{DISPLAYTITLE:Access Control & Account Security}} | ||
__TOC__ | __TOC__ | ||
== Overview == | == Infrastructure Overview == | ||
This | This wiki is configured as a '''Private Research Platform'''. Access is managed via a "Deny-by-Default" policy, using MediaWiki core permissions for global locks and the [[Extension:Lockdown]] for granular namespace security. | ||
== | == 1. System Account Security == | ||
* '''MediaWiki default:''' | |||
** Status: Internal System User. | |||
** Security: No password exists; interactive login is impossible. | |||
** Role: Attributes automated software edits. | |||
* '''Sysop Accounts:''' | |||
** Status: Human Administrators. | |||
** Security: Password protected. Managed via [[Special:ListUsers/sysop]]. | |||
== | == 2. Global Hardening (LocalSettings.php) == | ||
The following core settings enforce the private nature of the wiki: | |||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
# Disable public access and registration | |||
$wgGroupPermissions['*']['read'] = false; | |||
$wgGroupPermissions['*']['edit'] = false; | |||
$wgGroupPermissions['*']['createaccount'] = false; | $wgGroupPermissions['*']['createaccount'] = false; | ||
= | # The Whitelist: Essential for the Login Screen | ||
# Without these, the login page becomes inaccessible (Loop Error) | |||
$wgWhitelistRead = [ | |||
"Special:UserLogin", | |||
"MediaWiki:Common.css", | |||
"MediaWiki:Common.js" | |||
]; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== 3. Namespace Lockdown Logic == | |||
While `$wgGroupPermissions` locks the door, [[Extension:Lockdown]] manages the internal rooms. | |||
* '''ICT: Namespace:''' Restricted to the `sysop` group. | |||
* '''Research/Dashboard Namespaces:''' Access granted to `user` (fellows) and `sysop`. | |||
* '''Sysop Rights:''' As per [https://www.mediawiki.org Lockdown documentation], sysops retain visibility across all restricted namespaces unless explicitly revoked. | |||
== Successor | == 4. Successor Checklist == | ||
# ''' | # '''Emergency Access:''' If locked out, set `$wgGroupPermissions['*']['read'] = true;` temporarily in LocalSettings.php. | ||
# ''' | # '''New Namespaces:''' Any new namespace created for research must be added to the Lockdown array to remain private. | ||
# ''' | # '''Auditing:''' Use [[Special:ListUsers]] monthly to ensure no "shadow" human accounts have been created. | ||
[[Category:ICT Documentation]] | [[Category:ICT Documentation]] | ||
[[Category:Security Operations]] | [[Category:Security Operations]] | ||
Revision as of 18:23, 9 February 2026
Infrastructure Overview
This wiki is configured as a Private Research Platform. Access is managed via a "Deny-by-Default" policy, using MediaWiki core permissions for global locks and the Extension:Lockdown for granular namespace security.
1. System Account Security
- MediaWiki default:
- Status: Internal System User.
- Security: No password exists; interactive login is impossible.
- Role: Attributes automated software edits.
- Sysop Accounts:
- Status: Human Administrators.
- Security: Password protected. Managed via Special:ListUsers/sysop.
2. Global Hardening (LocalSettings.php)
The following core settings enforce the private nature of the wiki:
# Disable public access and registration
$wgGroupPermissions['*']['read'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createaccount'] = false;
# The Whitelist: Essential for the Login Screen
# Without these, the login page becomes inaccessible (Loop Error)
$wgWhitelistRead = [
"Special:UserLogin",
"MediaWiki:Common.css",
"MediaWiki:Common.js"
];
3. Namespace Lockdown Logic
While `$wgGroupPermissions` locks the door, Extension:Lockdown manages the internal rooms.
- ICT: Namespace: Restricted to the `sysop` group.
- Research/Dashboard Namespaces: Access granted to `user` (fellows) and `sysop`.
- Sysop Rights: As per Lockdown documentation, sysops retain visibility across all restricted namespaces unless explicitly revoked.
4. Successor Checklist
- Emergency Access: If locked out, set `$wgGroupPermissions['*']['read'] = true;` temporarily in LocalSettings.php.
- New Namespaces: Any new namespace created for research must be added to the Lockdown array to remain private.
- Auditing: Use Special:ListUsers monthly to ensure no "shadow" human accounts have been created.