radsecproxy-1.6.5.
[radsecproxy.git] / radsecproxy.conf-example
1 # Master config file, must be in /etc/radsecproxy or specified with -c option
2 #       All possible config options are listed below
3
4 # First you may define any global options, these are:
5 #
6 # You can optionally specify addresses and ports to listen on
7 # Multiple statements can be used for multiple ports/addresses
8 #ListenUDP              *:1814
9 #ListenUDP              localhost
10 #ListenTCP              [2001:700:1:7:215:f2ff:fe35:307d]:1812
11 #ListenTLS              10.10.10.10:2084
12 #ListenTLS              [2001:700:1:7:215:f2ff:fe35:307d]:2084
13 #ListenDTLS             [2001:700:1:7:215:f2ff:fe35:307d]:2084
14
15 # To specify a certain address/port for UDP/TLS requests you can use e.g.
16 #SourceUDP              127.0.0.1:33000
17 #SourceTCP              *:33000
18 #SourceTLS              *:33001
19 #SourceDTLS             *:33001
20
21 # Optional log level. 3 is default, 1 is less, 5 is more
22 #LogLevel               3
23 # Optional LogDestination, else stderr used for logging
24 # Logging to file
25 #LogDestination         file:///tmp/rp.log
26 # Or logging with Syslog. LOG_DAEMON used if facility not specified
27 # The supported facilities are LOG_DAEMON, LOG_MAIL, LOG_USER and
28 # LOG_LOCAL0, ..., LOG_LOCAL7
29 #LogDestination         x-syslog:///
30 #LogDestination         x-syslog:///log_local2
31
32 # For generating log entries conforming to the F-Ticks system, specify
33 # FTicksReporting with one of the following values.
34 #   None  -- Do not log in F-Ticks format.  This is the default.
35 #   Basic -- Do log in F-Ticks format but do not log VISINST.
36 #   Full  -- Do log in F-Ticks format and do log VISINST.
37 # Please note that in order to get F-Ticks logging for a given client,
38 # its matching client configuration block has to contain the
39 # fticksVISCOUNTRY option.
40
41 # You can optionally specify FTicksMAC in order to determine if and
42 # how Calling-Station-Id (users Ethernet MAC address) is being logged.
43 #   Static          -- Use a static string as a placeholder for
44 #                      Calling-Station-Id.
45 #   Original        -- Log Calling-Station-Id as-is.
46 #   VendorHashed    -- Keep first three segments as-is, hash the rest.
47 #   VendorKeyHashed -- Like VendorHashed but salt with F-Ticks-Key.    This
48 #                      is the default.
49 #   FullyHashed     -- Hash the entire string.
50 #   FullyKeyHashed  -- Like FullyHashed but salt with F-Ticks-Key.
51
52 # In order to use FTicksMAC with one of VendorKeyHashed or
53 # FullyKeyHashed, specify a key with FTicksKey.
54 # FTicksKey <key>
55
56 # Default F-Ticks configuration:
57 #FTicksReporting None
58 #FTicksMAC Static
59
60 # You can optionally specify FTicksSyslogFacility to use a dedicated 
61 # syslog facility for F-Ticks messages. This allows for easier filtering
62 # of F-Ticks messages.
63 # F-Ticks messages are always logged using the log level LOG_DEBUG.
64 # Note that specifying a file (using the file:/// prefix) is not supported.
65 #FTicksSyslogFacility   log_local1
66 #FTicksSyslogFacility   x-syslog:///log_local1 
67
68 # There is an option for doing some simple loop prevention.  Note that
69 # the LoopPrevention directive can be used in server blocks too,
70 # overriding what's set here in the basic settings.
71 #LoopPrevention         on
72 # Add TTL attribute with value 20 if not present (prevents endless loops)
73 #AddTTL 20
74
75 # If we have TLS clients or servers we must define at least one tls block.
76 # You can name them whatever you like and then reference them by name when
77 # specifying clients or servers later. There are however three special names
78 # "default", "defaultclient" and "defaultserver". If no name is defined for
79 # a client, the "defaultclient" block will be used if it exists, if not the
80 # "default" will be used. For a server, "defaultserver" followed by "default"
81 # will be checked.
82 #
83 # The simplest configuration you can do is:
84 tls default {
85     # You must specify at least one of CACertificateFile or CACertificatePath
86     # for TLS to work. We always verify peer certificate (client and server)
87     # CACertificateFile    /etc/cacerts/CA.pem
88     CACertificatePath   /etc/cacerts
89
90     # You must specify the below for TLS, we always present our certificate
91     CertificateFile     /etc/hostcertkey/host.example.com.pem
92     CertificateKeyFile  /etc/hostcertkey/host.example.com.key.pem
93     # Optionally specify password if key is encrypted (not very secure)
94     CertificateKeyPassword      "follow the white rabbit"
95     # Optionally enable CRL checking
96     # CRLCheck on
97     # Optionally specify how long CAs and CRLs are cached, default forever
98     # CacheExpiry 3600
99     # Optionally require that peer certs have one of the specified policyOIDs
100     # policyoid     1.2.3 # this option can be used multiple times
101     # policyoid     1.3.4
102 }
103
104 # If you want one cert for all clients and another for all servers, use
105 # defaultclient and defaultserver instead of default. If we wanted some
106 # particular server to use something else you could specify a block
107 # "tls myserver" and then reference that for that server. If you always
108 # name the tls block in the client/server config you don't need a default
109
110 # Now we configure clients, servers and realms. Note that these and
111 # also the lines above may be in any order, except that a realm
112 # can only be configured to use a server that is previously configured.
113
114 # A realm can be a literal domain name, * which matches all, or a
115 # regexp. A regexp is specified by the character prefix /
116 # For regexp we do case insensitive matching of the entire username string.
117 # The matching of realms is done in the order they are specified, using the
118 # first match found. Some examples are
119 # "@example\.com$", "\.com$", ".*" and "^[a-z].*@example\.com$".
120 # To treat local users separately you might try first specifying "@"
121 # and after that "*".
122
123 # Configure a rewrite block if you want to add/remove/modify attributes
124 # rewrite example {
125 #       # Remove NAS-Port.
126 #       removeAttribute 5
127 #       # Remove vendor attribute 100.
128 #       removeVendorAttribute 99:100
129 #       # Called-Station-Id = "123456"
130 #       addAttribute 30:123456
131 #       # Vendor-99-Attr-101 = 0x0f
132 #       addVendorAttribute 99:101:%0f
133 #       # Change users @local to @example.com.
134 #       modifyAttribute 1:/^(.*)@local$/\1@example.com/
135 # }
136
137 client [2001:db8::1] {
138         type    tls
139         secret  verysecret
140 # we could specify tls here, e.g.
141 #       tls myclient
142 # in order to use tls parameters named myclient. We don't, so we will
143 # use "tls defaultclient" if defined, or look for "tls default" as a
144 # last resort
145 }
146 client 127.0.0.1 {
147         type    udp
148         secret  secret
149 #       Might do rewriting of incoming messages using rewrite block example
150 #       rewriteIn example
151 #       Can also do rewriting of outgoing messages
152 #       rewriteOut example      
153 }
154 client 127.0.0.1 {
155         type    tcp
156         secret  secret
157 }
158 client radius.example.com {
159         type tls
160 # secret is optional for TLS
161 }
162 client radius.example.com {
163         type dtls
164 # secret is optional for DTLS
165 }
166
167 server 127.0.0.1 {
168         type    UDP
169         secret  secret
170 #       Might do rewriting of incoming messages using rewrite block example
171 #       rewriteIn example
172 #       Can also do rewriting of outgoing messages
173 #       rewriteOut example      
174 #       Might override loop prevention here too:
175 #       LoopPrevention off
176 }
177 realm   eduroam.cc {
178         server  127.0.0.1
179 # If also want to use this server for accounting, specify
180 #       accountingServer 127.0.0.1
181 }
182
183 server [2001:db8::1] {
184         type    TLS
185         port    2283
186 # secret is optional for TLS
187 # we could specify tls here, e.g.
188 #       tls myserver
189 # in order to use tls parameters named myserver. We don't, so we will
190 # use "tls defaultserver" if defined, or look for "tls default" as a
191 # last resort
192 }
193 server radius.example.com {
194         type    tls
195         secret  verysecret
196         StatusServer on
197 # statusserver is optional, can be on or off. Off is default
198 }
199 #server radius.example.com {
200 #       type    dtls
201 #       secret  verysecret
202 #       StatusServer on
203 ## statusserver is optional, can be on or off. Off is default
204 #}
205
206 # Equivalent to example.com
207 realm /@example\.com$ {
208         server 2001:db8::1
209 }
210 # One can define a realm without servers, the proxy will then reject
211 # and requests matching this. Optionally one can specify ReplyMessage
212 # attribute to be included in the reject message. One can also use
213 # AccountingResponse option to specify that the proxy should send such.
214 realm /\.com$ {
215 }
216 realm /^anonymous$ {
217         replymessage "No Access"
218 #       AccountingResponse On
219 }
220 # The realm below is equivalent to /.*
221 realm * {
222         server radius.example.com
223 }
224 # If you don't have a default server you probably want to
225 # reject all unknowns. Optionally you can also include a message
226 #realm * {
227 #        replymessage "User unknown"
228 #}