Content-type: text/html Manpage of SHSECD.CONF

SHSECD.CONF

Section: User Manuals (5)
Updated: December 2004
Index Return to Main Contents
 

NAME

shsecd.conf - Shared Secret Daemon configuration file  

DESCRIPTION

Shared Secret daemon is almost ready to run with options set to defaults. Minimal configuration requires to list allowed peers in allow control list, however. Empty list means no access. Note default configuration has several options to setup file locations, in particular pid-file, db-file, sock-file. These files exist in /var/run/shsec directory, and non-priveleged users are normally not allowed to setup access to this directory. Configuration file accepts several type of comments: traditional '#' (hash) used in scripting languages or C++ style '//' to comment to the end of string or even C style '/* */' to cover several lines, but these comments cannot be nested. Syntax of configuration file is quite simple. Values are assigned to reserved words (options) and each statement is separeted by ';' (semicolon). A value can be one of folowing type:
boolean
Can be represented as a string or number. true is yes|y|Y|1 (or any non-zero number) and false is no|n|N|0.
number
Any positive integer in decimal 123 , octal 0123 or hexdecimal 0x123 notation.
string
Any single quoted or double quted string. Following escape sequences could be used inside a string \t \n \ \' or even a new line could be escaped - just put \ at the end of the line and continue on another.
ipaddr
IpV4 address in dotted decimal notation x.x.x.x
network
IpV4 network address in dotted decimal with subnet mask x.x.x.x/x.x.x.x or CIDR x.x.x.x/x notations.
identity
Host identity could be <ipaddr>|<network>|<FQDN>. FQDN can be a single quoted, double quoted or non-quoted string.
 

OPTIONS

egid = <number>
Effective group id. If run by root, daemon sets egid to restrict client access and allow to certain users only, in particular to the members of that group. By default egid is 0.
pid-file = <string>
Location of pid file. The default value is /var/run/shsec/shsecd.pid
keydb-file = <string>
Location of key database file. The default value is /var/run/shsec/shsecd.db
sock-file = <string>
Location of socket file. The default value is /var/run/shsec/shsecd.sock
verbose = <boolean>|<number>
Verbose level can be 0-2. logical 'y' means 1. All error messages vill be logged or printed, even if you specify quite mode (which is default).
flush-db = <boolean>
Flush key database on startup. The default value is no.
dh-group = <number>
Key size in number of bits used for DH key exchange. Possible values are 768, 1024, 1536, 2048, 3072, 4096. The Default value is 1024.
listen = <ipaddr>
Ip address to listen on. The default is to listen on any address.
port = <number>
Port number to bind to. The default value is 24680.
host = <identity>
Host identity is sent along with request since ip address cannot be used to identify host by peer in some cases (host is behind a NAT). Peer uses this id to identify a key. Empty string is acceptable. In this case, peer take source address from connection and uses as an idetity.
rsa-key = <string>
Host keeps it's own credentials here.
rsa-key-file = <string>
Host keeps it's own credentials in a separete file here. It makes possible to keep a secret from unauthorized access in some file.
peer <identity> { credendial_statements }
This statement must be created for every peer which allowed to send requests or responses. These credential statements are used to verify signed request send by peer or to sign a request in case of digital signature with pre-shared key. It also specified here how credentials are used. Only one of psk, psk-file, rsa-pub, rsa-pub-file options is accepted in combination with auth option.
auth = none|psk|rsa
This mandatory option specifies a method of authentication required from peer to be able to sent request/response. none value allows non-signed messages. In case of psk or rsa peer is required to sign a message and appropriate credentials must be specified.
psk = <string>
The value of pre-shred key is used to calculate HMAC-SHA1 digest for signing and verification.
psk-file = <string>
The same as above, just makes it possible to keep a secret from unauthorized access in some file.
rsa-pub = <string>
Value used to decrypt RSA signature in order to verify request/response.
rsa-pub-file = <string>
The same as above, just value loaded from a given file.
order = <allow,deny>|<deny,allow>
Option is used to specify in which order access list are processed. Daemon stops searching on the first match. The default order is allow,deny The second value defines default action for those peers which cannot be found in ACL. In case of allow,deny eg. this means all requests from non-matched peers will be rejected.
allow = <identity>[, ...]
A list of peers allowed to communicate with the host. Daemon tries to find identity, send by host within request to allow access. If no identity was sent by peer, source address is used as a peer identity. For every item in this list, a peer definition is created whith identity, literally matching to the list item. It is not required by client to request a peer by exact identity as defined in configuration, however. eg. An item in allow list has 10.0.0.0/24 as an identity and client sends a request to peer identified by 10.0.0.1 or FQDN which will be resolved to that ip address, so this will work. If any item in the list is FQDN and cannot be resolved during configuration reading, access is denied for that peer.
deny = <identity>[, ...]
A list of peers prohibited to communicate with the host. Daemon tries to find identity, send by host within request to deny access. If no identity was sent by peer, source address is used as a peer identity.
 

AUTHOR

Arvydas Juskaitis <arvydasj@users.sourceforge.net>  

SEE ALSO

shsecd(8), shsec(1). A shsec.txt file in documentation directory reveals some details about implementation and contains description of communication protocol and digital signatures.


 

Index

NAME
DESCRIPTION
OPTIONS
AUTHOR
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 21:05:04 GMT, January 19, 2005