[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: User Digest, Vol 111, GOSA und freeRADIUS



Hallo Wolfgang,

die Sache mit den huntgroups will nicht funktionieren. 

meine /etc/freeradius/sites-enable/default:

.... 

post-auth {
        if ( Group == teachers ) {
                noop
        }
        elsif ( Group == wireless && Huntgroup-Name==schueler ) {
                noop
        }
        else {
                reject
        }
}
#

meine /etc/freeradius/huntgroups:

# fuer schueler in Gruppe wireless und lehrer
schueler        NAS-IP-Address == 10.0.2.18
lehrer          NAS-IP-Address == 10.0.2.22
lehrer          NAS-IP-Address == 10.0.2.23
#


freeradius -X loggt bei einem Schüler:

# Executing section post-auth from file /etc/freeradius/sites-enabled/default
+- entering group post-auth {...}
++? if (Group == teachers )
? Evaluating (Group == teachers ) -> FALSE
++? if (Group == teachers ) -> FALSE
++? elsif (Group == wireless && Huntgroup-Name==schueler )
? Evaluating (Group == wireless ) -> TRUE
    (Attribute Huntgroup-Name was not found)
? Evaluating (Huntgroup-Name==schueler ) -> FALSE
++? elsif (Group == wireless && Huntgroup-Name==schueler ) -> FALSE
++- entering else else {...}
+++[reject] returns reject
++- else else returns reject

Muss ich freeradius irgendwo vorschreiben, dass er die huntgroups ausliest oder mache ich etwas falsch?
Bin für jeden Tipp dankbar

Gruß
Thomas


------------------------------------------------------------
ursprüngliche Nachricht:


Hallo Thomas,

das sollte eigentlich so gehen (ungetestet):

Alle Access-Points in der Datei "/etc/freeradius/huntgroups" 
jeweils einer Gruppe zuordnen:

# /etc/freeradius/huntgroups

schueler-aps	NAS-IP-Address == 10.1.0.201
schueler-aps	NAS-IP-Address == 10.1.0.202
schueler-aps	NAS-IP-Address == 10.1.0.203
schueler-aps	NAS-IP-Address == 10.1.0.204
schueler-aps	NAS-IP-Address == 10.1.0.205

lehrer-aps	NAS-IP-Address == 10.1.0.220
lehrer-aps	NAS-IP-Address == 10.1.0.230

reserve-aps	NAS-IP-Address == 10.1.0.240
#

In der Datei "/etc/freeradius/sites-available/default" den Abschnitt 
"authorize" ergänzen um "preprocess", damit der Inhalt der Datei huntgroups 
ausgewertet wird; die Bedingungen am Ende geeignet anpassen:

#/etc/freeradius/sites-available/default
authorize {
	auth_log
	eap {
		ok = return
	}
	preprocess
	files
}

authenticate {
	Auth-Type Kerberos {
		krb5
	}
	eap
}

accounting {
#	detail
	unix
	radutmp
	exec
	attr_filter.accounting_response
}

session {
	radutmp
}

# Hier wird der Zugang von Gruppen festgelegt. Beispiel: User erlauben, 
# falls zu den Gruppen teachers oder wireless gehoerend, dazu noch auf 
# bestimmte APs beschränken.
# "teachers" dürfen alle APs bis auf die in der Gruppe reserve-aps benutzen,
# die Gruppe "wireless" nur die schueler-aps.

post-auth {
	if ( Group == teachers && Huntgroup-Name != reserve-aps ) {
		noop
	}
	elsif ( Group == wireless && Huntgroup-Name == schueler-aps ) {
		noop
	}
	else {
		reject
	}
}
-----------------------------------------------------------------------


Gruß,

Wolfgang




-------------------------------------------------------------------------------------------------------------------------------
Am 24.10.2012 12:00, schrieb user-request@skolelinux.de:
Send User mailing list submissions to
	user@skolelinux.de

To subscribe or unsubscribe via the World Wide Web, visit
	https://www.skolelinux.de/mailman/listinfo/user
or, via email, send a message with subject or body 'help' to
	user-request@skolelinux.de

You can reach the person managing the list at
	user-owner@skolelinux.de

When replying, please edit your Subject line so it is more specific
than "Re: Contents of User digest..."


Today's Topics:

   1. Re: GOSA und RADIUS- Server (Wolfgang Schweer)


----------------------------------------------------------------------

Message: 1
Date: 23 Oct 2012 13:05:09 +0200
From: "Wolfgang Schweer" <wschweer@arcor.de>
Subject: Re: GOSA und RADIUS- Server
To: user@skolelinux.de
Message-ID: <20121023110509.GA14289@schweer-online.local>
Content-Type: text/plain; charset="iso-8859-1"

On Fri, Oct 19, 2012 at 07:30:40PM +0200, Thomas Ritter wrote:
hat Jemand von euch einen RADIUS-Server für ein WLAN am Laufen oder 
möchte es gern mit mir gemeinsam ausprobieren? Ich möchte einer 
ausgewählten Benutzergruppe ( ->GOSA) einen Zugang zum schulischen 
WLAN einrichten (können)
Hallo Thomas,

kurz aufgeschrieben, alles ohne Garantie:

--------------------------------------------------------------------
Debian-Edu Squeeze: WLAN mit WPA2 Enterprise (EAP-TTLS außen, PAP im 
inneren Tunnel)
--------------------------------------------------------------------

Als root auf tjener ausführen:


(1) Kerberos-Anbindung für freeradius herstellen.

kadmin -p root/admin@INTERN
[Admin-Passwort eingeben] 

Am kadmin-Prompt Schlüssel erzeugen, in Datei ablegen, verlassen.
kadmin: ank -randkey radius/tjener@INTERN
kadmin: ktadd -k /etc/krb5.keytab.radius radius/tjener@INTERN
kadmin: q

Rechte der Datei kontrollieren, sollte 0600 sein.


(2) Pakete installieren.

aptget update
apt-get install freeradius-krb5

(Die Pakete freeradius, freeradius-common und freeradius-utils sollten 
automatisch mit installiert werden.)
 

(3) Sechs Dateien modifizieren; unten sind alle überflüssigen Inhalte 
weggelassen.

1.
#/etc/freeradius/modules/krb5
krb5 {
	keytab = /etc/krb5.keytab.radius
	service_principal = radius/tjener
}
#


2.
#/etc/freeradius/eap.conf:
	eap {
		default_eap_type = ttls
		timer_expire     = 60
		ignore_unknown_eap_types = no
		cisco_accounting_username_bug = no
		max_sessions = 4096
		md5 {
		}
		tls {
			certdir = ${confdir}/certs
			cadir = ${confdir}/certs
			private_key_password = whatever
			private_key_file = ${certdir}/server.key
			certificate_file = ${certdir}/server.pem
			CA_file = ${cadir}/ca.pem
			dh_file = ${certdir}/dh
			random_file = /dev/urandom
			CA_path = ${cadir}
			cipher_list = "DEFAULT"
			cache {
			      enable = no
			}
		}
		ttls {
			default_eap_type = md5
			copy_request_to_tunnel = yes
			use_tunneled_reply = yes
			virtual_server = "inner-tunnel"
		}
	}
#


3.
#/etc/freeradius/users
#
# Alternativ; bessere Zugangssteuerung ueber Gruppen ist 
# in der Datei ../sites-available/default realisiert.
#
#DEFAULT	Group != "wireless", Auth-Type := Reject
#		Reply-Message = "Zugang nicht erlaubt"

DEFAULT Auth-Type = Kerberos
#


4.
#/etc/freeradius/clients.conf
# Client-IP (Access-Point oder Concentrator),secret und shortname 
# anpassen, secret im AP ebenfalls.
#
client 10.0.2.3 {
	secret		= bitte_aendern
	shortname	= ddwrt
}
#


5.
#/etc/freeradius/sites-available/default
authorize {
	auth_log
	eap {
		ok = return
	}
	files
}

authenticate {
	Auth-Type Kerberos {
		krb5
	}
	eap
}

accounting {
#	detail
	unix
	radutmp
	exec
	attr_filter.accounting_response
}

session {
	radutmp
}

# Hier wird der Zugang von Gruppen festgelegt. Beispiel: User erlauben, 
# falls zu den Gruppen teachers oder wireless gehoerend.
post-auth {
	if ( Group == teachers ) {
		noop
	}
	elsif ( Group == wireless ) {
		noop
	}
	else {
		reject
	}
}
#


6.

#/etc/freeradius/sites-available/inner-tunnel
server inner-tunnel {
listen {
       ipaddr = 127.0.0.1
       port = 18120
       type = auth
}
authorize {
	update control {
	       Proxy-To-Realm := LOCAL
	}
	eap {
		ok = return
	}
	files
	expiration
	logintime
	pap
}

authenticate {
	Auth-Type PAP {
		pap
	}
	Auth-Type Kerberos {
		krb5
	}
}

session {
	radutmp
}

}

(4) Den Dienst neu starten.

invoke-rc.d freeradius restart



Zur Fehlerkontrolle Debug-Modus: 

invoke-rc.d freeradius stop
freeradius -X
Dann Verbindung aufbauen und den Output kontrollieren.


Viele Grüße,
Wolfgang

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
Url : http://www.skolelinux.de/pipermail/user/attachments/20121023/7563c37b/attachment-0001.pgp

------------------------------



Reply to: