[RADIATOR] TLS 1.1 and TLS 1.2 Support in Radiator

2014-11-06 Thread Nick Lowe
Dear all,

A quick question: Does Radiator support TLS 1.1 and TLS 1.2 with the
TLS-based EAP types that it implements when paired with a
feature-capable version of OpenSSL?

The FreeRADIUS maintainers found that the code was calling
TLSv1_method() rather than the very poorly named SSLv23_method(),
inadvertently prohibiting the use of the newer TLS versions.

When SSLv23_method() is called, SSL_OP_NO_SSLv2 and SSL_OP_NO_SSLv3
are specified to prohibit the use of these old protocols.

This is documented at https://www.openssl.org/docs/ssl/SSL_CTX_new.html

The upcoming FreeRADIUS 2.2.6 and 3.0.5 releases will allow TLS 1.1
and TLS 1.2 to be used by EAP clients, and by default:

https://github.com/FreeRADIUS/freeradius-server/commit/d56fb1b5fa81ec25fddb9216ce1cf46eb2d99de9

2.x:
https://github.com/FreeRADIUS/freeradius-server/commit/7d6344df30097df946010b2eac011cb9a480bec8

3.x:
https://github.com/FreeRADIUS/freeradius-server/commit/d9a285ca285148a2fb122b18f73ab0cbffbc12f0

Microsoft also now support TLS 1.1 and TLS 1.2 with their TLS-based
EAP implementations when configured through a TlsVersion bit
flags-based DWORD in the Registry.
[This covers Network Policy Server (NPS) therefore...]

See "More Information" towards the end of
https://support.microsoft.com/kb/2977292

As somebody who is not yet familiar with Radiator, I am therefore
curious what the state of play is.

Thanks!

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] TLS 1.1 and TLS 1.2 Support in Radiator

2014-11-07 Thread Nick Lowe
Thanks!

For info: The documentation for Microsoft's hotfix, which was pushed
out automatically with Windows Update, is incomplete as it lumps
together the Server and Client SCHANNEL SP_PROT flags for the TLS
protocol versions.

These bit flags are better documented for the SCHANNEL_CRED
structure's grbitEnabledProtocols field and are defined in schannel.h

See http://msdn.microsoft.com/en-gb/library/windows/desktop/aa379810.aspx

> Here's one additional document: Microsoft's own documentation for PEAP.
> It seems they still say only TLS 1.0 must be used.

Good catch! I will make contact and suggest that they fix the specification.

Regards,

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


[RADIATOR] Use Mozilla's intermediate cipher suites set by default.

2014-11-18 Thread Nick Lowe
Please may I suggest that you consider changing the default cipher
suites configuration in Radiator 4.14 for TLS to use Mozilla's
intermediate compatibility (default) set to encourage the use of
better cipher suites that use ECDHE, GCM and PFS?

See https://wiki.mozilla.org/Security/Server_Side_TLS

This is:

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

This is fully compatible all the way back to Windows XP where 3DES will be used.

It also brings Radiator in to compliance with the very likely upcoming:

https://datatracker.ietf.org/doc/draft-ietf-tls-prohibiting-rc4/

Cheers,

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Use Mozilla's intermediate cipher suites set by default.

2014-11-18 Thread Nick Lowe
This needs to be modified to allow PSK cipher suites though, as Alan
pointed out to me!

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Radiator Version 4.15 released - security fixes and enhancements

2015-07-16 Thread Nick Lowe
RC4 is particularly broken now:

https://www.rc4nomore.com
https://www.rc4nomore.com/vanhoef-usenix2015.pdf

In conjunction with https://tools.ietf.org/html/rfc7465 , it is
probably time for RADIUS servers to comply with this by default unless
explicitly configured otherwise:

"o TLS servers MUST NOT select an RC4 cipher suite when a TLS client
sends such a cipher suite in the ClientHello message.
 o If the TLS client only offers RC4 cipher suites, the TLS server
MUST terminate the handshake.  The TLS server MAY send the
insufficient_security fatal alert in this case."
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Apple iOS 9 and OS X El Capitan

2015-07-25 Thread Nick Lowe
Hmm...

