Skip to content

axil76/fusioninventory-agent

 
 

Repository files navigation

			FusionInventory Agent
			---------------------

Dependencies
------------

Minimum perl version: 5.8

Additional mandatory perl modules:
- Digest::MD5
- XML::TreePP
- LWP
- Net::IP
- UNIVERSAL::require
- Mac::SysProfile (MacOs only)

Additional optional perl modules:
- Compress::Zlib, for message compression
- HTTP::Daemon, for web interface
- IO::Socket::SSL, for HTTPS support with certificate validation
- Net::CUPS (v0.60 minimum), for printers detection 
- Proc::Daemon, for daemon mode (Unix only)
- Proc::PID::File, for daemon mode (Unix only)

Additional optional programs:
- dmidecode, for hardware inventory
- lspci, for hardware inventory

SSL support
-----------
LWP (also known as libwww-perl) is able to use either Crypt::SSLeay or
IO::Socket::SSL transparently as underlying socket implementation for HTTPS
support. However, only the second one is able to perform server certificate
validation. As a consequence, the agent will refuse to use HTTPS, and exit
immediatly if IO::Socket::SSL is not available, unless certificate checking has
been explicitely disabled (--no-ssl-check command line parameter, or
no-ssl-check configuration parameter).

The SSL protocol version supported by the agent is dependant of openssl
version. In particular, usage of specific certificate signature algorithms such
as SHA requires at least openssl 0.9.8o, as it is supposed to be allowed
starting from TLS 1.1 only. Failure to comply will result in error message such
as:
warning: TLS library problem: 14710:error:0D0C50A1:asn1 encoding
routines:ASN1_item_verify:unknown message digest algorithm:a_verify.c:146:

This can be controlled in the certificate itself:
[guillaume@beria ~]$ openssl x509 -noout -text -in cert.pem | grep Signature
Signature Algorithm: sha256WithRSAEncryption
Signature Algorithm: sha256WithRSAEncryption

The available workaround:
- ensure server certificate complies with clients capacities, using controlled
  certificate generation parameters
- ensure clients capacities matches server certificate properties, upgrading
  openssl and its perl bindings (Net::SSLeay)
- disable server certificate checking on client

System-specific informations
----------------------------
On Solaris/SPARC, you must install sneep and record the Serial Number with it.
Download it from http://www.sun.com/download/products.xml?id=4304155a.

The Windows installer will run the agent with the SYSTEM account. If you use
an user GPO to configure the printer, the information will hidden and so not
collected.
To avoid this situation, you can turn off the server, and run the agent with
user privilege, for example during the login.

On Windows, if you don't want to use the installer for Windows you can follow
the installation process avalailable from
http://forge.fusioninventory.org/projects/fusioninventory-agent/wiki/RunAgentWin32.

Usage
-----
They are two different ways to run the agent:
- as a temporary process, exiting after completing its run
- as a permanent process, staying in memory permanently (daemon under Unix,
  service under Windows)

In the first case, the agent execution scheduling is controlled from local
system, through cron under Unix, or scheduled tasks under Windows. In second
case, the agent execution scheduling is controlled from GLPI server, as the
agent runs regulary according to a parameter initially set in its
configuration (delaytime), overrided by the server at the first connection
(PROLOG_FREQ). Additionaly, the server may also initiate additional
out-of-schedule executions by sending HTTP requests if the web interface is
used.

When executing, the agent tries to runs every available task for every
configured target. A task is a specific kind of work to perform (local
inventory, network discovery, wake on lan, etc...), while a target is both a
recipient for the result and a controller for this work (an OCS server, a GLPI
server, a local directory, etc...). Only the local inventory task is compatible
with all kind of targets, tough, all others require a GLPI server target, and
will get discarded for other kind of target.

About

FusionInventory Agent

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Perl 99.9%
  • Other 0.1%