[infinispan-issues] [JBoss JIRA] (ISPN-7811) Improve out-of-the-box server security in cloud

Galder Zamarreño (JIRA) issues at jboss.org
Mon May 8 09:22:00 EDT 2017


Galder Zamarreño created ISPN-7811:
--------------------------------------

             Summary: Improve out-of-the-box server security in cloud
                 Key: ISPN-7811
                 URL: https://issues.jboss.org/browse/ISPN-7811
             Project: Infinispan
          Issue Type: Enhancement
          Components: Security, Server
    Affects Versions: 9.0.0.Final
            Reporter: Galder Zamarreño
            Assignee: Galder Zamarreño
             Fix For: 9.1.0.Final, 9.0.1.Final


When running Infinispan 9.0.0.Final in a cloud env, the default security code enforcements are causing issues when trying to register a proto file.

The "___protobuf_metadata" cache cannot be written remotely any more. Accessing this cache to add protofile descriptors to server. The default configuration throws this error:

{code}
[datagrid-1-akxoi]
[datagrid-1-akxoi] 12:15:56,602 ERROR [org.infinispan.server.hotrod.CacheDecodeContext] (HotRod-ServerWorker-4-2) ISPN005003: Exception reported: org.infinispan.server.hotrod.RequestParsingException: Remote requests are allowed to protected caches only over loopback or if authorization is enabled. Do no send remote requests to cache '___protobuf_metadata'
[datagrid-1-akxoi] at org.infinispan.server.hotrod.CacheDecodeContext.obtainCache(CacheDecodeContext.java:116)
[datagrid-1-akxoi] at org.infinispan.server.hotrod.HotRodDecoder.decodeHeader(HotRodDecoder.java:162)
[datagrid-1-akxoi] at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.java:93)
{code}

The code in CacheDecodeContext that enables this check does the following:

{code}
if (!cacheManager.getCacheManagerConfiguration().security().authorization().enabled()...
{code}

In order to have better out-of-the-box experience in cloud but still be secured, the following should be done:

* Remove the code check for authorization in CacheDecodeContext.
* Server's default configuration should require authentication.
* Docker image allows passing in APP_USER and APP_PASS as env variables easily, but it provides default usernames and passwords for both APP and MGMT. These defaults should be removed since they're a security risk.
* Docker image should have the possibility to set APP_GROUPS so that we can pass in optionally the role groups associated with a user. This is handy for making it easier in the future for users to add authorization on top of authentication.

I will create JIRA subtasks for these so that the work can be divided.



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)



More information about the infinispan-issues mailing list