Hi All,
I would like to ask you all for some help on implementing authentication for zabbix agents. Currently, any agent can pretend to be a specific server and the zabbix server will blindly accept it's data. This is especially a problem for active agents.
My idea is to hire a C developer to implement this feature. I'm prepared to pay for it, and was wondering if anyone wants to help in designing this feature and possibly help pay for the costs as well?
I'm primarily concerned about agent->server communication, but to do this properly agent-> proxy, proxy-> server and server-> server (for DM) should be done as well.
I would like this to be properly designed and approved by Zabbix SIA before getting started on building so i don't invest a bunch of money that will then be only useful to me. That's not how FOSS works
Anyways, here's a call for action.
See the below log from irc with Richlv yesterday:
Ideas and suggestions welcome
I would like to ask you all for some help on implementing authentication for zabbix agents. Currently, any agent can pretend to be a specific server and the zabbix server will blindly accept it's data. This is especially a problem for active agents.
My idea is to hire a C developer to implement this feature. I'm prepared to pay for it, and was wondering if anyone wants to help in designing this feature and possibly help pay for the costs as well?
I'm primarily concerned about agent->server communication, but to do this properly agent-> proxy, proxy-> server and server-> server (for DM) should be done as well.
I would like this to be properly designed and approved by Zabbix SIA before getting started on building so i don't invest a bunch of money that will then be only useful to me. That's not how FOSS works

Anyways, here's a call for action.
See the below log from irc with Richlv yesterday:
29/12/2010 01:45:19 walterheck> Richlv: do you guys have any plans for making agents authenticate before accepting their data? If I'm not mistaking any agent can tell the server it's servXYZ, thereby polluting the real agent that is providing servXYZ's data?
29/12/2010 01:45:58 Richlv> walterheck, if you are talking about active ones, that's the case curently. it's sort of planned, but not on the short term roadmap, as far as i know
29/12/2010 01:47:19 walterheck> Richlv: I'm considering hiring a C programmer to implement that (have acces to a good one here in Kuala Lumpur). What would be the best way to do this so we can contribute the code back?
29/12/2010 01:48:19 Richlv> walterheck, uhh, for that to be really successful, any spec should be discussed in detail
29/12/2010 01:48:26 Richlv> otherwise implementation might not be satisfactory
29/12/2010 01:48:35 walterheck> Richlv: agreed
29/12/2010 01:48:51 Richlv> pretty much implementing it would also have to implement in same go such auth for proxies and whatever comes for the distributed monitoring
29/12/2010 01:49:53 walterheck> I have no problem sponsoring it for proxies. DM is a bit different though as I don't plan to ever use that again unless things change drastically
29/12/2010 01:50:27 walterheck> Any way we can collaborate on that?
29/12/2010 01:52:16 Richlv> walterheck, maybe come up with initial high level description and drop it off at email
29/12/2010 01:52:48 walterheck> I was gonna ask the forum about it as well
29/12/2010 01:56:46 Richlv> walterheck, well, the simplest way would probably do what bacula does
29/12/2010 01:56:54 Richlv> preshared secrets, symmetric encryption
29/12/2010 01:57:14 Richlv> maybe even lifting ideas directly from bacula : )
29/12/2010 01:59:39 walterheck> Richlv: I've just pinged my C developer to see if he's up for it. If he is, i'll post on the forum and we'll take it from there. Maybe there are others who would like to sponsor development of authentication a bit
29/12/2010 02:00:01 Richlv> walterheck, mind you, that might be a hard thing to do properly
29/12/2010 02:00:40 walterheck> Richlv: well, if we don't get started now, it'll never happen. And I prefer "at some point in the future" over never : )
29/12/2010 02:01:33 walterheck> I also prefer properly over nasty
29/12/2010 02:01:54 walterheck> And I prefer contributed over in-house
29/12/2010 02:02:22 walterheck> but your word of warning will be taken into account
29/12/2010 02:02:27 Richlv> walterheck, well, too often submitted patches are not really up to the level and have to be cleaned up/improved/rewritten by devs. obviously, they are not thrilled by that much ; )
29/12/2010 02:02:58 walterheck> Richlv: that's why I'm asking up front before spendign time or money on it ; )
29/12/2010 02:03:15 Richlv> except maybe api. i'm not sure one can fall too low with that one :E
29/12/2010 01:45:58 Richlv> walterheck, if you are talking about active ones, that's the case curently. it's sort of planned, but not on the short term roadmap, as far as i know
29/12/2010 01:47:19 walterheck> Richlv: I'm considering hiring a C programmer to implement that (have acces to a good one here in Kuala Lumpur). What would be the best way to do this so we can contribute the code back?
29/12/2010 01:48:19 Richlv> walterheck, uhh, for that to be really successful, any spec should be discussed in detail
29/12/2010 01:48:26 Richlv> otherwise implementation might not be satisfactory
29/12/2010 01:48:35 walterheck> Richlv: agreed
29/12/2010 01:48:51 Richlv> pretty much implementing it would also have to implement in same go such auth for proxies and whatever comes for the distributed monitoring
29/12/2010 01:49:53 walterheck> I have no problem sponsoring it for proxies. DM is a bit different though as I don't plan to ever use that again unless things change drastically
29/12/2010 01:50:27 walterheck> Any way we can collaborate on that?
29/12/2010 01:52:16 Richlv> walterheck, maybe come up with initial high level description and drop it off at email
29/12/2010 01:52:48 walterheck> I was gonna ask the forum about it as well
29/12/2010 01:56:46 Richlv> walterheck, well, the simplest way would probably do what bacula does
29/12/2010 01:56:54 Richlv> preshared secrets, symmetric encryption
29/12/2010 01:57:14 Richlv> maybe even lifting ideas directly from bacula : )
29/12/2010 01:59:39 walterheck> Richlv: I've just pinged my C developer to see if he's up for it. If he is, i'll post on the forum and we'll take it from there. Maybe there are others who would like to sponsor development of authentication a bit
29/12/2010 02:00:01 Richlv> walterheck, mind you, that might be a hard thing to do properly
29/12/2010 02:00:40 walterheck> Richlv: well, if we don't get started now, it'll never happen. And I prefer "at some point in the future" over never : )
29/12/2010 02:01:33 walterheck> I also prefer properly over nasty
29/12/2010 02:01:54 walterheck> And I prefer contributed over in-house
29/12/2010 02:02:22 walterheck> but your word of warning will be taken into account

29/12/2010 02:02:27 Richlv> walterheck, well, too often submitted patches are not really up to the level and have to be cleaned up/improved/rewritten by devs. obviously, they are not thrilled by that much ; )
29/12/2010 02:02:58 walterheck> Richlv: that's why I'm asking up front before spendign time or money on it ; )
29/12/2010 02:03:15 Richlv> except maybe api. i'm not sure one can fall too low with that one :E
Comment