[collectd] network plugin encryption appears broken on RHEL/CentOS 5 & 6?
Peter Kovac
pjkovac at gmail.com
Mon Feb 13 16:52:53 CET 2012
Greetings~
I haven't submitted a bug report yet as I'm not sure if this is a problem
with my setup. I would like to monitor the system performance of multiple
machines with a central collectd server. I was very happy to see that
collectd supports encrypted network traffic. I setup the network plugin
with encryption per the instructions on the collectd website. When I start
collectd on the server, I see a normal startup. When I start a client, I
see the following in /var/log/messages:
"collectd[PID]: Libgcrypt warning: missing initialization - please fix the
application"
On the server, I see repeated entries reading:
"collectd[PID]: network plugin: Decrypting AES256 part failed with status
-1.
collectd[PID]: network plugin: Decryption failed: Checksum mismatch."
I've tried this on RHEL 6.2 & CentOS 5.7 using the collectd 4.10.3-1 RPMs
from the EPEL repos and a hand compiled version of collectd 5.0.2. I tried
this with libgcrypt-1.4.4 on CentOS 5.7, libgcrypt-1.4.5 on RHEL 6.2, and I
hand compiled libgcrypt-1.5.0 (latest) for both. All versions returned the
same result. Configurations for client & server at the bottom of the
messages.
Documentation for gcrypt here:
http://gnupg.org/documentation/manuals/gcrypt/Initializing-the-library.html#Initializing-the-librarysays
that gcrypt must be initialized with "gcry_check_version" before it
can be used. The AIDE bugtracker has some discussion about this same
issue:
http://sourceforge.net/tracker/?func=detail&aid=2763470&group_id=86976&atid=581579
.
I grep'd through the source but was unable to find such a line. I did some
minimal testing to add such a function to network.c to see if I could force
an initialization but not knowing the source very well, I was unable to
find the spot in the control flow where this should go. My understanding
from the gnupg documentation is that a gcry_version_check() call is
requried before any libgcrypt work is done and without delving deeper into
collectd's code, I don't know where that first call is made. I'm hoping
someone with a deeper, current understanding of collectd either knows where
this should go or knows what mistake I've made to produce these errors.
#Client /etc/collectd.conf:
#-----------
LoadPlugin network
<Plugin network>
<Server "192.168.1.2">
SecurityLevel "Encrypt"
Username "user0"
Password "password0"
</Server>
</Plugin>
#---------------
#Server /etc/collectd.conf:
#--------------
<Plugin network>
<Listen "192.168.1.2">
SecurityLevel "Encrypt"
AuthFile "/etc/collectd_authfile.conf"
Interface "eth0"
</Listen>
</Plugin>
#----------------
#Server /etc/collectd_authfile.conf:
#----------------
user0: password0
#----------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.verplant.org/pipermail/collectd/attachments/20120213/2260fffc/attachment.html>
More information about the collectd
mailing list