Well, just as a point of related interest, FreeRADIUS had an issue
where the MPPE key was incorrectly calculated for TLS 1.2:

https://github.com/FreeRADIUS/freeradius-server/commit/bdff82cdc5bbd6e9079be4b11f0adc27fa994416

FreeRADIUS 2.2.6 and 3.0.7 don't work with iOS 9 unless TLS 1.2 is
disabled server side.

Any users of 2.2.6 and 3.0.7 should consider upgrading if they're
using TLS-based EAP types. This affects Eduroam etc.

(FreeRADIUS 2.2.7 and 3.0.8, and later work without issue.)

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Apple iOS 9 and OS X El Capitan

2015-07-26 Thread Nick Lowe
The supplicant in Windows 7 and newer support TLS 1.2 for the
TLS-based EAP types offered such as EAP-PEAP if the machine is fully
patched via Windows Update.

TLS 1.1 and 1.2 are disabled by default but can be enabled for you to test with.

See the second More Information section of:

https://support.microsoft.com/en-us/kb/2977292

The configuration of the TlsVersion DWORD in the registry is actually
more granular than the KB article lets on as you actually get control
of both the client and server version behaviour, it is not lumped
together.

The values map to the SP_PROT flags defined in schannel.h, documented
online as part of the SCHANNEL_CRED structure under
grbitEnabledProtocols.

http://msdn.microsoft.com/en-gb/library/windows/desktop/aa379810.aspx

SP_PROT_TLS1_SERVER
0x0040

SP_PROT_TLS1_CLIENT
0x0080

SP_PROT_TLS1_1_SERVER
0x0100

SP_PROT_TLS1_1_CLIENT
0x0200

SP_PROT_TLS1_2_SERVER
0x0400

SP_PROT_TLS1_2_CLIENT
0x0800

Regards,

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Apple iOS 9 and OS X El Capitan

2015-07-26 Thread Nick Lowe
Also, iOS 9 is available for public beta testing.

If you have a device that you can test with, you can sign up for
immediate access here:

https://beta.apple.com/sp/betaprogram/

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Apple iOS 9 and OS X El Capitan (radiator Digest, Vol 74, Issue 10)

2015-07-30 Thread Nick Lowe
Hi David,

I definitely agree with your suggestion. Now that we all know that
this is an issue, we can take steps to raise awareness and inform. For
Eduroam in particular, I feel that notices should be put out to
participating institutions.

I replied to Heikki before, forgetting to copy to the list, saying:

"This was actually discovered with wpa_supplicant not via iOS 9 or El
Capitan. Odds are therefore, all you will need to do here is to ensure
that an old version of Net::SSLeay is not being use with Radiator so
that Radiator users don't hang themselves here and document and warn
better on the issue."

Regards,

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Apple iOS 9 and OS X El Capitan (radiator Digest, Vol 74, Issue 10)

2015-07-30 Thread Nick Lowe
Agreed, but it would be good to use all sensible means available to
communicate this - it is not one or the other, there's no mutual
exclusivity.

I just feel that it would be useful to try and step in to prevent this
from becoming a problem when iOS 9 and OS X El Capitan come out of
beta and ship.

Many people will install the free upgrades from Apple and all hell
could break loose where clients cannot connect against certain home
institutions.

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Apple iOS 9 and OS X El Capitan

2015-07-30 Thread Nick Lowe
1.46 doesn't work.

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Apple iOS 9 and OS X El Capitan

2015-07-30 Thread Nick Lowe
Agreed: "Added support for SSL_export_keying_material where present
(ie in OpenSSL 1.0.1 and later)."

Not tested, but I suspect that we will find that 1.53 is the version
at which this starts to work and, if so, it should become the minimum
version that should be used.

Regards,

Nick

On Thu, Jul 30, 2015 at 6:49 PM, Christopher Bongaarts  wrote:
> On 7/30/2015 12:43 PM, Nick Lowe wrote:
>>
>> 1.46 doesn't work.
>
>
> Quickly looking through the release notes, 1.53 has a change that seems
> relevant.
>
>
> --
> %%  Christopher A. Bongaarts   %%  c...@umn.edu  %%
> %%  OIT - Identity Management  %%  http://umn.edu/~cab  %%
> %%  University of Minnesota%%  +1 (612) 625-1809%%
>
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Apple iOS 9 and OS X El Capitan

