You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/antora/modules/reference/pages/raddb/clients.conf.adoc
+79-37Lines changed: 79 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,22 +81,45 @@ a secret any more!
81
81
82
82
The secret can be any string, up to 8k characters in length.
83
83
84
-
Control codes can be entered via octal encoding,
85
-
e.g. `\101\102` is the same as `AB`
86
-
Quotation marks can be entered by escaping them,
87
-
e.g. `foo\"bar`
84
+
Control codes can be entered via octal encoding:
88
85
89
-
An important note on security: The security of the
90
-
RADIUS protocol depends *completely* on this secret! We
91
-
recommend using a shared secret that is composed of:
86
+
`secret = "\101\102"` is the same as `AB`
92
87
93
-
* upper case letters
94
-
* lower case letters
95
-
* numbers
88
+
Quotation marks can be entered by escaping them:
96
89
97
-
And is *at least* 8 characters, but preferably 16 characters in
98
-
length. The secret *must* be random, and should not be words,
99
-
phrase, or anything else that is recognisable.
90
+
`secret = "foo\"bar"`
91
+
92
+
or by using triple quotes:
93
+
94
+
`secret = """foo"bar"""
95
+
96
+
A note on security: The security of the RADIUS protocol
97
+
depends COMPLETELY on this secret! We recommend using a
98
+
shared secret that at LEAST 16 characters long. It should
99
+
preferably be 32 characters in length. The secret MUST be
100
+
random, and should not be words, phrase, or anything else
101
+
that is recognisable.
102
+
103
+
Computing power has increased enormously since RADIUS was
104
+
first defined. A hobbyist with a high-end GPU can try ALL
105
+
of the 8-character shared secrets in about a day. The
106
+
security of shared secrets increases MUCH more with the
107
+
length of the shared secret, than with number of different
108
+
characters used in it. So don't bother trying to use
109
+
"special characters" or anything else in an attempt to get
110
+
un-guessable secrets. Instead, just get data from a secure
111
+
random number generator, and use that.
112
+
113
+
You should create shared secrets using a method like this:
114
+
115
+
dd if=/dev/random bs=1 count=24 | base64
116
+
117
+
This process will give output which takes 24 random bytes,
118
+
and converts them to 32 characters of ASCII. The output
119
+
should be accepted by all RADIUS clients.
120
+
121
+
You should NOT create shared secrets by hand. They will
122
+
not be random. They will will be trivial to crack.
100
123
101
124
The default secret below is only for testing, and should
102
125
not be used in any real environment.
@@ -105,17 +128,32 @@ not be used in any real environment.
105
128
106
129
require_message_authenticator::Require Message-Authenticator in Access-Requests.
107
130
108
-
https://tools.ietf.org/html/rfc5080[RFC 5080] suggests that all clients *should* include it in an
109
-
Access-Request. The configuration item below allows the server
110
-
to require it. If a client is required to include a `link:https://freeradius.org/rfc/rfc2869.html#Message-Authenticator[Message-Authenticator]`
111
-
and it does not, then the packet will be silently discarded.
112
-
113
-
If value is auto, then if any packet received from the client
114
-
contains a valid Message-Authenticator attribute, then the server
115
-
will require it from all future packets from that client.
116
-
117
-
NOTE: This setting overrides the identically named config item in the
118
-
radius listener.
131
+
https://tools.ietf.org/html/rfc5080[RFC 5080] suggests that all clients *should* include it in
132
+
an Access-Request. The configuration item below allows the
133
+
server to require it. If a client is required to include a
134
+
`link:https://freeradius.org/rfc/rfc2869.html#Message-Authenticator[Message-Authenticator]` and it does not, then the packet
135
+
will be silently discarded.
136
+
137
+
If value is` auto`, then when an `link:https://freeradius.org/rfc/rfc2865.html#Access-Request[Access-Request]` packet from
138
+
the client contains a valid `link:https://freeradius.org/rfc/rfc2869.html#Message-Authenticator[Message-Authenticator]`
139
+
attribute, the server will then require that it exist in
140
+
all future `link:https://freeradius.org/rfc/rfc2865.html#Access-Request[Access-Request]` packets from that client.
141
+
142
+
This flag exists solely for legacy clients which do not
143
+
send `link:https://freeradius.org/rfc/rfc2869.html#Message-Authenticator[Message-Authenticator]` in all `link:https://freeradius.org/rfc/rfc2865.html#Access-Request[Access-Request]`
144
+
packets. We do not recommend setting it to `no`, as that
145
+
may allow the BlastRADIUS attack to take place.
146
+
147
+
The number one way to protect yourself from the BlastRADIUS
148
+
attack is to update all RADIUS servers, and then set this
149
+
flag to `yes`. If all RADIUS servers are updated, and if
150
+
all of them have this flag set to `yes` for all clients,
151
+
then your network is safe. You can then upgrade the
152
+
clients when it is convenient, instead of rushing the
153
+
upgrades.
154
+
155
+
NOTE: This per-client setting overrides the identically
156
+
named configuration item in the `listen` section.
119
157
120
158
Allowed values: yes, no, auto
121
159
@@ -124,35 +162,39 @@ The default is "no".
124
162
125
163
126
164
limit_proxy_state:: Control whether Proxy-State is allowed in
127
-
packets from this client which do not have a Message-Authenticator.
165
+
packets from this client which do not have a `link:https://freeradius.org/rfc/rfc2869.html#Message-Authenticator[Message-Authenticator]`.
128
166
129
-
The blastradius prefix attack allows an attacker to manipulate
130
-
the contents of response packets without knowing the shared secret.
167
+
The BlastRADIUS attack allows an attacker to manipulate the
168
+
contents of responses to `link:https://freeradius.org/rfc/rfc2865.html#Access-Request[Access-Request]` packets, without
169
+
knowing the shared secret.
131
170
132
171
The attack relies on controlling a portion of the data sent back
133
172
in the response by the RADIUS server. As Proxy-State is always
134
173
echoed back verbatim from the request, it can be leveraged to
135
174
manipulate the data sent back from the server and facilitate the
136
175
attack.
137
176
138
-
The attack also relies on defficiencies in the original RADIUS
139
-
standards that provided no integrity protection for Access-Requests.
177
+
The attack also relies on deficiencies in the original
178
+
RADIUS standards which do not provide xintegrity protection
179
+
for `link:https://freeradius.org/rfc/rfc2865.html#Access-Request[Access-Request]`s.
140
180
141
181
The attack is mitigated by requiring the Message-Authenticator,
142
182
which contains a HMAC over the entire request, preventing
143
183
modification of the request by the attacker.
144
184
145
-
If value is auto, and the first packet received from the client
146
-
does not contain a Proxy-State attribute, Proxy-State will be
147
-
disallowed in any future packets which do not contain a
148
-
Message-Authenticator.
185
+
If value is` auto`, then when an `link:https://freeradius.org/rfc/rfc2865.html#Access-Request[Access-Request]` packet
186
+
from the client contains does not contain a `link:https://freeradius.org/rfc/rfc2865.html#Proxy-State[Proxy-State]`
187
+
attribute, the server will the discard `link:https://freeradius.org/rfc/rfc2865.html#Access-Request[Access-Request]`
188
+
packets from the client which contain `link:https://freeradius.org/rfc/rfc2865.html#Proxy-State[Proxy-State]`, but no
189
+
`Message-Authenticator.
149
190
150
-
This provides some level of protection against the blastradius
151
-
attack, without requiring Message-Authenticator, or breaking existing
152
-
deployments.
191
+
This provides some level of protection against the
192
+
blastradius attack, without requiring
193
+
`link:https://freeradius.org/rfc/rfc2869.html#Message-Authenticator[Message-Authenticator]` in all packets, or breaking
194
+
existing deployments.
153
195
154
196
NOTE: This setting overrides the identically named config item in the
0 commit comments