Is there a way of protecting a namespace from reading by anonymous users?
Fragment of a discussion from Project:Support desk
According to the release notes for 1.18, "$wgGroupPermissions now supports per namespace permissions." Using that I assume you could give set read to false for * on specific namespaces. Manual:$wgGroupPermissions doesn't say how to do this though.
I'm not sure, but some of the Security issues with authorization extensions may come up here. You should probably at least make use of $wgNonincludableNamespaces, so that pages from the namespace can't be transcluded on an editable page.
For now, please see Manual:Preventing_access#Restrict_viewing_of_certain_specific_pages.