xref: /minix3/usr.sbin/syslogd/syslog.conf.5 (revision 3e07920fe2355e64a2f9017c962f62d77d988a44)
1*3e07920fSDavid van Moolenbroek.\"	$NetBSD: syslog.conf.5,v 1.21 2013/11/10 00:13:50 wiz Exp $
2*3e07920fSDavid van Moolenbroek.\"
3*3e07920fSDavid van Moolenbroek.\" Copyright (c) 1990, 1991, 1993
4*3e07920fSDavid van Moolenbroek.\"	The Regents of the University of California.  All rights reserved.
5*3e07920fSDavid van Moolenbroek.\"
6*3e07920fSDavid van Moolenbroek.\" Redistribution and use in source and binary forms, with or without
7*3e07920fSDavid van Moolenbroek.\" modification, are permitted provided that the following conditions
8*3e07920fSDavid van Moolenbroek.\" are met:
9*3e07920fSDavid van Moolenbroek.\" 1. Redistributions of source code must retain the above copyright
10*3e07920fSDavid van Moolenbroek.\"    notice, this list of conditions and the following disclaimer.
11*3e07920fSDavid van Moolenbroek.\" 2. Redistributions in binary form must reproduce the above copyright
12*3e07920fSDavid van Moolenbroek.\"    notice, this list of conditions and the following disclaimer in the
13*3e07920fSDavid van Moolenbroek.\"    documentation and/or other materials provided with the distribution.
14*3e07920fSDavid van Moolenbroek.\" 3. Neither the name of the University nor the names of its contributors
15*3e07920fSDavid van Moolenbroek.\"    may be used to endorse or promote products derived from this software
16*3e07920fSDavid van Moolenbroek.\"    without specific prior written permission.
17*3e07920fSDavid van Moolenbroek.\"
18*3e07920fSDavid van Moolenbroek.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19*3e07920fSDavid van Moolenbroek.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20*3e07920fSDavid van Moolenbroek.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21*3e07920fSDavid van Moolenbroek.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22*3e07920fSDavid van Moolenbroek.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23*3e07920fSDavid van Moolenbroek.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24*3e07920fSDavid van Moolenbroek.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25*3e07920fSDavid van Moolenbroek.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26*3e07920fSDavid van Moolenbroek.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27*3e07920fSDavid van Moolenbroek.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28*3e07920fSDavid van Moolenbroek.\" SUCH DAMAGE.
29*3e07920fSDavid van Moolenbroek.\"
30*3e07920fSDavid van Moolenbroek.\"     from: @(#)syslog.conf.5	8.1 (Berkeley) 6/9/93
31*3e07920fSDavid van Moolenbroek.\"
32*3e07920fSDavid van Moolenbroek.Dd November 9, 2013
33*3e07920fSDavid van Moolenbroek.Dt SYSLOG.CONF 5
34*3e07920fSDavid van Moolenbroek.Os
35*3e07920fSDavid van Moolenbroek.Sh NAME
36*3e07920fSDavid van Moolenbroek.Nm syslog.conf
37*3e07920fSDavid van Moolenbroek.Nd
38*3e07920fSDavid van Moolenbroek.Xr syslogd 8
39*3e07920fSDavid van Moolenbroekconfiguration file
40*3e07920fSDavid van Moolenbroek.Sh DESCRIPTION
41*3e07920fSDavid van MoolenbroekThe
42*3e07920fSDavid van Moolenbroek.Nm
43*3e07920fSDavid van Moolenbroekfile is the configuration file for the
44*3e07920fSDavid van Moolenbroek.Xr syslogd 8
45*3e07920fSDavid van Moolenbroekprogram.
46*3e07920fSDavid van MoolenbroekIt consists of extended options (lines with one key="value" assignment)
47*3e07920fSDavid van Moolenbroekand blocks of lines separated by
48*3e07920fSDavid van Moolenbroek.Em program
49*3e07920fSDavid van Moolenbroekand
50*3e07920fSDavid van Moolenbroek.Em hostname
51*3e07920fSDavid van Moolenbroekspecifications, with each line containing two fields: the
52*3e07920fSDavid van Moolenbroek.Em selector
53*3e07920fSDavid van Moolenbroekfield which specifies the types of messages and priorities to which the
54*3e07920fSDavid van Moolenbroekline applies, and an
55*3e07920fSDavid van Moolenbroek.Em action
56*3e07920fSDavid van Moolenbroekfield which specifies the action to be taken if a message
57*3e07920fSDavid van Moolenbroek.Xr syslogd 8
58*3e07920fSDavid van Moolenbroekreceives matches the selection criteria.
59*3e07920fSDavid van MoolenbroekThe
60*3e07920fSDavid van Moolenbroek.Em selector
61*3e07920fSDavid van Moolenbroekfield is separated from the
62*3e07920fSDavid van Moolenbroek.Em action
63*3e07920fSDavid van Moolenbroekfield by one or more tab characters.
64*3e07920fSDavid van Moolenbroek.Pp
65*3e07920fSDavid van MoolenbroekThe
66*3e07920fSDavid van Moolenbroek.Em Selectors
67*3e07920fSDavid van Moolenbroekfunction
68*3e07920fSDavid van Moolenbroekare encoded as a
69*3e07920fSDavid van Moolenbroek.Em facility ,
70*3e07920fSDavid van Moolenbroeka period
71*3e07920fSDavid van Moolenbroek.Pq Sq \&. ,
72*3e07920fSDavid van Moolenbroekan optional set of comparison flags
73*3e07920fSDavid van Moolenbroek.Pq Bo ! Bc Bq \*[Lt]=\*[Gt] ,
74*3e07920fSDavid van Moolenbroekand a
75*3e07920fSDavid van Moolenbroek.Em level ,
76*3e07920fSDavid van Moolenbroekwith no intervening white-space.
77*3e07920fSDavid van MoolenbroekBoth the
78*3e07920fSDavid van Moolenbroek.Em facility
79*3e07920fSDavid van Moolenbroekand the
80*3e07920fSDavid van Moolenbroek.Em level
81*3e07920fSDavid van Moolenbroekare case insensitive.
82*3e07920fSDavid van Moolenbroek.Pp
83*3e07920fSDavid van MoolenbroekThe
84*3e07920fSDavid van Moolenbroek.Em facility
85*3e07920fSDavid van Moolenbroekdescribes the part of the system generating the message, and is one of
86*3e07920fSDavid van Moolenbroekthe following keywords: auth, authpriv, cron, ftp, daemon, kern, lpr,
87*3e07920fSDavid van Moolenbroekmail, mark, news, syslog, user, uucp and local0 through local7.
88*3e07920fSDavid van MoolenbroekThese keywords (with the exception of mark) correspond to the
89*3e07920fSDavid van Moolenbroeksimilar
90*3e07920fSDavid van Moolenbroek.Dq Dv LOG_
91*3e07920fSDavid van Moolenbroekvalues specified to the
92*3e07920fSDavid van Moolenbroek.Xr openlog 3
93*3e07920fSDavid van Moolenbroekand
94*3e07920fSDavid van Moolenbroek.Xr syslog 3
95*3e07920fSDavid van Moolenbroeklibrary routines.
96*3e07920fSDavid van Moolenbroek.Pp
97*3e07920fSDavid van MoolenbroekThe
98*3e07920fSDavid van Moolenbroek.Em comparison flags
99*3e07920fSDavid van Moolenbroekmay be used to specify exactly what levels are logged.
100*3e07920fSDavid van MoolenbroekIf unspecified, the default comparison is
101*3e07920fSDavid van Moolenbroek.Sq \*[Gt]=
102*3e07920fSDavid van Moolenbroek.Pq greater than or equal to ,
103*3e07920fSDavid van Moolenbroekor, if the
104*3e07920fSDavid van Moolenbroek.Fl U
105*3e07920fSDavid van Moolenbroekoption is passed to
106*3e07920fSDavid van Moolenbroek.Xr syslogd 8 ,
107*3e07920fSDavid van Moolenbroek.Sq =
108*3e07920fSDavid van Moolenbroek.Pq equal to .
109*3e07920fSDavid van MoolenbroekComparison flags beginning with
110*3e07920fSDavid van Moolenbroek.So ! Sc
111*3e07920fSDavid van Moolenbroekwill have their logical sense inverted.
112*3e07920fSDavid van MoolenbroekThus,
113*3e07920fSDavid van Moolenbroek.Sq !=info
114*3e07920fSDavid van Moolenbroekmeans all levels except info and
115*3e07920fSDavid van Moolenbroek.Sq !notice
116*3e07920fSDavid van Moolenbroekhas the same meaning as
117*3e07920fSDavid van Moolenbroek.Sq \*[Lt]notice .
118*3e07920fSDavid van Moolenbroek.Pp
119*3e07920fSDavid van MoolenbroekThe
120*3e07920fSDavid van Moolenbroek.Em level
121*3e07920fSDavid van Moolenbroekdescribes the severity of the message, and is a keyword from the
122*3e07920fSDavid van Moolenbroekfollowing ordered list (higher to lower): emerg, alert, crit, err,
123*3e07920fSDavid van Moolenbroekwarning, notice, info and debug.
124*3e07920fSDavid van MoolenbroekThese keywords correspond to the
125*3e07920fSDavid van Moolenbroeksimilar
126*3e07920fSDavid van Moolenbroek.Pq Dv LOG_
127*3e07920fSDavid van Moolenbroekvalues specified to the
128*3e07920fSDavid van Moolenbroek.Xr syslog 3
129*3e07920fSDavid van Moolenbroeklibrary routine.
130*3e07920fSDavid van Moolenbroek.Pp
131*3e07920fSDavid van MoolenbroekEach block of lines is separated from the previous block by a
132*3e07920fSDavid van Moolenbroek.Em program
133*3e07920fSDavid van Moolenbroekor
134*3e07920fSDavid van Moolenbroek.Em hostname
135*3e07920fSDavid van Moolenbroekspecification.
136*3e07920fSDavid van MoolenbroekA block will only log messages corresponding to the most recent
137*3e07920fSDavid van Moolenbroek.Em program
138*3e07920fSDavid van Moolenbroekand
139*3e07920fSDavid van Moolenbroek.Em hostname
140*3e07920fSDavid van Moolenbroekspecifications given.
141*3e07920fSDavid van MoolenbroekConsider the case of a block that selects
142*3e07920fSDavid van Moolenbroek.Ql pppd
143*3e07920fSDavid van Moolenbroekas the
144*3e07920fSDavid van Moolenbroek.Em program ,
145*3e07920fSDavid van Moolenbroekdirectly followed by a block that selects messages from the
146*3e07920fSDavid van Moolenbroek.Em hostname
147*3e07920fSDavid van Moolenbroek.Ql dialhost .
148*3e07920fSDavid van MoolenbroekThe second block will log only messages from the
149*3e07920fSDavid van Moolenbroek.Xr pppd 8
150*3e07920fSDavid van Moolenbroekprogram from the host
151*3e07920fSDavid van Moolenbroek.Sq dialhost .
152*3e07920fSDavid van Moolenbroek.Pp
153*3e07920fSDavid van MoolenbroekA
154*3e07920fSDavid van Moolenbroek.Em program
155*3e07920fSDavid van Moolenbroekspecification of the form
156*3e07920fSDavid van Moolenbroek.Ql #!+prog1,prog2
157*3e07920fSDavid van Moolenbroekor
158*3e07920fSDavid van Moolenbroek.Ql !+prog1,prog2
159*3e07920fSDavid van Moolenbroekwill cause subsequent blocks to be applied to messages logged by the
160*3e07920fSDavid van Moolenbroekspecified programs.
161*3e07920fSDavid van MoolenbroekA
162*3e07920fSDavid van Moolenbroek.Em program
163*3e07920fSDavid van Moolenbroekspecification of the form
164*3e07920fSDavid van Moolenbroek.Ql #!-prog1,prog2
165*3e07920fSDavid van Moolenbroekor
166*3e07920fSDavid van Moolenbroek.Ql !-prog1,prog2
167*3e07920fSDavid van Moolenbroekwill cause subsequent blocks to be applied to messages logged by programs
168*3e07920fSDavid van Moolenbroekother than the ones specified.
169*3e07920fSDavid van MoolenbroekA
170*3e07920fSDavid van Moolenbroek.Em program
171*3e07920fSDavid van Moolenbroekspecification of the form
172*3e07920fSDavid van Moolenbroek.Ql #!prog1,prog2
173*3e07920fSDavid van Moolenbroekor
174*3e07920fSDavid van Moolenbroek.Ql !prog1,prog2
175*3e07920fSDavid van Moolenbroekis equivalent to
176*3e07920fSDavid van Moolenbroek.Ql !+prog1,prog2 .
177*3e07920fSDavid van MoolenbroekProgram selectors may also match kernel-generated messages.
178*3e07920fSDavid van MoolenbroekFor example, a program specification of
179*3e07920fSDavid van Moolenbroek.Ql !+subsys
180*3e07920fSDavid van Moolenbroekwill match kernel-generated messages of the form
181*3e07920fSDavid van Moolenbroek.Ql subsys: here is a message .
182*3e07920fSDavid van MoolenbroekThe special specification
183*3e07920fSDavid van Moolenbroek.Ql !*
184*3e07920fSDavid van Moolenbroekwill cause subsequent blocks to apply to all programs.
185*3e07920fSDavid van Moolenbroek.Pp
186*3e07920fSDavid van MoolenbroekA
187*3e07920fSDavid van Moolenbroek.Em hostname
188*3e07920fSDavid van Moolenbroekspecification of the form
189*3e07920fSDavid van Moolenbroek.Ql #+host1,host2
190*3e07920fSDavid van Moolenbroekor
191*3e07920fSDavid van Moolenbroek.Ql +host1,host2
192*3e07920fSDavid van Moolenbroekwill cause subsequent blocks to be applied to messages received from
193*3e07920fSDavid van Moolenbroekthe specified hosts.
194*3e07920fSDavid van MoolenbroekA
195*3e07920fSDavid van Moolenbroek.Em hostname
196*3e07920fSDavid van Moolenbroekspecification of the form
197*3e07920fSDavid van Moolenbroek.Ql #-host1,host2
198*3e07920fSDavid van Moolenbroekor
199*3e07920fSDavid van Moolenbroek.Ql -host1,host2
200*3e07920fSDavid van Moolenbroekwill cause subsequent blocks to be applied to messages from hosts other
201*3e07920fSDavid van Moolenbroekthan the ones specified.
202*3e07920fSDavid van MoolenbroekIf the hostname is given as
203*3e07920fSDavid van Moolenbroek.Ql @ ,
204*3e07920fSDavid van Moolenbroekthe local hostname will be used.
205*3e07920fSDavid van MoolenbroekThe special specification
206*3e07920fSDavid van Moolenbroek.Ql +*
207*3e07920fSDavid van Moolenbroekwill cause subsequent blocks to apply to all hosts.
208*3e07920fSDavid van Moolenbroek.Pp
209*3e07920fSDavid van MoolenbroekSee
210*3e07920fSDavid van Moolenbroek.Xr syslog 3
211*3e07920fSDavid van Moolenbroekfor a further descriptions of both the
212*3e07920fSDavid van Moolenbroek.Em facility
213*3e07920fSDavid van Moolenbroekand
214*3e07920fSDavid van Moolenbroek.Em level
215*3e07920fSDavid van Moolenbroekkeywords and their significance.
216*3e07920fSDavid van MoolenbroekIt is preferred that selections be made based on
217*3e07920fSDavid van Moolenbroek.Em facility
218*3e07920fSDavid van Moolenbroekrather than
219*3e07920fSDavid van Moolenbroek.Em program ,
220*3e07920fSDavid van Moolenbroeksince the latter can vary in a networked environment.
221*3e07920fSDavid van MoolenbroekHowever, there are cases where a
222*3e07920fSDavid van Moolenbroek.Em facility
223*3e07920fSDavid van Moolenbroekmay be too broadly defined.
224*3e07920fSDavid van Moolenbroek.Pp
225*3e07920fSDavid van MoolenbroekIf a received message matches the specified
226*3e07920fSDavid van Moolenbroek.Em facility ,
227*3e07920fSDavid van Moolenbroekand the specified
228*3e07920fSDavid van Moolenbroek.Em level
229*3e07920fSDavid van Moolenbroekcomparison is true,
230*3e07920fSDavid van Moolenbroekand the first word in the message after the date matches the
231*3e07920fSDavid van Moolenbroek.Em program ,
232*3e07920fSDavid van Moolenbroekthe action specified in the
233*3e07920fSDavid van Moolenbroek.Em action
234*3e07920fSDavid van Moolenbroekfield will be taken.
235*3e07920fSDavid van Moolenbroek.Pp
236*3e07920fSDavid van MoolenbroekMultiple
237*3e07920fSDavid van Moolenbroek.Em selectors
238*3e07920fSDavid van Moolenbroekmay be specified for a single
239*3e07920fSDavid van Moolenbroek.Em action
240*3e07920fSDavid van Moolenbroekby separating them with semicolon
241*3e07920fSDavid van Moolenbroek.Pq Sq \&;
242*3e07920fSDavid van Moolenbroekcharacters.
243*3e07920fSDavid van MoolenbroekIt is important to note, however, that each
244*3e07920fSDavid van Moolenbroek.Em selector
245*3e07920fSDavid van Moolenbroekcan modify the ones preceding it.
246*3e07920fSDavid van Moolenbroek.Pp
247*3e07920fSDavid van MoolenbroekMultiple
248*3e07920fSDavid van Moolenbroek.Em facilities
249*3e07920fSDavid van Moolenbroekmay be specified for a single
250*3e07920fSDavid van Moolenbroek.Em level
251*3e07920fSDavid van Moolenbroekby separating them with comma
252*3e07920fSDavid van Moolenbroek.Pq Sq \&,
253*3e07920fSDavid van Moolenbroekcharacters.
254*3e07920fSDavid van Moolenbroek.Pp
255*3e07920fSDavid van MoolenbroekAn asterisk
256*3e07920fSDavid van Moolenbroek.Pq Sq \&*
257*3e07920fSDavid van Moolenbroekcan be used to specify all
258*3e07920fSDavid van Moolenbroek.Em facilities
259*3e07920fSDavid van Moolenbroekor all
260*3e07920fSDavid van Moolenbroek.Em levels .
261*3e07920fSDavid van Moolenbroek.Pp
262*3e07920fSDavid van MoolenbroekThe special
263*3e07920fSDavid van Moolenbroek.Em facility
264*3e07920fSDavid van Moolenbroek.Dq mark
265*3e07920fSDavid van Moolenbroekreceives a message at priority
266*3e07920fSDavid van Moolenbroek.Dq info
267*3e07920fSDavid van Moolenbroekevery 20 minutes
268*3e07920fSDavid van Moolenbroek(see
269*3e07920fSDavid van Moolenbroek.Xr syslogd 8 ) .
270*3e07920fSDavid van MoolenbroekThis is not enabled by a
271*3e07920fSDavid van Moolenbroek.Em facility
272*3e07920fSDavid van Moolenbroekfield containing an asterisk.
273*3e07920fSDavid van Moolenbroek.Pp
274*3e07920fSDavid van MoolenbroekThe special
275*3e07920fSDavid van Moolenbroek.Em level
276*3e07920fSDavid van Moolenbroek.Dq none
277*3e07920fSDavid van Moolenbroekdisables a particular
278*3e07920fSDavid van Moolenbroek.Em facility .
279*3e07920fSDavid van Moolenbroek.Pp
280*3e07920fSDavid van MoolenbroekThe
281*3e07920fSDavid van Moolenbroek.Em action
282*3e07920fSDavid van Moolenbroekfield of each line specifies the action to be taken when the
283*3e07920fSDavid van Moolenbroek.Em selector
284*3e07920fSDavid van Moolenbroekfield selects a message.
285*3e07920fSDavid van MoolenbroekThere are five forms:
286*3e07920fSDavid van Moolenbroek.Bl -bullet
287*3e07920fSDavid van Moolenbroek.It
288*3e07920fSDavid van MoolenbroekA pathname (beginning with a leading slash).
289*3e07920fSDavid van MoolenbroekSelected messages are appended to the file, unless
290*3e07920fSDavid van Moolenbroekpathname points to an existing FIFO special file.
291*3e07920fSDavid van Moolenbroek.Xr syslogd 8
292*3e07920fSDavid van Moolenbroektreats FIFO specially by opening them in non-blocking mode and
293*3e07920fSDavid van Moolenbroekdiscarding messages sent when no reader is listening on the other side.
294*3e07920fSDavid van Moolenbroek.Pp
295*3e07920fSDavid van MoolenbroekTo ensure that kernel messages are written to disk promptly,
296*3e07920fSDavid van Moolenbroek.Xr syslogd 8
297*3e07920fSDavid van Moolenbroekcalls
298*3e07920fSDavid van Moolenbroek.Xr fsync 2
299*3e07920fSDavid van Moolenbroekafter writing messages from the kernel.
300*3e07920fSDavid van MoolenbroekOther messages are not synced explcitly.
301*3e07920fSDavid van MoolenbroekYou may disable syncing of files specified to receive kernel messages
302*3e07920fSDavid van Moolenbroekby prefixing the pathname with a minus sign
303*3e07920fSDavid van Moolenbroek.Ql - .
304*3e07920fSDavid van MoolenbroekNote that use of this option may cause the loss of log information in
305*3e07920fSDavid van Moolenbroekthe event of a system crash immediately following the write attempt.
306*3e07920fSDavid van MoolenbroekHowever, using this option may prove to be useful if your system's
307*3e07920fSDavid van Moolenbroekkernel is logging many messages.
308*3e07920fSDavid van Moolenbroek.Pp
309*3e07920fSDavid van MoolenbroekNormally the priority and version is not written to file.
310*3e07920fSDavid van MoolenbroekIn order to use syslog-sign you may prefix a pathname with the plus sign
311*3e07920fSDavid van Moolenbroek.Ql + .
312*3e07920fSDavid van MoolenbroekIf both switches are used the order has to be
313*3e07920fSDavid van Moolenbroek.Ql +- .
314*3e07920fSDavid van Moolenbroek.It
315*3e07920fSDavid van MoolenbroekA hostname (preceded by an at
316*3e07920fSDavid van Moolenbroek.Pq Sq @
317*3e07920fSDavid van Moolenbroeksign).
318*3e07920fSDavid van MoolenbroekSelected messages are forwarded to the
319*3e07920fSDavid van Moolenbroek.Xr syslogd 8
320*3e07920fSDavid van Moolenbroekprogram on the named host with UDP.
321*3e07920fSDavid van Moolenbroek.It
322*3e07920fSDavid van MoolenbroekA hostname preceded by an at
323*3e07920fSDavid van Moolenbroek.Pq Sq @
324*3e07920fSDavid van Moolenbroeksign and enclosed in brackets
325*3e07920fSDavid van Moolenbroek.Pq Sq []
326*3e07920fSDavid van Moolenbroek.
327*3e07920fSDavid van MoolenbroekSelected messages are forwarded with TLS to the
328*3e07920fSDavid van Moolenbroek.Xr syslogd 8
329*3e07920fSDavid van Moolenbroekprogram on the named host.
330*3e07920fSDavid van MoolenbroekAfter the closing bracket a colon
331*3e07920fSDavid van Moolenbroek.Pq Sq \&:
332*3e07920fSDavid van Moolenbroekand a port or service name may be appended.
333*3e07920fSDavid van MoolenbroekAdditional options are configured in parantheses in the form of key="value".
334*3e07920fSDavid van MoolenbroekRecognized keywords are
335*3e07920fSDavid van Moolenbroek.Ar subject ,
336*3e07920fSDavid van Moolenbroek.Ar fingerprint ,
337*3e07920fSDavid van Moolenbroek.Ar cert ,
338*3e07920fSDavid van Moolenbroekand
339*3e07920fSDavid van Moolenbroek.Ar verify .
340*3e07920fSDavid van Moolenbroek.It
341*3e07920fSDavid van MoolenbroekA comma separated list of users.
342*3e07920fSDavid van MoolenbroekSelected messages are written to those users
343*3e07920fSDavid van Moolenbroekif they are logged in.
344*3e07920fSDavid van Moolenbroek.It
345*3e07920fSDavid van MoolenbroekAn asterisk.
346*3e07920fSDavid van MoolenbroekSelected messages are written to all logged-in users.
347*3e07920fSDavid van Moolenbroek.It
348*3e07920fSDavid van MoolenbroekA vertical bar
349*3e07920fSDavid van Moolenbroek.Pq Sq |
350*3e07920fSDavid van Moolenbroekfollowed by a command to which to pipe the selected messages.
351*3e07920fSDavid van MoolenbroekThe command string is passed to
352*3e07920fSDavid van Moolenbroek.Pa /bin/sh
353*3e07920fSDavid van Moolenbroekfor evaluation, so the usual shell metacharacters or input/output
354*3e07920fSDavid van Moolenbroekredirection can occur.
355*3e07920fSDavid van Moolenbroek(Note that redirecting
356*3e07920fSDavid van Moolenbroek.Xr stdio 3
357*3e07920fSDavid van Moolenbroekbuffered output from the invoked command can cause additional delays,
358*3e07920fSDavid van Moolenbroekor even lost output data in case a logging subprocess exits with a
359*3e07920fSDavid van Moolenbroeksignal.)
360*3e07920fSDavid van MoolenbroekThe command itself runs with
361*3e07920fSDavid van Moolenbroek.Em stdout
362*3e07920fSDavid van Moolenbroekand
363*3e07920fSDavid van Moolenbroek.Em stderr
364*3e07920fSDavid van Moolenbroekredirected to
365*3e07920fSDavid van Moolenbroek.Pa /dev/null .
366*3e07920fSDavid van MoolenbroekUpon receipt of a
367*3e07920fSDavid van Moolenbroek.Dv SIGHUP ,
368*3e07920fSDavid van Moolenbroek.Xr syslogd 8
369*3e07920fSDavid van Moolenbroekwill close the pipe to the process.
370*3e07920fSDavid van MoolenbroekIf the process does not exit voluntarily, it will be sent a
371*3e07920fSDavid van Moolenbroek.Dv SIGTERM
372*3e07920fSDavid van Moolenbroeksignal after a grace period of up to 60 seconds.
373*3e07920fSDavid van Moolenbroek.Pp
374*3e07920fSDavid van MoolenbroekThe command will only be started once data arrives that should be
375*3e07920fSDavid van Moolenbroekpiped to it.
376*3e07920fSDavid van MoolenbroekIf the command exits, it will be restarted as necessary.
377*3e07920fSDavid van Moolenbroek.Pp
378*3e07920fSDavid van MoolenbroekIf it is desired that the subprocess should receive exactly one line of
379*3e07920fSDavid van Moolenbroekinput, this can be achieved by exiting after reading and processing the
380*3e07920fSDavid van Moolenbroeksingle line.
381*3e07920fSDavid van MoolenbroekA wrapper script can be used to achieve this effect, if necessary.
382*3e07920fSDavid van MoolenbroekNote that this method can be very resource-intensive if many log messages
383*3e07920fSDavid van Moolenbroekare being piped through the filter.
384*3e07920fSDavid van Moolenbroek.Pp
385*3e07920fSDavid van MoolenbroekUnless the command is a full pipeline, it may be useful to
386*3e07920fSDavid van Moolenbroekstart the command with
387*3e07920fSDavid van Moolenbroek.Em exec
388*3e07920fSDavid van Moolenbroekso that the invoking shell process does not wait for the command to
389*3e07920fSDavid van Moolenbroekcomplete.
390*3e07920fSDavid van MoolenbroekNote that the command is started with the UID of the
391*3e07920fSDavid van Moolenbroek.Xr syslogd 8
392*3e07920fSDavid van Moolenbroekprocess, normally the superuser.
393*3e07920fSDavid van Moolenbroek.Pp
394*3e07920fSDavid van MoolenbroekJust like with files a plus sign
395*3e07920fSDavid van Moolenbroek.Ql +
396*3e07920fSDavid van Moolenbroekwill leave the priority and version information intact.
397*3e07920fSDavid van Moolenbroek.El
398*3e07920fSDavid van Moolenbroek.Pp
399*3e07920fSDavid van MoolenbroekBlank lines and lines whose first non-blank character is a hash
400*3e07920fSDavid van Moolenbroek.Pq Sq #
401*3e07920fSDavid van Moolenbroekcharacter are ignored.
402*3e07920fSDavid van Moolenbroek.Sh "TLS OPTIONS"
403*3e07920fSDavid van MoolenbroekAdditional options are used for TLS configuration:
404*3e07920fSDavid van Moolenbroek.Bl -ohang
405*3e07920fSDavid van Moolenbroek.It Em tls_server
406*3e07920fSDavid van MoolenbroekEnables TLS server mode.
407*3e07920fSDavid van Moolenbroek.It Em tls_bindport
408*3e07920fSDavid van MoolenbroekService name or port number to bind to.
409*3e07920fSDavid van MoolenbroekDefault is
410*3e07920fSDavid van Moolenbroek.Sq syslog .
411*3e07920fSDavid van Moolenbroek.Em As long as no official port is assigned this option is required
412*3e07920fSDavid van Moolenbroek.Em for TLS servers.
413*3e07920fSDavid van Moolenbroek.It Em tls_bindhost
414*3e07920fSDavid van MoolenbroekHostname or IP to bind to.
415*3e07920fSDavid van Moolenbroek.It Em tls_gen_cert
416*3e07920fSDavid van MoolenbroekAutomatically generate a private key and certificate.
417*3e07920fSDavid van Moolenbroek.It Em tls_key
418*3e07920fSDavid van MoolenbroekFile with private key.
419*3e07920fSDavid van MoolenbroekDefault is
420*3e07920fSDavid van Moolenbroek.Sq /etc/openssl/default.key
421*3e07920fSDavid van Moolenbroek.It Em tls_cert
422*3e07920fSDavid van MoolenbroekFile with certificate to use.
423*3e07920fSDavid van MoolenbroekDefault is
424*3e07920fSDavid van Moolenbroek.Sq /etc/openssl/default.crt
425*3e07920fSDavid van Moolenbroek.It Em tls_ca
426*3e07920fSDavid van MoolenbroekFile with CA certificate to use.
427*3e07920fSDavid van Moolenbroek.It Em tls_cadir
428*3e07920fSDavid van MoolenbroekDirectory containing CA certificates.
429*3e07920fSDavid van Moolenbroek.It Em tls_verify
430*3e07920fSDavid van MoolenbroekIf set to
431*3e07920fSDavid van Moolenbroek.Sq off
432*3e07920fSDavid van Moolenbroekthen certificate authentication is skipped.
433*3e07920fSDavid van Moolenbroek.It Em tls_allow_fingerprints
434*3e07920fSDavid van MoolenbroekList of fingerprints of trusted client certificates.
435*3e07920fSDavid van Moolenbroek.It Em tls_allow_clientcerts
436*3e07920fSDavid van MoolenbroekList of filenames with trusted client certificates.
437*3e07920fSDavid van Moolenbroek.El
438*3e07920fSDavid van Moolenbroek.Sh "TLS AUTHENTICATION"
439*3e07920fSDavid van MoolenbroekOne function of TLS is mutual authentication of client and server.
440*3e07920fSDavid van MoolenbroekUnless authentication is disabled by setting
441*3e07920fSDavid van Moolenbroek.Sq tls_verify=off
442*3e07920fSDavid van Moolenbroekthe following rules are used:
443*3e07920fSDavid van Moolenbroek.Ss "As client:"
444*3e07920fSDavid van MoolenbroekA client can be configured not to check a server's certificate by setting the
445*3e07920fSDavid van Moolenbroekparameter
446*3e07920fSDavid van Moolenbroek.Ar verify
447*3e07920fSDavid van Moolenbroekto
448*3e07920fSDavid van Moolenbroek.Sq off .
449*3e07920fSDavid van MoolenbroekIf the server's certificate is signed by a trusted CA then it is checked
450*3e07920fSDavid van Moolenbroekif its hostname or IP is given in its certificate (as a CommonName, as a
451*3e07920fSDavid van MoolenbroekDNS SubjectAltName, or as an IP SubjectAltName).
452*3e07920fSDavid van MoolenbroekIf any match is found then the server is authenticated.
453*3e07920fSDavid van MoolenbroekIf a
454*3e07920fSDavid van Moolenbroek.Ar subject
455*3e07920fSDavid van Moolenbroekparameter is given then it is can satisfy this test as well.
456*3e07920fSDavid van MoolenbroekThis allows DNS-independent configurations using the server's IP address in the
457*3e07920fSDavid van Moolenbroekdestination and adding its hostname as
458*3e07920fSDavid van Moolenbroek.Ar subject
459*3e07920fSDavid van Moolenbroekto authenticate the TLS connection without having to add the IP to the X.509
460*3e07920fSDavid van Moolenbroekcertificate.
461*3e07920fSDavid van Moolenbroek.Pp
462*3e07920fSDavid van MoolenbroekIf no CA is used or no trust path between CA and server certificate exists, then
463*3e07920fSDavid van Moolenbroekhash value of the server's certificate is compared with the hash given in
464*3e07920fSDavid van Moolenbroek.Ar fingerprint
465*3e07920fSDavid van Moolenbroekand the hash of the certificate in
466*3e07920fSDavid van Moolenbroek.Ar cert .
467*3e07920fSDavid van MoolenbroekIf the hashes are equal then the server is authenticated.
468*3e07920fSDavid van Moolenbroek.Ss "As server:"
469*3e07920fSDavid van MoolenbroekIf using a CA and the client's certificate is signed by it then the client is
470*3e07920fSDavid van Moolenbroekauthenticated.
471*3e07920fSDavid van MoolenbroekOtherwise the hash of the client's certificate is compared with the hashes given
472*3e07920fSDavid van Moolenbroekin
473*3e07920fSDavid van Moolenbroek.Ar tls_allow_fingerprints
474*3e07920fSDavid van Moolenbroekand the hashes of the certificates given in
475*3e07920fSDavid van Moolenbroek.Ar tls_allow_clientcerts .
476*3e07920fSDavid van MoolenbroekOn any match the client is authenticated.
477*3e07920fSDavid van Moolenbroek.Sh BUFFERING
478*3e07920fSDavid van Moolenbroek.Xr syslogd 8
479*3e07920fSDavid van Moolenbroekis able to buffer temporary not writeable messages in memory.
480*3e07920fSDavid van MoolenbroekTo limit the memory consumed for this buffering the following optons may be
481*3e07920fSDavid van Moolenbroekgiven:
482*3e07920fSDavid van Moolenbroek.Bl -ohang
483*3e07920fSDavid van Moolenbroek.It Em file_queue_length
484*3e07920fSDavid van Moolenbroek.It Em pipe_queue_length
485*3e07920fSDavid van Moolenbroek.It Em tls_queue_length
486*3e07920fSDavid van MoolenbroekThe maximum number of messages buffered for one destination of type tls, file,
487*3e07920fSDavid van Moolenbroekor pipe respectively.
488*3e07920fSDavid van MoolenbroekDefaults are
489*3e07920fSDavid van Moolenbroek.Sq 1024 ,
490*3e07920fSDavid van Moolenbroek.Sq 1024 ,
491*3e07920fSDavid van Moolenbroekand
492*3e07920fSDavid van Moolenbroek.Sq -1
493*3e07920fSDavid van Moolenbroek(no limit).
494*3e07920fSDavid van Moolenbroek.It Em file_queue_size
495*3e07920fSDavid van Moolenbroek.It Em pipe_queue_size
496*3e07920fSDavid van Moolenbroek.It Em tls_queue_size
497*3e07920fSDavid van MoolenbroekThe maximum memory usage in bytes of messages buffered for one destination.
498*3e07920fSDavid van MoolenbroekDefaults are
499*3e07920fSDavid van Moolenbroek.Sq 1M ,
500*3e07920fSDavid van Moolenbroek.Sq 1M ,
501*3e07920fSDavid van Moolenbroekand
502*3e07920fSDavid van Moolenbroek.Sq 16M .
503*3e07920fSDavid van Moolenbroek.El
504*3e07920fSDavid van Moolenbroek.Sh SIGNING
505*3e07920fSDavid van Moolenbroek.Xr syslogd 8
506*3e07920fSDavid van Moolenbroekis able to digitally sign all processed messages.
507*3e07920fSDavid van MoolenbroekThe used protocol is defined by RFC 5848 (syslog-sign):
508*3e07920fSDavid van Moolenbroekat the start of a session the signing sender sends so called certificate
509*3e07920fSDavid van Moolenbroekblocks containing its public key; after that it periodically sends a signed
510*3e07920fSDavid van Moolenbroekmessage containing hashes of previous messages.
511*3e07920fSDavid van Moolenbroek.Pp
512*3e07920fSDavid van MoolenbroekTo detect later manipulation one has to keep a copy of the key used for
513*3e07920fSDavid van Moolenbroeksigning (otherwise an attacker could alter the logs and sign them with his
514*3e07920fSDavid van Moolenbroekhis own key).
515*3e07920fSDavid van MoolenbroekIf TLS is used with a DSA key then the same key will be used for signing.
516*3e07920fSDavid van MoolenbroekThis is the recommended setup because it makes it easy to have copies of
517*3e07920fSDavid van Moolenbroekthe certificate (with the public key) in backups.
518*3e07920fSDavid van MoolenbroekOtherwise new keys are generated on every restart and for certain verification
519*3e07920fSDavid van Moolenbroekit is necessary to have copies of all used keys.
520*3e07920fSDavid van MoolenbroekSo logging only to a local file is not secure; at least the used keys should
521*3e07920fSDavid van Moolenbroekbe logged to another host.
522*3e07920fSDavid van Moolenbroek.Bl -ohang
523*3e07920fSDavid van Moolenbroek.It Em sign_sg
524*3e07920fSDavid van MoolenbroekEnables signing.
525*3e07920fSDavid van MoolenbroekSet this option to enable syslog-sign and select how to assign
526*3e07920fSDavid van Moolenbroekmessages to signature groups (subsets of messages that are signed together).
527*3e07920fSDavid van MoolenbroekTo enable later signature verification and detection of lost messages the
528*3e07920fSDavid van Moolenbroekassignment should be chosen such that all messages of one signature group
529*3e07920fSDavid van Moolenbroekare written to the same file.
530*3e07920fSDavid van MoolenbroekFour possible values for this option are:
531*3e07920fSDavid van Moolenbroek.Bl -hang -offset indent
532*3e07920fSDavid van Moolenbroek.It Em 0
533*3e07920fSDavid van MoolenbroekUse one global signature group for all messages.
534*3e07920fSDavid van Moolenbroek.It Em 1
535*3e07920fSDavid van MoolenbroekUse one signature group per priority.
536*3e07920fSDavid van Moolenbroek.It Em 2
537*3e07920fSDavid van MoolenbroekUse signature groups for ranges of priorities.
538*3e07920fSDavid van Moolenbroek.It Em 3
539*3e07920fSDavid van MoolenbroekUse one signature group per destination.
540*3e07920fSDavid van MoolenbroekThis is a custom strategy not defined by the standard.
541*3e07920fSDavid van MoolenbroekWith this setting one signature group is set up for
542*3e07920fSDavid van Moolenbroekevery file and network action.
543*3e07920fSDavid van Moolenbroek.El
544*3e07920fSDavid van Moolenbroek.It Em sign_delim_sg2
545*3e07920fSDavid van MoolenbroekThis option is only evaluated with
546*3e07920fSDavid van Moolenbroek.Sq sign_sg=2
547*3e07920fSDavid van Moolenbroekand allows to configure the priority ranges for signature groups.
548*3e07920fSDavid van MoolenbroekThe parameters are numerical values used as the maximum priority for one group.
549*3e07920fSDavid van MoolenbroekThe default is to use one signature groups per facility, which is equal to
550*3e07920fSDavid van Moolenbroeksetting
551*3e07920fSDavid van Moolenbroek.Sq sign_delim_sg2=7 15 23 31 39 ... .
552*3e07920fSDavid van Moolenbroek.El
553*3e07920fSDavid van Moolenbroek.Sh FILES
554*3e07920fSDavid van Moolenbroek.Bl -tag -width /etc/syslog.conf -compact
555*3e07920fSDavid van Moolenbroek.It Pa /etc/syslog.conf
556*3e07920fSDavid van MoolenbroekThe
557*3e07920fSDavid van Moolenbroek.Xr syslogd 8
558*3e07920fSDavid van Moolenbroekconfiguration file.
559*3e07920fSDavid van Moolenbroek.It Pa /usr/share/examples/syslogd/verify.pl
560*3e07920fSDavid van MoolenbroekExample script to verify message signatures.
561*3e07920fSDavid van Moolenbroek(Requires Perl and modules not part of NetBSD.)
562*3e07920fSDavid van Moolenbroek.El
563*3e07920fSDavid van Moolenbroek.Sh EXAMPLES
564*3e07920fSDavid van MoolenbroekA configuration file might appear as follows:
565*3e07920fSDavid van Moolenbroek.Bd -literal
566*3e07920fSDavid van Moolenbroek# Log all kernel messages, authentication messages of
567*3e07920fSDavid van Moolenbroek# level notice or higher and anything of level err or
568*3e07920fSDavid van Moolenbroek# higher to the console.
569*3e07920fSDavid van Moolenbroek# Don't log private authentication messages!
570*3e07920fSDavid van Moolenbroek*.err;kern.*;auth.notice;authpriv.none	/dev/console
571*3e07920fSDavid van Moolenbroek
572*3e07920fSDavid van Moolenbroek# Log anything (except mail) of level info or higher.
573*3e07920fSDavid van Moolenbroek# Don't log private authentication messages!
574*3e07920fSDavid van Moolenbroek*.info;mail.none;authpriv.none		/var/log/messages
575*3e07920fSDavid van Moolenbroek
576*3e07920fSDavid van Moolenbroek# Log daemon messages at debug level only
577*3e07920fSDavid van Moolenbroekdaemon.=debug				/var/log/daemon.debug
578*3e07920fSDavid van Moolenbroek
579*3e07920fSDavid van Moolenbroek# The authpriv file has restricted access.
580*3e07920fSDavid van Moolenbroek# Write logs with priority for later verification with syslog-sign.
581*3e07920fSDavid van Moolenbroekauthpriv.*				+/var/log/secure
582*3e07920fSDavid van Moolenbroek
583*3e07920fSDavid van Moolenbroek# Log all the mail messages in one place.
584*3e07920fSDavid van Moolenbroekmail.*					/var/log/maillog
585*3e07920fSDavid van Moolenbroek
586*3e07920fSDavid van Moolenbroek# Everybody gets emergency messages, plus log them on another
587*3e07920fSDavid van Moolenbroek# machine.
588*3e07920fSDavid van Moolenbroek*.emerg					*
589*3e07920fSDavid van Moolenbroek*.emerg					@arpa.berkeley.edu
590*3e07920fSDavid van Moolenbroek
591*3e07920fSDavid van Moolenbroek# Log all messages of level info or higher to another
592*3e07920fSDavid van Moolenbroek# machine using TLS with an alternative portname and a
593*3e07920fSDavid van Moolenbroek# fingerprint for athentication
594*3e07920fSDavid van Moolenbroek*.info			@[logserver]:1234(fingerprint="SHA1:01:02:...")
595*3e07920fSDavid van Moolenbroek
596*3e07920fSDavid van Moolenbroek# Root and Eric get alert and higher messages.
597*3e07920fSDavid van Moolenbroek*.alert					root,eric
598*3e07920fSDavid van Moolenbroek
599*3e07920fSDavid van Moolenbroek# Save mail and news errors of level err and higher in a
600*3e07920fSDavid van Moolenbroek# special file.
601*3e07920fSDavid van Moolenbroekmail,news.err				/var/log/spoolerr
602*3e07920fSDavid van Moolenbroek
603*3e07920fSDavid van Moolenbroek# Pipe all authentication messages to a filter.
604*3e07920fSDavid van Moolenbroekauth.*					|exec /usr/local/sbin/authfilter
605*3e07920fSDavid van Moolenbroek
606*3e07920fSDavid van Moolenbroek# Log kernel messages to a separate file without syncing each message.
607*3e07920fSDavid van Moolenbroekkern.*					-/var/log/kernlog
608*3e07920fSDavid van Moolenbroek
609*3e07920fSDavid van Moolenbroek# Save ftpd transactions along with mail and news.
610*3e07920fSDavid van Moolenbroek!ftpd
611*3e07920fSDavid van Moolenbroek*.*					/var/log/spoolerr
612*3e07920fSDavid van Moolenbroek
613*3e07920fSDavid van Moolenbroek# Send all error messages from a RAID array through a filter.
614*3e07920fSDavid van Moolenbroek!raid0
615*3e07920fSDavid van Moolenbroekkern.err				|exec /usr/local/sbin/raidfilter
616*3e07920fSDavid van Moolenbroek
617*3e07920fSDavid van Moolenbroek# Save pppd messages from dialhost to a separate file.
618*3e07920fSDavid van Moolenbroek!pppd
619*3e07920fSDavid van Moolenbroek+dialhost
620*3e07920fSDavid van Moolenbroek*.*					/var/log/dialhost-pppd
621*3e07920fSDavid van Moolenbroek
622*3e07920fSDavid van Moolenbroek# Save non-local log messages from all programs to a separate file.
623*3e07920fSDavid van Moolenbroek!*
624*3e07920fSDavid van Moolenbroek-@
625*3e07920fSDavid van Moolenbroek*.*					/var/log/foreign
626*3e07920fSDavid van Moolenbroek
627*3e07920fSDavid van Moolenbroek# Generate digital signatures for all messages
628*3e07920fSDavid van Moolenbroek# to each file or network destination.
629*3e07920fSDavid van Moolenbroeksign_sg=3
630*3e07920fSDavid van Moolenbroek.Ed
631*3e07920fSDavid van Moolenbroek.Sh SEE ALSO
632*3e07920fSDavid van Moolenbroek.Xr syslog 3 ,
633*3e07920fSDavid van Moolenbroek.Xr syslogd 8
634*3e07920fSDavid van Moolenbroek.Sh HISTORY
635*3e07920fSDavid van MoolenbroekThe
636*3e07920fSDavid van Moolenbroek.Nm
637*3e07920fSDavid van Moolenbroekfile appeared in
638*3e07920fSDavid van Moolenbroek.Bx 4.3 ,
639*3e07920fSDavid van Moolenbroekalong with
640*3e07920fSDavid van Moolenbroek.Xr syslogd 8 .
641*3e07920fSDavid van Moolenbroek.Sh BUGS
642*3e07920fSDavid van MoolenbroekThe effects of multiple selectors are sometimes not intuitive.
643*3e07920fSDavid van MoolenbroekFor example
644*3e07920fSDavid van Moolenbroek.Dq mail.crit;*.err
645*3e07920fSDavid van Moolenbroekwill select
646*3e07920fSDavid van Moolenbroek.Dq mail
647*3e07920fSDavid van Moolenbroekfacility messages at
648*3e07920fSDavid van Moolenbroekthe level of
649*3e07920fSDavid van Moolenbroek.Dq err
650*3e07920fSDavid van Moolenbroekor higher, not at the level of
651*3e07920fSDavid van Moolenbroek.Dq crit
652*3e07920fSDavid van Moolenbroekor higher.
653