We are using the default algorithm provided by JDK and the proposed
parameter is made boolean as there is no foresee for using different
algorithms. I have the PR#2346[1] for review.

[1] https://github.com/apache/geode/pull/2346

On Fri, Aug 17, 2018, 8:50 AM Jacob Barrett <jbarr...@pivotal.io> wrote:

> Are we implementing the identification algorithm ourself or using one
> provided by setting that algorithm property? If we are implementing our own
> or just setting the algorithm to HTTPS and don’t foresee us using the LDAPS
> then a Boolean is sufficient. There isn’t really a whole lot different
> between the two algorithms by scanning the RFCs. The HTTPS algorithm is a
> bit more defined and covers IP addresses. The LDAPS has language explicitly
> denying DNS resolution in the process. I can’t imagine why we would use the
> LDAPS algorithm.
>
>
> > On Aug 17, 2018, at 8:11 AM, Sai Boorlagadda <sai.boorlaga...@gmail.com>
> wrote:
> >
> > Thanks, Jake for the feedback.
> >
> > The reason for endpoint-identification in the parameter name is to be
> > aligned with JDK. So maybe making it as
> > 'ssl-endpoint-identification-enabled' would have been less confusing.
> > I also want to bring to notice that in JDK its a string property in
> > SSLParameters.setEndpointIdentificationAlgorithm(String algorithm) -
> which
> > I believe takes HTTPS or LDAPS.
> >
> > Not sure if Geode has plans to support LDAPS, in which case I would
> rather
> > change the proposal to have a string parameter.
> >
> > But for now I like your suggestion about making it read like "is
> > ssl endpoint identification enabled?"
> >
> > Sai
> >
> >> On Fri, Aug 17, 2018 at 6:38 AM Jacob Barrett <jbarr...@pivotal.io>
> wrote:
> >>
> >> My biggest concern now is the name of the property to enable this.
> >> 'ssl-enabled-endpoint-identification' in no way suggests any kind of
> >> validation. The word identification implies to me that it will identify
> and
> >> maybe log endpoints. I would change that to validation or some other
> term
> >> that implies the actual action the system intends to make when enabled.
> >>
> >> Secondly I find the order of the words confusing. Is it ssl that is
> being
> >> enabled or endpoint identification?
> >>
> >> I would suggest ‘ssl-hostname-validation-enabled’ or some variant of
> that.
> >> First off this reads like a natural English sentence, “is ssl host name
> >> validation enabled?” Secondly the action “host validation” implies an
> >> assertion is being made about the validity of the hosts name.
> >>
> >> -Jake
> >>
> >>
> >>> On Aug 14, 2018, at 10:00 AM, Anthony Baker <aba...@pivotal.io> wrote:
> >>>
> >>> What if we require certs to have correct hostnames and automatically
> >> perform hostname verification.  No property required.  The only counter
> >> argument I can think of is that this change might require users to
> >> regenerate certificates when upgrading.  Perhaps we start by logging a
> >> warning for N releases, then make HN verification a hard requirement.
> >>>
> >>> Anthony
> >>>
> >>>
> >>>> On Aug 14, 2018, at 8:59 AM, Jacob Barrett <jbarr...@pivotal.io>
> wrote:
> >>>>
> >>>> On Tue, Aug 14, 2018 at 7:47 AM Sai Boorlagadda <
> >> sai_boorlaga...@apache.org>
> >>>> wrote:
> >>>>
> >>>>> Geode currently does not implement hostname verification and is
> >> probably
> >>>>> not required per TLS spec. But it can be supported on TLS as an
> >> additional
> >>>>> check. The new proposed[1] implementation to use the default SSL
> >> context
> >>>>> could cause certain man-in-the-middle attacks possible if there is no
> >>>>> hostname verification.
> >>>>
> >>>>
> >>>> The current SSL implementation is also susceptible to
> man-in-the-middle
> >> as
> >>>> well. This proposal is really independent of those proposed changes.
> >>>>
> >>>>
> >>>>> This is a proposal to add a new boolean SSL property
> >>>>> `ssl-enable-endpoint-identification` which enables hostname
> >> verification
> >>>>> for secure connections.
> >>>>
> >>>>
> >>>> Are you proposing that we ship a custom trust manager that verifies
> >> hosts
> >>>> on all TLS connections? I would rather shy away from yet another
> >> confusing
> >>>> SSL property. Is there a proposed why for consumers to provide their
> own
> >>>> trust manager and host verification process? If so, I assume that is
> yet
> >>>> another property, can we merge those properties somehow?
> >>>>
> >>>> At this point with all theses system properties can we come up with a
> >>>> better way to configure SSL?
> >>>>
> >>>> -Jake
> >>>
> >>
>

Reply via email to