2016-04-20 19 views
-1

Ich möchte den freeRADIUS Server als Authentifizierungsserver für den WLAN-Test in Unternehmen konfigurieren. Ich bin neu in der Konfiguration des freeRADIUS Servers. bitte geben Sie mir den Schritt für Schritt oder einen Link zur Installation und KonfigurationfreeRADIUS Serverkonfiguration für 802.1x

Danke, Devaa

Antwort

0

Diese Frage ist so breit. Es hängt wirklich davon ab, was Sie tun möchten, wo Ihre Authentifizierungsdaten (zB Benutzer/Passwörter) gespeichert werden, welche Art von EAP-Methoden Sie verwenden werden.

Die Standardkonfiguration von FreeRADIUS funktioniert jedoch ziemlich gut für die meisten Tests mit minimalen Änderungen.

Beginnen Sie mit der Bearbeitung der Datei raddb/users und fügen Sie oben einen neuen Benutzer hinzu. Das Formular sollte wie sein

username Cleartext-Password := "password" 

Dann können Sie radtest oder eapol_test verwenden um zu überprüfen, um zu sehen, ob das funktioniert.

Wenn das funktioniert, können Sie die Datei clients.conf bearbeiten, um Ihren drahtlosen AP oder Controller hinzuzufügen.

Sie sollten sich dann vom drahtlosen Netzwerk aus verbinden können.

Dies kann jedoch ziemlich kompliziert sein und es gibt viele Dinge, die auf dem Weg schief gehen können, also seien Sie nicht entmutigt, wenn es beim ersten Mal nicht funktioniert.

Immer führen Sie den Server mit Debugging on (radiusd -X) beim Testen, und lesen Sie alle Ausgaben. Es wird dir zeigen, wo Dinge versagen.

Es gibt eine Menge Informationen über die FreeRADIUS wiki, zum Beispiel mit der Basic configuration HOWTO beginnen. Es gibt auch viele gute Tutorial Tipps auf Alan Dekok's page. Beachten Sie, dass Sie für die drahtlose Verbindung EAP konfigurieren müssen.

+0

Vielen Dank für Ihre Antwort. Ich habe den Radius-Server angesprochen. Es sagt, dass bereit, Anfrage zu verarbeiten. Dann, wie mit einer beliebigen EAP-Methode verbinden. Jetzt möchte ich, dass mein Supplikant die Verbindung zu meinem Freeradius-Server mit WPA2-Enterprise-Sicherheit herstellt. Bitte helft mir, meinen Supplicant mit dem Radiusserver zu verbinden. – devaa

1

Zuerst werden wir einen Platz zu arbeiten, also habe ich ein Verzeichnis:

mkdir /usr/src/freeradius && cd /usr/src/freeradius 

Als nächstes müssen wir unsere Quelle holen und alle Abhängigkeiten zu erhalten, so dass Ihre Quellen zu aktualisieren und die folgenden Befehle eingeben:

Das sollte den FreeRADIUS-Quellcode für uns heruntergeladen haben, also müssen wir jetzt ein paar Änderungen vornehmen, damit unser Compiler es mit den EAP-Modulen erstellt, die wir verwenden werden. Zuerst editiere /usr/src/freeradius/freeradius-1.1.3/debian/control und entferne von Build-Conflicts: und füge es dem Ende von Build-Depends: line hinzu. Die Datei sollte wie folgt aussehen:

Build-Depends: debhelper (>= 5), libltdl3-dev, libpam0g-dev, libmysqlclient15-dev | libmysqlclient-dev, libgdbm-dev, libldap2-dev, libsasl2-dev, libiodbc2-dev, libkrb5-dev, snmp, autotools-dev, dpatch (>= 2), libperl-dev, libtool, dpkg-dev (>= 1.13.19), libssl-dev 
Build-Conflicts: 

Als nächstes werden Sie Beschreibungen für Ihre EAP-Module hinzufügen müssen, so geben Sie die folgenden am Ende der Datei hinzu:

Package: freeradius-eaptls 
Architecture: any 
Depends: freeradius (= ${binary:Version}), ${shlibs:Depends} 
Description: eap-tls module for FreeRADIUS server 
Debian will not provide a binary version of the rlm_eap_tls.so library. This 
module is required if you want to use EAP/TLS authentication, commonly used 
for WiFi access points. 

