Using NAS-Port-Type to allow or disallow?

Alan DeKok aland at ox.org
Thu Sep 22 20:43:05 CEST 2005


Martin.Ward at uk.neceur.com wrote:
> I have a wireless LAN switch which has access points ( APs ) connected to
> it. When a laptop first connects to an AP that AP sends a RADIUS request
> through the WLAN switch to the RADIUS server, passing the MAC address of
> the laptop as the User-Name and also as the User-Password. I have a simple
> flat file with all the allowed MAC addresses in it, and the passwd module
> is being used to verify that the MAC address is in that flat file. This
> works well.

  OK...

> Now because the WLAN switch is configured to use RADIUS to authenticate
> laptops, it also uses it to authenticate logins to the switch itself, I
> haven't found a way around this and don't think there is one.

  The "access point login" packets will be different from the "mac
address login" packets.  Use those differences as a key to decide when
to allow MAC address authentication.

> 2. The proper administrators, and the default administration login itself,
> have to be put in to the flat file I mentioned above to allow the
> administrators access to the switch. The switch won't use its own internal
> user and password list. This causes another security breach as we would
> have to leave administrator logins and passwords lying around in flat
> files, which is extremely insecure and just begging to be broken.

  So use crypt'd passwords in FreeRADIUS.

> Investigation reveals that when the AP passes the RADIUS request in, the
> request sets 'NAS-Port-Type = Wireless-802.11' and the NAS-Port-ID to the
> correct port value, while when the switch requests a login to be
> authenticated the request contains 'NAS-Port-Type = Virtual', and doesn't
> have the NAS-Port-ID or NAS-Indentifier parameters set.

  There you go.

> So, it seems I have lots of information to help me define if a RADIUS
> request is coming from an access point (which requires MAC address
> validation) or from the switch (which requires login username and password
> validation), but I can't find a way of verifying via passwd OR Unix module,
> only via both.

  See doc/Autz-Type

  In the "users" file, do:

DEFAULT	 NAS-Port-Type == Virtual, Auth-Type := System

DEFAULT	 NAS-Port-Type == Wireless-802.11, Autz-Type := bar

DEFAULT	 Auth-Type := Reject

  Then in radiusd.conf, "authorize" section, add at the bottom:

  Autz-type bar {
	    passwd
  }

  And it should work.

> Is what I am after possible, or do I just not understand the way RADIUS
> servers work?

  It's possible.  You've described the problem and the information you
have well.  All you need is pointers to the docs & sample configurations.

  Alan DeKok.



More information about the Freeradius-Users mailing list