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.
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