dkim-filter man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

dkim-filter(8)							dkim-filter(8)

NAME
       dkim-filter - DKIM filter for sendmail

SYNOPSIS
       dkim-filter  -p socketspec [-a peerlist] [-A] [-b modes] [-c canon] [-C
       config] [-d domains] [-D] [-f] [-F time] [-i ilist]  [-I	 eilist]  [-h]
       [-k keyfile] [-K] [-l] [-L min] [-m mtas] [-M macro[=value][,...]] [-n]
       [-o hdrlist] [-P pidfile] [-q] [-r] [-R] [-s selector] [-S signalg] [-t
       testfile]  [-T  secs] [-u userid[:group]] [-U popdb] [-v] [-V] [-W] [-x
       configfile]

DESCRIPTION
       dkim-filter implements the DKIM standard for signing and	 verifying  e-
       mail messages on a per-domain basis.

       dkim-filter  uses  the milter interface, originally distributed as part
       of version 8.11 of sendmail(8), to provide DKIM signing and/or  verify‐
       ing service for mail transiting a milter-aware MTA.

       Most,  if not all, of the command line options listed below can also be
       set using a configuration file.	See the -x option for details.

OPTIONS
       -a peerlist
	      Identifies a file of "peers" which identifies clients whose con‐
	      nections	should	be accepted without processing by this filter.
	      The peerlist should contain on each line a hostname, domain name
	      (e.g. ".example.com"), IP address, an IPv6 address (including an
	      IPv4 mapped address), or a  CIDR-style  IP  specification	 (e.g.
	      "192.168.1.0/24").  An entry beginning with a bang ("!") charac‐
	      ter means "not", allowing exclusions of specific hosts that  are
	      otherwise	 members of larger sets.  The order of entries in this
	      file is therefore significant.

       -A     Automatically re-start on failures.  Use with  caution;  if  the
	      filter  fails  instantly after it starts, this can cause a tight
	      fork(2) loop.  This can be mitigated using some  values  in  the
	      configuration   file   to	  limit	  restarting.	See  dkim-fil‐
	      ter.conf(5).

       -b modes
	      Selects operating modes.	modes is a concatenation of characters
	      that  indicate  which  mode(s)  of operation are desired.	 Valid
	      modes are s (signer) and v (verifier).  The default is sv except
	      in test mode (see -t below) in which case the default is v.

       -c canon
	      Selects  the  canonicalization method(s) to be used when signing
	      messages.	 When verifying, the message's DKIM-Signature:	header
	      specifies	 the  canonicalization	method.	 The recognized values
	      are relaxed and simple as defined	 by  the  DKIM	specification.
	      The  default  is	simple.	  The  value may include two different
	      canonicalizations separated by a slash ("/") character, in which
	      case  the first will be applied to the headers and the second to
	      the body.

       -C config
	      Configuration  control.	See  the  CONFIGURATION	 section   for
	      details.

       -d domain [,...]
	      A comma-separated list of domains whose mail should be signed by
	      this filter.  Mail from other domains will  be  verified	rather
	      than being signed.

	      The  value  of  this parameter may also be a filename from which
	      domain names will be read.  The "#" character in such a file  is
	      assumed  to  indicate  a comment.	 An absolute path must be used
	      (i.e. the first character must be a "/").

	      In either case, the domain name(s) may contain the special char‐
	      acter "*" which is treated as a wildcard character matching zero
	      or more characters in a domain name.

	      Matching is case-insensitive.

	      This parameter is not required if -K is in use;  in  that	 case,
	      the  list	 of  signed domains is implied by the lines in the key
	      file.

       -D     Sign subdomains of those listed by the -d option as well as  the
	      actual domains.

       -f     Normally	dkim-filter  forks  and exits immediately, leaving the
	      service running in the background.  This	flag  suppresses  that
	      behaviour so that it runs in the foreground.

       -F time
	      Specifies	 a  fixed  time	 to  use  when	generating signatures.
	      Ignored unless also used in conjunction  with  -t	 (see  below).
	      The  time	 must  be  expressed in the usual UNIX time_t (seconds
	      since epoch) format.

       -h     Causes dkim-filter to add a header indicating  the  presence  of
	      this  filter in the path of the message from injection to deliv‐
	      ery.  The product's name, version, and the job ID	 are  included
	      in the header's contents.

       -i ilist
	      Identifies  a file of internal hosts whose mail should be signed
	      rather than verified.  Entries in this file follow the same form
	      as  those of the -a option above.	 If not specified, the default
	      of "127.0.0.1" is applied.  Naturally, providing	a  value  here
	      overrides	 the  default,	so  if	mail  from 127.0.0.1 should be
	      signed, the list	provided  here	should	include	 that  address
	      explicitly.

       -I eilist
	      Identifies  a  file  of  "external"  hosts  which	 may send mail
	      through the server as one of the signing domains without creden‐
	      tials  as	 such.	Basically suppresses the "external host (host‐
	      name) tried to send mail as (domain)" log messages.  Entries  in
	      the  eilist  file	 should be of the same form as those of the -a
	      option above.  The list is empty by default.

       -K     Requests multiple-key processing.	 See also -k below.

       -k keyfile
	      Without -K, gives the location of a PEM-formatted private key to
	      be  used	for signing all messages.  With -K, gives the location
	      of a file listing rules for signing with multiple keys.

	      In the latter mode, the keyfile should contain a set of lines of
	      the form sender-pattern:signing-domain:keypath where sender-pat‐
	      tern is a pattern to match against  message  senders  (with  the
	      special character "*" interpreted as "zero or more characters"),
	      signing-domain is the domain to announce as the  signing	domain
	      when  generating signatures, and keypath is the path to the PEM-
	      formatted private key to be  used	 for  signing  messages	 which
	      match  the  sender-pattern.   The selector used in the signature
	      will be the filename portion of keypath.

	      If the file referenced by keypath cannot be opened,  the	filter
	      will  try	 again	by appending ".pem" and then ".private" before
	      giving up.

       -l     Log via calls to syslog(3) any interesting activity.

       -L min[%+]
	      Instructs the verification code to fail  messages	 for  which  a
	      partial  signature  was received.	 There are three possible for‐
	      mats: min indicating at least min bytes of the message  must  be
	      signed  (or  if  the  message is smaller than min then all of it
	      must be signed); min% requiring that at least min percent of the
	      received	message	 must be signed; and min+ meaning there may be
	      no more than min bytes of unsigned data appended to the  message
	      for it to be considered valid.

       -m mta[,...]
	      A	 comma-separated  list of MTA names (a la the sendmail(8) Dae‐
	      monPortOptions Name parameter) whose mail should	be  signed  by
	      this filter.  If not set, the MTA name is not used when deciding
	      whether or not a message should be signed.

       -M macro[=value][,...]
	      Defines a set of MTA-provided macros which should be checked  to
	      see  if  the  sender  has been determined to be a local user and
	      therefore whether or not the message should  be  signed.	 If  a
	      value  is specified, the value of the macro must match the value
	      specified (matching is case-insensitive),	 otherwise  the	 macro
	      must  be	defined but may contain any value.  Multiple tests may
	      be specified, separated by commas.  The set is empty by default,
	      meaning  macros are not used when deciding whether or not a mes‐
	      sage should be signed.

	      The general format of the string is test1[,test2[,...]]  where a
	      "test"  is  of the form macro[=value1[|value2[|...]]]; if one or
	      more value is defined then the macro must be set to one  of  the
	      listed  values,  otherwise the macro must be set but can contain
	      any value.

       -n     Parse the configuration file and command line arguments, report‐
	      ing  any	errors found, and then exit.  The exit value will be 0
	      if the filter would start up without complaint, or non-zero oth‐
	      erwise.

       -o hdrlist
	      Specifies	 a list of headers which should be omitted when gener‐
	      ating signatures.	 hdrlist should be a comma-separated  list  of
	      header names.  If an entry in the list names any header which is
	      mandated by the DKIM specification, the entry is ignored.	 A set
	      of  headers  is listed in the DKIM specification as "SHOULD NOT"
	      be signed; the default list for this  parameter  contains	 those
	      headers (Return-Path, Received, Comments, Keywords, Bcc, Resent-
	      Bcc and DKIM-Signature).	To omit no  headers,  simply  use  the
	      string "-" (or any string which will match no headers).

       -p socketspec
	      Specifies the socket that should be established by the filter to
	      receive connections from sendmail(8) in order  to	 provide  ser‐
	      vice.   socketspec is in one of two forms: local:path which cre‐
	      ates  a  UNIX  domain  socket  at	  the	specified   path,   or
	      inet:port[@host]	which  creates	a  TCP socket on the specified
	      port.  If the host is not given as either a hostname  or	an  IP
	      address,	the  socket  will  be listening on all interfaces.  If
	      neither socket type is specified, local is assumed, meaning  the
	      parameter is interpreted as a path at which the socket should be
	      created.	This parameter is mandatory.

       -P pidfile
	      Writes the process ID of the filter, once started, to the	 file‐
	      name given.

       -q     Requests that messages which fail verification be quarantined by
	      the MTA.	(Requires a sufficiently recent version of the	milter
	      library.)

       -r     Checks  all  messages  for  compliance with RFC2822 header count
	      requirements.  Non-compliant messages are rejected.

       -R     When a signature verification fails and the signing site	adver‐
	      tises  a	reporting  address  (i.e.   r=user@host	 in its policy
	      record), send a structured report	 to  that  address  containing
	      details needed to reproduce the problem.

       -s selector
	      Defines  the  name  of the selector to be used when signing mes‐
	      sages.  See the DKIM specification for details.

       -S signalg
	      Selects the signing algorithm to use when generating signatures.
	      If  the  filter  was  compiled against version 0.9.8 or later of
	      OpenSSL then both rsa-sha1 and rsa-sha256 are available and  the
	      latter  is the default.  Otherwise, only the former is available
	      and it is (obviously) the default.

       -t testfile
	      Evaluates (verifies) an RFC2822-formatted message found in test‐
	      file and exits.  The value of testfile may be "-" if the message
	      should be read from standard input.

       -T secs
	      Sets the DNS timeout in seconds.	A value of 0 causes  an	 infi‐
	      nite  wait.   The	 default is 5.	Ignored if not using the asyn‐
	      chronous resolver package.  See also the NOTES section below.

       -u userid[:group]
	      Attempts to be come the specified userid before starting	opera‐
	      tions.   The process will be assigned all of the groups and pri‐
	      mary group ID of the named userid unless an alternate  group  is
	      specified.

       -U popdb
	      Requests	that  the filter consult a POP authentication database
	      for IP addresses that should be allowed for signing.  The filter
	      must be specially compiled to enable this feature, since it adds
	      a library dependency.

       -v     Increase verbose output during test mode (see -t above).	May be
	      specified	 more  than once to request increasing amounts of out‐
	      put.

       -V     Print the version number and supported canonicalization and sig‐
	      nature algorithms, and then exit without doing anything else.

       -W     If  logging is enabled (see -l above), issues very detailed log‐
	      ging about the logic behind the filter's decision to either sign
	      a	 message  or verify it.	 The "W" stands for "Why?!"  since the
	      logic behind the decision is non-trivial and can be confusing to
	      administrators  not  familiar with its operation.	 A description
	      of how the decision is made can be found in the  OPERATION  sec‐
	      tion  of	this  document.	  This	causes a large increase in the
	      amount of log data generated for each message, so it  should  be
	      limited to debugging use and not enabled for general operation.

       -x configfile
	      Read  the named configuration file.  See the dkim-filter.conf(5)
	      man page for details.  Values  in	 the  configuration  file  are
	      overridden  when	their  equivalents are provided on the command
	      line until a configuration reload occurs.	 The OPERATION section
	      describes how reloads are triggered.

