Keyless Signature Infrastructure Provider (ksi)
Signature Provider Name: ksi
Author: Rainer Gerhards <rgerhards@adiscon.com>
Supported: from 8.11.0 to 8.26.0
Description:
Provides the ability to sign syslog messages via the GuardTime KSI signature services.
Configuration Parameters:
Note: parameter names are case-insensitive.
Signature providers are loaded by omfile, when the provider is selected in its “sig.providerName” parameter. Parameters for the provider are given in the omfile action instance line.
This provider creates a signature file with the same base name but the extension “.ksisig” for each log file (both for fixed-name files as well as dynafiles). Both files together form a set. So you need to archive both in order to prove integrity.
sig.hashFunction <Hash Algorithm> The following hash algorithms are currently supported:
SHA1
SHA2-256
RIPEMD-160
SHA2-224
SHA2-384
SHA2-512
RIPEMD-256
SHA3-244
SHA3-256
SHA3-384
SHA3-512
SM3
sig.aggregator.uri <KSI Aggregator URL> This provides the URL of the KSI Aggregator service provided by guardtime and looks like this:
ksi+tcp://[ip/dnsname]:3332
sig.aggregator.user <KSI UserID> Set your username provided by Guardtime here.
sig.aggregator.key <KSI Key / Password> Set your key provided by Guardtime here.
sig.block.sizeLimit <nbr-records> The maximum number of records inside a single signature block. By default, there is no size limit, so the signature is only written on file closure. Note that a signature request typically takes between one and two seconds. So signing to frequently is probably not a good idea.
sig.keepRecordHashes <on/off> Controls if record hashes are written to the .gtsig file. This enhances the ability to spot the location of a signature breach, but costs considerable disk space (65 bytes for each log record for SHA2-512 hashes, for example).
sig.keepTreeHashes <on/off> Controls if tree (intermediate) hashes are written to the .gtsig file. This enhances the ability to spot the location of a signature breach, but costs considerable disk space (a bit more than the amount sig.keepRecordHashes requires). Note that both Tree and Record hashes can be kept inside the signature file.
See Also
Caveats/Known Bugs:
currently none known
Samples:
This writes a log file with it’s associated signature file. Default parameters are used.
action(type="omfile" file="/var/log/somelog" sig.provider="ksi")
In the next sample, we use the more secure SHA2-512 hash function, sign every 10,000 records and Tree and Record hashes are kept.
action(type="omfile" file="/var/log/somelog" sig.provider="ksi"
sig.hashfunction="SHA2-512" sig.block.sizelimit="10000"
sig.keepTreeHashes="on" sig.keepRecordHashes="on")
See also
Help with configuring/using Rsyslog
:
Mailing list - best route for general questions
GitHub: rsyslog source project - detailed questions, reporting issues that are believed to be bugs with
Rsyslog
See also
Contributing to Rsyslog
:
Source project: rsyslog project README.
Documentation: rsyslog-doc project README
Copyright 2008-2023 Rainer Gerhards (Großrinderfeld), and Others.