spacer.png, 0 kB
Almaweb cerca collaboratori, chiunque è interessato mi contatti

CB Login


spacer.png, 0 kB
spacer.png, 0 kB
Installazione passo passo di un server Freeradius

Scritto da Marco Longo,

Pagina vista : 4480    

Pubblicato in : Networking, Linux

Visto che la guida di Freeradius base è molto riassuntiva e che nell'installazione di Freeradius si possono incontrare moltissimi problemi, ho fatto questa guida che è molto più dettaglia. La guida parte sempre dal presupposto che si abbia una minima conoscenza di Linux. Ho utilizzato linux CentOS come distro, e la versione di FreeRadius è la 1.1.4.

 

FreeRadius è un server radius modulare, perfomante e ricco di funzioni. FreeRadius supporta i princiapi protocolli di autenticazione, il proxying il fail-over e il load-balancing. FreeRadius è in grado di integrarsi con la maggior parte dei database.

 


Installazione CentOS

 

  1. Accettate il contratto di licenza, scegliete la lingua e la tastiera

  2. Quando chiede il tipo di installazione date Personalizzata

  3. Partizionamento automatico

  4. Lasciate le impostazioni del boot loader invariate

  5. Nella configurazione di rete, visto che questo apparato dovrà esserer un Server, impostiamo manualmente i valori. Selezionate la scheda di rete, facciamo un click su modifica, deselezioniamo DHCP e inseriamo indirizzo e maschera. Chiudiamo la finestra e compiliamo i vari campi (Gateway, Dns, ecc...).

  6. In cofigurazione Firewall abilitiamo i servizi di login remoto e web server e disabilitiamo SELinux (Da problemi con Dialup Admin)

  7. Nella selezione pacchetti io ho tolto le interfacce grafiche (non mi servono per il server radius, quindi è uno spreco di risorse). Cmq è a vostra scelta...

I pacchetti che ho selezionato sono:

  • Internet text-based: tutto (Visto che non ho installato l'interfaccia grafica può tornare utile)

  • Strumenti di configurazione del server: tutto tranne system-config-printer, system-config-printer-gui, system-switch-mail, system-switch-mail-gnome

  • Server Web:
    crypto-utils
    distcache
    httpd-suexev
    mod_auth_mysql
    mod_ssl
    php
    php-mysql
    system-config-httpd

  • File Server di windows:tutto

  • Database Mysql: tutto tranne mysql-bench e qt-Mysql

  • Strumenti amministrativi: quelli di default

  • Strumenti di sistema: quelli di default

8. Avanti e attendete che finisca l'installazione


Upgrade sistema e installazione Freeradius

 

  1. Fate il login e da shell diamo:

    - yum upgrade Per aggiornare il sistema
    - yum install libtool-libs Per installare le librerie necessarie all'installazione di freeradius
    - yum install lm_sensors
    - yum install net-snmp
    - yum install net-snmp-utils
    - yum install gcc
    - yum install gdbm gdbm-devel
    - yum install net-snmp-devel

  2. Visto che non ho installato l'interfaccia grafica, ho scaricato il pacchetto di radius su un'altro pc con installato windows xp in una cartella condivisa. Per accedere a questa cartella dal Server Radius ho dato questi comandi:

-cd /mnt/ Mi sposto nella cartella /mnt
-mkdir NomeCartella Crea una cartella
-mount -t smbfs //IndirizzoPC/CartellaCondivisa /mnt/NomeCartella -o username=Utente,password=Password

Quelle sottolineate sono le variabili

        3. Adesso entriamo nella cartella con i file di FreeRadius e diamo i seguenti             comandi

-./configure
-Make
-Make Install

Con questo abbiamo concluso l'installazione, ma ora dobbiamo aggiunger FreeRadius ai servizi

4. Sempre nella cartella con i file di installazione c'è una sottocartella chiamata redhat,

entriamoci ed editiamo il file rc.radiusd-redhat:

- cd redhat
- nano rc.radiusd-redhat
- editiamolo così:

RADIUSD=/usr/local/sbin/radiusd
LOCKF=/var/lock/subsys/radiusd
CONFIG=/usr/local/etc/raddb/radiusd.conf

Salviamo e chiudiamo il file

- cp rc.radiusd-redhat /etc/rc.d/init.d/radiusd

 Copiamo il file in init.d

 

5 Facciamo partire all'avvio i servizi che ci servono

- chkconfig add radiusd
- chkconfig -level 3 radiusd on
- chkconfig -level 4 radiusd on
- chkconfig -level 5 radiusd on
- chkconfig -level 3 mysqld on
- chkconfig -level 4 mysqld on
- chkconfig -level 5 mysqld on
- chkconfig -level 3 httpd on
- chkconfig -level 4 httpd on
- chkconfig -level 5 httpd on

 


Creazione del database mysql (opzionale)

 

 

  1. Sempre dalla cartella dove trovano i file di installazione di freeradius andate alla sottocartella

    /doc/example e date i seguenti comandi:


    -mysql entrimano in mysql
    -create database radius creiamo un database radium
    -exit usciamo da mysql
    -mysql -uroot radius < mysql.sql inseriamo le tabelle nel database

  2. Se vogliamo utilizzare dialup_admin per la gestione di freeradius da web dobbiamo aggiungere anche le sue tabelle. Dalla direttory radice dei file di installazione entriamo in /dialup_admin/sql/ e

    aggiungiamo anche le tabelle che si trovano qui al database radius:


    - nano userinfo.sql
    - modifichiamo la quinta riga in questo modo
    id int(10) DEFAULT '0'
    salviamo e usciamov
    - facciamo la stessa cosa nel file: badusers.sql
    - mysql -uroot radius < badusers.sql
    - mysql -uroot radius < mtotacct.sql
    - mysql -uroot radius < totacct.sql
    - mysql -uroot radius < userinfo.sql

 


Configurazione FreeRadius

 

  1. Ora andiamo nella cartella dov'è stato installa FreeRadius

    - cd /usr/local/etc/raddb/
    - nano radius.conf

  2. Ora editiamo il file di configurazione del Radius Server modificando le seguenti righe

     

    log_auth = yes
    log_auth_badpass = yes

    proxy_requests = no

    #$INCLUDE ${confdir}/proxy.conf

    #
    # Look in an SQL database. The schema of the database
    # is meant to mirror the "users" file.
    #
    # See "Authorization Queries" in sql.conf
    sql

     

    # Log traffic to an SQL database.
    #
    # See "Accounting queries" in sql.conf
    sql

  3. Configurazione per l'accesso dei client di Radius


    Modifiche da apportare al file cient.conf
    Raggruppare i Nas da Subnet:

    client 192.168.0.0/24 {
    secret = mysecret1 - La "secret" deve essere la stessa configurata sul NAS
    shortname = mylan - Il Shortname verà usato per il logging
    nastype = cisco - Il "nastype" ? usato dal checkrad ed ? opzionale

    }

    Elecare i NAS da hostname o indirizzo IP:
    Client 192.168.0.1 {
    secret = mysecret1
    shortname = myserver
    nastype = other

    }

  4. Configurazione degli utenti per l'autenticazione

    Il file user di FreeRadius contiene le informazione per l'autenticazione di ciascun utente

    a) Autentication type:
    Auth-Type := LDAP - Autenticazione tramite LDAP
    Auth-Type := Local, User-Password = "mypasswd" - Autenticazione tramite le password
    settate in /etc/raddb/user
    Auth-Type := System - Autenticazione tramite le password
    di sistema /etc/passwd e /etc/shadow

    b) Service type:
    Service-Type = Login - Per il login di amministrazione

     


    Oltre i parametri specificati sopra se ne possonono aggiungere altri specifici per gli apparatio, per esempio se si vuole che un utente entri su un router cisco con i privilegi di amministratore

    basta aggiungere:
    cisco-avpair ="shell:priv-lvl=15"

    la configurazione del utente diventa quindi così:
    Utente User-Password == "quellochevuoi"
    Service-Type = NAS-Prompt-User,
    cisco-avpair = "shell:priv-lvl=15"

     

  5. Configurare mysql
    Aprite il file sql.conf e inserite il tipo di database, utente e password


 

