Re: call for discussion on draft-heinanen-radius-pe-discovery-03.txt
Bernard Aboba <[email protected]> Tue, 20 May 2003 12:57:46 -0700 (PDT)
| Newsgroups | gmane.ietf.ppvpn |
|---|---|
| Message-ID | <[email protected]> |
>this was already fixed in 04 that i announced to the list a few weeks >ago. the terms conflicting 2486 are gone. [BA] Good. If there is a need to update 2486 for some reason, this can be accomplished within the RFC 2486bis effort. >my draft doesn't use radius for service discovery. the service type in >the radius request that the pe makes is VPN-Login. so the pe already >knows what service to ask for. [BA] My error, sorry. Use of RADIUS for discovering VPN endpoints is OK, and is described in RFC 2868. It is not even necessary to know what type of VPN is desired, since this is returned in the Access-Accept. >what comes to the security issue, it is not at all unreasonable to >assume that there exists a security relationship between pes of a >provider and the radius servers of the same provider. it is in the same >category than assuming that there is a security association between pes >and their snmp management system. [BA] Preconfiguration may not necessarily be required but there are some pitfalls. For example, it possible for the RADIUS server to return a Tunnel-Password attribute as indicated in RFC 2868. However, the security of that mechanism is somewhat suspect, so it would be better if it was not necessary to use it. >it is very common that radius requests have side effects. any >reasonable radius server on the market supports configuration of pre and >post authentication hooks. otherwise routine things like checking of >simultaneous use would not be possible. [BA] The point is that there should not be an expectation that existing RADIUS servers can be implement this specification merely by making changes to the RADIUS Dictionary. That needs to be stated clearly. It's also worth mentioning that most RADIUS Dictionaries only support attributes of types defined in RFC 2865. That means that Attribute structures are typically only supported within the "String" type, and inherent server support for that is limited. The major problem with stateful application of RADIUS (such as simultaneous usage checks) is the unreliability of RADIUS accounting traffic. That implies that the state on the RADIUS server can easily get out of sync, and a mechanism needs to be provided to resynchronize. In the case of simultaneous usage checks, the accounting info is typically supplemented by telnet-based access or a proprietary SNMP MIB. The end result is that stateful uses typically have implementation-dependent components, and therefore don't interoperate well. This could be addressed either by specifying the required transport behavior or by providing an interoperable resynchronization mechanism. >i don't see the use of Interim Accounting for failure detection a big >protocol abuse. that request is normally used to keep accounting >information as accurate as possible in case the nas fails and is not >able to send stop accounting request. its use here is close to that >purpose. [BA] This is problematic because RADIUS Accounting retransmission behavior is not specified -- and therefore the loss of an interim packet may not indicate a "failure" at all -- but just ordinary packet loss. In any case, the proper behavior of a RADIUS client not receiving a Response is to initiate failover. So the packet may just have been sent to an alternative RADIUS Accounting server and received there. >thanks for the "joke". [BA] RADIUS security problems are not a joke. The security of RADIUS was marginal at the time it was proposed, but by now it has become quite easy to crack if the implementation or deployment configuration has even the slightest weakness. This includes known plaintext attacks similar to those which can be carried out on WEP, dictionary attacks on the RADIUS shared secret, and even brute force attacks on the (sub-standard) ciphers used to hide attributes. My advice is to consider the security weaknesses present in RFC 2868 and include potential mitigating measures in the Security Considerations section. An example of such a section is available here: http://www.drizzle.com/~aboba/EAP/draft-aboba-radius-rfc2869bis-22.txt >that would include some "concerns" regarding the draft, because the one >i now replied to was empty of them. [BA] Overall, I think that the draft has value and its purpose is within the precedent established in RFC 2867-2868. Given that RADIUS already supports configuration of VPNs and VLANs, it is not much of a stretch to see it being used for PPVPN configuration. However, there are things that RADIUS implementations cannot be guaranteed to do well, primarily because of the lack of a transport and failover specification, and limitations in the original security design. The question is whether potential implementors will be ok with the changes that might be necessary to address these issues. An example would be use of IPsec to protect the RADIUS exchanges, or the specification of required retransmission behavior. These changes will inevitably make the implementations more complex and expensive -- but will also make them more reliable and secure.