ACTION CONFIGURATION
       The value of the -C switch is a comma-separated list of settings of the
       form result=action which defines what the filter should	do  with  mes‐
       sages  that produce certain results.  Each result and each action has a
       full name and an abbreviated name.  Either  is  accepted.   Below,  the
       abbreviated name appears in parentheses.

       results
	      badsignature  (bad)  the	signature found in the message did not
	      verify successfully against the message; dnserror (dns) an error
	      was  encountered	attempting  to	retrieve a public key from the
	      nameserver; internal (int) an internal error occurred;  nosigna‐
	      ture  (no)  no  signature	 was  present on the message; security
	      (sec) the	 message  tripped  internal  security  concerns	 (e.g.
	      unusually	 large header blocks).	There is also a special result
	      called default (def) whose action is  copied  onto  all  of  the
	      other results.

       action accept  (a) accept the message; discard (d) discard the message;
	      tempfail (t) temp-fail the message; reject (r) reject  the  mes‐
	      sage.

       In  the interests of minimal initial impact, the defaults for badsigna‐
       ture and nosignature are accept, and the	 default  for  the  others  is
       tempfail.

       Results	and  actions  are  processed  in  order, so use of the default
       action can be overridden by later specifications.  For  example,	 using
       "def=a,int=t"  sets  all result actions to "accept" except for internal
       errors which will generate a temporary failure.

