A correct Radius TLS configuration is not optional. It is the core of secure authentication between clients and the RADIUS server. Weak settings let attackers intercept credentials or impersonate trusted servers. Strong settings enforce encrypted sessions, mutual trust, and strict identity checks.
Start with a current RADIUS daemon that supports TLS 1.2 or TLS 1.3. Disable SSLv2, SSLv3, and TLS 1.0/1.1. In radiusd.conf or the equivalent, explicitly set the allowed protocols:
tls {
tls_min_version = "1.2"
tls_max_version = "1.3"
}
Use certificates signed by a trusted CA. Self-signed certs may work internally, but they increase risk if deployed without strict trust anchors. Maintain short certificate lifetimes and rotate keys on a strict schedule. Use at least RSA 2048-bit keys or better, and consider ECDSA with prime256v1 for higher performance and strong security.
Enable and require client certificate verification. This ensures that only authorized supplicants connect. In FreeRADIUS, configure verify_client = yes and specify the CA file that matches trusted clients. Pair this with a CRL or OCSP check to revoke bad credentials without waiting for expiration.