[RADIATOR] Unconditionally accepting any user/password combination for an enterprise-WPA2 WLAN

Waßerroth, Stephan stephan.wasserroth at fokus.fraunhofer.de
Wed Feb 12 07:00:03 CST 2014


Hi *,

our current use of Radiator (4.12.1) is for "eduroam", so we have a working configuration according to the eduroam-Cookbook allowing users with (nearly...) any WLAN-equipment to authenticate either against our Windows-AD (for our own user database) or against their home organization (for guests).

Now we want to set up an additional WLAN-SSID, which uses enterprise-WPA2 (so it is encrypted without preshared keys) but allows everyone access regardless of the username and password. The user still must enter an username/password combination on connect, but any combination entered should be accepted. This must work for a lot of devices, so PEAP and TTLS should work at least.

I've tried a lot of various configurations (similar to the eduroam configuration for EAP and MSCHAP-v2). I did not get it working (using something with AuthBy INTERNAL). All my variations using AuthBy INTERNAL did not work at all.	

Any hint, how to proceed, is greatly appreciated -- Thanks!

For the curious, the reason behind the setup is twofold:
- instead using an open network, we want to use encryption, but still allow anyone access to the network.
- authorization is handled quite different (e.g. by using MAC addresses of the client station with AuthenticateAttribute Calling-Station-Id) together with captive gateways...

This is the current configuration, which works for "eduroam"-Access and the local Realm "thereal.domain.de" as expected, but does not work for the "ewpa2" WLAN (all identities have been changed):

# sof #
Foreground
LogDir		/var/log/radius
DbDir		/etc/radiator
DictionaryFile	%D/dictionary

# Use a low trace level in production systems. Increase
# it to 4 or 5 for debugging, or use the -trace flag to radiusd
Trace 		3

AuthPort	1812
AcctPort	1813

# for testing...
<Client localhost>
	Secret		any
	DupInterval	0
</Client>

# all the WLAN-APs in our network...
<Client 192.168.0.0/24>
	Secret			any
	Identifier		WLAN-APs
</Client>

# this radius server itself...
<Client 10.0.0.3>
	Secret			any
	Identifier		radsrv
</Client>

# the federated top level RADIUS server...
<Client 193...1>
	Secret			any
	Identifier		radius1
</Client>
<Client 193...2>
	Secret			any
	Identifier		radius2
</Client>

# local users are validated against LDAP/AD...
## following works only, if machine is joined to domain!!
<AuthBy NTLM>
	UsernameMatchesWithoutRealm
	EAPType 		MSCHAP-V2
	Identifier		AuthNTLM
</AuthBy>

# accept anyone authentication handler...
# A handler, which authenticates any username and any password...
<AuthBy INTERNAL>
	Identifier	AllowEveryone
	DefaultResult	ACCEPT
	AuthResult	ACCEPT
</AuthBy>


# Handler for test equipment WLAN ewpa2
<Handler Called-Station-Id = /ewpa2/, EAP-Message=/.+/>
	AuthByPolicy	ContinueWhileAcceptOrChallenge
	# first check the MAC address of device...
	<AuthBy FILE>
		AuthenticateAttribute	Calling-Station-Id
		Filename		%D/ewpa2_users
		Nocache
		NoEAP
		NoCheckPassword
	</AuthBy>

	# then handly the WPA2-authentication methods...
	<AuthBy FILE>
		EAPType			TLS, TTLS, PEAP
		# config for PEAP, TTLS users
		Nocache
		##AcceptIfMissing
		##NoCheckPassword
		##UsernameMatchesWithoutRealm
		Filename		%D/ewpa2_users
		EAPAnonymous		anonymous at ewpa2
		EAPTLS_CAFile		%D/CA_chain.pem
		EAPTLS_CertificateFile	%D/radsrv.pem
		EAPTLS_CertificateType	PEM
		EAPTLS_PrivateKeyFile	%D/radsrv.key
		##EAPTLS_PrivateKeyPassword	removed_from_file
		EAPTLS_PEAPVersion	0
		EAPTLS_MaxFragmentSize	1000
		EAPTTLS_NoAckRequired
		AutoMPPEKeys
		# config for TLS users
		EAPTLS_NoCheckId
		EAPTLS_CRLCheck
		EAPTLS_CRLFile		%D/crl.pem
		EAPTLS_SessionResumption	0
		# general SSL trace, seems not to work...
		SSLeayTrace		7
	</AuthBy>
	AcctLogFileName		%L/detail-ewpa2