OPERATION
       A message will be verified unless it conforms to the signing  criteria,
       which  are:  (1) the domain on the From: address or Sender: address (if
       present) must be listed by the -d command line  switch  or  the	Domain
       configuration  file  setting,  and (2) (a) the client connecting to the
       MTA must have authenticated, or (b) the client connecting  to  the  MTA
       must be listed in the file referenced by the -i command line switch (or
       be in the default list for that option), or (c) the client must be con‐
       nected to a daemon port named by the -m command line switch, or (d) the
       MTA must have set one or more macros matching the criteria set  by  the
       -M command line switch.

       When  signing  a message, a DKIM-Signature: header will be prepended to
       the message.  The signature is computed using the private key provided.
       You  must  be running a version of sendmail(8) recent enough to be able
       to do header prepend operations (8.13.0 or later).

       When verifying a message, an  Authentication-Results:  header  will  be
       prepended to indicate the presence of a signature and whether or not it
       could be validated against the body of the message using the public key
       advertised by the sender's nameserver.  The value of this header can be
       used by mail user agents to sort or  discard  messages  that  were  not
       signed or could not be verified.

       Upon  receiving SIGUSR1, if the filter was started with a configuration
       file, it will be re-read and the new values used.  Note that  any  com‐
       mand  line overrides provided at startup time will be lost when this is
       done.  Also, the following configuration file values (and their	corre‐
       sponding	 command  line	items,	if  any) are not reloaded through this
       process: AutoRestart  (-A),  AutoRestartCount,  AutoRestartRate,	 Back‐
       ground,	 MilterDebug,	PidFile	  (-P),	 POPDBFile,  Quarantine	 (-q),
       QueryCache, Socket (-p), StrictTestMode, TestPublicKeys, UMask,	UserID
       (-u).   The  filter does not automatically check the configuration file
       for changes and reload.

