[
https://issues.apache.org/jira/browse/ACCUMULO-1009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13771404#comment-13771404
]
Christopher Tubbs commented on ACCUMULO-1009:
---------------------------------------------
{quote}I think we have a pretty graceful path at this point.{quote}
Agreed.
{quote}There's absolutely nothing preventing you from provisioning certs the
way you know how, assuming you already know how and you happen to have an
intermediate cert handy.{quote}
No (so long as you're making it configurable... and I think we're on the same
page on that), there's nothing preventing you from doing that. But, by
providing a "security on" button, you're encouraging users to not even think
about security by creating an easy button (like your proposed "bin/accumulo
init-ssl") that presumably implements some sort of security without thinking
about what kind of security, what protections it offers, and what risks it
mitigates. This is a bad precedent, and it feels like your coding to developers
(like us, for ease in testing) rather than users... either that, or users who
want security but really don't know what they're doing and who just want the
comfort of "security" (not a good target audience to cater to, as a rule).
Besides, you're *not* doing end users any favors by providing an "easy button"
for security. Anybody whose first experience with certificate management and
provisioning is with this "easy button", will have to learn it all over again
when they use SSL in *any other Java application*, and users who do have the
experience will want to configure the details themselves, to ensure they are
set up correctly (or they'll learn an unnecessary shortcut).
The short of it is that Accumulo should not be in the business of provisioning
or managing certificates. We should make it easy to configure and use whatever
certificates user provide, and any external convenience provisioning software
should be left as an external tool, because that's outside the scope of
Accumulo (just as its outside the scope of Tomcat, Apache Web Server, Jetty,
JBoss, Thrift, and any other SSL-capable application).
The best thing for provisioning is to simply document how one might provision
certificates... perhaps as a sequence of keytool or openssl commands. That way,
it's clear to users that Accumulo's security isn't anything special or custom
or novel. It's simply leveraging the same kinds of security that is available
to them in other applications... the same that they may already understand, or
that is well documented, or that they can get help with on StackOverflow or the
countless message boards.
I can certainly get behind an external tool to help provision certificates for
an entire cluster... I'd probably use something like that, but I think that's
way outside the scope of Accumulo.
I know it seems like it, but I'm really not trying to argue for the rougher
path for end users. I want things to go easy for them, too. But, I don't want
them to have to re-learn custom things, and I don't want compromise security by
automating security considerations that are necessary when provisioning
certificates. I also don't want our public API and configuration to reflect our
internal needs for development and testing, instead of the end-user's needs. I
also want to protect against bloat, and the tendency to try to make software do
all the things.
{quote}And as Michael Allen says above, there are definitely security and
operational reasons for wanting a separate trust tree for your accumulo
deployment.{quote}
I don't disagree. This is not an argument against that use case... I concede
the utility and convenience of that. I do not concede that we should provide
tools for provisioning that type of certificate chain and encourage users to
turn on security "auto-magically" with an "easy button".
{quote}no way for you to tell it to use an external config source{quote}
That's not quite true. MiniAccumuloConfig accepts a map of keys to values, for
configuration elements, which mimics the accumulo-site.xml file. It's
relatively trivial to construct this map from any arbitrary external source.
Provisioning certs is not part of regular Accumulo initialization, and it
shouldn't be part of MAC's initialization.
> Support encryption over the wire
> --------------------------------
>
> Key: ACCUMULO-1009
> URL: https://issues.apache.org/jira/browse/ACCUMULO-1009
> Project: Accumulo
> Issue Type: New Feature
> Reporter: Keith Turner
> Assignee: Michael Berman
> Fix For: 1.6.0
>
> Attachments: ACCUMULO-1009_thriftSsl.patch
>
>
> Need to support encryption between ACCUMULO clients and servers. Also need
> to encrypt communications between server and servers.
> Basically need to make it possible for users to enable SSL+thrift.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira