Radius Szerver

Download Report

Transcript Radius Szerver

Radius Szerver
Linux Debian Disztribúció
Debian telepítése
Régió választás
Billentyűzet kiválasztása
települünk…….
Szerver nevének megadása
Domain név megadása
Partition tábla megadása
Figyelem az adatok törlődnek !!!
Boot Loader
Telepítés kész !
Időzóna és felhasználók
Csomagok forrásának kiválasztása
Web és Sql
Alap Rendszer kész
Szükséges csomagok telepítése
•
•
•
•
•
•
Mysql-Server
Phpmyadmin
Ssl
Freeradius
Freeradius-mysql
Dialup-admin
Radius konfigurációs fájlok !
•
•
•
•
Radiusd.conf
Clients.conf
Sql.conf
Dictionary
Radiusd.conf
prefix = /usr
exec_prefix = /usr
sysconfdir = /etc
localstatedir = /var
sbindir = ${exec_prefix}/sbin
logdir = /var/log/freeradius
raddbdir = /etc/freeradius
radacctdir = ${logdir}/radacct
confdir = ${raddbdir}
run_dir = ${localstatedir}/run/freeradius
log_file = ${logdir}/radius.log
libdir = /usr/lib/freeradius
pidfile = ${run_dir}/freeradius.pid
user = freerad
group = freerad
Rendszer specifikus beállítások. Ezeket nem módosítjuk mert nem megfelelő
működést vagy a log fájlok hibáját okozhatja
max_request_time = 30
delete_blocked_requests = no
cleanup_delay = 5
max_requests = 1024
bind_address = *
Ezek a beállítások vezérlik a szervert .
A max_request paramétert ne állítsuk nagyon magas vagy nagyon alacsony
értékre, mert túlterhelés esetén megállhat a kérések kiszolgálása.
RouterOs esetén a szervert használó routerek darabszámától függően és a
szervereken generálódó kérések számának megfelelően módosítsuk
port = 0
hostname_lookups = no
allow_core_dumps = no
regular_expressions = yes
extended_expressions = yes
Ezeket a paramétereket ne módosítsuk.
log_stripped_names = yes
log_auth = no
log_auth_badpass = no
log_auth_goodpass = no
Log szabályok beállítása
lower_user = before
lower_pass = before
A felhasználó nevekben és jelszavakban csak kis betű szerepelhet. Minden
egyéb esetben a szerver visszautasítja a kérést
nospace_user = before
nospace_pass = before
Levágja a név és jelszó előtti szóközöket
checkrad = ${sbindir}/checkrad
Ez alapján authentikálunk
security {
max_attributes = 200
reject_delay = 1
status_server = no }
Maximális atribútumok száma a bejövő illetve kimenő rádiusz csomagokban
proxy_requests = no
Nem használunk rádiusz proxy-t
$INCLUDE ${confdir}/clients.conf
$INCLUDE ${confdir}/sql.conf
Beolvassa a clients.conf és az sql.conf tartalmát
snmp = no
SNMP protokolt engedélyezzük e a rádiusz szerveren
thread pool {
start_servers = 5
max_servers = 32
min_spare_servers = 3
max_spare_servers = 10
max_requests_per_server = 0 }
Ezekkel lehet tuningolni a szerver beálításait
modules {
pap {
encryption_scheme = crypt
}
chap {
authtype = CHAP
}
mschap {
authtype = MS-CHAP
use_mppe = no
}
A szerver authentikációs metódusai.
acct_unique {
key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NASPort"
}
Ez csinál egy egyedi acount id-t az acountok számára. A mikrotik sajnos NEM
CSINÁLJA meg autómatikusan és így nem működik biztonságosan.
counter daily {
filename = ${raddbdir}/db.
daily key = User-Name
count-attribute = Acct-Session-Time
reset = daily
counter-name = Daily-Session-Time
check-name = Max-Daily-Session
allowed-servicetype = Framed-User
cache-size = 5000 }
Néhyány felhasználó aki több mint 24 órán keresztül folyamatos kapcsolatban van
„meghülyítheti” a napi számlálókat. Ezzel ezt küszöböljük ki.
always fail {
rcode = fail }
always reject {
rcode = reject }
always ok {
rcode = ok
simulcount = 0
mpp = no } }
Hibakeresési értékek.
instantiate {
}
authorize {
chap
mschap
sql }
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
}
preacct {
acct_unique
}
accounting {
sql
}
session {
sql
}
post-auth {
sql
}
SQL szerverre állítjuk a dolgokat.
Clients.conf
client 127.0.0.1 {
secret = somepassword
shortname = localhost
nastype = other }
Osztott Kulcs
client 192.168.2.0/24 {
secret = somepassword
shortname = localhost
nastype = other }
A kliens routerek elérhetőségét szabályozza
Sql.conf
driver = "rlm_sql_mysql"
server = "192.168.0.5"
login = „root"
password = „root"
radius_db = "radius"
SQL szerver elérhetősége
acct_table1 = "radacct"
acct_table2 = "radacct"
postauth_table = "radpostauth"
authcheck_table = "radcheck"
authreply_table = "radreply"
groupcheck_table = "radgroupcheck"
groupreply_table = "radgroupreply"
usergroup_table = "usergroup"
SQL táblák megnevezése
deletestalesessions = yes
sqltrace = no
sqltracefile = ${logdir}/sqltrace.sql
num_sql_socks = 5
connect_failure_retry_delay = 60
SQL log és hibakezelés
Dictionary
A Mikrotik Dictionary file elérhető a Mikrotik honlapon.
A rádiusz szerverre a file letöltése a következő módon tehető meg:
cd /etc/freeradius
rm dictionary
wget http://www.mikrotik.com/Documentation/manual_2.9/dictionary
chmod 640 dictionary
chown root dictionary
SQL adattáblák létrehozása
• A táblák letölthetők a
– www.eszaknet.net/mikrotik/freeradius.sql
linkről
– A letöltött táblákat a
• Mysql –uroot radius </utvonal/freeradius.sql
parancsal lehet létrehozni
A telepítés tesztelése
Vegyünk fel egy felhasználót
A radchek táblába tegyük a következőket:
username :
név
attribute :
user-password
op:
=
value:
password
Ezt megtehetjük a phpmyadmin vagy parancssor segítségével
Parancssor:
INSERT INTO `radcheck` ( `id` , `UserName` , `Attribute` , `op` , `Value` )
VALUES ( NULL , 'test-user', 'user-password', '==', 'test-pass');
A radreply táblába tegyük
username:
név
attribute:
Framed-Ip-Address
op:
=
Value
192.168.0.100
Parancssor:
INSERT INTO `radreply` ( `id` , `UserName` , `Attribute` , `op` , `Value` )
VALUES (NULL , 'test-user', 'Framed-IP-Address', '=', '192.168.0.100');
Tesztelés
• Teszteléshez használt program
– http://www.mastersoft-group.com/download/
Egyszerű User managment
Új felhasználó létrehozása
Acounting
Státuszok
Sikeres beállítást követően…
• A mikrotik megfelelő moduljainak
konfigurálása következik.
A felhasznált szkriptek letölthetők
•
•
•
•
•
www.eszaknet.net/mikrotik/radiusd.conf
www.eszaknet.net/mikrotik/clients.conf
www.eszaknet.net/mikrotik/sql.conf
www.eszaknet.net/mikrotik/freeradius.sql
www.eszaknet.net/mikrotik/dictionary
Elérhetőségeink
• Kőműves Krisztián
– [email protected]
• Szabados György
– [email protected]