2015-07-31 Thread Nick Lowe
Surely, the best solution is to check for the availability of the
SSL_export_keying_material. If it is not available, disable TLS 1.2.

I definitely do not think that it is a great idea to disable support
for TLS 1.2 by default.

Regards,

Nick

On Thu, Jul 30, 2015 at 9:12 PM, Heikki Vatiainen  wrote:
> On 07/30/2015 08:57 PM, Nick Lowe wrote:
>> Agreed: "Added support for SSL_export_keying_material where present
>> (ie in OpenSSL 1.0.1 and later)."
>
> Support for this Net::SSLeay function was added in Radiator 4.11
> patches. In other words, Radiator 4.12 and later will use it if it's
> available.
>
> https://www.open.com.au/radiator/history.html
>
>> Not tested, but I suspect that we will find that 1.53 is the version
>> at which this starts to work and, if so, it should become the minimum
>> version that should be used.
>
> That's quite likely. I'm currently travelling so I don't have a good
> opportunity to test this yet. What it looks like is that Net::SSLeay
> 1.53 + OpenSSL 1.0.1 are the minimum requirement for TLSv1.2 support for
> TLS based EAP methods. The former for correct MPPE key calculation and
> the latter for TLSv1.2 (and TLSv1.1).
>
> I previously mentioned Net::SSLeay 1.46, but it seems to be missing
> SSL_export_keying_material, altough it provides constants
> Net::SSLeay::OP_NO_TLSv1_1 and Net::SSLeay::OP_NO_TLSv1_2 which allow
> setting the desired TLS versions.
>
> Another thing to consider is the change introduced in Radiator 4.13
> patches: Radiator 4.13 + patches, 4.14 and 4.15 allow TLSv1.0, 1.1 and
> 1.2 for TLS based EAP methods. Previously only TLSv1.0 was allowed.
>
> What Klara reported is one example where this can cause problems even
> when EAPTLS_Protocols is not set: TLSv1.2 tunnel is successfully
> negotiated but the MPPE keys are not calculated correctly because of an
> old Net::SSLeay. The fix could be to upgrade Net::SSLeay or allow only
> TLS 1.0 and 1.1. However, if Net::SSLeay is too old, for example
> RHEL/CentOS 6, then the missing constants do not allow this and the only
> option that remains is to upgrade Net:SSLeay.
>
> For the above reason this might be a good default:
> - Revert back to TLSv1.0 by default (when EAPTLS_Protocols is not defined)
> - When EAPTLS_Protocols is defined, check the Net::SSLeay version and
> complain if it is older than 1.53 and OpenSSL version indicates that
> TLSv1.1 and TLSv1.2 are not supported
>
> I'd say the above should not cause problems when TLSv1.2 (and 1.1)
> clients become more widely used because the server would default to
> choosing TLSv1.0. On the server side this has worked for ages and quite
> likely the TLSv1.2 supporting clients do not refuse TLSv1.0 by default,
> at least yet.
>
> When TLSv1.1 and TLSv1.2 server side support is required, it can be
> turned on with EAPTLS_Protocols. If there are problems, the rollback can
> be done by commenting out EAPTLS_Protocols and going back to TLSv1.0.
>
> Any comments on this?
>
> The above changes would probably mean a release to make the change
> easier for everyone. The changes would go to patches first for those who
> are interested in testing the new defaults and behaviour.
>
> Thanks for your comments, everyone!
> Heikki
>
>> On Thu, Jul 30, 2015 at 6:49 PM, Christopher Bongaarts  wrote:
>>> On 7/30/2015 12:43 PM, Nick Lowe wrote:
>>>>
>>>> 1.46 doesn't work.
>>>
>>>
>>> Quickly looking through the release notes, 1.53 has a change that seems
>>> relevant.
>
> --
> Heikki Vatiainen 
>
> Radiator: the most portable, flexible and configurable RADIUS server
> anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
> Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
> TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
> DIAMETER etc. Full source on Unix, Windows, MacOSX, Solaris, VMS,
> NetWare etc.
> ___
> radiator mailing list
> radiator@open.com.au
> http://www.open.com.au/mailman/listinfo/radiator
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Apple iOS 9 and OS X El Capitan