Configurare IpTable

  1. Editiamo il file /etc/sysconfig/iptables
    nano /etc/sysconfig/iptables

  2. Ho aggiunto le porte del radius alle regole prima del drop

    -A RH-Firewall-1-INPUT -p udp --dport 1812 -j ACCEPT
    -A RH-Firewall-1-INPUT -p udp --dport 1813 -j ACCEPT
    -A RH-Firewall-1-INPUT -p tcp --dport 1812 -j ACCEPT
    -A RH-Firewall-1-INPUT -p udp --dport 1812 -j ACCEPT
    -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

  3. Salviamo e usciamo


 

Installazione Dialup Admin

  1. Nella directory con i file di installazione di Freeradius cè una cartella dialup_admin, spostiamola in /usr/local/

    mv dialup_admin/ /usr/local

  2. Creiamo un link simbolico della cartella htdocs nella caterlla di apache

    ln -s /usr/local/dialup_admin/htdocs/ /var/www/html/dialup

  3. Editiamo il file di configurazione di Dialup Admin:

    nano /usr/local/dialup_admin/conf/admin.conf
    modifichiamo le seguenti righe:
    general_radiusd_base_dir: /usr/local/etc/raddb
    general_domain: company.com

  4. Editiamo ora la configurazione di Apache in modo che processi anche i file con estensione
    .php3

    nano /etc/httpd/conf.d/php.conf e modifichiamolo in questo modo
    #
    # Cause the PHP interpreter to handle files with a .php extension.
    #
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .php3

  5. Visto che Dialup Admin non richiede autenticazione bisogna creare un sistema di autenticazione basato sul web server, editiamo httpd.conf

    nano /etc/httpd/conf/httpd.conf

    inseriamo le seguenti righe alla fine del file:
    <Directory /var/www/html/dialup>
    AuthName "Inserire User e Password"
    AuthType Basic
    AuthUserFile /var/www/.htpasswd
    require valid-user
    </Directory>

    Salviamo e usciamo

    Ora creiamo l?utente dalla shell:

    Htpasswd -c /var/www/.htpasswd Administrator
    Ora digitiamo 2 volte la password e l'utente sarà creato

  6. Riavviamo Apache:
    service httpd restart

  7. Ora abbiamo l'interfaccia web di FreeRadius funzionante da qui potremo aggiungere gli utenti e i gruppi, sfortunatamente è molto limitata rispetto a tutte le funzioni che può dare freeradius, visto che lo sviluppo dell'interfaccia web, a differenza di freeradius è ferma da parecchio tempo.



Argomenti collegati:

Questo tutorial finisce qui, spero sia stato utile, se ci sono degli errori o delle imprecisioni vi invito a farmelo presente all'indirizzo marco@alma-web.net


 

 

Ultimo aggiornamento: 01-11-2007 15:21

User comments Quote this article in website Print Send to friend Save this to del.icio.us Related articles Read more...
Installazione passo passo di un server Freeradius
PDF
Giovedì 01 Febbraio 2007 19:46
 
spacer.png, 0 kB
spacer.png, 0 kB
spacer.png, 0 kB