I’m certain that I can make the “adapter” for elastic too.   and the adapter 
compatible with HBase for those that want hbase (for other reasons).  Sorry 
that I was not clear about that.

SCott
Scott C. Cote
scottcc...@gmail.com
972.900.1561

twitter: @scottccote



> On Nov 13, 2018, at 5:51 PM, Michael Miklavcic <michael.miklav...@gmail.com> 
> wrote:
> 
> Hey Scott, Solr is an install option, not a hard requirement. Users can
> also choose Elasticsearch currently. HBase is the only option we currently
> provide for streaming enrichments, ie we can depend on it being there for
> every install.
> 
> On Tue, Nov 13, 2018, 4:31 PM Scott C. Cote <scottcc...@gmail.com wrote:
> 
>> Simon,
>> 
>> Since ya’ll are going to have SOLR in your installation (is this still
>> true?), I could make the profile system rely upon SOLR instead of HBASE.
>> At Lucidworks, I did this very thing with proprietary code, but I can make
>> an adapter so the binaries can be stored in SOLR of arbitrary size.  We
>> have chatted briefly about this in Slack.   Am trying to stabilize the
>> employment situation, so that’s why I have not made any progress.
>> 
>> Is there still interest here?
>> 
>> SCott
>> Scott C. Cote
>> scottcc...@gmail.com
>> 972.900.1561
>> 
>> twitter: @scottccote
>> 
>> 
>> 
>>> On Nov 13, 2018, at 5:02 PM, Simon Elliston Ball <
>> si...@simonellistonball.com> wrote:
>>> 
>>> We went over the hbase user settings thing on extensive discussions at
>> the time. Storing an arbitrary blob of JSON which is only ever accessed by
>> a single key (username) was concluded to be a key value problem, not a
>> relational problem. Hbase was concluded to be massive overkill as a key
>> value store in this usecase, unless it was already there and ready to go,
>> which in the case of Metron, it is, for enrichments, threat intel and
>> profiles. Hence it ended up in Hbase, as a conveniently present data store
>> that matched the usage patterns. See
>> https://lists.apache.org/thread.html/145b3b8ffd8c3aa5bbfc3b93f550fc67e71737819b19bc525a2f2ce2@%3Cdev.metron.apache.org%3E
>> and METRON-1337 for discussion.
>>> 
>>> Simon
>>> 
>>>> On 13 Nov 2018, at 18:50, Michael Miklavcic <
>> michael.miklav...@gmail.com> wrote:
>>>> 
>>>> Thanks for the write up Simon. I don't think I see any major problems
>> with
>>>> deprecating the general sql store. However, just to clarify, Metron does
>>>> NOT require any specific backing store. It's 100% JPA, which means
>> anything
>>>> that can be configured with the Spring properties we expose. I think the
>>>> most opinionated thing we do there is ship an extremely basic table
>>>> creation script for h2 and mysql as a simple example for schema. As an
>>>> example, we simply use H2 in full dev, which is entirely in-memory and
>> spun
>>>> up automatically from configuration. The recent work by Justin Leet
>> removes
>>>> the need to use a SQL store at all if you choose LDAP -
>>>> https://github.com/apache/metron/pull/1246. I'll let him comment
>> further on
>>>> this, but I think there is one small change that could be made via a
>> toggle
>>>> in Ambari that would even eliminate the user from seeing JDBC settings
>>>> altogether during install if they choose LDAP. Again, I think I'm on
>> board
>>>> with deprecating the SQL backing store as I pointed this out on the Knox
>>>> thread as well, but I just wanted to make sure everyone has an accurate
>>>> picture of the current state.
>>>> 
>>>> I had to double check on the HBase config you mentioned, but it does
>> appear
>>>> that we use it for the Alerts UI. I don't think I realized we were
>> storing
>>>> config there instead of the Zookeeper store we use for other system
>>>> configuration. Ironically enough, I think that it probably makes more
>> sense
>>>> than the current auth info to store in a traditional sql store, however
>>>> it's in HBase currently so it's a non-issue wrt SQL/JPA either way, as
>> you
>>>> pointed out.
>>>> 
>>>> Whatever architectural changes we choose to add here, I think we need to
>>>> emphasize pluggability regardless of the specific implementation. That
>> is
>>>> to say, I don't think we should make a hard requirement on Knox, in
>> order
>>>> to get LDAP, in order to deprecate an optional general SQL backing
>> store.
>>>> It makes sensible defaults if that's where we want to go, which is the
>> way
>>>> we have done things for most of the successful features I've seen in
>>>> Metron. Provide all the options should a user desire them, but abstract
>>>> away the complexity in the UIs.
>>>> 
>>>> Best,
>>>> Mike
>>>> 
>>>> 
>>>> On Tue, Nov 13, 2018 at 5:42 AM Simon Elliston Ball <
>>>> si...@simonellistonball.com> wrote:
>>>> 
>>>>> I've been coming across a number of organisations who are blocked from
>>>>> installing Metron by the MySQL auth database.
>>>>> 
>>>>> The main problems with our MySQL default are:
>>>>> 
>>>>> * What? Un-ecrypted passwords?!? - which frankly is embarrassing in a
>>>>> security platform and usually where the deployment conversation ends
>> for me
>>>>> * MySQL install varies from platform to platform
>>>>> * An additional database to manage, backup, etc. so now I have to talk
>> to a
>>>>> DBA
>>>>> * Harder to maintain HA for this without externalising and fighting
>> against
>>>>> our defaults
>>>>> * There are a lot of dependencies for just storing a table of users
>>>>> (Eclipse Link, JPA, the MySQL server and the need to get clients
>> installed
>>>>> and pushed separately because of licence requirements)
>>>>> * Organisations don't want to have to manage yet another user source of
>>>>> truth since this leads to operational complexity.
>>>>> 
>>>>> In short, managing our own user store makes very little sense to
>> operations
>>>>> users.
>>>>> 
>>>>> Some of these (licence and inconsistency for example) could be solved
>> by
>>>>> changing our default DB to something like Postgres, which has easier
>> terms
>>>>> to deal with. We could start encrypting passwords, but there would
>> still be
>>>>> a lot of dependencies to store users, which is a problem much better
>> solved
>>>>> by LDAP.
>>>>> 
>>>>> Now that we have the option to use LDAP for user storage, I would
>> suggest
>>>>> that we deprecate and ultimately remove all the RDBMS and ORM
>> dependencies,
>>>>> which significantly reduces our dependencies and simplifies deployment
>> and
>>>>> long term management of Metron clusters.
>>>>> 
>>>>> So I propose that we deprecate the RDBMS use in the next Apache
>> release,
>>>>> and then strip out the RDBMS stuff in the following. We would continue
>> to
>>>>> use LDAP for users and HBase for non-LDAPy user settings (as we
>> currently
>>>>> do). We should also provide a small demo LDAP for full dev. Since we
>> are
>>>>> looking at adding Knox into the stack, that project provides a
>> convenient
>>>>> mini-LDAP demo service which would do this job without the need to add
>>>>> additional components.
>>>>> 
>>>>> Thoughts? Anyone relying on MySQL for users (if so, are you aware that
>> your
>>>>> passwords are all plaintext? How do you currently handle the
>> shortcomings
>>>>> and admin overhead?) Any objections?
>>>>> 
>>>>> Simon
>>>>> 
>> 
>> 

Reply via email to