2015-07-31 Thread Nick Lowe
Isn't $Net::SSLeay::VERSION available, from which you could refuse to
start Radiator if Net:SSLeay <= 1.46 is detected and you can't disable
TLS 1.2?

On Fri, Jul 31, 2015 at 2:57 PM, Heikki Vatiainen  wrote:
> On 07/31/2015 12:11 PM, Nick Lowe wrote:
>> Surely, the best solution is to check for the availability of the
>> SSL_export_keying_material. If it is not available, disable TLS 1.2.
>
> This is certainly the best solution, provided Net::SSLeay version is at
> least 1.46. This is the first version that allows disabling TLS 1.2 (and
> TLS 1.1).
>
> The OpenSSL API allows creating SSL_CTX for one TLS/SSL version only, or
> for all supported versions which means the undesired versions need to be
> disabled separately. This is why Net:SSLeay 1.46 or more recent would be
> needed.
>
> http://www.openssl.org/docs/ssl/SSL_CTX_new.html
>
>> I definitely do not think that it is a great idea to disable support
>> for TLS 1.2 by default.
>
> We'll check what can be done. Unfortunately it looks like RHEL/CentOS 6
> won't work with TLS 1.2 out of the box because of the old Net:SSLeay.
> Fortunately it appears that for more recent Net::SSLeay and OpenSSL
> combinations TLS 1.1 and 1.2 can be left enabled.
>
> Thanks,
> Heikki
>
> --
> Heikki Vatiainen 
>
> Radiator: the most portable, flexible and configurable RADIUS server
> anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
> Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
> TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
> DIAMETER etc. Full source on Unix, Windows, MacOSX, Solaris, VMS,
> NetWare etc.
> ___
> radiator mailing list
> radiator@open.com.au
> http://www.open.com.au/mailman/listinfo/radiator
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Apple iOS 9 and OS X El Capitan

2015-07-31 Thread Nick Lowe
Sorry, < 1.46 not <= ...

So the logic would be:

< 1.46, bail and fail to start Radiator going forward
< 1.53, always disable TLS 1.2 going forward
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Apple iOS 9 and OS X El Capitan

2015-07-31 Thread Nick Lowe
$ perl -MNet::SSLeay -e 'print "$Net::SSLeay::VERSION\n"'
1.70
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Apple iOS 9 and OS X El Capitan

2015-07-31 Thread Nick Lowe
Safe but, in my opinion, fundamentally rather unhelpful as it keeps
people on a deprecated version of the TLS protocol by default. I don't
think it's the right choice on balance.

Instead of failing to start if you feel that is too severe, you are
still able to limit to TLS 1.0 only.

< 1.46, force TLS 1.0 going forward
< 1.53, always disable TLS 1.2 going forward
Else... TLS 1.2 will be enabled by default.

Thoughts?

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Apple iOS 9 and OS X El Capitan

2015-07-31 Thread Nick Lowe
The other thing that I want to say...

It would be far better to deal with any problems if-and-when they
arise based on technical realities rather than defaulting to the
conservative position of TLS 1.0 by default.

If something does arise that requires not offering TLS 1.2 by default,
then fair enough - but we really have not seen anything to justify
that position yet IMO.

Regards,

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Password/certificate security seems next to none on Radiator server

2015-10-01 Thread Nick Lowe
If you wanted robust protection here, you would likely want to go down
the route of a TPM or equivalent.

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Password/certificate security seems next to none on Radiator server

2015-10-02 Thread Nick Lowe
Nadav,

You're just obfuscating by doing this as the RADIUS server still have
to get access to those things. Security through obscurity really
doesn't exist. It is a complete waste of time in my opinion.

You have to reply on encryption of the backing storage and OS security
primitives with administrative best practice to do this properly.
There is no other way.

Once somebody owns a box, all bets are off.