Package: freeradius-eappeap 
Architecture: any 
Depends: freeradius (= ${binary:Version}), ${shlibs:Depends} 
Description: eap-peap module for FreeRADIUS server 
Debian will not provide a binary version of the rlm_eap_peap.so library. This 
module is required if you want to use EAP/PEAP authentication, commonly used 
for WiFi access points. 

Speichern und beenden Sie diese Datei .

Als nächstes bearbeiten wir /usr/src/freeradius/freeradius-1.1.3/debian/rules.Finden und kommentieren unsere die „buildssl =“ und „moduleslist = -“ Zeilen und fügen Sie die folgenden Zeilen:

buildssl=–without-rlm_otp –without-rlm_sql_postgresql –without-snmp 
modulelist=krb5 ldap sql_mysql sql_iodbc eap_peap eap_tls 

Speichern und beenden.

Geben Sie nun die folgenden Befehle:

echo “usr/lib/freeradius/rlm_eap_tls*.so” >/usr/src/freeradius/freeradius-1.1.3/debian/freeradius-eaptls.install 
echo “usr/lib/freeradius/rlm_eap_peap*.so” > /usr/src/freeradius/freeradius-1.1.3/debian/freeradius-eappeap.install 

als nächstes /usr/src/freeradius/freeradius-1.1.3/debian/freeradius-eaptls.postinst erstellen lassen und geben Sie die folgenden Schritte aus:

#! /bin/sh 

set -e 

case "$1" in 
configure) 
     if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then 
     invoke-rc.d freeradius restart 
     else 
     /etc/init.d/freeradius restart 
     fi 
     ;; 
abort-upgrade) 
     ;; 
abort-remove) 
     ;; 
abort-deconfigure) 
     ;; 
esac 

#DEBHELPER# 

Jetzt werden wir /usr/src/freeradius/freeradius-1.1.3/debian/freeradius-eappeap.postinst erstellen und die folgenden, um es hinzuzufügen:

#! /bin/sh 

set -e 

case "$1" in 
configure) 
     if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then 
     invoke-rc.d freeradius reload 
     else 
     /etc/init.d/freeradius reload 
     fi 
     ;; 
abort-upgrade) 
     ;; 
abort-remove) 
     ;; 
abort-deconfigure) 
     ;; 
esac 

#DEBHELPER# 

Jetzt ist der harte Teil fertig t kompilieren unsere Deb-Pakete. Geben Sie den folgenden Befehl ein:

cd /usr/src/freeradius/freeradius-1.1.3/ 
dpkg-buildpackage -rfakeroot -uc -us 

Wenn alles gut gegangen Sie jetzt mehrere .deb-Pakete in /usr/src/freradius haben sollte, so lasst sie installieren, indem Sie den folgenden:

dpkg -i freeradius_1.1.3-3_i386.deb 
dpkg -i freeradius-eaptls_1.1.3-3_i386.deb 
dpkg -i freeradius-eappeap_1.1.3-3_i386.deb 

Überprüfen Sie, ob Freeradius kompiliert und korrekt durch Fragen Sie den folgenden Befehl installiert:

ps aux | grep freeradius 

And you should see something similar to this: 

freerad 29998 0.0 0.8 44620 2224 ? Ssl 00:55 0:00 /usr/sbin/freeradius 

Wenn nicht starten Freeradius im Debug-Modus als root an und suchen nach Hinweisen, warum die Dinge ein re nicht richtig funktioniert:

freeradius –X 

Auch /usr/lib/freeradius überprüfen und sicherzustellen, dass die rlm_eap_peap-1.1.3.so und rlm_eap_tls-1.1.3.so Module existieren.

Jetzt Freeradius konfigurieren

Zuerst haben wir /etc/freeradius/radiusd.conf

HINWEIS bearbeiten werden: Wenn die Dateien Konfiguration der Bearbeitung sicher sein, dass jede offene Klammer ({) eine Endung Klammer entspricht (}) oder Sie wird FreeRADIUS brechen!

die mschap Strophe unter MODULE finden und es mit den folgenden Parametern konfiguriert werden:

mschap { 
       authtype = MS-CHAP 
       use_mppe = yes 
       require_encryption = yes 
       require_strong = yes 
} 

Weiter, um die authorise Strophe überprüfen enthält folgende Parameter:

preprocess 
mschap 
suffix 
eap 
files 

nun überprüfen, ob die authenticate Strophe wie folgt konfiguriert:

