Hey Joel, good questions

As a first thought, my experience with customers in large corporate
environments probably has me somewhat jaded :). You know it really
shouldn't take 3 weeks to get ports opened on a load balancer, but, that
really does happen. Coordination across those teams also can and should /
does happen but I've noted that operators appreciate measures they can take
that keep them out of more internal process.

1) Yes probably. After all we're really just checking what's returned from
InetAddress and trusting that. The check is pretty lightweight. I think
what you are getting at is that a security check that doesn't go all the
way can be bad as it can engender a false sense sense of security and end
up leaving the system more vulnerable to attack than if other, more
standard, approaches are taken. This is a fair point. I'm not deep enough
into network security to comment all that intelligently but I do think that
reducing the exposure to say, IP spoofing on internal traffic vs
free-for-all data consumption is a step in the right direction.

2) Yes they may have access to this, and it could be redundant. On
customers that I interface with, operators typically get their root-level
privileges through something like PowerBroker, so access to IPTables is not
a given, and even if it's available typically does not fall within their
realm of accepted responsibilities. Additionally, when I first got this
request I suggested IPTables and was told that due to the difficulties and
complexities of configuration and management (from their perspective) that
it would not be an acceptable solution (also the "it's not in the corporate
standard" line)

I noted in the KIP that I look at this not only as a potential security
measure by reducing attack vector size but also as a guard against human
error. Hardcoded configs sometimes make their way all the way to production
and this would help to limit that.

You could argue that it might not be Kafka's responsibility to enforce this
type of control, but there is precedence here with HDFS (dfs.hosts and
dfs.hosts.exclude) and Flume (*https://issues.apache.org/jira/browse/FLUME-2189
<https://issues.apache.org/jira/browse/FLUME-2189>*).

In short, I don't think that this supplants more robust security
functionality but I do think it gives an additional (lightweight) control
which would be useful. Security is about defense in depth, and this raises
the bar a tad.

Thanks

Jeff

On Tue, Mar 3, 2015 at 8:58 PM, Joel Koshy <jjkosh...@gmail.com> wrote:

> The proposal itself looks reasonable, but I have a couple of
> questions as you made reference to "operators of the system; and
> network team" in your wiki.
>
> - Are spoofing attacks a concern even with this in place? If so, it
>   would require some sort of internal ingress filtering which
>   presumably need cooperation with network teams right?
> - Also, the operators of the (Kafka) system really should have access
>   to iptables on the Kafka brokers so wouldn't this feature be
>   effectively redundant?
>
> Thanks,
>
> Joel
>
> On Thu, Jan 22, 2015 at 01:50:41PM -0500, Joe Stein wrote:
> > Hey Jeff, thanks for the patch and writing this up.
> >
> > I think the approach to explicitly deny and then set what is allowed or
> > explicitly allow then deny specifics makes sense. Supporting CIDR
> notation
> > and ip4 and ip6 both good too.
> >
> > Waiting for KAFKA-1845 to get committed I think makes sense before
> > reworking this anymore right now, yes. Andrii posted a patch yesterday
> for
> > it so hopefully in the next ~ week(s).
> >
> > Not sure what other folks think of this approach but whatever that is
> would
> > be good to have it in prior to reworking for the config def changes.
> >
> > /*******************************************
> >  Joe Stein
> >  Founder, Principal Consultant
> >  Big Data Open Source Security LLC
> >  http://www.stealth.ly
> >  Twitter: @allthingshadoop <http://www.twitter.com/allthingshadoop>
> > ********************************************/
> >
> > On Wed, Jan 21, 2015 at 8:47 PM, Jeff Holoman <jholo...@cloudera.com>
> wrote:
> >
> > > Posted a KIP for IP Filtering:
> > >
> > >
> > >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-7+-+Security+-+IP+Filtering
> > >
> > > Relevant JIRA:
> > > https://issues.apache.org/jira/browse/KAFKA-1810
> > >
> > > Appreciate any feedback.
> > >
> > > Thanks
> > >
> > > Jeff
> > >
>
>


-- 
Jeff Holoman
Systems Engineer

Reply via email to