Regards,

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Password/certificate security seems next to none on Radiator server

2015-10-06 Thread Nick Lowe
Hi Nadav,

You're wrong. Please educate yourself about what a security boundary is.

Kind regards,

Nick

On Tue, Oct 6, 2015 at 12:06 PM, Nadav Hod  wrote:
> Hi,
>
> The password doesn't need to be in plaintext in the configuration, it can 
> simply use an alias system so that if I send the argument "router123" then 
> router123's password will be copied to memory securely, where it can then be 
> used. Same goes for any passphrases for accessing certificate stores. This is 
> how kpcli works, you supply string1 and  you get back password1.
>
> I think there is merit in changing the existing configuration files from 
> using "router123,mypassword" to something like GetPassword(%UserName). It 
> seems more secure to me and not because of obfuscation but because the 
> interface with Radiator itself is more secure. It also doesn't expose 
> credentials nearly as much as the status quo. At no point in any of the 
> configuration files and databases should credentials be left in unguarded 
> cleartext, it's just not technical limitation these days.
>
> I'm unsure why there isn't any interest from anyone in this mailing list 
> other than myself to secure these credentials. Let's look at other solutions. 
> I heard a suggestion to use TPM, but that's hardware-specific and also 
> depends on how the encryption software supports its use.
>
> Would using Microsoft EFS on the Radiator folder (which contains all NAS 
> credentials) and limiting access be a stronger solution than using an 
> encrypted database? Would this cause a noticeable performance hit for an SMB?
>
> 
> From: Christian Kratzer [ck-li...@cksoft.de]
> Sent: Saturday, October 03, 2015 4:06 PM
> To: Nadav Hod
> Cc: Tuure Vartiainen; radiator@open.com.au
> Subject: Re: [RADIATOR] Password/certificate security seems next to none  
>   on Radiator server
>
> Hi,
>
> On Fri, 2 Oct 2015, Nadav Hod wrote:
>> Hi Tuure,
>>
>> Moving the secrets from one cleartext file to another isn't secure, it's 
>> just a way to break the code between more files.
>
> you still clearly do not understand that there is no way to solve this in 
> software.
>
> Not in radiator or in any other software.
>
> Radiator or any other radius server needs to keep in plaintext:
> - credentials it needs to connect to backend databases
> - possible certificate private keys or passphrases to unlock those when needed
> - radius secrets
> - ...
>
>> I'm interested in a secure way to access credentials which are kept both 
>> encrypted and only accessed when authenticated by a keyfile or something 
>> equally strong.
>
> If credentials are kept encrypted and are decrypted on demand that is equally 
> just obfuscation.
>
> You asked for it and were shown a way how to accomplish this but rejected it.
>
>> As far as I can tell this doesn't exist today in Radiator, I'm asking this 
>> members in this mailing list whether or not they think there is added value 
>> in implementing some form of sustainable security for these credentials.
>
> Radiator is following best practices already.
>
> Greetings
> Christian
>
>
>
> --
> Christian Kratzer   CK Software GmbH
> Email:   c...@cksoft.de   Wildberger Weg 24/2
> Phone:   +49 7032 893 997 - 0   D-71126 Gaeufelden
> Fax: +49 7032 893 997 - 9   HRB 245288, Amtsgericht Stuttgart
> Mobile:  +49 171 1947 843   Geschaeftsfuehrer: Christian Kratzer
> Web: http://www.cksoft.de/
> ___
> radiator mailing list
> radiator@open.com.au
> http://www.open.com.au/mailman/listinfo/radiator
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator


Re: [RADIATOR] Password/certificate security seems next to none on Radiator server

2015-10-06 Thread Nick Lowe
> Would using Microsoft EFS on the Radiator folder (which contains all NAS 
> credentials) and limiting access be a stronger solution than using an 
> encrypted database?

Using the primitives and security boundaries provided by the
underlying platform/OS is the only correct solution. Attempting to
implement it in Radiator would be a fools errand. It is impossible to
achieve your stated goal at that level, all you can possibly achieve
is obfuscation, which isn't security at all.

Regards,

Nick
___
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator