Benoit Tellier created JAMES-4158:
-------------------------------------

             Summary: IMAP: admin impersonation on dedicated ports
                 Key: JAMES-4158
                 URL: https://issues.apache.org/jira/browse/JAMES-4158
             Project: James Server
          Issue Type: Improvement
          Components: IMAPServer
            Reporter: Benoit Tellier


As off today we allow configuring an administrator into usersrepository.xml

This administrator can impersonnate for both IMAP and SMTP any users.

This is very useful for:
 - Migration, as it is compatible with IMAP sync and do not require to have 
access to all users credentials
 - Administrators, when doing support, eg helping on folder subscriptions.

While convenient, it is nonetheless dangerous as those creds are operational on 
publicly exposed interface. This means that, eg an admin leaving the 
organisation would still retain impersonnation god-like access, and credential 
rotation is needed in emergency.

h3. Goal

Limit admin user impersonnation to *private* interfaces. Allow not to expose it 
onto public IMAP endpoints.

That way in the aforementioned exemple radiation from the VPN is enough to 
immediately revoke access for the ex-admin. While still very beneficial, the 
rotation of the credential is not to be done in an emergency fashion.

h3. What

Be able to configure in imapserver.xml, on a per port fashion the list of 
allowed users eg:

{code:java}
<auth>
  <adminUsers>[email protected]</adminUsers>
</auth>
{code}

h3. How?

We can use ImapConfiguration POJO to cary this information ahead as it is per 
imapServer specific and not global.

We would need to "overload" the main authorizator with protocol specific logic.

h3. Alternative

This implementation is hardly implemented in a separate vendor specific 
extension as:
 - IMAPConfiguration POJO is static and adding custom fields is not supported.
 - Ability to overload the Authorizator is still a need
Given those two blockers lifted this could be implemented in a LINAGORA 
specific code base.

On a personal note I believe this proposition to be very benefic to other 
members of the community and thus would like it to land in the James code base.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to