</Handler>

# Handler for PEAP and TTLS tunnels on WLAN ewpa2, accepting any username and password...
<Handler TunnelledByPEAP=1, Realm=/ewpa2$/i>
	<AuthBy FILE>
		##Nocache
		AcceptIfMissing
		NoCheckPassword
		UsernameMatchesWithoutRealm
		Filename	%D/ewpa2_users
		EAPType		MSCHAP-V2
	</AuthBy>
</Handler>
<Handler TunnelledByTTLS=1, Realm=/ewpa2$/i>
	<AuthBy FILE>
		##Nocache
		AcceptIfMissing
		NoCheckPassword
		UsernameMatchesWithoutRealm
		Filename	%D/ewpa2_users
		EAPType		MSCHAP-V2
	</AuthBy>
</Handler>

# Handler for PEAP...
<Handler TunnelledByPEAP=1, Realm=/thereal\.domain\.de$/i>
	<AuthBy	GROUP>
		AuthByPolicy	ContinueUntilAcceptOrChallenge
		AuthBy		AuthNTLM
	</AuthBy>
</Handler>

# Handler for TTLS...
<Handler TunnelledByTTLS=1, Realm=/thereal\.domain\.de$/i>
	<AuthBy GROUP>
		AuthByPolicy    ContinueUntilAcceptOrChallenge
		AuthBy          AuthNTLM
	</AuthBy>
</Handler>


# Handler for  employees...
<Handler Realm=/thereal\.domain\.de$/i>
	## TTLS and PEAP (Microsoft...) users use username/password,
	## TLS users use certificates, all handled in one handler...
	<AuthBy FILE>
		EAPType			TLS, TTLS, PEAP
		# config for PEAP, TTLS users
		Filename		%D/dot1x_anon
		EAPAnonymous		anonymous at thereal.domain.de
		EAPTLS_CAFile		%D/CA_chain.pem
		EAPTLS_CertificateFile	%D/radsrv.pem
		EAPTLS_CertificateType	PEM
		EAPTLS_PrivateKeyFile	%D/radsrv.key
		#EAPTLS_PrivateKeyPassword	removed_from_file
		EAPTLS_PEAPVersion	0
		EAPTLS_MaxFragmentSize	1000
		EAPTTLS_NoAckRequired
		AutoMPPEKeys
		# config for TLS users
		EAPTLS_NoCheckId
		EAPTLS_CRLCheck
		EAPTLS_CRLFile          %D/crl.pem
		EAPTLS_SessionResumption        0
		# general SSL trace, seems not to work...
		SSLeayTrace		7
	</AuthBy>
	AcctLogFileName		%L/detail-local
</Handler>


# Handler for guests, forwarding anything else to federated radius servers...
##<Handler Realm=/^.+$/, Client-Identifier=/^(?!radsrv$)/>
<Handler Realm=/^.+$/>
	<AuthBy RADIUS>
		Identifier		radius1
		RetryTimeout		3
		Retries			1
		FailureBackoffTime	0
		UseExtendedIds
		<Host radius1>
			AuthPort	1812
			Secret		any
		</Host>
	</AuthBy>
	<AuthBy RADIUS>
		Identifier		radius2
		RetryTimeout		3
		Retries			1
		FailureBackoffTime	0
		UseExtendedIds
		<Host radius2>
			AuthPort	1812
			Secret		any
		</Host>
	</AuthBy>
	AcctLogFileName		%L/detail-guests
</Handler>}
# eof #


The users file "ewpa2_users" contains:

# sof #
# List of users: anonymous for outer EAP...
anonymous
anonymous at ewpa2

# the entry used by AuthBy INTERNAL...
DEFAULT Auth-Type=AllowEveryone

# List of MAC addresses allowed connecting to WLAN FOKUS-ewpa2
001300130013
001400140014
# eof #

Thanks and regards,

--
   Stephan Waßerroth
Head of Core IT-Services
Fraunhofer-Fokus | Kaiserin-Augusta-Allee 31 | D-10589 Berlin
e-mail: stephan.wasserroth at fokus.fraunhofer.de



More information about the radiator mailing list