authenticate { 
    # MSCHAP authentication. 
    Auth-Type MS-CHAP { 
mschap 
} 
# Allow EAP authentication. 
     eap 
} 

Nun müssen wir einen Client zur clients.conf hinzufügen. Mit Client meinen wir einen Authentifikator wie einen Access Point (AP) oder einen Wireless Controller. In diesem Beispiel verwenden wir die Adresse von Juniper SSG5 192.168.44.129.Fügen Sie die folgende Strophe zum clients.conf:

client 192.168.44.129 { 
    secret = test123 
    shortname = Juniper 
} 

Als nächstes werden wir unsere Server PEAP zu unterstützen und bearbeite /etc/freeradius/eap.conf konfigurieren werden.

Erster Wechsel der default_eap_type in der eap Strophe wie folgt aussehen:

default_eap_type = peap 

Da PEAP unserem Beispiel Zertifikate benötigt Kommentar- der tls Strophe sowie die folgenden Parameter zu unterstützen.

tls { 
private_key_password = whatever 
private_key_file = ${raddbdir}/certs/cert-srv.pem 
certificate_file = ${raddbdir}/certs/cert-srv.pem 
CA_file = ${raddbdir}/certs/demoCA/cacert.pem 
dh_file = ${raddbdir}/certs/dh 
random_file = ${raddbdir}/certs/random 
} 

Weiter finden und Kommentar- die peap Strophe und die folgenden Parameter:

default_eap_type = mschapv2 

nun einen Testbenutzer in der /etc/freeradius/users Datei hinzufügen, damit wir das System testen. Fügen Sie die folgenden:

“tobias” User-Password == “password123” 

Restart FreeRADIUS with the following command: 

/etc/init.d/freeradius restart 

Nun, wenn Sie alles richtig gemacht haben sollten Sie in der Lage sein, mit Ihrem Testbenutzer zu authentifizieren mit dem folgenden Befehl:

radtest tobias password123 localhost 0 testing123 

Sie sehen sollen:

ending Access-Request of id 170 to 127.0.0.1 port 1812 
    User-Name = "tobias" 
    User-Password = "password123" 
    NAS-IP-Address = 255.255.255.255 
    NAS-Port = 0 
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=170, length=20 

An diesem Punkt sollte alles funktionieren, obwohl Sie das Zertifikat Ihrer Zertifizierungsstelle auf Ihre PEAP-Clients exportieren müssten, damit sie dem von FreeRADIUS verwendeten Serverzertifikat vertrauen. Die Zertifikate, die wir gerade verwenden, sind nur zum Testen da und sollten nicht für die Produktion verwendet werden. Als Nächstes werde ich erklären, wie Sie Ihre eigene Zertifizierungsstelle einrichten und Ihre eigenen Zertifikate erstellen.

Zuerst müssen wir OpenSSL installieren und da wir einige komplexe Passwörter generieren müssen, installieren wir auch PWGen den Passwortgenerator.

apt-get install openssl pwgen 

OpenSSL verwendet eine Standarddatei, /etc/ssl/openssl.cnf, dass wir werden Backup und bearbeiten Sie uns einige Zeit zu sparen, wenn wir unsere Zert beginnen zu erzeugen.

cp /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf.bak 

Jetzt /etc/ssl/openssl.cnf bearbeiten und diese Zeile finden:

dir =./demoCA 

und ändern:

dir =/etc/freeradius/eap/eapCA 

Dies ist der Ort wurde Ich werde die neuen CA erschaffen Möglicherweise möchten Sie den Rest der Datei durchsuchen und die Standardeinstellungen für Ihre Umgebung bearbeiten. Hier sind einige der Änderungen, die ich an meinem openssl.cnf vorgenommen habe.

-countryName_default = AU 
+countryName_default = US 

-stateOrProvinceName_default = Some-State 
+stateOrProvinceName_default = Oregon 

+localityName_default = Portland 

-0.organizationName_default = Widget ltd 
+0.organizationName_default = Fat of the LAN 

Nun erstellen und in das Verzeichnis wechseln, die alle unsere Zertifikate und CA existieren:

mkdir /etc/freeradius/eap && cd /etc/freeradius/eap 

Wir eines von OpenSSL verwenden Skripte enthalten unsere CA zu erzeugen, aber Sie werden wollen Passen Sie es ein wenig vor der Verwendung an, damit wir es in unserem Zertifikatsverzeichnis kopieren können.

