FreeRADIUS

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
(Általános bevezető)
(RADIUS protokoll)
42. sor: 42. sor:
 
Protokoll futam:<br>
 
Protokoll futam:<br>
 
<center>
 
<center>
[[Kép:radius2.gif]]
 
 
<br><br>
 
<br><br>
 
[[Kép:radius.gif]]
 
[[Kép:radius.gif]]
96. sor: 95. sor:
 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
 
<br>
 
<br>
  +
  +
Type:
  +
1 User-Name
  +
2 User-Password
  +
3 CHAP-Password
  +
4 NAS-IP-Address
  +
5 NAS-Port
  +
6 Service-Type
  +
7 Framed-Protocol
  +
8 Framed-IP-Address
  +
9 Framed-IP-Netmask
  +
10 Framed-Routing
  +
11 Filter-Id
  +
12 Framed-MTU
  +
13 Framed-Compression
  +
14 Login-IP-Host
  +
15 Login-Service
  +
16 Login-TCP-Port
  +
17 (unassigned)
  +
18 Reply-Message
  +
19 Callback-Number
  +
20 Callback-Id
  +
21 (unassigned)
  +
22 Framed-Route
  +
23 Framed-IPX-Network
  +
24 State
  +
25 Class
  +
26 Vendor-Specific
  +
27 Session-Timeout
  +
28 Idle-Timeout
  +
29 Termination-Action
  +
30 Called-Station-Id
  +
31 Calling-Station-Id
  +
32 NAS-Identifier
  +
33 Proxy-State
  +
34 Login-LAT-Service
  +
35 Login-LAT-Node
  +
36 Login-LAT-Group
  +
37 Framed-AppleTalk-Link
  +
38 Framed-AppleTalk-Network
  +
39 Framed-AppleTalk-Zone
  +
40-59 (reserved for accounting)
  +
60 CHAP-Challenge
  +
61 NAS-Port-Type
  +
62 Port-Limit
  +
63 Login-LAT-Port
  +
  +
Lenght: <br>
  +
Atrributum teljes hosszát adja meg.<br>
  +
Value:<br>
  +
Mérete lehet nulla is. Vagy több byte is.<br>
  +
Típusai:<br>
  +
* text 1-253 byte<br>
  +
* string 1*253 byte<br>
  +
* address 32 bit<br>
  +
* integer 32 bit<br>
  +
* time 32 bit (unix time: 1970, január 1. UTC 00:00:00 óta eltelt másodpercek)<br>
  +
<br>
  +
  +
  +
  +
[[Kép:radius2.gif]]
   
 
== Beállítás ==
 
== Beállítás ==

A lap 2007. november 25., 15:21-kori változata

Tartalomjegyzék

1 Általános bevezető


A FreeRADIUS egy free open source RADIUS szerver. RADIUS (Remote Authentication Dial In User Service) egy authentication (hitelesítés), authorization (engedélyezés) and accounting (naplózás) kliens-szerver protokoll. Az authentication, authorization és accounting hármast csak AAA-nak szokás rövidíteni.
FreeRADIUS hivatalos weboldala: http://www.freeradius.org/
Jelenlegi stabil verzió: 1.1.7 (2007.07.25)
Ez egy moduláris, gyors, gazdag protokoll készletű RADIUS szerver, és lehetőséget biztosít külső, így saját modulok használatára is.
A FreeRADIUS által használt felhasználói adatok elérése:

  • LDAP
  • Kerberos
  • SQl (MySQL, PostgreSQL, MSSQl, Oracle)
  • /etc/passwd
  • PAM
  • fájl
  • ProxyRadius
  • DC (domain controller)
  • program (perl, python)


Hitelesítési protokollok:

  • PAP
  • CHAP
  • MSCHAP (v1, v2)
  • SIP Digest (Cisco VoIP)
  • EAP

2 Mikor használják?

Felmerülhet a kérdés, hogy ha van pl.: egy LDAP szerverünk, akkor miért teszünk meg egy szervert (RADIUS) a hálózati erőforrás és az LDAP közé?
Biztonsági megfontolásból pl.: az adott alkalmazást feltörik, akkor nem tudnak közvetlenül hozzá férni az LDAP-hoz, ilyenkor a RADIUS szerver bástya hostként (Bastion host) viselkedik.
Vagy ki akarjuk használni a RADIUS adta lehetőségeket pl.: naplózás. Viszont a leggyakoribb alkalmazási területe, azoknál a hálózati erőforrásoknál használják, ahol nincsen lehetőség, vagy mód a fent felsorolt azonosítási protokollok implementálására pl.: hálózati eszközök (routerek, switchek, AP-k, stb.).

3 Hogy lehet beszerezni?

