Ik heb een voorliefde genomen om de Radius en centraliseert alle authenticatie kwesties onder haar paraplu
.
Aan de ene kant hebben we gezien hoe om vpn's maken en draadloze toegangspunten met Radius en ten tweede hoe om te integreren vsftpd met MySQL met behulp van virtuele ftp gebruikers. Waarom ze niet combineren? Waarom zouden we willen een nieuwe database voor ftp behouden als we onze Radius bereid om verificaties uit te voeren? Het is bijna klaar, we moeten gewoon de juiste toetsen te spelen.
Laten we aannemen dat de Radius-server nu actief is en u hebt uw systeem gemonteerd vsftpd met virtuele gebruikers op de links hierboven verklaart alles. Nu configureer uw FTP-server om direct authenticeren tegen Radius in plaats van tegen MySQL.
Zoals vsftpd gebruikt PAM voor authenticatie, we alleen de MySQL module overeenkomt met Radius te veranderen. In die tijd gebruikten we pam_mysql. Doe nu hetzelfde met pam_radius , dat eenvoudig.
In mijn geval, zoals u weet, ik gebruik CentOS5 , en vreemd genoeg niet beschikbaar is een rpm met deze module, dus ik heb voor te bereiden met de hand, geluk is dat het bronbestand is . spec geschikt om direct te creëren. Als voor uw systeem kan de juiste installateur om deze stap overslaan.
We konden compileren en de teer te installeren direct, maar ik heb liever een rpm te maken om te werken en daarna te verwijderen. We downloadde de broncode van hier , uitpakken in een tijdelijke pad en kopieer de teer zich aan de juiste weg naar de rpm te compileren:
- . tar .gz # Cp pam_radius 0,17 -1,3. Tar. Gz / usr / src / redhat / SOURCES / pam_radius_auth -1,3 0,17. Tar. Gz
- # Tar xvfz 0,17 -1,3 pam_radius. Tar. Gz
- # Cp pam_radius -1,3 17 / pam_radius_auth.spec / usr / src / redhat / SPECS
Nu moeten we een kleine verandering in dit bestand spec te maken. We zullen lijn 2 bewerken en te wijzigen
- % Versie Definieer 1.3 .15
bijwerken van de bijbehorende versienummer:
- % Versie Definieer 1.3 .17
En voeg de regel
- BuildRequires: pam pam-devel
Nadat de lijn 15, zodat het
- % Definieer naam pam_radius_auth
- % Versie Definieer 1.3 .17
- % Vrijlating 0 Define
- Naam:% {name}
- Samenvatting: PAM module voor RADIUS-verificatie
- Versie:% {version}
- Vrijgeven:% {vrijlating}
- .freeradius.org/pub/radius/pam_radius_auth-% { version } . tar Bron:. Ftp :/ / ftp .freeradius.org/pub/radius/pam_radius_auth-% {version} Tar
- URL: http://www.freeradius.org/pam_radius_auth/
- Groep: System Environment / Bibliotheken
- /% { name } -buildroot Buildroot:% {_tmppath} /% {name}-buildroot
- Licentie: BSD-achtige of GNU GPL
- Vereist: pam
- BuildRequires: pam pam-devel
We hebben alles klaar om de module te compileren
- # Rpmbuild-ba / usr / src / redhat / SPECS / pam_radius_auth.spec
Als alles goed gaat zullen we in / usr/src/redhat/RPMS/x86_64 het rpm-pakket klaar om te installeren. In mijn geval, want het is een 64bit systeem is x86_64 map, in uw geval kunnen zijn in i386. We kunnen alleen maar te installeren.
- rpm-ivh / usr / src / redhat / RPM / pam_radius_auth 0,17 -1,3 -0. x86_64.rpm
Laten we nu configureren hoe weinig er te configureren
. We zetten de Radius-server adres en wachtwoord om toegang te krijgen:
/ Etc / raddb / server
- 1 0,0 0,1 127,0 claveSecretaRadius
We veranderden de configuratie PAM vsftpd te authenticeren met MySQL te gebruiken in plaats Radius:
/ Etc / pam.d / vsftpd
- auth required / lib / security / debug pam_radius_auth.so
- account vereist / lib / security / debug pam_radius_auth.so
Dat is het. Onze FTP-server zal authenticeren tegen de Radius-server. Wij voegden de optie debug (debug) om de werking te controleren, wanneer we zijn er zeker van dat alles goed werkt kunnen we het te verwijderen.
Als u problemen, om na te gaan wat de module pam_radius standaard debug log moet controleren. Standaard is niet ingeschakeld op de demon syslog , dus ik voegde:
/ Etc / syslog.conf
- *. Debug / var / log / debug.log
We hebben geprobeerd om toegang te krijgen tot de FTP-server en controleren wat is het maken van de authenticatie-module in deze log:
cat / var / log / debug.log
- : 09 osiris vsftpd: pam_radius_auth: Got user name XXX 28 september 17: 11: 09 osiris vsftpd: pam_radius_auth: Got gebruikersnaam XXX
- : 09 osiris vsftpd: pam_radius_auth: Sending RADIUS request code 1 28 september 17: 11: 09 osiris vsftpd: pam_radius_auth: Het verzenden RADIUS requestcode 1
- : 09 osiris vsftpd: pam_radius_auth: DEBUG: getservbyname ( radius, udp ) returned 1214042784 . 28 september 17: 11: 09 osiris vsftpd: pam_radius_auth: DEBUG: getservbyname (radius, udp) teruggekeerd 1214042784.
- : 09 osiris vsftpd: pam_radius_auth: Got RADIUS response code 2 28 september 17: 11: 09 osiris vsftpd: pam_radius_auth: Got RADIUS response code 2
- : 09 osiris vsftpd: pam_radius_auth: authentication succeeded 28 september 17: 11: 09 osiris vsftpd: pam_radius_auth: authenticatie geslaagd
Als er een probleem is moeten we het daar zien, maar als je al Radius en vsftpd werken, moet alles goed zijn.
Zo ver zijn we gekomen, hebben we een nieuwe dienst in ons netwerk geïntegreerd in hetzelfde authenticatiesysteem. Elke demon die PAM gebruikt voor verificatie moeten worden geconfigureerd op dezelfde manier. Ssh is het duidelijkste voorbeeld, zou vrijwel gelijk.
























