16820e1a243b6414da20d109887d1e3a49f32589
[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         #  Create the CUI value and add the attribute to Access-Accept.
56         #  Uncomment the line below if *returning* the CUI.
57 #       cui
58
59         #
60         #  If you want to have a log of authentication replies,
61         #  un-comment the following line, and enable the
62         #  'detail reply_log' module.
63 #       reply_log
64         #
65         #  After authenticating the user, do another SQL query.
66         #
67         #  See "Authentication Logging Queries" in sql.conf
68         -sql
69
70         #
71         #  Instead of sending the query to the SQL server,
72         #  write it into a log file.
73         #
74 #       sql_log
75
76         #
77         #  Un-comment the following if you want to modify the user's object
78         #  in LDAP after a successful login.
79         #
80 #       ldap
81
82         # For Exec-Program and Exec-Program-Wait
83         exec
84         #  Remove reply message if the response contains an EAP-Message
85         remove_reply_message_if_eap
86         #  Access-Reject packets are sent through the REJECT sub-section of the
87         #  post-auth section.
88         #
89         #  Add the ldap module name (or instance) if you have set
90         #  'edir_account_policy_check = yes' in the ldap module configuration
91         #
92         Post-Auth-Type REJECT {
93                 # log failed authentications in SQL, too.
94                 -sql
95                 attr_filter.access_reject
96
97                 # Insert EAP-Failure message if the request was
98                 # rejected by policy instead of because of an
99                 # authentication failure And already has an EAP message
100                 # For non-ABFAB, we insert the failure all the time, but for ABFAB
101                 # It's more desirable to preserve reply-message when we can
102 if &reply:Eap-Message {
103                         eap
104                         }
105
106                 #  Remove reply message if the response contains an EAP-Message
107                 remove_reply_message_if_eap
108         }
109 }
110 #
111 #  When the server decides to proxy a request to a home server,
112 #  the proxied request is first passed through the pre-proxy
113 #  stage.  This stage can re-write the request, or decide to
114 #  cancel the proxy.
115 #
116 #  Only a few modules currently have this method.
117 #
118 pre-proxy {
119         # Before proxing the request add an Operator-Name attribute identifying
120         # if the operator-name is found for this client.
121         # No need to uncomment this if you have already enabled this in
122         # the authorize section.
123 #       operator-name
124
125         #  The client requests the CUI by sending a CUI attribute
126         #  containing one zero byte.
127         #  Uncomment the line below if *requesting* the CUI.
128 #       cui
129
130         #  Uncomment the following line if you want to change attributes
131         #  as defined in the preproxy_users file.
132 #       files
133
134         #  Uncomment the following line if you want to filter requests
135         #  sent to remote servers based on the rules defined in the
136         #  'attrs.pre-proxy' file.
137 #       attr_filter.pre-proxy
138
139         #  If you want to have a log of packets proxied to a home
140         #  server, un-comment the following line, and the
141         #  'detail pre_proxy_log' section, above.
142 #       pre_proxy_log
143 }
144 #
145 #  When the server receives a reply to a request it proxied
146 #  to a home server, the request may be massaged here, in the
147 #  post-proxy stage.
148 #
149 post-proxy {
150
151         #  If you want to have a log of replies from a home server,
152         #  un-comment the following line, and the 'detail post_proxy_log'
153         #  section, above.
154 #       post_proxy_log
155
156         #  Uncomment the following line if you want to filter replies from
157         #  remote proxies based on the rules defined in the 'attrs' file.
158 #       attr_filter.post-proxy
159
160         #
161         #  If you are proxying LEAP, you MUST configure the EAP
162         #  module, and you MUST list it here, in the post-proxy
163         #  stage.
164         #
165         #  You MUST also use the 'nostrip' option in the 'realm'
166         #  configuration.  Otherwise, the User-Name attribute
167         #  in the proxied request will not match the user name
168         #  hidden inside of the EAP packet, and the end server will
169         #  reject the EAP request.
170         #
171         eap
172 }
173