3ef581e54dd7b397ea49e3d1db53f0c543a826d2
[freeradius.git] / raddb / sites-available / abfab-tr-idp
1 #
2 #       This file represents a server that is implementing an identity
3 #       provider for GSS-EAP (RFC 7055) using the trust router
4 #       protocol for dynamic realm discovery.  Any ABFAB identity
5 #       provider is also an ABFAB relying party proxy.
6 #
7 #       This file does not include a TLS listener; see abfab-tls for a simple
8 #       example of a RADSEC listener for ABFAB.
9 #
10 #       $Id$
11 #
12
13 server abfab-idp {
14 authorize {
15         psk_authorize
16         abfab_client_check
17         filter_username
18         preprocess
19
20         #  If you intend to use CUI and you require that the Operator-Name
21         #  be set for CUI generation and you want to generate CUI also
22         #  for your local clients then uncomment the operator-name
23         #  below and set the operator-name for your clients in clients.conf
24 #       operator-name
25
26         #
27         #  If you want to generate CUI for some clients that do not
28         #  send proper CUI requests, then uncomment the
29         #  cui below and set "add_cui = yes" for these clients in clients.conf
30 #       cui
31
32         suffix {
33                 updated = 1
34                 noop = reject
35         }
36         eap {
37                 ok = return
38         }
39
40         #
41         expiration
42         logintime
43 }
44
45 authenticate {
46         #
47         #  Allow EAP authentication.
48         eap
49 }
50
51 #  Post-Authentication
52 #  Once we KNOW that the user has been authenticated, there are
53 #  additional steps we can take.
54 post-auth {
55         #
56         #  For EAP-TTLS and PEAP, add the cached attributes to the reply.
57         #  The "session-state" attributes are automatically cached when
58         #  an Access-Challenge is sent, and automatically retrieved
59         #  when an Access-Request is received.
60         #
61         #  The session-state attributes are automatically deleted after
62         #  an Access-Reject or Access-Accept is sent.
63         #
64         update {
65                 &reply: += &session-state:
66         }
67
68         #  Create the CUI value and add the attribute to Access-Accept.
69         #  Uncomment the line below if *returning* the CUI.
70 #       cui
71
72         #
73         #  If you want to have a log of authentication replies,
74         #  un-comment the following line, and enable the
75         #  'detail reply_log' module.
76 #       reply_log
77         #
78         #  After authenticating the user, do another SQL query.
79         #
80         #  See "Authentication Logging Queries" in sql.conf
81         -sql
82
83         #
84         #  Instead of sending the query to the SQL server,
85         #  write it into a log file.
86         #
87 #       sql_log
88
89         #
90         #  Un-comment the following if you want to modify the user's object
91         #  in LDAP after a successful login.
92         #
93 #       ldap
94
95         # For Exec-Program and Exec-Program-Wait
96         exec
97         #  Remove reply message if the response contains an EAP-Message
98         remove_reply_message_if_eap
99         #  Access-Reject packets are sent through the REJECT sub-section of the
100         #  post-auth section.
101         #
102         #  Add the ldap module name (or instance) if you have set
103         #  'edir_account_policy_check = yes' in the ldap module configuration
104         #
105         Post-Auth-Type REJECT {
106                 # log failed authentications in SQL, too.
107                 -sql
108                 attr_filter.access_reject
109
110                 # Insert EAP-Failure message if the request was
111                 # rejected by policy instead of because of an
112                 # authentication failure And already has an EAP message
113                 # For non-ABFAB, we insert the failure all the time, but for ABFAB
114                 # It's more desirable to preserve reply-message when we can
115                 if (&reply:Eap-Message) {
116                         eap
117                 }
118
119                 #  Remove reply message if the response contains an EAP-Message
120                 remove_reply_message_if_eap
121         }
122 }
123 #
124 #  When the server decides to proxy a request to a home server,
125 #  the proxied request is first passed through the pre-proxy
126 #  stage.  This stage can re-write the request, or decide to
127 #  cancel the proxy.
128 #
129 #  Only a few modules currently have this method.
130 #
131 pre-proxy {
132         # Before proxing the request add an Operator-Name attribute identifying
133         # if the operator-name is found for this client.
134         # No need to uncomment this if you have already enabled this in
135         # the authorize section.
136 #       operator-name
137
138         #  The client requests the CUI by sending a CUI attribute
139         #  containing one zero byte.
140         #  Uncomment the line below if *requesting* the CUI.
141 #       cui
142
143         #  Uncomment the following line if you want to change attributes
144         #  as defined in the preproxy_users file.
145 #       files
146
147         #  Uncomment the following line if you want to filter requests
148         #  sent to remote servers based on the rules defined in the
149         #  'attrs.pre-proxy' file.
150 #       attr_filter.pre-proxy
151
152         #  If you want to have a log of packets proxied to a home
153         #  server, un-comment the following line, and the
154         #  'detail pre_proxy_log' section, above.
155 #       pre_proxy_log
156 }
157 #
158 #  When the server receives a reply to a request it proxied
159 #  to a home server, the request may be massaged here, in the
160 #  post-proxy stage.
161 #
162 post-proxy {
163
164         #  If you want to have a log of replies from a home server,
165         #  un-comment the following line, and the 'detail post_proxy_log'
166         #  section, above.
167 #       post_proxy_log
168
169         #  Uncomment the following line if you want to filter replies from
170         #  remote proxies based on the rules defined in the 'attrs' file.
171 #       attr_filter.post-proxy
172
173         #
174         #  If you are proxying LEAP, you MUST configure the EAP
175         #  module, and you MUST list it here, in the post-proxy
176         #  stage.
177         #
178         #  You MUST also use the 'nostrip' option in the 'realm'
179         #  configuration.  Otherwise, the User-Name attribute
180         #  in the proxied request will not match the user name
181         #  hidden inside of the EAP packet, and the end server will
182         #  reject the EAP request.
183         #
184         eap
185 }
186 }