A letölthető a forrása a http://www.freeradius.org weboldalról és utána szokásos modon telepíthető (./configure, make, make install), vagy általábban a distribucióknál létezik belőlük csomag (pl.: Debian, Fedora, SUSE, stb).
Létezik belőle Windows-os verzió is, csak azt FreeRADIUS.net néven terjesztik, ami letölthető a http://www.freeradius.net weboldalról.

4 RADIUS protokoll

Kliens-server architekurájú protokoll, ahol a kliens egy NAS (Network Access Server), ami küld egy kérést, és a server (RADIUS) válaszol kérésre. A RADIUS protokoll UDP-t használ. A kliens-szerver között átlagban egy kérés és válasz zajlik le, így fölösleges lenne TCP-t hazsnálni. A TCP megbizhatóbb, de nagyon lassítaná csak a protokoll válasz idejét. A protokoll 2 portot használ. A 1812-es porton az auth (authentication, authorization) folyamatokra használja, és a 1813-as portot meg a naplózáshoz (accounting) használja.
RFC (2000): 2865, 2866

Protokoll futam:



Fájl:radius.gif

Client.gif



RADIUS adat formátuma:
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |     Code      |  Identifier   |            Length             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  |                         Authenticator                         |
  |                                                               |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  Attributes ...
  +-+-+-+-+-+-+-+-+-+-+-+-+-


RADIUS Codes (decimal) értékei:
1 Access-Request 2 Access-Accept 3 Access-Reject 4 Accounting-Request 5 Accounting-Response 11 Access-Challenge 12 Status-Server (experimental) 13 Status-Client (experimental) 255 Reserved


Identifier: Az összetartozó csomagokat azonosítja.

Length: Az egész csomag méretét adja meg. A minimum méret 20, míg a maximális 4096 byte.

Authenticator: A NAS és a RADIUS rendelkezik egy közös kulccsal (secret vagy key). A kliens generál egy random számot, amit elküld a kérésben. Majd a szerver a válasz csomagban a következő algoritmust használja fel, hogy hitelesítse magát: ResponseAuth = MD5(Code+ID+Length+RequestAuth+Attributes+Secret).


Attributum:

felépítése:
   0                   1                   2
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  |     Type      |    Length     |  Value ...
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-


Type:

         1      User-Name
         2      User-Password
         3      CHAP-Password
         4      NAS-IP-Address
         5      NAS-Port
         6      Service-Type
         7      Framed-Protocol
         8      Framed-IP-Address
         9      Framed-IP-Netmask
        10      Framed-Routing
        11      Filter-Id
        12      Framed-MTU
        13      Framed-Compression
        14      Login-IP-Host
        15      Login-Service
        16      Login-TCP-Port
        17      (unassigned)
        18      Reply-Message
        19      Callback-Number
        20      Callback-Id
        21      (unassigned)
        22      Framed-Route
        23      Framed-IPX-Network
        24      State
        25      Class
        26      Vendor-Specific
        27      Session-Timeout
        28      Idle-Timeout
        29      Termination-Action
        30      Called-Station-Id
        31      Calling-Station-Id
        32      NAS-Identifier
        33      Proxy-State
        34      Login-LAT-Service
        35      Login-LAT-Node
        36      Login-LAT-Group
        37      Framed-AppleTalk-Link
        38      Framed-AppleTalk-Network
        39      Framed-AppleTalk-Zone
        40-59   (reserved for accounting)
        60      CHAP-Challenge
        61      NAS-Port-Type
        62      Port-Limit
        63      Login-LAT-Port

Lenght:
Atrributum teljes hosszát adja meg.
Value:
Mérete lehet nulla is. Vagy több byte is.
Típusai:

  • text 1-253 byte
  • string 1*253 byte
  • address 32 bit
  • integer 32 bit
  • time 32 bit (unix time: 1970, január 1. UTC 00:00:00 óta eltelt másodpercek)



Fájl:radius2.gif

5 Beállítás

Forrásból telepített FreeRADIUS könyvtár szerkezette:

bin
etc
include
lib
man
sbin
share
var


A konfig fájlok alapértelmezésben a etc/raddb könyvtárban vannak. A konfig fájlok listája:

acct_users
attrs
certs
clients
clients.conf
db.ipindex
db.ippool
dictionary
eap.conf
error2
example.pl
experimental.conf
hints
huntgroups
ldap.attrmap
mssql.conf
naslist
naspasswd
oraclesql.conf
otp.conf
otppasswd.sample
postgresql.conf
preproxy_users
proxy.conf
radiusd.conf
realms
services
snmp.conf
sql.conf
sqlippool.conf
users

A listából is látszik, hogy mennyire moduláris a konfigurációja. A fő konfigurációs fájl a radiusd.conf, ez töltődik be alapból, és tölti be a szükséges többi konfigurációs fájlt.
Radiusd.conf fájlból részletek:

Személyes eszközök