ENVIRONMENT
       The following environment variable(s) can be used to adjust the	behav‐
       iour of this filter:

       DKIM_TMPDIR
	      The directory to use when creating temporary files.  The default
	      is /var/tmp.

NOTES
       When using DNS timeouts (see the -T option above), be sure not to use a
       timeout	that  is  larger  than	the timeout being used for interaction
       between sendmail and the filter.	 Otherwise, the MTA could abort a mes‐
       sage  while waiting for a reply from the filter, which in turn is still
       waiting for a DNS reply.

       The POP authentication database is expected to be a Sleepycat  DB  file
       (formerly  known	 as a Berkeley DB) in hash format with keys containing
       the IP address in text form without a terminating NULL.	The values  of
       these records are not checked; only the existence of such records is of
       interest.  The filter will attempt to establish a shared	 lock  on  the
       database	 before	 reading  from	it, so any programs which write to the
       database should keep their lock use to a minimum or  else  this	filter
       will appear to hang while waiting for the lock operation to complete.

       Features	 that  involve	specification of IPv4 addresses or CIDR blocks
       will use the inet_addr(3) function to parse  that  information.	 Users
       should  be  familiar with the way that function handles the non-trivial
       cases (for example,  "1.2.3/24"	and  "1.2.3.0/24"  are	not  the  same
       thing).

HISTORY
       DKIM  is an amalgam of Yahoo!'s DomainKeys proposal, and Cisco's Inter‐
       net Identified Mail (IIM) proposal.

VERSION
       This man page covers version 2.8.0 of dkim-filter.

COPYRIGHT
       Copyright (c) 2005-2008, Sendmail, Inc. and its suppliers.  All	rights
       reserved.

SEE ALSO
       dkim-filter.conf(5), sendmail(8)

       Sendmail Operations Guide

       RFC2821 - Simple Mail Transfer Protocol

       RFC2822 - Internet Messages

       RFC4871 - DomainKeys Identified Mail

       RFC5451	-  Message  Header Field for Indicating Message Authentication
       Status

				Sendmail, Inc.			dkim-filter(8)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net