cp /usr/lib/ssl/misc/CA.pl /etc/freeradius/eap 

Als nächstes müssen wir CA.pl bearbeiten, um zu erfahren, wo wir unsere CA erstellen können. Öffnen Sie es und ändern Sie die folgende Zeile ein:

CATOP=./demoCA 

zu:

CATOP=/etc/freeradius/eap/eapCA 

Ihre CA steht im Zentrum Ihres Zertifikats-Infrastruktur, so dass es wichtig ist, um sie zu schützen, wenn Sie es erzeugt haben sowie Verwenden Sie ein starkes Passwort dafür. Ich werde ein nettes 25-stelliges Passwort mit pwgen generieren. Achten Sie darauf, dieses Passwort bei jeder Unterzeichnung eines Zertifikats so aufzuzeichnen, wie Sie es benötigen.

pwgen 25 1 
aem5xahheethohP5Woh5Eb3ph 

Jetzt lassen Sie uns das Skript aus dem Verzeichnis /etc/freeradius/eap ausführen.

Beantworten Sie alle Fragen basierend auf Ihrer Umgebung und verwenden Sie das Kennwort, das Sie gerade erstellt haben, wenn Sie dazu aufgefordert werden. Wenn das Skript beendet ist, haben Sie Ihre eigene CA in /etc/freeradius/eap/eapCA. Als nächstes müssen wir ein Serverzertifikat für FreeRADIUS erstellen und es mit unserer neuen CA signieren.

./CA.pl –newreq-nodes 

Wir sollten jetzt ein neues Schlüsselpaar sowie eine Signaturanforderung haben, die an unsere Zertifizierungsstelle gesendet werden kann.

Eine kurze Anmerkung zur Kompatibilität. Wenn Sie eines dieser Zertifikate auf Windows-Clients verwenden möchten, müssen Sie den von Ihnen generierten Zertifikaten XP-Erweiterungen hinzufügen. Die xpextensions-Datei ist in Debians FreeRADIUS-Paketen enthalten und ich werde sie in den Anhang für unsere Nicht-Debian-Leser aufnehmen. Erstellen Sie eine Kopie davon in unserem Zertifikatsverzeichnis.

cp /usr/share/doc/freeradius/examples/xpextensions /etc/freeradius/eap 

Nun wollen wir unsere CA-Taste wird die Freeradius‘Zertifikatsanforderung zu unterschreiben, das Kennwort des CA eingeben, wenn Sie dazu aufgefordert:

./CA.pl –sign (Optionally add -extensions xpserver_ext -extfile /etc/freeradius/eap/xpextensions) 

Nun, da alle Zertifikate wir erzeugt werden müssen, müssen wir schaffen ein paar Dateien, die zum Eingeben von Material benötigt werden, und teilen FreeRADIUS mit, die neuen Zertifikate zu verwenden. Um die AVW und zufällige Dateien zu erstellen, geben Sie den folgenden Befehl ein:

openssl dhparam -check -text -5 512 -out dh 
dd if=/dev/urandom of=random count=2 
chmod 640 random newcert.pem newkey.pem newreq.pem dh 

jetzt Ihre /etc/freeradius/eap.conf Datei öffnen, finden die tls Strophe, und ändern Sie die neuen Zertifikate reflektieren wir geschaffen.

private_key_file = /etc/freeradius/eap/newkey.pem 
certificate_file = /etc/freeradius/eap/newcert.pem 
CA_file = /etc/freeradius/eap/eapCA/cacert.pem 
dh_file = /etc/freeradius/eap/dh 
random_file = /etc/freeradius/eap/random 

Und während wir gerade dabei sind, Kommentar- die folgenden Zeilen:

fragment_size = 1024 
include_length = yes 

Restart Freeradius und kopieren Zertifikat Ihrer CA (/etc/freeradius/eap/eapCA/cacert.pem) an Ihre Kunden. Konfigurieren Sie den Supplicant Ihrer Clients für Ihre neue PEAP-fähige SSID, konfigurieren Sie Ihren AP für die Verwendung von 802.1x und Ihren neuen FreeRADIUS-Server und Sie können loslegen!

Wenn Sie weitere Informationen zu RADIUS suchen, sehen Sie sich dieses Buch an. Es war bisher sehr hilfreich.

+0

"check out this book" - soll hier ein Link folgen? Sieht so aus, als hättest du vergessen es hinzuzufügen. – YakovL