Sziasztok!
Jelenleg próbálok összehozni egy alap Mac cím szűrést freeradius szerverrel. Ha ez menne, bővíteném virtuális szerverekkel, mysql-el, valamint idő-rendel, hogy milyen időszakokban használható a wifi. A végcél, amivel már tavaly is próbálkoztam (akkor Active Directori-s hitelesítéssel), hogy Ubiquiti Unifi eszközön legyen MAC-Address szűrés. Jelenleg csak Mac szűrés, felhasználói hitelesítés nélkül.
A freeradius oldalán lévő leírást megcsináltam: http://wiki.freeradius.org/guide/Mac-Auth#Plain-Mac-Auth
Eredménye:
Ha csatlakozni próbálok, a LOG szerint elfogadja a csatlakozási kérelmet (Login OK Auth-Type: Accept), de a telefon továbbra is kapcsolódást ír, nem ugrik az ip cím kérésre. Majd a LOG-ba ismét megjelenik a Login OK a készülékemre.
Ipad felhasználónevet és jelszót kér. Ha megadom mindkettőnek a telefonom MAC addressét,
mely regisztrálva van a radius szerveren, A radius elutasítja. Amennyiben felveszem a
radiusba az ipad-et is, akkor is kér felhasználónevet és jelszót. Ha megadok bármit,
a radius elutasítja. (no User-Password attribute).
Mi lehet a gond? Meg kellene oldanom a problémát, mert már 1 éve áll talonba az AP, mivel MAC szűrés nélkül nem engedik beüzemelni.
A freeradius fájlokban lévő módosításaim:
1. policy.conf-ban módosítottam a rewrite.calling_station_id-t.
rewrite.calling_station_id {
if (Calling-Station-Id =~ /([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:.]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:.]?([0-9a-f]{2})[-:]?([0-9a-f]{2})/i) {
update request {
Calling-Station-Id := "%{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}"
}
}
else {
noop
}
}
2. modules/files-ben létrehoztam az authorized_macs-t
files authorized_macs {
key = "%{Calling-Station-Id}"
usersfile = ${confdir}/authorized_macs
compat = no
}
3. Létrehoztam az authorized_macs fájlt, és felvettem a telefonom MAC címét
34-23-BA-B5-81-47
4. site-available/default authorized rész módosítása
authorize {
preprocess
rewrite.calling_station_id
authorized_macs
if (!ok) {
reject
}
else {
update control {
Auth-Type := Accept
}
}
}
5. Router felvétele a clientbe
client 192.168.1.99 {
secret = jelszo
shortname = teszt
}
6. Naplózás beállítása az /etc/freeradius/radiusd.conf-ban
log {
destination = files
file = ${logdir}/radius.log
stripped_names = no
auth = yes
auth_badpass = yes
auth_goodpass = yes
}
7. /etc/freeradius/eap.conf-ban a copy_request_to_tunel-t yes-re állítom mind a két helyen.
- 8521 megtekintés
Hozzászólások
A unifi AP controller nélkül sokat nem ér. Szóval használd a kontrollerrel, vagy ha a régi fajta felmegy rá az openwrt és az tud MAC szűrést.
Fedora 22, Thinkpad x220
- A hozzászóláshoz be kell jelentkezni
Használom a controllert, csak az nem tud MAC szűrést. Vagyis nem adhatom meg, hogy csak bizonyos MAC addressel lehessen csatlakozni. Ezért kell a radius.
Az hogy openwrt-t tegyek rá, az az utolsó megoldás.
- A hozzászóláshoz be kell jelentkezni
Annyi derült még ki, hogy régebbről ismerte a telefonom a teszt wifi hálózatot. Most, hogy a teló elfelejtette a régi beállításokat, most már ő is felhasználónevet és jelszót kérne.
- A hozzászóláshoz be kell jelentkezni
Amikor valaki a Unifi fórumán megkérdezte, miért nincs MAC szűrés:
MAC filtering is literally weaker than WEP. It's at least theoretically plausible that an attacker doesn't have the ability to transmit raw WiFi frames, which significantly slows WEP attacks, but anyone who can connect to WiFi can see enough to bypass a MAC filter.
Basically MAC filtering is like having a password to get in the door at a party, but having everyone yelling the password non-stop so those outside can clearly hear it. If you think it adds any security at all you do not understand security and should not be advising others on such topics.
Stop asking for this garbage "feature", it is a good thing it's not there because it prevents those who may not know better from using it and thinking they've secured anything. It also prevents people like apparently some of those here from doing something that adds more maintenance load with zero security benefit.
So let's recap. MAC filtering makes you manually add every new legitimate device to your approved list, while doing absolutely nothing at all to prevent illegitimate users from gaining access to your network. If you think you need it, you are wrong. If you are forced by policy to use it, your policy is wrong and those who created it are incompetent. Period.
- A hozzászóláshoz be kell jelentkezni
Én ezt tudom, de akkor is a főnök megköveteli a MAC szűrést, mert ha csak WPA2 jelszóval védem, az kikerül. Vannak kollégák akik elárulják a diákoknak.
Tudom, hogy pár perc alatt be lehet jutni a hálózatba, ha csak MAC szűrés van, de a diákok ezt nem tudják, és nem is foglalkoznak vele egyenlőre.
Szóval szükséges a MAC szűrés vagy Rádius szerverrel, mert más ötletem nincs, vagy OpenWRT-vel, amit nem szivesen tennék rá, mert akkor a központi management ugrott.
- A hozzászóláshoz be kell jelentkezni
Esetleg mashol nem tudsz szurni MAC-re? Mondjuk egy proxy-n?
Akkor a jelszo birtokaban sem lenne tul erdekes a hozzaferes.
-----
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
Gondoltam rá, hogy tűzfalon, ipset-el, de az a baj, hogy ott meg nem tudom szétválasztani a tanári és diák wifiket.
Szóval ha ott szűröm le, akkor a kollégisták a jelszó birtokában a tanári hálóra is felmehetnek.
- A hozzászóláshoz be kell jelentkezni
Nem lehet csak a tanari eszkozallomany MAC cimeit engedelyezni? Ami nem ismert MAC-el jon azt meg eldobni.
Lehet mar elsodlegesen kulon VLAN-ra kellett volna tenni a tanar es diak gepeket.
Honnan tudod meg, hogy egy tanar elmondta a diakoknak a jelszot?
Ha minden ilyen esetlen eszkozolnel egy jelszovaltast akkor a 10. ilyen esetnel a tanarok is elgondolkoznanak, hogy egyszerubb nem megadni a jelszot mint minden heten ujat beallitani :)
Egy-egy ugyesebb diak a jelszo birtokaban siman kijatszhatja a MAC szurest, ugy hogy eszre sem veszed. Ez lehet rosszabb mint amikor tudsz rola.
-----
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
A probléma a következő.
Én és pár infó tanár is azt mondja, hogy elég lenne egy jelszó védelem.
Az igazgató azt mondja, hogy legyen MAC szűrés, mert van olyan tanár aki megosztja a diákokkal a jelszót.
Én sose néztem, hogy vannak-e ismeretlen MAC címek a rendszeren fent. Unifi-nél amúgy lehetne nézni, és ha felmegy egy ismeretlen, akkor azt blokkolni, de erre azt mondta az igazgató, hogy ki lesz aki időnként átnézi. Mondjuk ebben igaza van, mert azért nem olyan egyszerű átnézni őket. Több mint 64 MAC addresst kell engedélyezni.
A tanári és diák háló külön van választva, de tanári wifik vannak a diák hálón is, mert új kábelt a falba nem tudok már behúzni. Lényegébe ha úgy nézzük, az irodák hálózata van leválasztva a többiről.
- A hozzászóláshoz be kell jelentkezni
Kulon VLAN a tanari wifiknek? Felteve hogy a switch-en beallithato.
Esetleg a tanarok nem wifiznek oran csak az irodaban :)
-----
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
Nem megoldható. Nem tudok mindent eszközt vlanozni.
Gondolkoztam én is sokat, de semmi megoldást nem találtam, freeradius vagy openWRT.
- A hozzászóláshoz be kell jelentkezni
Usernév + password, felhasználónként egyedi.
Mindenki kap saját accountot, akit más account használatán érnek, az érdemi szankciót kap (elsőre igazgatói intő/fegyelmi, másodikra kirúgás).
- A hozzászóláshoz be kell jelentkezni
Tavaly próbáltam freeradius-al MAC és AD hitelesítést tanusítványok nélkül. Az lenne a legideálisabb, de míg tesztkörnyezetben működött, élesben csak Androidos eszközöt tudtak csatlakozni.
Most hétvégén azt akarom megnézni, ha a MAC address mellé teszek egy normál fájlból való felhasználónév jelszó hitelesítést, hátha működne.
Mert most hiába van a hivatalos leírás szerint megcsinálva a Plain Mac-Auth, az eszközök felhasználónév, jelszót kérnek.
- A hozzászóláshoz be kell jelentkezni
Nem megoldható. Nem tudok mindent eszközt vlanozni.
Gondolkoztam én is sokat, de semmi megoldást nem találtam, freeradius vagy openWRT.
- A hozzászóláshoz be kell jelentkezni
"...your policy is wrong and those who created it are incompetent. Period."
- A hozzászóláshoz be kell jelentkezni
Senki nem foglalkozott Freeradius Plain Mac-Auth-al?
Azt nem tudom, hogy jelenlegi beállítással miért kérnek felhasználónevet, jelszót az eszközök. Valószínű emiatt nem működik.
Azon gondolkoztam még, hogy lehet az itthon tesztelésre használt TP-Link wifi router Radius hitelesítése nem úgy működik mint az Unifi-é, és a jelenlegi konfig lehet Unifi-n jó lenne.
- A hozzászóláshoz be kell jelentkezni
Talán azért nem foglalkozott ezzel senki, mert ilyenkor a WPA-PSK helyett WPA-Enterprise van, ergó még a pre-shared key sem kell a kommunikációhoz. Innentől kezdve ennek a biztonsága nagyjából a béka segge alatt van. Ha már az ember belefeccöl egy valag energiát (a freeradius konfigurálása olyan Ford Fairlane-es játék, mint a sajtreszelővel rejszolás: enyhén szórakoztató, de leginkább fájdalmas), akkor inkább csinál egy rendes 802.1X-es usernév/password-öset vagy tanúsítványosat, azoknak legalább értelme is van.
- A hozzászóláshoz be kell jelentkezni
Jó párszor csináltam már ilyet.
Jó tanács: fogd a freeradiust és deubg modban indítsd: raddb -D -xxx vagy valami hasonló, így pontosan fogod látni mik futnak le, mit kér a kliens stb.
Általában a mac-auth sok eszköznél nem más mint, hogy elküldi a mac-address-t felhasználónév és jelszóként is, aztán ezalapján te a radiusban eldöntöd jöhet-e vagy sem.
Fedora 22, Thinkpad x220
- A hozzászóláshoz be kell jelentkezni
En hasznalok MAC szurest, amit a cimtarban user alatt az eszkoznek letrehozott alobjektum attributumakent tarolok. De ez nem sima wpa2 psk az esetemben, mert ettol meg kell 802.1x auth usernev+jelszoval csak a macet is validalja melle.
- A hozzászóláshoz be kell jelentkezni
Próbálkoztam én is Freeradius ActiveDirectory hitelesítéssel tanusítvány nélkül. Teszt környezetben működött is, de éles környezetben valamiért csak az Androidos eszközök tudtak csatlakozni.
Így ezt elvetettem, és most csak a MAC szűrést szeretném megcsinálni, mert 1 éve használaton kívül van az AP. Egy TP-éink helyére menne, amibe meg csak 64 MAC addresst lehet felvenni, és ez kevés.
Sokszor ha valakinek szüksége van wifi-re, akkor ideiglenesen kitörlöm másnak a gépét.
Tudom nagyon jól, hogy a MAC szűrés nem biztonságos. Ezt el is mondtam én is, és az info tanár kollégák is a főnöknek. A főnök is infó tanár, tudja jól. Viszont akkor sem engedi csak jelszóval védve, mert vannak olyan tanárok, akik kiadják a jelszót diákoknak.
Szóval mindenképpen szükséges valahogyan a mac szűrés.
- A hozzászóláshoz be kell jelentkezni
"mert vannak olyan tanárok, akik kiadják a jelszót diákoknak."
Sajnos pedig akarhogy csurod-csavarod a dolgot ket lehetoseged van:
- megoldod, hogy nem-Android eszkozok is tudjanak WPA-Enterprise csatlakozni, bar ahhoz mindenkeppen fog kelleni legalabb egy darab tanusitvany, amit fel kell telepiteni a telefonokra. Siman elkepzelem, hogy emiatt nem tudott a tobbi csatlakozni. Ettol meg user/password alapu a dolog, csak a radiusnak van egy certje.
- atbeszelitek a fonokkel, hogy mi legyen a megoldas. Ha ilyenek a tanarok, akkor jelszovaltas naponta, generalt szimbolumos jelszavakra, reggelente e-mailben megkuldve. Egy ido utan rettentesen fog teged mindenki utalni.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
+
- A hozzászóláshoz be kell jelentkezni
Megpróbáltam pfSense-el összehozni a MAC-Address szűrést. Abban ugye elvileg annyi lenne a MAC szűrés, hogy bepipálom a settingsbe, hogy "Enable Plain MAC Auth"
Ezek után a készülékek ugyan úgy kérnek felhasználónév jelszó párost. Ha megadom a pfSens-be beállított felhasználónevet és jelszót, működik, felenged, de bármilyen eszközről, és figyelmen kívül hagyja a MAC-addresst.
Ha működik rendesen a MAC szürés, úgy, hogy mellette felhasználónevet és jelszót kér, az nem lenne gond, de legalább MAC-szűrést is csinálna.
Valakinek van ebben tapasztalata?
- A hozzászóláshoz be kell jelentkezni
A felhasználónév és jelszó hitelesítés megy minden eszközön, még Windows 7-en is jelenleg. Legalábbis azon az egy Win 7-es gépen, amit tesztelésre használok.
Most próbálnám mellé a MAC Authentcation-t is beállítani a Mac-Auth and 802.1x leírás alapján.
Ez szerint a default fájlba a következő szerepel:
rewrite.calling_station_id
authorized_macs
if (!ok) {
reject
}
if (!EAP-Message) {
update control {
Auth-Type := Accept
}
}
else {
eap
}
A probléma hogy az if (!ok) az igaz értékű, így ott el is utasítja a kapcsolatot, és nem tudom miért.
A freeradius -X kimenete részben:
Ready to process requests.
rad_recv: Access-Request packet from host 192.168.1.99 port 2048, id=125, length=153
User-Name = "kisspepe"
NAS-IP-Address = 192.168.1.99
NAS-Port = 0
Called-Station-Id = "90-F6-52-6A-E8-B6:Teszt"
Calling-Station-Id = "34-23-BA-B5-81-47"
Framed-MTU = 1400
NAS-Port-Type = Wireless-802.11
Connect-Info = "CONNECT 0Mbps 802.11"
EAP-Message = 0x0200000d016b69737370657065
Message-Authenticator = 0x40aa31fd40a21c71861aff89d7154572
# Executing section authorize from file /etc/freeradius/sites-enabled/default
+group authorize {
++[preprocess] = ok
++policy rewrite.calling_station_id {
+++? if (Calling-Station-Id =~ /([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})/i)
? Evaluating (Calling-Station-Id =~ /([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})/i) -> TRUE
+++? if (Calling-Station-Id =~ /([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})/i) -> TRUE
+++if (Calling-Station-Id =~ /([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})/i) {
++++update request {
expand: %{1}-%{2}-%{3}-%{4}-%{5}-%{6} -> 34-23-BA-B5-81-47
expand: %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}} -> 34-23-ba-b5-81-47
++++} # update request = noop
+++} # if (Calling-Station-Id =~ /([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:]?([0-9a-f]{2})/i) = noop
+++ ... skipping else for request 0: Preceding "if" was taken
++} # policy rewrite.calling_station_id = noop
[authorized_macs] expand: %{Calling-Station-ID}" -> 34-23-ba-b5-81-47"
++[authorized_macs] = noop
++? if (!ok)
? Evaluating !(ok) -> TRUE
++? if (!ok) -> TRUE
++if (!ok) {
+++[reject] = reject
++} # if (!ok) = reject
+} # group authorize = reject
Invalid user: [kisspepe/] (from client Teszt port 0 cli 34-23-ba-b5-81-47)
Using Post-Auth-Type REJECT
# Executing group from file /etc/freeradius/sites-enabled/default
+group REJECT {
[attr_filter.access_reject] expand: %{User-Name} -> kisspepe
attr_filter: Matched entry DEFAULT at line 11
++[attr_filter.access_reject] = updated
+} # group REJECT = updated
Delaying reject of request 0 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 0
Sending Access-Reject of id 125 to 192.168.1.99 port 2048
Waking up in 4.9 seconds.
- A hozzászóláshoz be kell jelentkezni
Hmmm, bocsi, megkérdezhetem hogy a felhasználóneveket, jelszavakat honnan szedi a radius.?
Vagy honnét szeretnéd majd hogy szedje.?
--
God bless you, Captain Hindsight..
- A hozzászóláshoz be kell jelentkezni
Jelenleg a users fájlból szedi. Ha így működne, akkor jó is lenne. A mac-address pedig az authorized_macs fájlban van.
/etc/freeradius/users
"felhasználónév" Cleartext-Password := "jelszó"
- A hozzászóláshoz be kell jelentkezni
Tegnap este szórakoztam az openWRT-re felrakott freeradius2-vel és régebben én is meg akartam csinálni hogy az user/pass auth mellé csináljon mac-autentikációt is, de az authorized_macs-módszerrel sosem ment.. (Mondjuk kellett volna hozzá olyan modul is, ami ebben az alaposan "kiherélt" openWRT-s radius-ban benne sincs)
Szóval olvasgattam tegnap és arra jutottam, hogy ha az users-fájlban a felhasználónév/jelszó mögé még beírom az aktuális MAC-et a megfelelő paraméterekkel akkor működik a dolog..
Így néz ki most :
gipszjakab Cleartext-Password := "123456", Calling-Station-Id == "AA-BB-CC-DD-EE-FF"
Fontos hogy kettő egyenlőségjel van (azt jelenti hogy nem lehet üres a paraméter) és hogy a MAC ha van benne betű, akkor nagybetűs kell legyen..
Kipróbáltam, ha jó felhasználónév/jelszóval lépnék be olyan eszközről, amelyiknek nem egyezik a MAC-je akkor nem enged be..
Minden eszköznek külön sor kell, de lehet ugyanaz a felhasználónév/jelszó..
Ha van olyan sor, amelyikben nincs MAC, akkor azzal az user/pass -párossal bármely eszközről be lehet lépni.
Nézd még meg Te is, hátha jutsz valamire...
--
God bless you, Captain Hindsight..
- A hozzászóláshoz be kell jelentkezni
Igen én is gondoltam erre is, hisz valami oka van neki, hogy a users fájlba is meg lehet adni MAC addresst.
Te a sites_enabled-ben a defaultba belenyultál-e?
Mert a leírás alapján ugye abba ennek kell szerepelnie:
authorize {
preprocess
# if cleaning up the Calling-Station-Id...
rewrite_calling_station_id
# always check against the authorized_macs file first
authorized_macs
if (!ok) {
reject
}
# If this is NOT 802.1x, mac-auth
if (!EAP-Message) {
# mac has already been checked, accept
update control {
Auth-Type := Accept
}
}
else {
# normal FreeRadius virtual server config goes here e.g.
eap
}
}
Na most ugye authorized_macs ebban az esetben nincs, ha a users fájlba teszem a MAC addresst is.
- A hozzászóláshoz be kell jelentkezni
openWRT alatt azért más a dolog, alapvetően én is a leírás alapján kezdtem neki, de egész egyszerűen nem volt olyan modul ami a mac autentikációhoz kell, aztán amikor már azt kezdte keresni a radius akkor feladtam
Alapvetően most nálam még preprocess-szekció sincsen (már "authorize eap"-sorral kezd, de szerintem nem is lehet összehasonlítani a szerveres megoldást egy router-en futó freeradius-al, ebből minden ki van dobálva hogy minél kisebb legyen a mérete..
De ha nem tetszik ez a megoldás, vagy mindenképpen ragaszkodsz a "klasszikus" authorized_macs"-módszerhez, akkor valamikor be tudok SSH-zni a régi melóhelyemre, ahol ezzel a módszerrel működött a radius és ki tudom szedni a konfig-fájlokat (ha még megvan az acc-om)
--
God bless you, Captain Hindsight..
- A hozzászóláshoz be kell jelentkezni
Most egyenlőre úgy néz ki működik. Azt amit a defaultba kellett beállítani, azt teljesen kihagytam. Két eszközzel próbáltam ki eddig, de az működött.
Most a következő az lesz, hogy ezt a virtuális gépet elmentem, mert működik, és megpróbálom elölről megcsinálni az egészet, és ledokumentálni. Ha sikerül megismételnem akkor jó.
Utána jöhet a nagy teszt a munkahelyen. Tavaly már egyszer egy másik megoldás tesztkörnyezetben működött, aztán élesben meg csak Android eszközökkel működött.
- A hozzászóláshoz be kell jelentkezni
Hajrá
--
God bless you, Captain Hindsight..
- A hozzászóláshoz be kell jelentkezni
FreeRadius szerver telepítése Ubuntu 14.04.3 LTS-re
Freeradius hitelesítés telepítése Ubuntura. A hitelesítés felhasználónév, jelszó és MAC-Address alapján történik.
A felhasználók egy részét időben korlátozzuk, hogy mikor használhatják a wifi hálózatot (Sajnos ez nem tökéletes, részletesebben lentebb).
A wifiket két részre osztom. A tanárok minden wifire kapcsolódhatnak, a diákok csak a nekik szánt wifikhez.
A konfigurált fájlok teljes tartalmát megosztom. Néhol magyarázattal.
Sajnos a tabulátorokat kiszedte a kódból is, így kicsit rossz a láthatósága.
Köszönöm mindenkinek aki segített!
#***********#
# Telepítés #
#***********#
- Ubuntu telepítése
- fix ip beállítása
- Freeradius 2.x ppa hozzáadása és freeradius 2.2.5 telepítése
sudo add-apt-repository ppa:freeradius/stable
sudo apt-get update
sudo apt-get install freeradius
#**************#
# Konfigurálás #
#**************#
- /etc/freeradius/modules/files
Felvesszük a files diakokat, melynek a usersfile-ja a diákok lesz.
files {
#key = "%{%{Stripped-User-Name}:-%{User-Name}}"
usersfile = ${confdir}/users
acctusersfile = ${confdir}/acct_users
preproxy_usersfile = ${confdir}/preproxy_users
compat = no
}
files diakok {
#key = "%{%{Stripped-User-Name}:-%{User-Name}}"
usersfile = ${confdir}/diakok
acctusersfile = ${confdir}/acct_users
preproxy_usersfile = ${confdir}/preproxy_users
compat = no
}
- /etc/freeradius/sites-available/default
A fájlban a suffix kommentelve lett, nincs rá szükség, más változtatás nincs.
authorize {
# filter_username
preprocess
# auth_log
chap
mschap
digest
# wimax
# IPASS
# suffix
# ntdomain
eap {
ok = return
}
# unix
files
# sql
# smbpasswd
# ldap
# daily
# checkval
expiration
logintime
pap
# Autz-Type Status-Server {
#
# }
}
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
digest
# pam
unix
# Auth-Type LDAP {
# ldap
# }
eap
# Auth-Type eap {
# eap {
# handled = 1
# }
# if (handled && (Response-Packet-Type == Access-Challenge)) {
# attr_filter.access_challenge.post-auth
# handled # override the "updated" code from attr_filter
# }
# }
}
preacct {
preprocess
# update request {
# FreeRADIUS-Acct-Session-Start-Time = "%{expr: %l - %{%{Acct-Session-Time}:-0} - %{%{Acct-Delay-Time}:-0}}"
# }
acct_unique
# IPASS
# suffix
# ntdomain
files
}
accounting {
detail
# daily
# unix
# radutmp
# sradutmp
# main_pool
# sql
# if (noop) {
# ok
# }
# sql_log
# pgsql-voip
exec
attr_filter.accounting_response
# Acct-Type Status-Server {
#
# }
}
session {
radutmp
# sql
}
post-auth {
# main_pool
# reply_log
# sql
# sql_log
# ldap
exec
# wimax
# update reply {
# Reply-Message += "%{TLS-Cert-Serial}"
# Reply-Message += "%{TLS-Cert-Expiration}"
# Reply-Message += "%{TLS-Cert-Subject}"
# Reply-Message += "%{TLS-Cert-Issuer}"
# Reply-Message += "%{TLS-Cert-Common-Name}"
# Reply-Message += "%{TLS-Cert-Subject-Alt-Name-Email}"
#
# Reply-Message += "%{TLS-Client-Cert-Serial}"
# Reply-Message += "%{TLS-Client-Cert-Expiration}"
# Reply-Message += "%{TLS-Client-Cert-Subject}"
# Reply-Message += "%{TLS-Client-Cert-Issuer}"
# Reply-Message += "%{TLS-Client-Cert-Common-Name}"
# Reply-Message += "%{TLS-Client-Cert-Subject-Alt-Name-Email}"
# }
# if (reply:EAP-Session-Id) {
# update reply {
# EAP-Key-Name := "%{reply:EAP-Session-Id}"
# }
# }
Post-Auth-Type REJECT {
# sql
attr_filter.access_reject
}
}
pre-proxy {
# attr_rewrite
# files
# attr_filter.pre-proxy
# pre_proxy_log
}
post-proxy {
# post_proxy_log
# attr_rewrite
# attr_filter.post-proxy
eap
# Post-Proxy-Type Fail {
# detail
# }
}
- /etc/freeradius/sites-available/diakok
Létrehozzuk a diakok fájlt a default másolatával. Majd a fájl teljes tartalmát beletesszük a server diakok {...} alá.
A fájlban a files elé beírjuk a diakok-at. Így a users és a diakok fájlból is hitelesíteni fog.
server diakok {
authorize {
# filter_username
preprocess
# auth_log
chap
mschap
digest
# wimax
# IPASS
# suffix
# ntdomain
eap {
ok = return
}
# unix
diakok
files
# sql
# smbpasswd
# ldap
# daily
# checkval
expiration
logintime
pap
# Autz-Type Status-Server {
#
# }
}
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
digest
# pam
unix
# Auth-Type LDAP {
# ldap
# }
eap
# Auth-Type eap {
# eap {
# handled = 1
# }
# if (handled && (Response-Packet-Type == Access-Challenge)) {
# attr_filter.access_challenge.post-auth
# handled # override the "updated" code from attr_filter
# }
# }
}
preacct {
preprocess
# update request {
# FreeRADIUS-Acct-Session-Start-Time = "%{expr: %l - %{%{Acct-Session-Time}:-0} - %{%{Acct-Delay-Time}:-0}}"
# }
acct_unique
# IPASS
# suffix
# ntdomain
diakok
files
}
accounting {
detail
# daily
# unix
# radutmp
# sradutmp
# main_pool
# sql
# if (noop) {
# ok
# }
# sql_log
# pgsql-voip
exec
attr_filter.accounting_response
# Acct-Type Status-Server {
#
# }
}
session {
radutmp
# sql
}
post-auth {
# main_pool
# reply_log
# sql
# sql_log
# ldap
exec
# wimax
# update reply {
# Reply-Message += "%{TLS-Cert-Serial}"
# Reply-Message += "%{TLS-Cert-Expiration}"
# Reply-Message += "%{TLS-Cert-Subject}"
# Reply-Message += "%{TLS-Cert-Issuer}"
# Reply-Message += "%{TLS-Cert-Common-Name}"
# Reply-Message += "%{TLS-Cert-Subject-Alt-Name-Email}"
#
# Reply-Message += "%{TLS-Client-Cert-Serial}"
# Reply-Message += "%{TLS-Client-Cert-Expiration}"
# Reply-Message += "%{TLS-Client-Cert-Subject}"
# Reply-Message += "%{TLS-Client-Cert-Issuer}"
# Reply-Message += "%{TLS-Client-Cert-Common-Name}"
# Reply-Message += "%{TLS-Client-Cert-Subject-Alt-Name-Email}"
# }
# if (reply:EAP-Session-Id) {
# update reply {
# EAP-Key-Name := "%{reply:EAP-Session-Id}"
# }
# }
Post-Auth-Type REJECT {
# sql
attr_filter.access_reject
}
}
pre-proxy {
# attr_rewrite
# diakok
# files
# attr_filter.pre-proxy
# pre_proxy_log
}
post-proxy {
# post_proxy_log
# attr_rewrite
# attr_filter.post-proxy
eap
# Post-Proxy-Type Fail {
# detail
# }
}
}
- /etc/freeradius/sites-enabled/
A mappában a sites-available mappa default és diákok
fájljáról legyen szimbolikus link.
- /etc/freeradius/radiusd.conf
A listen részben beállítottuk a portokat
Valamint a log részben beállítottuk, hogy loggolja a
jó és rossz felhasználóhitelesítést.
prefix = /usr
exec_prefix = /usr
sysconfdir = /etc
localstatedir = /var
sbindir = ${exec_prefix}/sbin
logdir = /var/log/freeradius
raddbdir = /etc/freeradius
radacctdir = ${logdir}/radacct
name = freeradius
confdir = ${raddbdir}
run_dir = ${localstatedir}/run/${name}
db_dir = ${raddbdir}
libdir = /usr/lib/freeradius
pidfile = ${run_dir}/${name}.pid
user = freerad
group = freerad
max_request_time = 30
cleanup_delay = 5
max_requests = 1024
listen {
type = auth
ipaddr = *
port = 1812
# interface = eth0
}
listen {
ipaddr = *
port = 1813
type = acct
# interface = eth0
}
hostname_lookups = no
allow_core_dumps = no
regular_expressions = yes
extended_expressions = yes
log {
destination = files
file = ${logdir}/radius.log
syslog_facility = daemon
stripped_names = no
auth = yes
auth_badpass = yes
auth_goodpass = yes
# msg_goodpass = ""
# msg_badpass = ""
}
checkrad = ${sbindir}/checkrad
security {
max_attributes = 200
reject_delay = 1
status_server = yes
allow_vulnerable_openssl = yes
}
proxy_requests = yes
$INCLUDE proxy.conf
$INCLUDE clients.conf
thread pool {
start_servers = 5
max_servers = 32
min_spare_servers = 3
max_spare_servers = 10
# max_queue_size = 65536
max_requests_per_server = 0
}
modules {
$INCLUDE ${confdir}/mods-enabled/
$INCLUDE eap.conf
# $INCLUDE sql.conf
# $INCLUDE sql/mysql/counter.conf
# $INCLUDE sqlippool.conf
}
instantiate {
exec
expr
# daily
expiration
logintime
}
$INCLUDE policy.conf
$INCLUDE sites-enabled/
- /etc/freeradius/eap.conf
Itt pár dolgot változtatni kell. Az elején a default_eap_type = peap, a ttls szekcióban pedig mschapv2.
A copy_request_to_tunel és use_tunneled_reply mind a két helyen enabled, valamint a ttls és peap szekcióban kommentbe tesszük a virtual_server = "inner-tunnel"-t.
eap {
default_eap_type = peap
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = ${max_requests}
md5 {
}
leap {
}
gtc {
#challenge = "Password: "
auth_type = PAP
}
tls {
certdir = ${confdir}/certs
cadir = ${confdir}/certs
private_key_password = whatever
private_key_file = ${certdir}/server.key
certificate_file = ${certdir}/server.pem
CA_file = ${cadir}/ca.pem
dh_file = ${certdir}/dh
random_file = /dev/urandom
# fragment_size = 1024
# include_length = yes
# check_crl = yes
CA_path = ${cadir}
# check_cert_issuer = "/C=GB/ST=Berkshire/L=Newbury/O=My Company Ltd"
# check_cert_cn = %{User-Name}
cipher_list = "DEFAULT"
# virtual_server = check-eap-tls
make_cert_command = "${certdir}/bootstrap"
ecdh_curve = "prime256v1"
cache {
enable = no
lifetime = 24 # hours
max_entries = 255
}
verify {
# tmpdir = /tmp/radiusd
# client = "/path/to/openssl verify -CApath ${..CA_path} %{TLS-Client-Cert-Filename}"
}
ocsp {
enable = no
override_cert_url = yes
url = "http://127.0.0.1/ocsp/"
# use_nonce = yes
# timeout = 0
# softfail = no
}
}
ttls {
default_eap_type = mschapv2
copy_request_to_tunnel = yes
use_tunneled_reply = yes
# virtual_server = "inner-tunnel"
# include_length = yes
}
peap {
default_eap_type = mschapv2
copy_request_to_tunnel = yes
use_tunneled_reply = yes
# proxy_tunneled_request_as_eap = yes
# virtual_server = "inner-tunnel"
# soh = yes
# soh_virtual_server = "soh-server"
}
mschapv2 {
# send_error = no
}
}
- /etc/freeradius/clients.conf
A Teszt a users fájlt használja hitelesítéshez.
A Teszt2 a diakok és users fájlt használja hitelesítéshez.
client "Teszt" {
ipaddr = 192.168.1.99
secret = jelszó
max_connections = 120
shortname = Teszt
nastype = other
}
client "Teszt2" {
ipaddr = 192.168.1.1
secret = jelszó
max_connections = 120
shortname = Teszt2
nastype = other
virtual_server = diakok
}
- /etc/freeradius/users
A felhasználó felvételének formája:
"felhasználónév" Cleartext-Password := "jelszó", Calling-Station-Id == "MAC-Address"
Amennyiben egy felhasználónak több eszköze van, vegyük fel ugyan azzal a felhasználónév jelszó párossal és különböző MAC-Address-el.
A MAC-Address-t nagy betűvel és kötőjellel kell felvenni.
"kisspepe" Cleartext-Password := "jelszó", Calling-Station-Id == "34-23-BA-B5-81-47"
"kisspepe" Cleartext-Password := "jelszó", Calling-Station-Id == "34-51-C9-45-7D-3C"
- /etc/freeradius/diakok
A felhasználó felvételének formája:
"felhasználónév" Cleartext-Password := "jelszó", Calling-Station-Id == "MAC-Address", Login-Time := "Időpont amikor bejelentkezhet"
A bejelentkezési idő megadása:
Wk - weekdays hétfőtől-péntekig
Napok: Mo,Tu,We,Th,Fr,Sa,Su
Időpont megadás:
"Wk0800-1200" - Hétfőtől - Péntekig 8-12-ig
"Sa,Su1300-1400" - Szombaton és Vasárnap 13-14-ig
"Mo0600-0700,Mo1300-1400" - Hétfőn 6-7-ig és 13-14-ig
Bejelentkezési idő hátránya: Az az eszköz ami csatlakozva van, csatlakozva is marad. Ha véletlenül lecsatlakozna a wifiről, utána már nem tud visszamenni, amíg nem engedélyezett. Így lényegében aki a wifi közelében van, és az eszköze állandóan csatlakozik, arra nincs hatással az időpont.
"kisspepe" Cleartext-Password := "jelszó", Calling-Station-Id == "34-23-BA-B5-81-47", Login-Time := "Wk0600-0700,Wk1400-2200,Sa,Su0000-2359"
#***************************#
# Windows 7 csatlakoztatása #
#***************************#
- Hálózati és megosztási központ megnyitása
- Vezeték nélküli hálózatok kezelése
- Hozzáadás -> Hálózati profil kézi hozzáadása
- Hálózat neve: A wifi neve melyre csatlakozni szeretnénk.
Biztonság típusa: WPA2-Enterprise
Titkosítás típusa: AES
Kapcsolat indítása automatikusan kipipálva.
Tovább
- Kapcsolat beállításainak módosítása
- Biztonság fül:
Válassza ki a hálózati hitelesítés módszerét: Microsoft: Védett EAP (PEAP)
-> Beállítások
Kiszolgáló tanúsítvány érvényesítése: kivenni a pipát
Hitelesítési mód: Biztonságos jelszó (EAP-MSCHAP v2)
-> Konfigurálás
A Windows bejelentkezési nevem és jelszavam automatikus használata: kivenni a pipát.
Ok
Ok
-> Speciális beállítások:
Hitelesítési mód megadása: kipipálni
Legördülő lista: Felhasználó- vagy számítógép-hitelesítéshez
Ok
Ok
Bezárás
-
- A hozzászóláshoz be kell jelentkezni
Valaki nem tud megoldást arra, hogy x időnként újra hitelesítsék magukat az eszközök?
Ugye az időkorlátozás miatt ez jó lenne, mert akkor ha már nem kapcsolódhat, nem tudná megújítani a kapcsolatot. Viszont az internetelérésben jó lenne ha nem lenne közben szakadás. Pl. Ha véletlen egy letöltés menne valakinél.
- A hozzászóláshoz be kell jelentkezni
"x időnként újra hitelesítsék magukat az eszközök?"
Ahogy a kerdesben ki is mondod: ez eszkozfuggo. Olvass utana a lehetseges eszkozok doksijaban.
De egyebkent ez erzesem szerint szembe megy a RADIUS filozofiajaval. A RADIUS ugyanis egy AAA szerver, ha elvegezte az authorizalast, akkor mar nincs miert hozza fordulni, hacsak ezt az authorizalast kero eszkoz ki nem kenyszeriti. Azonban a kikenyszerites valamekkora kiesessel fog jarni.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Igen én is gondoltam, hogy ez így nem fog menni. Na de mindegy. Csak valami megoldást jó lenne találni arra, hogy a diákokat le lehessen korlátozni.
Kollégisták kapnak netet, és napközben amikor tanítás van, meg takarodó után nem kellene, hogy netezzenek.
Valószínű a megoldást a fix ip és tűzfal körül kell keresni. Majd utánanézek.
- A hozzászóláshoz be kell jelentkezni
Ha kulon alhalo a Wifi, akkor tudsz ra savszelessegi korlatot rakni, nem kivant idoben le kell vinni ilyen 56 kbps-re a netet, oszt kesz. Akinek kell, kivarja, akinek meg nem, az megy inkabb szundiba.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
"wpa_group_rekey".?.?
--
God bless you, Captain Hindsight..
- A hozzászóláshoz be kell jelentkezni
Ha arra gondolsz, hogy a wifi routerben a freeradius beállításnál van egy olyan, hogy Group Key Update Period, akkor azt kipróbáltam, és nem megy. 60 secondra állítottam.
- A hozzászóláshoz be kell jelentkezni
A default 3600 másodperc, lehet hogy a 60-at nem is értelmezi..
Valami más érték a kettő között.?
--
God bless you, Captain Hindsight..
- A hozzászóláshoz be kell jelentkezni
Group Key Update Period: (in second, minimum is 30, 0 means no update)
Azt írja, hogy minimum 30-nak kell lennie, azért is írtam 60-at, hogy ne fél percenként kérje. Majd kipróbálom 30-al is, de szerintem majd csak holnap.
- A hozzászóláshoz be kell jelentkezni
.
- A hozzászóláshoz be kell jelentkezni