Page MenuHomePhabricator

Move netflow to TLS encryption/authentication via librdkafka
Closed, ResolvedPublic

Description

Netflow is currently pushing data from all datacenters to Kafka-Jumbo without TLS. Since pmacct runs in every DC now and is able (via librkafka) to use TLS towards Kafka, I propose the following:

  1. enable TLS encryption to Kafka Jumbo
  2. create a TLS certificate via cergen (puppet CA), like we did for varnishkafka, to authenticate all pmacct to Kafka
  3. Kafka ACLs to allow only pmacct to push data to Kafka Jumbo

Event Timeline

We could start with TLS encryption only, with:

security.protocol=SSL
ssl.ca.location=/etc/ssl/certs/Puppet_Internal_CA.pem
ssl.cipher.suites=ECDHE-ECDSA-AES256-GCM-SHA384
ssl.curves.list=P-256
ssl.sigalgs.list=ECDSA+SHA256

Mentioned in SAL (#wikimedia-operations) [2020-04-01T12:17:31Z] <XioNoX> restart nfacct on netflow4001 for kafka tls tests - T248980

Change 585223 had a related patch set uploaded (by Elukey; owner: Elukey):
[operations/puppet@production] Enable TLS encryption to Kafka Jumbo for netflow4001

https://gerrit.wikimedia.org/r/585223

Change 585223 merged by Elukey:
[operations/puppet@production] Enable TLS encryption to Kafka Jumbo for netflow4001

https://gerrit.wikimedia.org/r/585223

Change 585234 had a related patch set uploaded (by Elukey; owner: Elukey):
[operations/puppet@production] profile::pmacct: use kafka TLS connection string when needed

https://gerrit.wikimedia.org/r/585234

Change 585234 merged by Elukey:
[operations/puppet@production] profile::pmacct: use kafka TLS connection string when needed

https://gerrit.wikimedia.org/r/585234

Change 585255 had a related patch set uploaded (by Elukey; owner: Elukey):
[operations/puppet@production] Enable TLS encryption to Kafka Jumbo for all pmacct instances

https://gerrit.wikimedia.org/r/585255

elukey triaged this task as High priority.Apr 1 2020, 4:24 PM
elukey added a project: Analytics-Kanban.
elukey moved this task from Next Up to In Progress on the Analytics-Kanban board.

Change 585255 merged by Elukey:
[operations/puppet@production] Enable TLS encryption to Kafka Jumbo for all pmacct instances

https://gerrit.wikimedia.org/r/585255

For the moment I am happy with TLS encryption only, since we'll probably move to kerberos authentication soon and it doesn't make much sense to do TLS client auth first.

elukey moved this task from In Progress to Done on the Analytics-Kanban board.