juju internal use of rsyslog should use ssl/tls for aggregation

Bug #1281071 reported by Kapil Thangavelu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
juju-core
Fix Released
High
Andrew Wilkins

Bug Description

at the moment its just sending potentially all kinds of interesting data in clear text over the network. specifically in the maas context there are potentially attackers listening.

Related branches

Curtis Hovey (sinzui)
Changed in juju-core:
status: New → Triaged
importance: Undecided → High
milestone: none → 2.0
Andrew Wilkins (axwalk)
Changed in juju-core:
assignee: nobody → Andrew Wilkins (axwalk)
status: Triaged → In Progress
Revision history for this message
Andrew Wilkins (axwalk) wrote :

I've manually hacked up an environment by following the instructions at http://www.rsyslog.com/doc/rsyslog_secure_tls.html.

I got stuck for a long time because GnuTLS apparently won't run a server with the certs we generate for mongo. I'll have to dig into that, because we'll probably want to use a similar method to generate the certificates for rsyslogd.

Curtis Hovey (sinzui)
Changed in juju-core:
milestone: 2.0 → 1.18.0
Revision history for this message
Andrew Wilkins (axwalk) wrote :

Got to the bottom of it. Our code for generating certificates is wrong: we specify the certificate's x509 Key Usage as "data encipherment". This is wrong: TLS does not use certificates to encipher the data stream, it uses them to (a) prove identity, (b) encipher keys, and (b) perform key agreement/establishment. Later, symmetric encryption is used to encrypt the data stream.

The Key Usage should be: digital signature + key encipherment + key agreement. Alternatively, we can just use the serverAuth Extended Key Usage (which is what I'll change it to do).

Revision history for this message
Andrew Wilkins (axwalk) wrote :

There's a problem with rsyslog that prevents listening on privileged ports: https://bugs.launchpad.net/ubuntu/+source/rsyslog/+bug/789174

Thus, I have changed the default port to 6514. I'm not tackling upgrades at all yet, as that's going to require significantly more work. For one thing, we'll require a means of updating the port (syslog-port is expected to be immutable), and to enable syslog-tls (also expected to be immutable). It might be better just to have an agent worker that manages syslog configuration.

Revision history for this message
Andrew Wilkins (axwalk) wrote :

During code review the way rsyslog-gnutls gets installed changed, which will mean that we'll need to update the juju-local package to also include rsyslog-gnutls.

Andrew Wilkins (axwalk)
Changed in juju-core:
status: In Progress → Fix Committed
milestone: 1.18.0 → 1.17.4
Curtis Hovey (sinzui)
Changed in juju-core:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.