Technische Wetenschappen Geel Bachelor in de elektronica-ICT
Beveiligingsaspecten van draadloze hotspots Toepassing van 802.1x met freeradius
CAMPUS Geel
Steven Wittevrouw
Academiejaar 2007-2008
VOORWOORD Graag had ik Christophe Gabriëls, Marc Muylle, Jean Claessens en Toni Van Remortel bedankt voor deze geweldige stage ervaring. Zonder hen had ik dit nooit kunnen afleggen op de manier zoals ik het nu gedaan heb. Ook had ik graag Leo Dillen bedankt voor zijn ervaring en hulp bij het schrijven van deze scriptie en Bart Portier voor de technische kennis en praktische kanten. Als laatste zou ik mijn familie en vrienden willen bedanken voor hun steun tijdens deze periode van stress en hard werken.
SAMENVATTING Een draadloos netwerk beveiligen is meestal niet zo simpel als het lijkt, zeker niet in een complexe omgeving als een bedrijf of een school. Beveiligingen zijn er in alle smaken en gradaties. Maar welke beveiligingen zijn voldoende om vertrouwelijke gegevens door te sturen zonder het evenwicht te verliezen tussen snelheid en comfort? Dit eindwerk bespreekt de middelen die nodig zijn om een draadloos netwerk veilig te maken. De uitgewerkte configuratie zal het mogelijk maken om door middel van certificaten een beveiligde draadloze verbinding op te zetten. Verdere toegang wordt alleen verleend als de gebruiker zijn login gegevens in een portal invult.
4
INHOUDSTAFEL INHOUDSTAFEL .................................................................................................. 4 INLEIDING ......................................................................................................... 6 1
STAGEPLAATS ...................................................................................... 7
2
DRAADLOOS ....................................................................................... 11
2.1 2.2 2.3 2.3.1 2.3.2 2.4 2.4.1 2.4.2 2.4.3
Wat is draadloos ................................................................................ 11 802.11 ............................................................................................... 11 Draadloos toegepast .......................................................................... 12 Basic Service Set ................................................................................. 12 Extended Service Set ............................................................................ 13 Draadloze netwerk beveiliging ........................................................... 13 WEP ................................................................................................... 13 WPA ................................................................................................... 14 Belangrijkste gevaren ........................................................................... 14
3
AUTHENTICATION AUTHORISATION ACCOUNTING ............................ 16
3.1 3.2 3.3 3.4 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5
Authentication ................................................................................... 16 Authorisation ..................................................................................... 17 Accounting ......................................................................................... 17 Software ............................................................................................ 18 Toepassing ......................................................................................... 18 Uitbreiding draadloze beveiliging ............................................................ 19 EAP-TLS aanmelding............................................................................. 19 Certificaat controle ............................................................................... 21 Asymmetrische encryptie ...................................................................... 22 Gebruikers controle .............................................................................. 23
4
PORTAL .............................................................................................. 24
4.1 4.1.1 4.2
Werking ............................................................................................. 24 Aanmelding en controle ........................................................................ 24 Toepassing ......................................................................................... 25
5
UITVOERING ...................................................................................... 26
5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.2 5.2.1 5.2.2 5.2.3 5.3 5.3.1 5.3.2 5.3.3
Draadloos........................................................................................... 26 Configuratie draadloos basisstation ......................................................... 26 Windows XP configuratie ....................................................................... 32 Mac OS X Leopard ................................................................................ 40 Linux configuratie ................................................................................ 45 Authentication Authorisation Accounting ........................................... 46 RADIUS configuratie ............................................................................. 46 Database configuratie ........................................................................... 48 Certificaat generatie ............................................................................. 49 Portal ................................................................................................. 51 CoovaChilli configuratie ......................................................................... 51 Gateway configuratie ............................................................................ 52 Webserver configuratie ......................................................................... 53
5
5.4
Samengevoegd................................................................................... 53
BESLUIT .......................................................................................................... 55 LITERATUURLIJST ............................................................................................ 56 6
BIJLAGEN ........................................................................................... 57
6.1 6.2 6.3 6.4
Debian installatie pakketen................................................................ Certificaat script ................................................................................ FreeRADIUS log ................................................................................. Wireshark log.....................................................................................
57 58 60 70
6
INLEIDING ‘The phrase “wireless security” is considered by some to be an oxymoron’. Bruce Potter & Bob Fleck verwoorden hiermee hoe draadloos benaderd kan worden. Dit is begrijpelijk als je weet dat een standaard draadloze beveiliging in minder dan vijf minuten kan gekraakt worden. Met als resultaat virussen en oneigenlijk gebruik van het netwerk. Op mijn stageplaats werd ik geconfronteerd met zo een standaard beveiliging. Het is geweten dat in het verleden misbruiken hebben plaats gevonden die resulteerden in een trage draadloze verbinding. Ikzelf heb dit ook kunnen ondervinden door via het draadloze netwerk te surfen en werken. Het huidig systeem met een specifieke statische sleutel is niet veilig genoeg en zou kunnen leiden tot het meelezen van gegevens door oneigenlijke gebruikers Daarom was mijn stageopdracht zeer duidelijk. Er voor zorgen dat het draadloos netwerk maximaal beveiligd wordt en dit ten voordele van de gebruikers. In dit eindwerk beschrijf ik de opbouw en beveiliging van een draadloos netwerk door middel van authenticatie. De uitleg over dit onderzoek en configuratie is op te delen in drie delen. Het eerste deel legt de werking en beveiliging van een draadloos netwerk uit, met hierbij een korte toelichting op de gevaren van een draadloos netwerk. Het tweede deel legt de middelen uit die nodig zijn om een standaard draadloze beveiliging uit te breiden en gebruikers te authenticeren. Het derde deel geeft een korte uitleg over wat de functie van een portal is in een draadloos netwerk. De gebruikte configuratie van dit onderzoek kan u vinden in hoofdstuk 5.
7
1
STAGEPLAATS
Veel bedrijven en scholen lonken naar een draadloos netwerk maar door de hoge moeilijkheidsgraad van de configuratie (zeker in bedrijven) wordt dit weinig toegepast. Helaas wordt zelden het volledige draadloze netwerk beveiligd en beperkt men zich tot de zogenaamde kritische zone. Het is echter de zwakste schakel in de beveiliging die de kwaliteit bepaald. Op de campus van de Hogeschool Antwerpen, departement Ontwerpwetenschappen wordt een draadloze connectie aangeboden naar het internet en het intranet. Maar door de snelle ontwikkelingen in de hedendaagse technologieën zijn de huidige beveiligingsmaatregelen snel verouderd geraakt. Het upgraden naar een betere beveiliging is een tijdrovende taak en heeft een hoge moeilijkheidsgraad waardoor dit nooit voltooid geraakt is. Uit deze problematiek is mijn stageopdracht verder gevloeid, namelijk als een stagiair deze taak voorbereiden en zonodig volledig herwerken. Tijdens deze stage heb ik gewerkt op de dienst ICT van het departement Ontwerpwetenschappen, het grootste van de zeven departementen van de Hogeschool Antwerpen. Om de ICT taken te optimaliseren is het de bedoeling dat de respectievelijke diensten samengevoegd worden tot een centrale ICT. Gezien de specifieke omgevingen van de campussen zal nog een zekere autonomie per campus voorzien moeten worden. Tabel 1.1
Overzicht verschillende departementen
departement
Locatie
Audiovisuele en beeldende kunsten
Antwerpen
Bedrijfskunde, Lerarenopleiding en Sociaal werk
Antwerpen, Lier
Muziek en Podiumkunsten
Antwerpen, Lier
Gezondheidszorg
Merksem
Industriële Wetenschappen en Technologie
Antwerpen, Turnhout, Mechelen
Ontwerpwetenschappen
Antwerpen
Vertalers en Tolken
Antwerpen
Mijn stageopdracht liep grotendeels parallel met deze van een systeembeheerder. Enkele taken die een systeembeheerder op zich kan nemen: • • • • •
onderhoud van de toegewezen computers; beheer van de servers die instaan voor het departement; ondersteuning voor het administratief personeel (netwerkbeheerder); flexibel problemen weten op te lossen; studenten ondersteuning bieden voor persoonlijke laptops.
Dit is maar een beperkt overzicht van het aantal taken maar het geeft al duidelijk weer dat dit veel werk is voor één persoon. Vandaar dat op mijn stageplaats er drie vaste medewerkers zijn en één ICT-coördinator (Marc Muylle). De drie vaste medewerkers zijn voorzien voor systeembeheer (Toni Van Remortel), netwerkbeheer (Christophe Gabriëls) en technische ondersteuning (Jean Claessens).
8
En nkele taken die ik op mij m genome en heb tijde ens mijn sta age: • • • • • • • •
v het au utomatisch afsluiten van v de computers op e een bepaald d tijdstip; script voor update en en aanpassen van Windows en Linux serrvers; vernieuwen van server s hard dware; ssen van programma’’s die nodig g zijn voor de d lessen (bijvoorbeelld: aanpas Office,Photoshop); n van stude enten met lo ogin proble emen; helpen draadloze problem men oploss sen; g data nakiijken; logging helpen n bij het aanpassen va an netwerk hardware.
Tijd dens de eerste week heb h ik gewe erkt via hett draadloos s netwerk e en heb hierd door zelf kun nnen onderrvinden welke nadelen n dit heeft op o het gebiied van veiligheid. Mijn opdrachtt had speciffieke doelen n namelijk controle, veiligheid v en n comfort. Dit houdt d ik een onderzoek o moest verrrichten naar de best to oepasbare beveiliging voor de in dat huiidige infras structuur. De huidige sittuatie besta aat uit: • •
13 acces poin nts (Cisco Aironet A 1100 series); 128 8-bit WEP encryptie. e
Me et deze beve eiliging kan n iedere lap ptop gebruiker de WEP P key verkrrijgen en on nbeperkt geb bruik make en van het draadloze d n netwerk.
Figu uur 1.1
Strructuur draadlloos netwerk
a conn necties die per dag ge emaakt worrden op één n hotspot In deze situattie ligt het aantal vrijj hoog.
9
Figu uur 1.2
Aan ntal connectie es op hotspot zes gedurend de één maand
Figu uur 1.3
Aan ntal connectie es op alle hots spots geduren nde één maand d
g aantal con nnecties ben ik gaan kijken k naar het verbru uik op die momenten m Door dit hoog stippen stem mde het ov vereen. Ditt verbruik is s daarom niet n slecht, en op verschillende tijds ma aar wat vee el gebruikerrs niet wete en is dat he et gebruik van v streaming (audio en video) zwaar belaste end is voor een netwerk. Controle op in en uitgaand ve erkeer is moeilijk m in ze situatie. dez
Figu uur 1.4
Verrbruik van hottspot zes gedu urende één maand m
10
Figu uur 1.5
Verrbruik van hottspot zes gedu urende een drrukke dag
Figu uur 1.6
Dep partementaall verkeer gedu urende één ma aand
ndingen kon ik concluderen dat men m het draadloos netwerk inten nsief Uit deze bevin nut. Dit kan n resulteren n in een tra aag netwerrk waar zelffs de schoo olcomputers s op ben krittieke mome enten (bijvoorbeeld: lessen) hind der van ond dervinden. Hie erdoor werd d mijn stageopdracht duidelijk, namelijk n ee en betere be eveiliging zoeken z voo or dit besta aande draad dloos netwe erk. Met de e achterligg gende gedachte aan een beter beh heer welk ook o een better comfortt realiseert.. Enk kele verderre vereisten n: • •
• • • •
laptopgebruikers moeten zic ch aanmeld den met hun login geg gevens die toegew wezen zijn door d de sch hool; onders steuning vo oor drie verrschillende besturingss systemen; Windows (XP ( / Vista)) Apple OSX X Linux (kerrnel +2.6.16) tijdsge elimiteerde toegang to ot het draad dloos netwe erk (buiten n de schoolu uren); controle en instelllingsmogellijkheden crossplatform voorzien n; gebruiksvriendelijjke interfac ces; eenvou udige rappo orteringinte erface.
11
2
DRAADLOOS
Dit hoofdstuk handelt over de basisopstelling en de veiligheid van een draadloos netwerk. Met als doelstelling de infrastructuur van mijn stage te verduidelijken. Verdere uitleg over de technologie achter een draadloos netwerk is niet van toepassing in dit eindwerk.
2.1
Wat is draadloos
Draadloos kan meerdere betekenissen hebben voor verschillende mensen. Maar algemeen kan gesteld worden dat deze term gerelateerd is met communicatie zonder draad. Enkele andere technologieën: • • •
WAP; Bluetooth; Infrarood.
Bovenstaande technologieën lijken allemaal hetzelfde maar zijn in wezen van achtergrond verschillend en er schuilt altijd een ander verhaal achter.
2.2
802.11
De technologie achter een draadloos netwerk is gedefinieerd door de IEEE 802.11 (Institute of Electrical and Electronics Engineers) standaard. Het is een verzameling van standaarden die een goede werking mogelijk maakt. Een draadloos netwerk kan in het OSI-Model (ISO Reference Model for Open Systems) teruggevonden worden in de eerste drie lagen. Een OSI-Model beschrijft hoe data wordt verstuurd over een netwerk.
Tabel 2.1
OSI-Model
OSI-Model 7 Toepassing 6 Presentatie 5 Sessielaag 4 Transport 3 Netwerk 2 Datalink 1 Fysiek
Volgens de IEEE 802.11 standaard situeert een draadloos netwerk zich op laag één en twee, maar door de veelvuldige combinaties die gemaakt worden met laag drie wordt deze er ook bij gerekend.
12
• • •
Laag drie is verantwoordelijk voor de IP-adressering en routering van een draadloos netwerk. Laag twee zorgt voor een goede communicatie en beveiliging tussen laag drie en één. Laag één behandelt voornamelijk de technieken die nodig zijn om een draadloos signaal op te bouwen.
Op laag één is het ook mogelijk om aan beveiliging te doen maar dit zal niet behandelt worden in dit eindwerk.
2.3
Draadloos toegepast
2.3.1
Basic Service Set
Een “Basic Service Set” (BSS) bevat een basisstation en draadloze cliënten. Het basisstation coördineert alles naar de draadloze cliënten toe waardoor dit netwerk ook wel een “infrastructuur netwerk” genoemd kan worden. Een draadloos netwerk maakt zichzelf bekend door middel van een “Service-set identifier” (SSID). Wat gezien kan worden als de naam van het netwerk. Soms wordt omwille van veiligheidsredenen deze SSID verborgen en moet de naam van te voren gekend zijn. Wanneer een draadloze cliënt heeft beslist welke naam gebruikt zal worden om verbinding te maken, wordt er gezocht naar een beschikbaar basisstation in zijn omgeving. Hierna zal de cliënt een connectie aanvragen bij het basisstation. Wanneer de draadloze cliënt verbonden is met het basisstation, is er officieel een verbinding opgesteld. Dit kan onbeveiligd of beveiligd zijn. De mogelijke beveiligingsmethodes worden later kort beschreven. Na het opzetten van de initiële verbinding zal het basisstation alle verkeer doorsturen naar het bedraad netwerk. Dit om eventuele IP-adressering (DHCP, “Dynamic Host Configuration Protocol”) mogelijk te maken en verdere connecties door te laten. Om IPadressering mogelijk te maken vanuit het basisstation moet deze voorzien zijn van een inwendige router en switch.
Figuur 2.1
Basis Service Set
13
2.3.2
Extended Service Set
Een “Extended Service Set” heeft als basis een “Basis Service Set”. Het verschil is dat er meerdere basisstations aanwezig zijn en ieder toegangspunt dezelfde SSID heeft. Deze toegangspunten vormen hierdoor één draadloos netwerk dat kan verspreid worden over een grote locatie.
Figuur 2.2
Extended Service Set
Deze opstelling is toegepast op mijn stage (zie fig. 2.2). Er zijn dertien basisstations die rechtstreeks verbonden zijn met het bedraad netwerk door middel van switchen. De draadloze cliënten krijgen een IP-adres toegewezen van de DHCP server. Dit geeft het voordeel dat men altijd hetzelfde IP-adres toegewezen krijgt en maakt het mogelijk om vrij rond te lopen in de school zonder enig probleem.
2.4
Draadloze netwerk beveiliging
Het probleem bij een draadloos netwerk is dat deze standaard onbeveiligd is. Dit kan als gevolg hebben dat iemand met de juiste kennis en programma’s zonder enige hinder alle gegevens kan onderscheppen. Door het onderzoeken en begrijpen van de risico’s is het mogelijk om een draadloos netwerk veilig te maken. Een van de volgende stappen in dit eindwerk is het begrijpen en voorkomen van deze risico’s door middel van encryptie. Dit ga ik doen door uitleg te geven over de huidige beveiliging en de beveiliging die ik gekozen heb voor het nieuwe draadloze netwerk. Vervolgens nog een korte uitleg over de belangrijkste gevaren voor een draadloos netwerk. 2.4.1
WEP
WEP (Wired Equivalent Privacy) is een beveiligingsmethode ontwikkelt in 1999 om de data die draadloos verstuurd wordt te coderen. De gegevens zijn dan niet meer leesbaar voor iemand buiten dit draadloos netwerk. WEP maakt gebruik van een statische sleutel en een CRC (Cyclic Redundancy Check) om de gegevens te coderen. Maar door enkele fouten in het ontwerp werd deze beveiligingsmethode al vlug onveilig.
14
Op mijn stage wordt deze beveiligingsmethode momenteel nog gebruikt omwille van het comfort. Maar voldoende veilig is dit niet meer doordat deze onvolmaaktheden in WEP al enkele jaren ontdekt zijn. Tegenwoordig is een WEP encodering in minder dan vijf minuten te kraken. In 2005 heeft de FBI dit gedemonstreerd met het behulp van een paar programma’s die vrij beschikbaar zijn voor iedereen. Daarom was een van mijn eerste stappen het zoeken van een geschikte beveiliging. 2.4.2
WPA
Door de onvoldoende dataveiligheid van WEP is WPA (Wi-Fi Protected Access) ontstaan. Deze codering is ontworpen om de onvolmaaktheden van WEP te verbeteren en was een tussenstap naar een nog betere beveiliging namelijk WPA2. Voor mijn stageopdracht was WPA2 niet mogelijk door problemen met hardware compatibiliteit. Het belangrijkste verschil tussen WPA en WPA2 is het gebruikte algoritme. Hoe zwaarder dit algoritme, hoe groter de kans op een verlaagde snelheid en bereik. WPA kan ingedeeld worden in twee delen, WPA-personal en WPA-enterprise. Zoals de naam het zegt is WPA-personal bedoeld voor thuisgebruik en WPA-enterprise voor het gebruik in omgevingen zoals deze op mijn stage. Het verschil zit in het sleutelbeheer van WPA. WPA-personal maakt gebruik van een “pre shared key” en WPA-enterprise maakt gebruik van een authenticatie server (zie volgend hoofdstuk voor meer informatie). In mijn configuratie maak ik gebruik van WPA-enterprise. Zo wordt het mogelijk voor gebruikers om een veilige connectie op te zetten naar een draadloos netwerk zonder enige moeite. Om deze verbinding te realiseren is het voldoende om een certificaat te installeren waarmee de computer zich kan authenticeren naar het netwerk. Door het gebruik van WPA-enterprise is het mogelijk om oneigenlijke toegang te verhinderen. Maar dit is nog niet voldoende aangezien er hierdoor nog steeds geen volledige controle is over wie verbonden is op het draadloos netwerk. Deze verdere controle mogelijkheden worden besproken in hoofdstuk 3 en 4. 2.4.3
Belangrijkste gevaren
Algemeen gezien zijn de mogelijke aanvallen op een draadloos netwerk verdeelbaar in drie categorieën. Namelijk Passieve, Actieve en “man in the middle” aanvallen. 2.4.3.1
Passieve aanvallen
Deze aanval vindt plaats wanneer iemand gericht scant naar een draadloos netwerk. Een aanvaller heeft maar weinig middelen nodig om deze aanval uit te voeren, een draadloze kaart in “promiscuous mode” is voldoende (de kaart ontvangt al het mogelijke draadloze verkeer in zijn omgeving, in plaats van alleen het bedoelde verkeer voor de kaart). Hiermee kan de aanvaller met de nodige programma’s het draadloze verkeer analyseren. Enkele programma’s : • • • • • •
network monitor van Microsoft; TCPdump in Linux omgevingen; Airsnort; Netstumbler; Prism stumbler; Wireshark.
Passieve aanvallen zijn moeilijk te detecteren omdat de frequenties voor een draadloos netwerk geen licentie hebben, iedereen kan deze frequenties gebruiken.
15
Deze aanvalsmethode kan voor een groot deel opgelost worden door het toepassen van een betere beveiligingsmethode, zoals WPA. 2.4.3.2
Actieve aanvallen
Na het gebruik van een passieve aanval kan de aanvaller deze gegevens gebruiken om zich oneigenlijk toegang te geven tot het draadloos netwerk. Dit soort aanvallen houdt in dat men het netwerk gebruikt om illegale acties uit te voeren. Enkele illegale acties: • • • •
verhinderen van internet toegang; spam aanvallen; computers besmetten met virussen; servers uitschakelen.
Daarom is het belangrijk voor mijn stage dat men deze aanvallen niet kan uitvoeren. Dit is een van de voornaamste redenen dat de beveiligingsgraad van een netwerk hoog moet zijn. Zeker voor een school of bedrijf. 2.4.3.3
“Man in the middle” aanvallen
Wanneer de SSID van een draadloos netwerk gekend is, wordt het mogelijk om in de buurt van dit netwerk een vals basisstation te plaatsen. Hierdoor zullen onwetende gebruikers verbinden met dit basisstation, en verkrijgt de kwaadwillige persoon persoonlijke gegevens van deze gebruikers. Het is zeer moeilijk om deze vorm van aanval te ontdekken. Daarom moet er met een scanprogramma gecontroleerd worden, bijvoorbeeld netstumbler. Hiermee kan men scannen op deze valse basisstations. Op mijn stage heb ik geadviseerd om op regelmatige basis te scannen, dit om eventuele kwaadwillige personen toegang te verhinderen.
16
3
AUTHENTICATION AUTHORISATION ACCOUNTING
Dit hoofdstuk behandelt het belangrijkste deel van mijn stage namelijk het hart van de beveiliging. Het AAA (Authenticatie Autorisatie Accounting) framework maakt het mogelijk om authenticatie en toegang te verkrijgen tot een netwerk. Verder zal er beschreven worden hoe dit toegepast kan worden op mijn stage. Omwille van de complexiteit behandel ik de gebruikte configuraties in hoofdstuk 5.
3.1
Authentication
Authenticatie (Authentication) is een proces om de identiteit van een gebruiker of computer te controleren. Dit proces is bekend als het aanmelden met login en paswoord. Het verspreiden of verliezen van een paswoord zorgt voor een onzekerheid in de beveiliging. Daarom is het nuttig dat er andere en betere methodes gebruikt worden voor de authenticatie in een draadloos netwerk. Voor mijn configuratie heb ik gekozen om authenticatie te realiseren door middel van certificaten. Deze manier van authenticatie maakt het mogelijk om een gebruiker op een draadloos netwerk aan te melden zonder enige vorm van login of paswoorden. De enige vereiste is dat er een certificaat geïnstalleerd wordt. Omwille van veiligheidsredenen moet dit certificaat ieder academiejaar vernieuwd worden. Uitleg hoe dit certificaat gegenereerd moet worden, is beschreven in hoofdstuk 5. Het certificaat dat geïnstalleerd wordt is beveiligd met een paswoord, om het doorgeven aan oneigenlijke gebruikers te verhinderen.
Figuur 3.1
Voorbeeld algemene authentificatie procedure
17
3.2
Authorisation
Autorisatie (Authorisation) is een verzameling van regels waarmee beslist wordt waar een gebruiker mogelijke toegang tot kan verkrijgen. Deze regels zijn meestal gedefinieerd door een Active Directory of LDAP server. Dit kan verschillende vormen aannemen zoals toegang tot een server, emaildiensten, gebruikersmappen, enzovoort. Het bepalen van deze toegang is afhankelijk van de identiteit waarmee de gebruiker is aangemeld. Niet alleen is het mogelijk om toegang te geven tot bepaalde diensten, maar ook het verdelen van IP-adressen, tijdsbeperkingen en kwaliteitsbepaling (QoS, Quality of service) behoren tot de mogelijkheden. In dit eindwerk is er voor gekozen om Active Directory de regels voor autorisatie te laten bepalen. Om praktisch en vlot autorisatie te testen is er gebruik gemaakt van een MYSQL database, hier zijn enkele testgebruikers aan toegevoegd. De reden voor deze praktische manier is om een bepaalde teststructuur in te bouwen, en dit later dan te vervangen door Active Directory. Een nadeel van deze MYSQL database is dat er enkel kan gecontroleerd worden of een gebruiker toegang heeft tot het intranet.
Figuur 3.2
3.3
Autorisatie schema
Accounting
Accounting is de laatste stap en controleert hoe de gebruiker het netwerk benut. Het gebruik van deze informatie heeft verschillende doeleinden. Enkele voorbeelden van doeleinden: • • •
bijhouden van de tijd doorgebracht op het netwerk; hoeveel data heeft een gebruiker verstuurd; welke diensten heeft een gebruiker geraadpleegd.
Deze gegevens worden afgeleid van de logs en statistieken die bij authenticatie en authorisatie gegenereerd zijn. Het bijhouden van deze gegevens gebeurt in een database. Het voordeel van een database is de mogelijkheid tot het centraal opslaan van deze gegevens. Daarom heb ik in mijn configuratie deze stap ondergebracht in de al aanwezige MYSQL database. Hierdoor is het mogelijk om er later een webinterface voor te schrijven zodat
18
men deze gegevens in mensentaal kan lezen. Het ontwikkelen van deze webinterface is te uitgebreid, met als resultaat dat de ontwikkeling hiervan niet kan behandeld worden in dit eindwerk.
3.4
Software
Om te kunnen voldoen aan de AAA functionaliteit zijn er verschillende protocollen ontwikkeld. Enkele AAA protocollen: • • • •
RADIUS; DIAMETER; TACACS; TACACS+.
Voor deze protocollen zijn softwarepakketen ontwikkeld. Deze maken het mogelijk om in combinatie met andere protocollen een goed ontwikkeld systeem aan te bieden. Enkele combineerbare authenticatie protocollen: • • • •
PAP (Password Authentication Protocol); CHAP (Challenge-Handshake Authentication Protocol); EAP (Extensible Authentication Protocol); PEAP (Protected Extensible Authentication Protocol).
Enkele softwarepakketen: • • • • •
Microsoft RADIUS server; Aradial RADIUS Server; freeRADIUS; Radiator; XTRadius.
In de configuratie van dit eindwerk is de voorkeur uitgegaan naar EAP in combinatie met freeRADIUS. Dit geeft de mogelijkheid om AAA toe te passen op een draadloos netwerk. Het toepassen hiervan kan geplaatst worden onder de IEEE 802.1X standaard. Deze standaard beschrijft hoe netwerk toegangscontrole (NAS, Network Access Control) toegepast moet worden op een netwerk. U kan verdere uitleg over deze toepassing terugvinden in punt 3.5.
3.5
Toepassing
Zoals eerder uitgelegd is de toegepaste beveiliging in dit eindwerk een combinatie van twee protocollen door middel van het softwarepakket freeRADIUS. Het gebruik van EAP staat hier centraal, maar is nog op te splitsen in verschillende onderdelen. Mogelijke EAP deelprotocollen: • • • • • • •
LEAP; PEAP; o EAP-MSCHAPv2 o EAP-GTC EAP-TLS; EAP-MD5; EAP-PSK; EAP-TTLS; EAP-IKEv2;
19
• • •
EAP-FA AST; EAP-SIIM; EAP-AK KA.
De complexite eit van de deelprotoco d ollen maaktt het onmogelijk om d deze allema aal te beh handelen. De D voorkeu ur in dit eindwerk gaatt er naar uit om EAP-T TLS te gebrruiken, dit om mdat EAP instaat voor het authen nticatie mec chanisme en TLS (Transport Laye er Sec curity) instaat voor he et beveilige en van de verbinding. v Bovendien zijn deze niet n alle emaal toepasbaar op een e draadlo oos netwerrk. EAP-TLS S is de bestte keuze vo oor toe epassing op p een draad dloos netwe erk, er zijn hier versch hillende red denen voor.. 3.5 5.1
Uitbreiding draadloze d beveiligin ng
EAP is van oorsprong nie et ontworpe en om overr een draad dloos netwe erk te gebru uiken, aar het is mogelijk m doo ordat we EA AP over LAN N (EAPOL) pakketen o over het draadloos ma verrsturen. Hie erdoor besc chouwen we een draadloos netw werk als een n bedraad netwerk. n Ditt gedeelte van v het nettwerk noem mt men ook k wel de verrbinding tus ssen de sup pplicant (ge ebruiker die e wilt aanm melden) en de d authentticator (draa adloos basiisstation). Hett andere de eel bestaat uit de auth henticator en e de authe entication s server (RAD DIUS serrver). Over dit deel va an de verbin nding word den EAP ove er RADIUS (EAPOR) pakketen p verrstuurd. Een authentic cator heeft enkel een functie bij het opzette en van een draadloze con nnectie. Na het opzettten van een n connectie e geeft de authenticato a or de boods schappen van n de supplic cant door aan a de auth hentication server.
Figu uur 3.3
5.2 3.5
EAP P functies in een e draadloos s netwerk
EAP P-TLS aanmelding
Na installatie van het certificaat bij de supplic cant en auth hentication server, zal de sup pplicant een n EAPOL bo oodschap versturen na aar de auth henticator w waarmee hij laat weten dat hij aanwezig is i op het ne etwerk en toegang t wil verkrijgen n. ator vraagt vervolgens s de nodige e gegevens op van de supplicant en stuurt De authentica dez ze gegeven ns door naa ar de authentication se erver. Hiero op volgend gaat de se erver het cerrtificaat opv vragen bij de d supplicant en contrroleren of dit d het corre ecte is (zie 3.5.3). Een ns bevestig gd dat dit het correcte e certificaat is zal de server een w willekeurige e sleutel
20
doo orgeven aan de authe enticator om m met de su upplicant een e WPA ve erbinding op p te zettten. Deze sleutel s of WPA W key zal na een be epaalde tijd d vernieuwd d worden, dit d is nodig om m het kraken van deze e sleutel doo or oneigenllijke gebruiikers te verrhinderen. Na de inittiële stap is s het voor de d supplicant mogelijk k om contac ct op te nemen met een e DHCP serrver. In dit eindwerrk zal de ge ebruiker terrecht kome en in een kllein afgesch hermd deell van het aadloos nettwerk waar beperkte toegang t is tot t het intranet. Om ttoegang te verkrijgen dra tot het volledige intranett zal de geb bruiker moeten aanmelden op ee en portaal (zie ofdstuk 4). hoo
Figu uur 3.4
Alg gemeen aanmelding proces
Figu uur 3.5
EAP P-TLS aanmellding proces
21
3.5.3
Certificaat controle
Het controleren van een certificaat kan beschouwd worden als een procedure op zichzelf. Dit houdt in dat bij een EAP-TLS (Extensible Authentication Protocol Transport Layer Security) handshake er inwendig een TLS handshake uitgevoerd wordt. Een handshake zorgt voor een automatische kennismaking en maakt het mogelijk dat beide partijen weten hoe verdere communicatie moet verlopen. TLS handshake routine: • • • • • • •
Wanneer een verbinding opgestart wordt naar de server zal de server zich bekend maken door middel van zijn persoonlijke gegevens op te sturen, (servernaam, het vertrouwde root certificaat en de server zijn publieke encryptie sleutel). De supplicant kijkt na of het root certificaat geldig is. Na bevestiging van geldigheid zal de supplicant een willekeurig getal encrypteren met de publieke sleutel van de server, het resultaat wordt naar de server gestuurd (alleen de server kan dit resultaat decrypteren). Wanneer de supplicant bevestiging gekregen heeft van de server dat het decrypteren voltooid is zal de handshake afgerond worden. Al het verkeer wordt vanaf nu geëncrypteerd.
Wanneer deze handshake faalt zal de connectie afgebroken worden. Geen geldig certificaat is geen connectie, en hierin schuilt de kracht van de opstelling. Het is niet mogelijk voor derden om deze sleutel zomaar te bemachtigen want de private sleutels worden niet verstuurd. Een nadeel is dat er voorzichtig moet worden omgegaan met de publieke sleutel.
Figuur 3.6
Certificaat controle
22
Het gebruik van deze handshake is gebaseerd op asymmetrische encryptie, om hier een duidelijk beeld op te geven kan u in het volgende punt (3.5.4) de nodige uitleg terugvinden. 3.5.4
Asymmetrische encryptie
TLS encryptie maakt gebruik van een asymmetrische encryptie en bestaat uit een publieke sleutel en een private sleutel. Deze sleutels worden meestal samengevoegd in één bestand, het certificaat bestand. Het gebruik van deze sleutels kan uitgelegd worden aan de hand van volgend voorbeeld. Ann wenst een geëncrypteerde boodschap te versturen naar Bert, hiervoor heeft Ann de publieke sleutel nodig van Bert. Deze sleutel is vrij beschikbaar gesteld door bert voor iedereen. Wanneer Ann deze publieke sleutel heeft zal ze het bericht hiermee encrypteren. En daarna het beveiligd bericht doorsturen naar Bert. Wanneer Bert dit bericht ontvangt zal hij dit enkel kunnen decrypteren met zijn private sleutel en hierdoor kan Bert het bericht zonder probleem lezen. Met eventueel in omgekeerde richting een antwoord terug te sturen naar Ann. De enigste vereiste voor Bert is dan dat hij de publieke sleutel van Ann moet hebben.
Figuur 3.7
Verzenden van een bericht met asymmetrische encryptie
Het enige probleem in dit voorbeeld is dat iedereen een publieke sleutel kan aanbieden, het is dus mogelijk voor derden om hun eigen publieke sleutel aan te bieden. Het aanbieden van deze sleutel kan dus ook voor slechte doeleinden gebruikt worden. Waardoor het mogelijk wordt om bijvoorbeeld toch deze beveiligde berichten te lezen. Daarom heeft men root certificaten die instaan voor het herkennen en erkennen van deze publieke sleutels. Wanneer de sleutel niet van Bert komt kan Ann dit zien door de publieke sleutel te controleren met behulp van een root certificaat. Deze root certificaten worden verdeeld door speciaal voorziene certificaatautoriteiten (CA,
23
certificate authority) zoals VeriSign. Omdat in dit eindwerk het niet nodig is om dit root certificaat te verkrijgen bij een CA, zal dit zelf gegenereerd worden (zie 5.2.3).
3.5.5
Gebruikers controle
Zoals eerder beschreven draait accounting rond gebruikers controle. In deze configuratie wordt enkel het aanmelden en afmelden van een gebruiker bijgehouden in een MYSQL database. Wel is het mogelijk om in de freeRADIUS server extra logging te activeren, waardoor er meer gegevens opgeslagen worden in de database. Wanneer Active Directory toegevoegd wordt komt de mogelijkheid erbij om nog meer extra gegevens op te slaan. Hiervoor is wel een aparte database nodig om de grote hoeveelheid aan log gegevens te kunnen opslaan.
24
4
PORTAL
Een portal is een website dat het centraliseren van gegevens als doel heeft. In dit hoofdstuk beschrijf ik de werking en toepassing van een portal in combinatie met een draadloos netwerk.
4.1
Werking
Een portal is zoals eerder beschreven een systeem dat centraliseert, ook bij de toepassing op een draadloos netwerk. Een portal op een draadloos netwerk kan beschouwd worden als een beveiligingsbuffer (beter bekend als een proxy). Om een goede werking te verkrijgen moet een portal tussen de authenticator en het bedraad netwerk geïnstalleerd worden. Door het plaatsen van een portal op deze plaats is er volledige controle mogelijk over het aanmelden van gebruikers en hun rechten. Daarom noemt men het systeem waar de portal op geïnstalleerd is een gateway. Een gateway is een knooppunt tussen 2 netwerken.
Portal
Figuur 4.1
Een draadloos netwerk met portal voorziening
Door het installeren van een portal op een gateway kan er aan de hand van een RADIUS server beslist worden wie toegang heeft tot het bedraad netwerk. Hoe deze aanmelding door middel van een portal op een gateway verloopt beschrijf ik in onderstaand punt (4.1.1 aanmelding en controle). 4.1.1
Aanmelding en controle
Na het opzetten van een beveiligde draadloze verbinding zal de gebruiker een IP-adres toegewezen krijgen van de gateway. Deze IP-adressen zijn verschillend van de IPadressen van het bedraad netwerk. Na deze toewijzing zal het netwerkverkeer geblokkeerd worden, alleen toegang tot de portal is mogelijk. Om deze blokkering op te heffen zal de gebruiker bij het openen van zijn browser eerst omgeleid worden naar de portal. Op deze site is een loginvenster voorzien en eventueel extra informatie over het gebruik van het draadloos netwerk waar de gebruiker op aanmeldt. De gebruiker kan alleen maar verdere toegang verkrijgen door middel van aanmelding via de login voorzien op deze portal. Het blokkeren van de toegang gebeurt door middel van IP tables. IP tables is één van de betere methodes om een gateway onder Linux op te bouwen en is de tegenhanger
25
van ISA server voor Windows. In deze configuratie is IP tables niet volledig gebruikt, daarom heb ik een voor geconfigureerd script gebruikt dat voorzien was bij de portal software. Dit script kan teruggevonden worden in hoofdstuk 5.
4.2
Toepassing
Voor het toepassen van deze portal heb ik gekozen voor CoovaChilli. Door het kleine aanbod van goede portal software was dit het best werkende dat ik ter beschikking had. Enkele andere programma’s: • • •
NoCat; WiCap; WiFiDog.
CoovaChilli voorziet ook een opensource firmware waarmee het mogelijk wordt om een volwaardige hotspot te bouwen door middel van een budget basisstation. Hierdoor werden mijn mogelijkheden om extra toepassingen te testen groter. Bovendien bevat de website van CoovaChilli een grote hoeveelheid aan informatie. Een opmerking hierbij is dat één van de vereiste voor een portal een webserver is en dat door de grootte van dit eindwerk het niet mogelijk is om hier extra uitleg over te geven. Voor deze opstelling heb ik gebruik gemaakt van Apache2, dit door de vlotte installatie en de grote hoeveelheid aan informatie. Verder uitleg over de configuratie kan u vinden in hoofdstuk 5.
26
5
UITVOERING
In dit hoofdstuk geef ik uitleg over de configuraties die nodig zijn om de voorgaande hoofdstukken uit te voeren. Om een goed beeld te vormen wordt dit parallel behandelt in drie delen en hierna volgt een totaalbeeld van deze configuratie.
5.1
Draadloos
5.1.1
Configuratie draadloos basisstation
Het configureren van een draadloos basisstation is makkelijk en kan toegepast worden op andere toestellen. In dit deel kan u de configuratie van een Cisco en CoovaAP basisstation terugvinden. 5.1.1.1
Cisco
Navigeer met een internet browser naar het IP-adres van het te configureren basisstation, meldt aan als administrator. Standaard login gegevens: • •
Login: admin Passwoord: Cisco
Figuur 5.1
Login venster Cisco basisstation
Als standaard pagina moet er een overzicht staan van het basisstation.
Figuur 5.2
Homepagina Cisco basisstation
27
Als startpunt gaan we de IP-instellingen configureren, klik links in het menu op ”express set-up”. • •
Vul de “Host Name” in met een originele naam. Kies voor “Static IP” of DHCP.
In deze configuratie is er voor gekozen om een statisch IP-adres te gebruiken met als reden de functie van het IP-adres duidelijk te maken. En mogelijke problemen vlot te kunnen oplossen. •
Druk op apply.
Figuur 5.3
IP-adres instellingen
Na het instellen van een IP-adres moet de draadloze beveiliging geactiveerd worden. Deze pagina kan gevonden worden door links in het menu “express security” te selecteren. Op deze pagina is het voldoende om volgende stappen te doorlopen. • • • •
vul een SSID in; selecteer “broadcast in SSID beacon”; laat de vlan instellingen op “no vlan” staan; selecteer als security WPA.
Bij de WPA instellingen verplicht Cisco je om een RADIUS server met bijhorend RADIUS secret in te vullen. Het RADIUS secret dat gebruikt wordt kan teruggevonden worden in punt 5.2.1 (de RADIUS server configuratie). • •
RADIUS server: 192.168.0.1; RADIUS secret: testing123.
28
Figuur 5.4
Express security configuratie
Als laatste stap is het nodig om het basisstation duidelijk te maken om bovenstaande RADIUS server voor authenticatie en accounting te gebruiken. Klik links in het menu op “Server Manager”, deze link bevindt zich onder “SECURITY”. • • •
Selecteer bij “Corporate Servers” het IP-adres van de gewenste RADIUS server. Selecteer hetzelfde IP-adres bij “EAP-authentication” en “Accounting”; Stel priority 1 in voor beide.
Figuur 5.5
5.1.1.2
Extra configuratie voor RADIUS
CoovaAP
CoovaAP is een opensource firmware voor basisstations, dit houdt in dat het niet beperkt is tot één fabrikant. Als eerste stap moet hier ook het IP-adres ingesteld worden. •
navigeer naar het IP-adres van dit basisstation;
29
• •
geef de login gegevens in; klik op het tabblad “network”.
Omdat dit basisstation ook gebruikt kan worden als gateway en dus onderscheid maakt tussen WAN (Wide Area Network) en LAN (Local Area Network), zal de configuratie voor het IP-adres op twee plaatsen moeten gebeuren. Om conflicten te vermijden moet het IP-adres in een zelfde bereik geconfigureerd worden. In onderstaande uitleg vindt u de configuratie van een basisstation waarbij de gateway functie niet gebruikt is. Configuratie van het WAN IP-adres: • • • •
klik op WAN; selecteer static IP; en gebruik onderstaande IP-adres configuratie; druk op save changes.
Figuur 5.6
WAN configuratie CoovaAP.
Het configureren van een WAN IP-adres maakt het mogelijk om de verbinding op te zetten tussen de RADIUS server en CoovaAP. Om een goede werking te verzekeren moet het LAN IP-adres in hetzelfde bereik geconfigureerd worden als dat van het WAN IP-adres. De instellingen voor het LAN IP-adres te wijzigen kan je vinden bij de link LAN onder het tabblad network. Configuratie van het LAN IP-adres: • • • • •
vul een IP-adres in; vul een subnetmask in; vul een default gateway in; indien nodig vul een dns server toe; druk save changes.
30
Figuur 5.7
Configuratie LAN IP-adres
Na het configureren van beide IP-adressen is het nodig om de DHCP server die door CoovaAP standaard geactiveerd is te deactiveren. Deze stap mag zeker niet overgeslagen worden omdat de portal al een DHCP server heeft en hierdoor problemen zouden ontstaan. Deze instelling kan gevonden worden bij de DHCP link onder het tabblad Network. Deactiveren van DHCP server: • •
selecteer Disabled bij Lan DHCP Services; druk op save changes.
Figuur 5.8
CoovaAP DHCP configuratie
31
Als laatste stap moet de draadloze beveiliging ingeschakeld worden. Ondanks de mogelijkheid voor WPA2, is het nodig om dezelfde instellingen aan te houden als de instellingen bij het Cisco basisstation. Het configureren van deze instelling kan teruggevonden worden bij Wireless onder Network. Configuratie draadloos netwerk: • • • •
kies bij wireless interface enabeld; vul bij ESSID de naam van het draadloze netwerk in; kies bij de channel instelling het effectiefste voor je omgeving; selecteer “access point” als mode.
Configuratie draadloze beveiliging: • • • •
selecteer WPA(RADIUS) als “encryption type”; vink WPA1 en rc4 aan; vul het IP-adres en secret in voor de RADIUS server. druk op save changes
Figuur 5.9
Configuratie draadloze beveiliging
Als laatste stap moeten deze wijzigingen doorgevoerd worden dit kan gedaan worden door rechts boven op “config changes pending” te drukken en vervolgens op “Apply changes” te drukken.
32
Figuur 5.10
5.1.2
Wijzigingen toepassen
Windows XP configuratie
Eén van de belangrijkste configuraties in de opstelling is deze bij de cliënt. Het installeren van certificaten is nodig om de gebruiker laten aan te melden op het netwerk. In dit deel kan u de belangrijkste stappen terug vinden die nodig zijn om een werkende connectie te krijgen. Hierbij zijn de twee benodigde bestanden het CA root certificaat en het certificaat voor de cliënt. Benodigde bestanden: • •
root.der; cert-clt.p12.
Verder uitleg over deze certificaten kan u terugvinden in punt 5.2.3 5.1.2.1
Root certificaat
Het installeren van dit certificaat heeft als doel er voor zorgen dat de certificaten die gebruikt worden in dit eindwerk vertrouwd worden door de computer. Hierdoor zal de cliënt geen melding krijgen van onvertrouwde certificaten en is er ook geen vergissing mogelijk. Om dit root certificaat te installeren is het voldoende om te dubbelklikken op dit bestand hierdoor verschijnt er een overzicht van dit certificaat. Hierin staan de belangrijkste gegevens die een cliënt moet kennen om dit te vertrouwen.
33
Figuur 5.11
Overzicht root certificaat
Om dit root certificaat te installeren is het voldoende om te drukken op “Install Certificate”, hierdoor zal een wizard opgestart worden die de installatie begeleidt.
Figuur 5.12
Certificaat wizard
34
Na het introductiescherm is er de mogelijkheid om Windows te laten bepalen waar dit certificaat geïnstalleerd wordt of om dit handmatig te kiezen. Voor een root certificaat is deze laatste optie het beste want het root certificaat moet op een specifieke plaats staan.
Figuur 5.13
Certificaat opslagplaats
Na het afronden van deze installatie zal u een pop-up krijgen waarin gevraagd wordt of de installatie van dit root certificatie wel mag gebeuren. Na bevestiging van deze waarschuwing krijgt u de boodschap dat de installatie succesvol voltooid is.
Figuur 5.14
Root certificaat waarschuwing
Figuur 5.15
Succesvolle installatie
35
De installatie van dit certificaat kan gecontroleerd worden door dit certificaat terug te zoeken in de certificaat manager van Windows. U kan deze manager terugvinden door certmgr.msc uit te voeren via start > uitvoeren. Het root certificaat bevindt zich normaal onder “Trusted Root Certification Authority”.
Figuur 5.16
5.1.2.2
Certificaat manager
Cliënt certificaat
Net zoals bij het root certificaat is het mogelijk om het cliënt certificaat te installeren door een dubbele klik op dit certificaat. De functie van dit certificaat is beschreven in hoofdstuk 3 bij asymmetrische encryptie.
Figuur 5.17
Certificaat selectie
36
Wat verschillend is met de installatie van een root certificaat is dat na het selecteren van het gewenste certificaat er een installatie paswoord gevraagd wordt. Dit is gedaan zodat iemand die het certificaat niet mag installeren dat ook niet zomaar kan. Het paswoord is hetzelfde als hetgene dat wordt gebruikt bij de generatie van dit certificaat (zie 5.2.3). Opgelet er mag geen selectie aangevinkt worden bij dit scherm omdat windows hierdoor de ondersteuning met de huidige certificaten breekt.
Figuur 5.18
Certificaat paswoord beveiliging
Wanneer de wizard vraagt om automatisch of manueel te kiezen voor een installatieplaats, is het hier best om automatisch te kiezen aangezien dit het persoonlijk certificaat is en het niet uitmaakt waar dit terecht komt.
Figuur 5.19
Certificaat wizard
Wanneer de installatie succesvol verlopen is zal dit bevestigd worden. Het controleren van deze installatie is ook mogelijk met de certificaat manager.
37
Figuur 5.20
5.1.2.3
Certificaat manager - persoonlijke certificaten
Configuratie draadloze netwerk adapter
Wanneer de installatie van de certificaten goed verlopen is moet het cliënt certificaat geactiveerd worden op de draadloze netwerk adapter. Onderstaande stappen leggen dit uit. Navigeer naar het controle paneel van Windows en selecteer netwerk connecties om aan de draadloze adapter instellingen te geraken.
38
Figuur 5.21
Windows netwerk connecties
Selecteer de eigenschappen van de draadloze netwerk adapter, hier vind je een tabblad draadloze netwerken. In dit tabblad selecteer je het gewenst draadloos netwerk en kies je eigenschappen (properties), bij deze eigenschappen zullen de nodige instellingen gebeuren.
Figuur 5.22
Eigenschappen draadloze netwerk adapter
39
Figuur 5.23
Eigenschappen draadloos netwerk
In het venster voor eigenschappen van het draadloos netwerk is het niet nodig om de connectie instellingen te wijzigen, het belangrijkste is geplaatst onder het tabblad authenticatie. Indien de optie van IEEE 802.1x authenticatie nog niet geactiveerd is moet dit eerst geselecteerd zijn. Vervolgens kies je voor smart card of een ander certificaat en vink je de eerste optie aan.
Figuur 5.24
Authenticatie eigenschappen
40
Als laatste stap is het nodig om de EAP eigenschappen te openen, hier gebruik je best onderstaande opties en selecteer je root certificatie zodat er later geen foute boodschappen kunnen ontstaan.
Figuur 5.25
EAP eigenschappen
Na deze instellingen zal windows een draadloze verbinding creëren en is het mogelijk om via een internet browser aan te melden op het netwerk. Het aanmelden gebeurt via de portal, welke automatisch zichtbaar wordt wanneer de gebruiker voor het eerst zijn internet browser opent. 5.1.3
Mac OS X Leopard
In dit onderdeel zal u de toepassing kunnen terugvinden voor het recentste besturingssysteem van Apple (Leopard), ook hier zal de installatie van het root certificaat en client certificaat uitgelegd worden. Deze stappen zijn wederom de belangrijkste stappen voor toepassing op een Mac. Benodigde bestanden: • •
root.der; crt-clt.p12.
5.1.3.1
Root certificaat
Navigeer naar waar het root certificaat geplaatst is en dubbelklik op root.der. In een pop-up scherm zal gevraagd worden waar u dit certificaat wil plaatsen. Het root certificaat wordt het best geplaatst in de sleutelhanger van het systeem.
41
Figu uur 5.26
Toe evoegscherm root certificaa at
erop zal een n waarschu uwing volge en met de vraag v of ditt root certifficaat te vertrouwen Hie is en e of het sy ysteem dit altijd moett vertrouwe en. Hier is de d best aan ngewezen methode m om m het altijd te vertrouw wen.
Figu uur 5.27
Waarschuwin ng root certific caat
Ditt certificaat kan terugg gevonden worden w ond der het prog gramma sle eutelhanger toegang.
42
Figu uur 5.28
1.3.2 5.1
Cerrtificaat sleute elhanger
Clië ënt certifica aat
Hett cliënt certtificaat hee eft dezelfde installatiem methode alls deze van n het root certificaat. Hett enige verrschil hierbij is dat bij de selectie van de sle eutelhangerr gekozen moet m worden voor inloggen i en n niet syste eem.
Figu uur 5.29
Toe evoeging van het cliënt cerrtificaat
er zal ook zoals z bij de windows in nstallatie ge evraagd wo orden naar een paswo oord ter Hie bes scherming van dit certificaat.
43
Figu uur 5.30
Wa achtwoord bev vestiging
eren van diit certificaa at kan er oo ok hier geco ontroleerd worden of het Na het installe aan nwezig is op het syste eem. Door het h installeren van he et root certificaat zal dat d van de clië ënt zonder probleem vertrouwd v w worden.
Figu uur 5.31
1.3.3 5.1
sleutelhanger ov verzicht met de d locatie van het cliënt cerrtificaat
Con nfiguratie draadloze ne etwerk ada apter
Na de installatie van bov venstaande e certificate en is het nodig om dez ze toe te pa assen op de draadloze netwerk ad dapter. Hierrvoor moett je naar sy ysteemvoorrkeuren gaa an en selecteer hierr netwerk. In I het volge ende venstter zijn de beschikbare b e netwerk adapters a zichtbaar.
44
Figu uur 5.32
Ma ac systeemvoo orkeuren
Figu uur 5.33
Netwerk eigensc chappen
j AirPort, hier kan je selecteren met welk netwerk he et toestel In dit vensterr selecteer je oet verbinde en. Maar dit is niet vo oldoende, er e moeten nog n enkele instellingen n gedaan mo worden onderr geavancee erd. de instelling gen kan je alle netwerrk instelling gen aanpas ssen die Onder deze geavanceerd dig zijn, ma aar de belangrijkste voor v een correcte werk king in dit e eindwerk zijn nod gep plaatst onder het tabb blad 802.1x x
45
Figu uur 5.34
Geavanceerde eigenschappen n – tabblad 80 02.1x
als figuur 5.32 5 het aantoont moe et je de ins stelling voor TLS aanvinken. Dit is nog niet Zoa voldoende, als laatste sttap moet err nog gecon nfigureerd worden w we elk TLS-certtificaat hierr bruikt moett worden. Hierdoor H wo ordt het mo ogelijk om een draadlo oze verbind ding op te geb ste ellen en aan n te melden n op het ne etwerk doorr middel van een interrnet browse er te ope enen, deze zal automa atisch omgeleid worde en naar de portal.
Figu uur 5.35
1.4 5.1
Cerrtificaat selecttie
Linux configu uratie
In dit deel zall u de belan ngrijke aandachtspuntten kunnen n vinden die e het moge elijk maken m een werke ende conne ectie te verk krijgen. Om mwille van de d grote ve erschillen in n Linux zal om dez ze configuratie specifiek zijn voo or Ubuntu Linux L 7.10 en e hoger. Z Zoals bij de e twee vorrige besturiingssystem men is het voldoende v om o twee be estanden te er beschikkiing te heb bben. Ben nodigde be estanden: • •
root.de er; clt-crt..
46
Voo or Linux is het voldoende om deze twee certificaten op een makkelijk toega angbare locatie te plaa atsen. Hierd door is het overbodig om de certtificaten te installeren. Daarom h enige belangrijke b punt de configuratie van v de draa adloze netw werk adapte er. is het Voo or deze con nfiguratie is s het programma netw work-manager verantw woordelijk. Uit ond derstaande e afbeelding g kan afgele eid worden wat er gec configureerrd wordt. En nkele bellangrijke pu unten kan u hieronderr vinden. Bellangrijke pu unten: • • • • •
“wirele ess security y” moet ing gesteld zijn op WPA-en nterprise, het selecteren va an de EAP-T TLS mode, entity” moe et identiek zijn z als dez ze die in he et certificaat is ingegev ven, de “ide selecte eer de certiificaten die lokaal opgeslagen zijn, geef het beveiligingspaswoo ord in (priva ate key pas sword).
Figu uur 5.36
5.2
Lin nux configurattie
Au uthentica ation Autthorisation Accounting
In dit deel kan u de bela angrijkste configuratie c es terugvind den die nod dig zijn om een eRADIUS se erver op te e stellen. Hiier zal u oo ok de uitleg terugvinde en die werkende free dig is om ce ertificaten te generere en en welk ke tabellen er toegevo oegd moete en worden nod aan n de databa ase. 5.2 2.1
RAD DIUS conffiguratie
In dit eindwerrk is gebruiik gemaaktt van FreeR RADIUS_2.0 0.0-0 en My ySQL_5.0 bian Linux server. s Doo or de comp plexiteit van n de installa atie van geïïnstalleerd op een Deb
47
een server en pakketen wordt dit niet behandelt in dit eindwerk, wel kan u in de bijlage een uitleg vinden over het zelf creëren van Debian pakketen (zie 6.1). De configuratiebestanden van de FreeRADIUS server zijn terug te vinden onder /etc/freeradius. In deze directory zijn er een aantal belangrijke bestanden. Belangrijke configuratiebestanden FreeRADIUS: • • • • •
radiusd.conf; sql.conf; clients.conf; eap.conf; sites-available/default.
Het radiusd.conf bestand is standaard goed geconfigureerd, aangezien dit bestand alle andere configuraties verzamelt is dit één van de belangrijkste. Als eerste stap is het nodig om de authenticatie en accounting te activeren, dit kan aangepast worden in sites-available/default. In dit bestand moet op enkele plaatsen sql uitgecommentarieerd worden. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
authorize { … # Look in an SQL database. The schema of the database # is meant to mirror the "users" file. # # See "Authorization Queries" in sql.conf sql … } accounting { # # Create a 'detail'ed log of the packets. # Note that accounting requests which are proxied # are also logged in the detail file. … # Log traffic to an SQL database. # See "Accounting queries" in sql.conf sql … } session { radutmp # See "Simultaneous Use Checking Queries" in sql.conf sql } post-auth { … # After authenticating the user, do another SQL query. # See "Authentication Logging Queries" in sql.conf Sql … }
Het volgende bestand dat moet aangepast worden is het sql.conf bestand, dit bestand bevat de login gegevens naar de database die in 5.2.2 geconfigureerd wordt. De belangrijkste wijzigingen zijn deze op regel 7,12,13,14 en 15. 1. sql { 2. # 3. # Set the database to one of:
48
4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
# # MySQL, mssql, oracle, postgresql # database = "mysql" # # Which FreeRADIUS driver to use. # driver = "rlm_sql_${database}" # Connection info: server = "localhost" login = "radiususer" password = "radiuspass" # Database table configuration for everything except Oracle radius_db = "radius" … }
Wanneer de configuratie voor de database in orde is moet er toegang geconfigureerd worden voor de draadloze basisstations. Deze maatregel is nodig om onbekende basisstations toegang te weigeren (zie de “Man in the middle” aanval). Het configureren van deze toegang gebeurt in clients.conf. 1. 2. 3. 4. 5.
client 192.168.0.2 { secret = testing123 shortname = wan nastype = Cisco }
Als laatste is het nodig om in eap.conf de TLS certificaten te definiëren (zie 5.2.3). 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
tls { certdir = ${confdir}/certs cadir = ${confdir}/certs private_key_password = ***** private_key_file = ${certdir}/cert-srv.pem certificate_file = ${certdir}/cert-srv.pem CA_file = ${cadir}/demoCA/cacert.pem dh_file = ${certdir}/dh random_file = ${certdir}/random … }
Regel 8 en 9 zijn twee extra bestanden die nodig zijn voor het veilig opzetten van de draadloze connectie. 5.2.2
Database configuratie
Zoals eerder besproken in dit eindwerk zal er gebruik gemaakt worden van een MySQL database. Om gebruik te maken van deze database moeten er enkele toevoegingen gebeuren aan een standaard database. Als eerste moeten de nodige tabellen aangemaakt worden, deze tabellen moeten compatibel zijn met de RADIUS server. Daarom voorziet FreeRADIUS een sql script, dit script kan terug gevonden worden onder /etc/freeradius/sql/mysql en heet schema.sql. Om dit script uit te voeren moet er eerst een gebruiker en database aangemaakt worden. 1. mysql –u root -p
49
2. 3. 4. 5.
CREATE DATABASE radius; GRANT ALL ON radius.* TO ‘radiususer’@’localhost’ IDENTIFIED BY ‘radiuspass’; FLUSH PRIVILEGES; EXIT
Na het aanmaken van een database en user moet deze gevuld worden met onderstaande opdracht. 1. mysql –u root –p radius < /etc/freeradius/sql/mysql/schema.sql Om de database configuratie te voltooien voegen we een testgebruiker toe. 2. mysql –u radiususer –p 3. USE radius; 4. INSERT INTO radcheck (UserName, Attribute, Value) VALUES (‘test’, ‘Password’, ‘testpass’); 5. EXIT
5.2.3
Certificaat generatie
Dit onderdeel van de configuratie mag en kan niet ontbreken omdat heel dit eindwerk berust op deze certificaten. Om een duidelijke structuur te creëren kan u de uitleg in drie delen terugvinden. Maar er zijn eerst enkele voorbereidingen nodig voor een goed verloop van de certificaat generatie. Een volledig script is terug te vinden in de bijlage (zie 6.2). Opgelet, bij de generatie van een certificaat voor cliënt en server zal gevraagd worden naar een common name, deze is zeer belangrijk voor het verder gebruik. Als eerste voorbereiding moeten er enkele aanpassingen gebeuren in het bestand openssl.cnf, dit bestand kan teruggevonden worden onder /etc/ssl. In dit configuratie bestand moeten volgende standaardwaarden aangepast worden. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
[ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = BE stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = Antwerp localityName = Locality Name (eg, city) localityName_default = Antwerp 0.organizationName = Organization Name (eg, company) 0.organizationName_default = HA organizationalUnitName = Organizational Unit Name (eg, section) organizationalUnitName_default = OW emailAddress = Email Address emailAdress_default =
[email protected]
Na het aanpassen van openssl.cnf moet er een bestand xpextensions aangemaakt worden. Dit bestand is nodig om het cliënt certificaat bruikbaar te maken onder Windows. De inhoud van xpextensions kan hieronder gevonden worden. 1. 2. 3. 4.
[ xpclient_ext] extendedKeyUsage = 1.3.6.1.5.5.7.3.2 [ xpserver_ext ] extendedKeyUsage = 1.3.6.1.5.5.7.3.1
50
5.2.3.1
Root certificaat
1. openssl req -new -x509 -keyout newreq.pem -out newreq.pem -days 730 \ pass:****** -passout pass:******
-passin
Deze opdracht maakt het mogelijk om de publieke en private sleutel te genereren in één bestand. Dit is het root certificaat maar nog niet getekend door de CA. Omdat het verifiëren van een root certificaat door een CA geld kost, zal dit script het zelf signeren door eerst een eigen CA op te richten. 2. echo "newreq.pem" | ./CA.pl -newca >/dev/null 3. echo "01" > demoCA/serial
Na het genereren van de CA wordt het mogelijk om dus het eerder gemaakte root certificaat zelf te signeren. Na het signeren zullen de gesigneerde publieke en private sleutels omgevormd worden tot het root certificaat, dat universeel bruikbaar is. 4. 5. 6. 7.
openssl pkcs12 -export -in demoCA/cacert.pem -inkey newreq.pem -out root.p12 -cacerts \ -passin pass:****** -passout pass:****** openssl pkcs12 -in root.p12 -out root.pem -passin pass:****** -passout pass:****** openssl x509 -inform PEM -outform DER -in root.pem -out root.der
5.2.3.2
Cliënt certificaat
Het genereren van een cliënt certificaat is in grote lijnen hetzelfde als dat van een root certificaat. Om het bruikbaar te maken voor een cliënt zal het certificaat naar een p12 formaat moeten herleid worden. Opgelet, als common name is in dit voorbeeld “test” ingevuld (de gebruiker die in de database aanwezig is). Eerst wordt er een publieke en private sleutel gegenereerd. 8. openssl req -new -x509 -keyout newreq.pem -out newreq.pem -days 730 \ pass:****** -passout pass:******
-passin
Vervolgens wordt deze aanvraag gesigneerd en omgevormd tot een bruikbaar formaat voor de cliënten hun computers. Ook hier wordt het eerder aangemaakt xpextensions gebruikt om later duidelijk te maken dat dit een cliënt certificaat is en een goede werking op Windows verzekeren. 9. openssl ca -policy policy_anything -out newcert.pem -passin pass:****** -key ****** extensions xpclient_ext -extfile xpextensions -infiles newreq.pem 10. openssl pkcs12 -export -in newcert.pem -inkey newreq.pem -out cert-clt.p12 -clcerts -passin pass:****** -passout pass:******
Regel 10 zorgt voor de beveiliging die nodig is bij de installatie van een cliënt certificaat. 11. openssl pkcs12 -in cert-clt.p12 -out cert-clt.pem -passin pass:****** -passout pass:****** 12. openssl x509 -inform PEM -outform DER -in cert-clt.pem -out cert-clt.der
51
Regel 11 en 12 zorgen voor de omvorming naar een installeerbaar formaat op de cliënten. 5.2.3.3
Server certificaat
Net zoals bij een cliënt certificaat wordt er eerst een publieke en private sleutel gegenereerd. Na het genereren zal de aanvraag gesigneerd worden, zodat de publieke en private sleutel niet als vals beschouwd kunnen worden. Met ook hier een beveiliging en het gebruik van xpextensions. Als laatste stap zal het certificaat omgevormd worden naar een bruikbaar formaat. Opgelet, bij common name moet hier de server naam ingevuld worden. 1. openssl req -new -keyout newreq.pem -out newreq.pem -days 730 -passin pass:****** passout pass:****** 2. openssl ca -policy policy_anything -out newcert.pem -passin pass:****** -key ****** extensions xpserver_ext -extfile xpextensions -infiles newreq.pem 3. openssl pkcs12 -export -in newcert.pem -inkey newreq.pem -out cert-srv.p12 -clcerts -passin pass:****** -passout pass:****** 4. openssl pkcs12 -in cert-srv.p12 -out cert-srv.pem -passin pass:****** -passout pass:****** 5. openssl x509 -inform PEM -outform DER -in cert-srv.pem -out cert-srv.der
5.3
Portal
In dit deel kan u de configuraties terugvinden die nodig zijn om een werkende portal te verkrijgen op een draadloos netwerk. Dit omvat het bespreken van hoe de gateway kan ingesteld worden en wat er nodig is om een simpele authenticatie pagina weer te geven aan de gebruikers. 5.3.1
CoovaChilli configuratie
Het configuratiebestand van CoovaChilli kan teruggevonden worden onder /etc/chilli/defaults. In dit bestand moeten enkele aanpassingen gebeuren om een werkende portal te verkrijgen. Deze aanpassingen mogen niet uitgevoerd worden in het bestand default maar moeten gebeuren in /etc/chilli/config.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
# Local Network Configurations HS_WANIF=eth0 # WAN Interface toward the Internet HS_LANIF=eth1 # Subscriber Interface for client devices HS_NETWORK=192.168.0.0 # HotSpot Network (must include HS_UAMLISTEN) HS_NETMASK=255.255.255.0 # HotSpot Network Netmask HS_UAMLISTEN=192.168.0.1 # HotSpot IP Address (on subscriber network) HS_UAMPORT=3990 # HotSpot Port (on subscriber network) HS_DNS1= 127.0.0.1 ### # HotSpot settings for simple Captive Portal # HS_UAMSECRET=test HS_RADIUS=10.152.31.14 HS_RADIUS2=10.152.31.14 HS_RADSECRET=testing123
52
16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43.
HS_UAMALLOW=coova.org HS_UAMSERVER=192.168.0.1 HS_UAMFORMAT=http://\$HS_UAMSERVER/uam/ HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html # HS_WPAGUESTS=on # HS_DNSPARANOIA=on ### # Centralized configuration options examples # # HS_RADCONF=url # requires curl # HS_RADCONF_URL=https://coova.org/app/ap/config # HS_RADCONF=on # gather the ChilliSpot-Config attributes in # # Administrative-User login # HS_RADCONF_SERVER=rad01.coova.org # RADIUS Server # HS_RADCONF_SECRET=coova-anonymous # RADIUS Shared Secret # HS_RADCONF_AUTHPORT=1812 # Auth port # HS_RADCONF_USER=chillispot # Username # HS_RADCONF_PWD=chillispot # Password ### # Standard configurations HS_MODE=hotspot HS_TYPE=chillispot HS_RADAUTH=1812 HS_RADACCT=1813 HS_WWWDIR=/var/www/ HS_WWWBIN=/var/www/ HS_PROVIDER=Coova HS_PROVIDER_LINK=http://www.coova.org/
Bovenstaand bestand kan verdeeld worden in enkele delen en heeft per deel zijn algemene functie binnen de portal. Van regel 1 tot 8 zijn de instellingen die altijd nodig zijn om correcte netwerkinstellingen te verzekeren. Regel 10 tot en met 19 staan in voor de functie van de portal pagina, en zorgen voor de koppeling naar de radius server. De reden dat er twee maal dezelfde radius server ingesteld wordt, komt verder van het feit dat CoovaChilli twee servers vereist. De tweede server kan later nog altijd ingesteld worden. Het gedeelte in het lichtgrijs is een configuratiemogelijkheid om in samenwerking met CoovaAP een verdeling te realiseren van deze portal over de verschillende CoovaAP basisstations. Dit is niet van toepassing omdat de huidige infrastructuur dit niet toelaat. Het laatste deel van regel 35 tot 43 handelt de basis portal instellingen af. Hier moet goed opgelet worden voor regel 38 en 39, indien deze veranderen moet dit ook aangepast worden in de basisstations. 5.3.2
Gateway configuratie
Omdat de portal als toegangspoort werkt moet er een firewall geïnstalleerd worden. Op een Linux server is er standaard een firewall aanwezig, IPtables zoals eerder vermeld. Het gebruik hiervan kan op verschillende manieren geconfigureerd worden. Omwille van de complexiteit wordt er gebruik gemaakt van een script voorzien door CoovaChilli. 1. 2. 3. 4. 5. 6. 7.
cat /root/iptables.sh export LAN=eth1 export WAN=eth0 iptables -I FORWARD -i ${LAN} -d 192.168.0.0/255.255.0.0 -j DROP iptables -A FORWARD -i ${LAN} -s 192.168.0.0/255.255.0.0 -j ACCEPT iptables -A FORWARD -i ${WAN} -d 192.168.0.0/255.255.0.0 -j ACCEPT iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
53
8. echo 1 > /proc/sys/net/ipv4/ip_forward 9. for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done De functie van dit script is het verkeer doorlaten van het draadloos netwerk naar het intranet. De reden van dit kort script is eventuele problemen voorkomen. Het is mogelijk om dit uit te breiden en toegangsbeperking op te leggen naar de gebruikers toe. Om dit te makkelijker te maken is het aan te raden om een firewall configurator te gebruiken, een voorbeeld hier van is FireHOL. Deze maakt het mogelijk om in een korte tijd een veilige en werkende firwall configuratie te realiseren. 5.3.3
Webserver configuratie
Om de login pagina van de portal te laten weergeven aan de gebruikers is het nodig om een webserver te draaien op de server waar het portal programma draait. Omdat de installatie van een webserver op zich een grote taak is zal in dit deel een algemene beschrijving staan van de vereiste voor een werkende portal te krijgen. Benodigde vereisten: • • •
apache2; ssl; virtualhosts.
Een standaard configuratie van apache2 volstaat voor dit eindwerk, maar het is aangeraden om virtualhosts toe te passen met als doel dat er eventueel later aan opsplitsing van de login pagina’s kan gedaan worden. Een andere vereiste is dat er mogelijkheid is tot een veilige verbinding naar de portal (https). Hier komt het gebruik van virtualhosts tot zijn recht, dit omdat er voor een veilige verbinding geconnecteerd moet worden naar poort 443. Na de configuratie van de webserver moeten de bestanden voor de portal beschikbaar gesteld worden via deze zopas geïnstalleerde webserver. In een basisconfiguratie is deze locatie terug te vinden onder /var/www. De web bestanden van de portal zijn terug te vinden onder /etc/chilli/www, kopieer deze bestanden naar /var/www. Na het kopiëren moeten er nog enkele extra bestanden gedownload worden van CoovaChilli zelf. Maak eerst een folder “uam” aan onder /var/www, en door middel van het programma “wget” wordt het mogelijk om de benodigde bestanden rechtstreeks van http://coova.org/uam/ af te halen. Als laatste moet er een script gedownload worden om aanmelden mogelijk te maken. Dit script is eveneens te downloaden via het programma “wget”, het script kan gevonden worden op http://coova.org/js/chilli.js
5.4
Samengevoegd
Wanneer al deze verschillende onderdelen worden samenvoegd levert dit een goed beveiligd draadloos netwerk op. Onderstaande afbeelding geeft de totale opstelling weer.
54
Figuur 5.37 Algemene toepassing
Zoals bovenstaande figuur weergeeft is het een uitgebreid en complex proces. Om dit te verduidelijken geeft onderstaande uitleg weer hoe de samenvoeging van drie verschillende technologieën leidt tot een goed beveiligd draadloos netwerk. Stap 1 : Er wordt een initiële WPA EAP-TLS verbinding opgesteld tussen de gebruiker, het draadloze basisstation en de RADIUS server. Wanneer er geen certificaat geïnstalleerd is of foutief gebruikt is zal de gebruiker geen draadloze verbinding krijgen. Stap 2 : Na de initiële verbinding krijgt de gebruiker een IP-adres dat verdeeld wordt door de portal. Stap 3 : Wanneer de gebruiker toegang wil verkrijgen tot het intranet of internet moet deze zich aanmelden door middel van de portal. Stap 4 : Indien de login gegevens niet correct zijn zal de RADIUS server een accessreject geven. Wanneer de login gegevens correct zijn zal de RADIUS server een accessaccept geven, hiermee wordt het signaal gegeven naar de portal dat deze gebruiker toegang heeft tot het intranet en het internet. Stap 5 : Om controleren of een gebruiker toegang kan krijgen, moet de RADIUS server gaan navragen of de gebruiker bestaat in deze database. Stap 6 : De gateway en portal blijven een volledig overzicht behouden over wie geconnecteerd is en wat deze gebruiker verbruikt heeft. Deze gegevens worden bijgehouden in de database.
55
BESLUIT Zelfs de beveiliging van een draadloos test netwerk is een grote taak om op een korte periode rond te krijgen. Maar zoals dit eindwerk het beschrijft is het doenbaar, zij het met hier en daar nog wat vraagtekens. De snelle ontwikkeling in deze technologie en de toekomst naar een nieuwe veiligheidsstandaard geeft mij een goede hoop dat de doelstellingen voor betere draadloze beveiligingen binnen bereik liggen. Bovendien toont dit eindwerk aan dat het nut heeft om tijd te investeren in het gebruik van certificaten voor de beveiliging van een draadloos netwerk. Certificaten geven een extra controle, deze controle ontstaat uit het gebruik van WPA in combinatie met een RADIUS server. De ondersteuning door de fabrikanten van deze koppeling is een meerwaarde naar het gebruik van deze beveiligingsmethode. Een goed communicatiemiddel voor de draadloze gebruikers kan bereikt worden met een portal. Met het toepassen van deze portal is later gebleken dat dit meer dan een communicatiemiddel is, maar een noodzakelijk onderdeel van de beveiliging. Niet alleen de dubbele werking, maar ook de controle die hierdoor ontstaat is onmisbaar voor een draadloos systeem. De stimulans en interesse voor een betere draadloze beveiliging heeft mij aangezet om de mogelijkheid aan te bieden op mijn stage, dit na evaluatie van mijn testopstelling. De moeilijkheidsgraad van dit eindwerk vroeg veel creativiteit en zelfstandigheid. De kennis die ik reeds had, aangevuld door zelfstudie van de boeken en informatie die ik ter beschikking had, hebben mij hierbij zeer goed geholpen. Deze stage heeft mij zeer veel voldoening gegeven mede door het onderzoeken en testen van deze opstelling. Maar ook dat het met open armen ontvangen is door het departement waar ik werkte. Dit eindwerk resulteerde in de mogelijkheid om een goede beveiliging en controle van het draadloos netwerk door te voeren wat ten volle geapprecieerd wordt.
56
LITERATUURLIJST Aaron, EE.(2006) Wireless Security Handbook. Boca Raton, FL: Auerbach Publications. Beaver, K., & Davis, PT.(2005). Hacking Wireless Networks for Dummies. Hoboken: Wiley Publishing, Inc. Bruce, P., & Fleck, B.(2002). 802.11 Security: Securing Wireless Networks. USA: O’Reilly. Carsten, M.(2007). Welkomstgroet: Maak een WLAN-bezoekersportal. C’T, 2007 (4), 134. Coova.org, (2007). Chilli with WPA Captive Portal. Gevonden op 28 september op het internet: http://coova.org/wiki/index.php/CoovaChilli/WithWPACaptivePortal Craytonn, CA., Dubrawsky, I., Cross, M., Faircloth, J., Faskha, E., Gregg, M., Jones, A., Perez, M.(2007). Security+ Exam JK0-010: Study guide and practice exam. Burlington: Syngress. Ellingson, J., Sans. (2001). Layers One &Two of 802.11 WLAN Security. (Versie 1.2e). Gevonden op 14 februari 2008 op het internet: http://www.sans.org/reading_room/whitepapers/wireless/14.php Freeradius, (2002). EAP/TLS Setup for FreeRADIUS and Windows XP Supplicant Gevonden op 25 November 2007 op het internet: http://www.freeradius.org/doc/EAPTLS.pdf Hassell, J.(2002). RADIUS: Securing Public Access to Private Resources. USA: O’Reilly. Networkworld. (2002). WEP (wired equivalent privacy). Gevonden op 18 oktober 2007 op het internet: http://www.networkworld.com/details/715.html Rothman, M., Networkworld. (1999). Public-key encryption for dummies. Gevonden op 20 december 2007 op het internet: http://www.networkworld.com/news/64452_05-17-1999.html Turnbull, J.(2005). Hardening Linux. USA: Apres.
Bijlage 1. Debian installatie pakketen
6
BIJLAGEN
6.1
Debian installatie pakketen
In volgende uitleg kan u de methode vinden om zelf de recentste FreeRADIUS server te installeren op Debian Linux. In de volgende stappen wordt er verondersteld dat u het bron pakket van FreeRADIUS al gedownload hebt. 1. 2. 3. 4.
$ tar zxf freeradius-1.1.7.tar.gz # Uitpakken van het bron bestand $ cd freeradius-1.1.7 # navigeer naar het zojuist uit gepakt bestand $ dpkg-buildpackage -b -uc # creër het installatie pakket $ dpkg -i ../freeradius_1.1.7-0_i386.deb # installeer het pakket
Deze methode om zelf een pakket te creëren is vrij basis maar is niet nodig voor het doel van dit eindwerk. Deze methode is ook toepasbaar voor CoovaChilli of elk ander Linux programma dat een broncode ter beschikking heeft.
57
Bijlage 2. Certificaat script
6.2 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57.
Certificaat script #!/bin/sh SSL=/usr/bin/ export PATH=${SSL} export LD_LIBRARY_PATH=/usr/lib/ssl # needed if you need to start from scratch otherwise the CA.pl -newca command doesn't copy the new # private key into the CA directories /bin/rm -rf demoCA echo "*********************************************************************************" echo "Creating self-signed private key and certificate" echo "When prompted override the default value for the Common Name field" echo "*********************************************************************************" echo # Generate a new self-signed certificate. # After invocation, newreq.pem will contain a private key and certificate # newreq.pem will be used in the next step openssl req -new -x509 -keyout newreq.pem -out newreq.pem -days 730 \ -passin pass:****** -passout pass:****** echo "*********************************************************************************" echo "Creating a new CA hierarchy (used later by the "ca" command) with the certificate" echo "and private key created in the last step" echo "*********************************************************************************" echo echo "newreq.pem" | ./CA.pl -newca >/dev/null echo "01" > demoCA/serial echo "*********************************************************************************" echo "Creating ROOT CA" echo "*********************************************************************************" echo # Create a PKCS#12 file, using the previously created CA certificate/key # The certificate in demoCA/cacert.pem is the same as in newreq.pem. Instead of # using "-in demoCA/cacert.pem" we could have used "-in newreq.pem" and then omitted # the "-inkey newreq.pem" because newreq.pem contains both the private key and certificate openssl pkcs12 -export -in demoCA/cacert.pem -inkey newreq.pem -out root.p12 -cacerts \ -passin pass:****** -passout pass:****** # parse the PKCS#12 file just created and produce a PEM format certificate and key in root.pem openssl pkcs12 -in root.p12 -out root.pem -passin pass:****** -passout pass:****** # Convert root certificate from PEM format to DER format openssl x509 -inform PEM -outform DER -in root.pem -out root.der echo "*********************************************************************************" echo "Creating client private key and certificate" echo "When prompted enter the client name in the Common Name field. This is the same" echo " used as the Username in FreeRADIUS" echo "*********************************************************************************" echo # Request a new PKCS#10 certificate. # First, newreq.pem will be overwritten with the new certificate request openssl req -new -keyout newreq.pem -out newreq.pem -days 730 \ -passin pass:****** -passout pass:****** # Sign the certificate request. The policy is defined in the openssl.cnf file. # The request generated in the previous step is specified with the -infiles option and # the output is in newcert.pem # The -extensions option is necessary to add the OID for the extended key for client authentication openssl ca -policy policy_anything -out newcert.pem -passin pass:****** \ -key ****** -extensions xpclient_ext -extfile xpextensions \ -infiles newreq.pem # Create a PKCS#12 file from the new certificate and its private key found in newreq.pem # and place in file cert-clt.p12
58
59
58. openssl pkcs12 -export -in newcert.pem -inkey newreq.pem -out cert-clt.p12 -clcerts \ 59. -passin pass:****** -passout pass:****** 60. # parse the PKCS#12 file just created and produce a PEM format certificate and key in certclt.pem 61. openssl pkcs12 -in cert-clt.p12 -out cert-clt.pem -passin pass:****** -passout pass:****** 62. # Convert certificate from PEM format to DER format 63. openssl x509 -inform PEM -outform DER -in cert-clt.pem -out cert-clt.der 64. echo "*********************************************************************************" 65. echo "Creating server private key and certificate" 66. echo "When prompted enter the server name in the Common Name field." 67. echo "*********************************************************************************" 68. echo 69. # Request a new PKCS#10 certificate. 70. # First, newreq.pem will be overwritten with the new certificate request 71. openssl req -new -keyout newreq.pem -out newreq.pem -days 730 \ 72. -passin pass:****** -passout pass:****** 73. # Sign the certificate request. The policy is defined in the openssl.cnf file. 74. # The request generated in the previous step is specified with the -infiles option and 75. # the output is in newcert.pem 76. # The -extensions option is necessary to add the OID for the extended key for server authentication 77. openssl ca -policy policy_anything -out newcert.pem -passin pass:****** -key ****** \ 78. -extensions xpserver_ext -extfile xpextensions -infiles newreq.pem 79. # Create a PKCS#12 file from the new certificate and its private key found in newreq.pem 80. # and place in file cert-srv.p12 81. openssl pkcs12 -export -in newcert.pem -inkey newreq.pem -out cert-srv.p12 -clcerts \ 82. -passin pass:****** -passout pass:****** 83. # parse the PKCS#12 file just created and produce a PEM format certificate and key in certsrv.pem 84. openssl pkcs12 -in cert-srv.p12 -out cert-srv.pem -passin pass:****** -passout pass:****** 85. # Convert certificate from PEM format to DER format 86. openssl x509 -inform PEM -outform DER -in cert-srv.pem -out cert-srv.der 87. #clean up 88. rm newcert.pem newreq.pem
Bijlage 3. FreeRADIUS log
6.3
FreeRADIUS log
rad_recv: Access-Request packet from host 192.168.0.2 port 1645, id=41, length=121 User-Name = "test" Framed-MTU = 1400 Called-Station-Id = "0019.2fad.fa20" Calling-Station-Id = "0015.af0f.e5a4" Service-Type = Login-User Message-Authenticator = 0xb82ed4da9693f127f1f1b035d0279d64 EAP-Message = 0x020200090174657374 NAS-Port-Type = Wireless-802.11 NAS-Port = 1861 NAS-IP-Address = 192.168.0.2 NAS-Identifier = "ap" +- entering group authorize ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[unix] returns notfound rlm_realm: No '@' in User-Name = "test", looking up realm NULL rlm_realm: No such realm "NULL" ++[suffix] returns noop rlm_eap: EAP packet type response id 2 length 9 rlm_eap: No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated ++[files] returns noop expand: %{User-Name} -> test rlm_sql (sql): sql_set_user escaped user --> 'test' rlm_sql (sql): Reserving sql socket id: 4 expand: SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'test' ORDER BY id WARNING: Found User-Password == "...". WARNING: Are you sure you don't mean Cleartext-Password? WARNING: See "man rlm_pap" for more information. rlm_sql (sql): User found in radcheck table expand: SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'test' ORDER BY id expand: SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM radusergroup WHERE username = 'test' ORDER BY priority rlm_sql (sql): Released sql socket id: 4 ++[sql] returns ok ++[expiration] returns noop ++[logintime] returns noop rlm_pap: Found existing Auth-Type, not changing it. ++[pap] returns noop rad_check_password: Found Auth-Type EAP !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Replacing User-Password in config items with Cleartext-Password. !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Please update your configuration so that the "known good" !!! !!! clear text password is in Cleartext-Password, and not in User-Password. !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! auth: type "EAP" +- entering group authenticate rlm_eap: EAP Identity rlm_eap: processing type md5 rlm_eap_md5: Issuing Challenge ++[eap] returns handled Sending Access-Challenge of id 41 to 192.168.0.2 port 1645
60
61
EAP-Message = 0x010300160410d610951937f2cb19ede9e61ee0662dbe Message-Authenticator = 0x00000000000000000000000000000000 State = 0x5b1349e35b104dbedb141ad57f64c624 Finished request 0. Going to the next request Waking up in 0.9 seconds. rad_recv: Access-Request packet from host 192.168.0.2 port 1645, id=42, length=136 User-Name = "test" Framed-MTU = 1400 Called-Station-Id = "0019.2fad.fa20" Calling-Station-Id = "0015.af0f.e5a4" Service-Type = Login-User Message-Authenticator = 0xfcc2ef6662f6be06dc91a5e403ad7e2e EAP-Message = 0x02030006030d NAS-Port-Type = Wireless-802.11 NAS-Port = 1861 State = 0x5b1349e35b104dbedb141ad57f64c624 NAS-IP-Address = 192.168.0.2 NAS-Identifier = "ap" +- entering group authorize ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[unix] returns notfound rlm_realm: No '@' in User-Name = "test", looking up realm NULL rlm_realm: No such realm "NULL" ++[suffix] returns noop rlm_eap: EAP packet type response id 3 length 6 rlm_eap: No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated ++[files] returns noop expand: %{User-Name} -> test rlm_sql (sql): sql_set_user escaped user --> 'test' rlm_sql (sql): Reserving sql socket id: 3 expand: SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'test' ORDER BY id WARNING: Found User-Password == "...". WARNING: Are you sure you don't mean Cleartext-Password? WARNING: See "man rlm_pap" for more information. rlm_sql (sql): User found in radcheck table expand: SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'test' ORDER BY id expand: SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM radusergroup WHERE username = 'test' ORDER BY priority rlm_sql (sql): Released sql socket id: 3 ++[sql] returns ok ++[expiration] returns noop ++[logintime] returns noop rlm_pap: Found existing Auth-Type, not changing it. ++[pap] returns noop rad_check_password: Found Auth-Type EAP !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Replacing User-Password in config items with Cleartext-Password. !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Please update your configuration so that the "known good" !!! !!! clear text password is in Cleartext-Password, and not in User-Password. !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! auth: type "EAP" +- entering group authenticate rlm_eap: Request found, released from the list
62
rlm_eap: EAP NAK rlm_eap: EAP-NAK asked for EAP-Type/tls rlm_eap: processing type tls rlm_eap_tls: Requiring client certificate rlm_eap_tls: Initiate rlm_eap_tls: Start returned 1 ++[eap] returns handled Sending Access-Challenge of id 42 to 192.168.0.2 port 1645 EAP-Message = 0x010400060d20 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x5b1349e35a1744bedb141ad57f64c624 Finished request 1. Going to the next request Waking up in 0.9 seconds. rad_recv: Access-Request packet from host 192.168.0.2 port 1645, id=43, length=242 User-Name = "test" Framed-MTU = 1400 Called-Station-Id = "0019.2fad.fa20" Calling-Station-Id = "0015.af0f.e5a4" Service-Type = Login-User Message-Authenticator = 0x17b54363d293a753a875e5ff63fc4490 EAP-Message = 0x020400700d800000006616030100610100005d030147b31bd9b5055541ee65c034c2ce2 87c5c76867dee3018b4172b83fab5396c0d20825f14383bafe6dc123737e5c4528922557d55 5c3cdd6e61ae9a25afec42bafa001600040005000a00090064006200030006001300120063 0100 NAS-Port-Type = Wireless-802.11 NAS-Port = 1861 State = 0x5b1349e35a1744bedb141ad57f64c624 NAS-IP-Address = 192.168.0.2 NAS-Identifier = "ap" +- entering group authorize ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[unix] returns notfound rlm_realm: No '@' in User-Name = "test", looking up realm NULL rlm_realm: No such realm "NULL" ++[suffix] returns noop rlm_eap: EAP packet type response id 4 length 112 rlm_eap: No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated ++[files] returns noop expand: %{User-Name} -> test rlm_sql (sql): sql_set_user escaped user --> 'test' rlm_sql (sql): Reserving sql socket id: 2 expand: SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'test' ORDER BY id WARNING: Found User-Password == "...". WARNING: Are you sure you don't mean Cleartext-Password? WARNING: See "man rlm_pap" for more information. rlm_sql (sql): User found in radcheck table expand: SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'test' ORDER BY id expand: SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM radusergroup WHERE username = 'test' ORDER BY priority rlm_sql (sql): Released sql socket id: 2 ++[sql] returns ok ++[expiration] returns noop ++[logintime] returns noop
63
rlm_pap: Found existing Auth-Type, not changing it. ++[pap] returns noop rad_check_password: Found Auth-Type EAP !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Replacing User-Password in config items with Cleartext-Password. !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Please update your configuration so that the "known good" !!! !!! clear text password is in Cleartext-Password, and not in User-Password. !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! auth: type "EAP" +- entering group authenticate rlm_eap: Request found, released from the list rlm_eap: EAP/tls rlm_eap: processing type tls rlm_eap_tls: Authenticate rlm_eap_tls: processing TLS TLS Length 102 rlm_eap_tls: Length Included eaptls_verify returned 11 (other): before/accept initialization TLS_accept: before/accept initialization rlm_eap_tls: <<< TLS 1.0 Handshake [length 0061], ClientHello TLS_accept: SSLv3 read client hello A rlm_eap_tls: >>> TLS 1.0 Handshake [length 004a], ServerHello TLS_accept: SSLv3 write server hello A rlm_eap_tls: >>> TLS 1.0 Handshake [length 05d4], Certificate TLS_accept: SSLv3 write certificate A rlm_eap_tls: >>> TLS 1.0 Handshake [length 008e], CertificateRequest TLS_accept: SSLv3 write certificate request A TLS_accept: SSLv3 flush data TLS_accept: Need to read more data: SSLv3 read client certificate A In SSL Handshake Phase In SSL Accept mode eaptls_process returned 13 ++[eap] returns handled Sending Access-Challenge of id 43 to 192.168.0.2 port 1645 EAP-Message = 0x010504000dc0000006bb160301004a02000046030147b34431b4dbf3133e695c6035c6dd 38e2e2b6677d6c271e91d80f0c416506f920da2df16b8a30b8545ec60b28be121fa7878668fa 1a37bf046aec0d63e6ff75ae00040016030105d40b0005d00005cd00026a30820266308201c fa003020102020102300d06092a864886f70d0101050500307c310b3009060355040613024 2453110300e06035504081307416e74776572703110300e06035504071307416e74776572 70310b3009060355040a13024841310b3009060355040b13024f57310e300c060355040313 056f77204341311f301d06092a864886f70d01090116106e65747765726b2e EAP-Message = 0x6f774068612e6265301e170d3038303230343137303735385a170d303930323033313730 3735385a305d310b30090603550406130242453110300e06035504081307416e747765727 03110300e06035504071307416e7477657270310b3009060355040a13024841310b300906 0355040b13024f573110300e06035504031307426c61636b696530819f300d06092a864886f 70d010101050003818d0030818902818100ac2e0b2df2f051a7eec07a3e2d24d2b37ed2fbef 75bb6ebbb1b7607ed72352ca87491640338aa953de3531a3aac92cdc4f93dc62b4bab8ed5b e5c65d1b62acfb9fcde997f51b23599f4ec50ab83e6f18c11583542cfa8b7445 EAP-Message = 0x136d42a83b4183ea0a4505ef4357e68c83c01ae5c3ab32334e21376b93d23496420ab309 3cbd470203010001a317301530130603551d25040c300a06082b06010505070301300d060 92a864886f70d01010505000381810040010b166428f7e8e70b5eacd0dd0e51c37005d4ebb d6b13ab4668f60801f9ed6a91319d1357c711afc7374fa5fb8424b408e01bbca3f50486ca109 d020976db76ce144622db6bea38467e493730b84d8d1ab5382d977cc5dadfe519d7f420232 46b053dcdfbc242051de52333f85814422536c04f62195c7201f65bc213ca5800035d3082035 9308202c2a003020102020900a1906589c8131de9300d06092a864886f70d EAP-Message = 0x0101050500307c310b30090603550406130242453110300e06035504081307416e74776 572703110300e06035504071307416e7477657270310b3009060355040a13024841310b30
64
09060355040b13024f57310e300c060355040313056f77204341311f301d06092a864886f70 d01090116106e65747765726b2e6f774068612e6265301e170d30383032303431373037303 25a170d3130303230333137303730325a307c310b30090603550406130242453110300e06 035504081307416e74776572703110300e06035504071307416e7477657270310b3009060 355040a13024841310b3009060355040b13024f57310e300c060355040313056f77 EAP-Message = 0x204341311f301d06092a8648 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x5b1349e3591644bedb141ad57f64c624 Finished request 2. Going to the next request Waking up in 0.9 seconds. rad_recv: Access-Request packet from host 192.168.0.2 port 1645, id=44, length=136 User-Name = "test" Framed-MTU = 1400 Called-Station-Id = "0019.2fad.fa20" Calling-Station-Id = "0015.af0f.e5a4" Service-Type = Login-User Message-Authenticator = 0xbede6d34c940d4d66742ad0ad1cc2485 EAP-Message = 0x020500060d00 NAS-Port-Type = Wireless-802.11 NAS-Port = 1861 State = 0x5b1349e3591644bedb141ad57f64c624 NAS-IP-Address = 192.168.0.2 NAS-Identifier = "ap" +- entering group authorize ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[unix] returns notfound rlm_realm: No '@' in User-Name = "test", looking up realm NULL rlm_realm: No such realm "NULL" ++[suffix] returns noop rlm_eap: EAP packet type response id 5 length 6 rlm_eap: No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated ++[files] returns noop expand: %{User-Name} -> test rlm_sql (sql): sql_set_user escaped user --> 'test' rlm_sql (sql): Reserving sql socket id: 1 expand: SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'test' ORDER BY id WARNING: Found User-Password == "...". WARNING: Are you sure you don't mean Cleartext-Password? WARNING: See "man rlm_pap" for more information. rlm_sql (sql): User found in radcheck table expand: SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'test' ORDER BY id expand: SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM radusergroup WHERE username = 'test' ORDER BY priority rlm_sql (sql): Released sql socket id: 1 ++[sql] returns ok ++[expiration] returns noop ++[logintime] returns noop rlm_pap: Found existing Auth-Type, not changing it. ++[pap] returns noop rad_check_password: Found Auth-Type EAP !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Replacing User-Password in config items with Cleartext-Password. !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Please update your configuration so that the "known good" !!!
65
!!! clear text password is in Cleartext-Password, and not in User-Password. !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! auth: type "EAP" +- entering group authenticate rlm_eap: Request found, released from the list rlm_eap: EAP/tls rlm_eap: processing type tls rlm_eap_tls: Authenticate rlm_eap_tls: processing TLS rlm_eap_tls: Received EAP-TLS ACK message rlm_eap_tls: ack handshake fragment handler eaptls_verify returned 1 eaptls_process returned 13 ++[eap] returns handled Sending Access-Challenge of id 44 to 192.168.0.2 port 1645 EAP-Message = 0x010602cf0d80000006bb86f70d01090116106e65747765726b2e6f774068612e626530819 f300d06092a864886f70d010101050003818d0030818902818100b69bfa2753891b33956020 eb51cd71fe2c0b302066aafadbe64fd9fcc5a63a7d1a5915a5bf127d5a92589b01dbdc5f2acd6 dece9c5b88dd576c7a3a573467e9485b8ab8abeb0dedcf852ca7353694a4e135a1a9c093f11 66b207b7bd100c57e36c0683c7fdfb8e5edd6d59d94deb29d499cc2f8748c12faadec0def3b6 7a0e730203010001a381e23081df301d0603551d0e041604141bf7174e0e0dee68aa8f15622 33061d8b30c2ab13081af0603551d230481a73081a480141bf7174e EAP-Message = 0x0e0dee68aa8f1562233061d8b30c2ab1a18180a47e307c310b3009060355040613024245 3110300e06035504081307416e74776572703110300e06035504071307416e74776572703 10b3009060355040a13024841310b3009060355040b13024f57310e300c060355040313056 f77204341311f301d06092a864886f70d01090116106e65747765726b2e6f774068612e6265 820900a1906589c8131de9300c0603551d13040530030101ff300d06092a864886f70d01010 5050003818100a6f6f7bc2bdc3b6d4ff33c25ca99a7020d65238715486e2f3ea4482bf2ed2b4 2ec2cac01a1c42828b06b02270c74fbe7c60386dcc5b46262d176e3bd0eb4 EAP-Message = 0x93cde9118ebfe1cc2f4deea6791a017a281c91a8f94ae4a0edd866816da0c0af4e909c9ff57 2a8158d67fd6aa2af9c4b5e2e86f96bc0d29e0f880594b0a9973b4dc9160301008e0d000086 030102400080007e307c310b30090603550406130242453110300e06035504081307416e7 4776572703110300e06035504071307416e7477657270310b3009060355040a1302484131 0b3009060355040b13024f57310e300c060355040313056f77204341311f301d06092a86488 6f70d01090116106e65747765726b2e6f774068612e62650e000000 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x5b1349e3581544bedb141ad57f64c624 Finished request 3. Going to the next request Waking up in 0.9 seconds. rad_recv: Access-Request packet from host 192.168.0.2 port 1645, id=45, length=1114 User-Name = "test" Framed-MTU = 1400 Called-Station-Id = "0019.2fad.fa20" Calling-Station-Id = "0015.af0f.e5a4" Service-Type = Login-User Message-Authenticator = 0x5de743abaa33c0944f874903271fe5c3 EAP-Message = 0x020603d20d80000003c816030103980b0002880002850002823082027e308201e7a0030 20102020101300d06092a864886f70d0101050500307c310b3009060355040613024245311 0300e06035504081307416e74776572703110300e06035504071307416e7477657270310b 3009060355040a13024841310b3009060355040b13024f57310e300c060355040313056f77 204341311f301d06092a864886f70d01090116106e65747765726b2e6f774068612e6265301 e170d3038303230343137303734345a170d3039303230333137303734345a3075310b3009 0603550406130242453110300e06035504081307416e74776572703110300e0603 EAP-Message = 0x5504071307416e7477657270310b3009060355040a13024841310b3009060355040b130 24f57310d300b06035504031304746573743119301706092a864886f70d010901160a74657 3744068612e626530819f300d06092a864886f70d010101050003818d0030818902818100d 16eefc05c473abe6c23a3c8cbdaa4de5ccde8a42489d764a7f80f5dd845969d5c76dc08a50a
66
81fa642e253b824de8cd55a11898719d81f8742abc83aebeef71a142cae5edf695bbda42e9b 25e1637f1f7b91df3599df10cd4544538dce6355e068b66b41db273c5d0ccf1b2cedd8d72a35 0d225662b1352c4e5a48d7d90fc7d0203010001a317301530130603551d25 EAP-Message = 0x040c300a06082b06010505070302300d06092a864886f70d01010505000381810074b6fd 1d8043919a575ba33b6be5ee4e7963e7f8b2d3aaf245f5900636c9ce1d87a37f009e9c4b3dc 38cdd1a1201004cba45562af9fb6f6cb767a5956a76e1690e1046e02c0d1362fa1e0030c5908 3d54e8123d7aff4a9876b48b40a8f4ddc75e5e669accea7537f733f81b1054ec3ad15f460c48d 0bd2c491b5389448d7e7c6100000820080648048560a6d0c5fae4cc8a44a2c89bfff72c78bc9 d71a9464af2232a6fc4e700f698642c88f6ad4cd7d567cf2d5fd1c9dcb8459460db9fa66653bd 67dc2c9c5f23624f3cb979ce36dc35cf11cb0b6a6fc939881760d EAP-Message = 0x62dec897b64470c41e175427343e92acdfcc2b0a0bf658c3343f60e5559e52e50a8114290 c08f5a2cf290f0000820080426c262cc9c293574b6d65ff6ac6950da7d42cf6e5f344ff745fc62c b99f1198085fd9b5e44dd4f9162395eaa28bbf04c6718b11bbafc1a54441a01f2f7239ec50ff36 436853c87cc93d69fbcd24ad8e9e1f2d78e8b1b3777782eff86fb2136165b1cd571491691a34 9354bcd41d17cfbffdeb7ff29f28629e74c742322dff4214030100010116030100202bf54594eb 6e035f2debe511e987221f1abffad6774ab44bc42f0b780a327283 NAS-Port-Type = Wireless-802.11 NAS-Port = 1861 State = 0x5b1349e3581544bedb141ad57f64c624 NAS-IP-Address = 192.168.0.2 NAS-Identifier = "ap" +- entering group authorize ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[unix] returns notfound rlm_realm: No '@' in User-Name = "test", looking up realm NULL rlm_realm: No such realm "NULL" ++[suffix] returns noop rlm_eap: EAP packet type response id 6 length 253 rlm_eap: No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated ++[files] returns noop expand: %{User-Name} -> test rlm_sql (sql): sql_set_user escaped user --> 'test' rlm_sql (sql): Reserving sql socket id: 0 expand: SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'test' ORDER BY id WARNING: Found User-Password == "...". WARNING: Are you sure you don't mean Cleartext-Password? WARNING: See "man rlm_pap" for more information. rlm_sql (sql): User found in radcheck table expand: SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'test' ORDER BY id expand: SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM radusergroup WHERE username = 'test' ORDER BY priority rlm_sql (sql): Released sql socket id: 0 ++[sql] returns ok ++[expiration] returns noop ++[logintime] returns noop rlm_pap: Found existing Auth-Type, not changing it. ++[pap] returns noop rad_check_password: Found Auth-Type EAP !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Replacing User-Password in config items with Cleartext-Password. !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Please update your configuration so that the "known good" !!! !!! clear text password is in Cleartext-Password, and not in User-Password. !!!
67
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! auth: type "EAP" +- entering group authenticate rlm_eap: Request found, released from the list rlm_eap: EAP/tls rlm_eap: processing type tls rlm_eap_tls: Authenticate rlm_eap_tls: processing TLS TLS Length 968 rlm_eap_tls: Length Included eaptls_verify returned 11 rlm_eap_tls: <<< TLS 1.0 Handshake [length 028c], Certificate chain-depth=1, error=0 User-Name = test BUF-Name = ow CA subject = /C=BE/ST=Antwerp/L=Antwerp/O=HA/OU=OW/CN=ow CA/
[email protected] issuer = /C=BE/ST=Antwerp/L=Antwerp/O=HA/OU=OW/CN=ow CA/
[email protected] verify return:1 chain-depth=0, error=0 User-Name = test BUF-Name = test subject = /C=BE/ST=Antwerp/L=Antwerp/O=HA/OU=OW/CN=test/emailAddress=test@ ha.be issuer = /C=BE/ST=Antwerp/L=Antwerp/O=HA/OU=OW/CN=ow CA/
[email protected] verify return:1 TLS_accept: SSLv3 read client certificate A rlm_eap_tls: <<< TLS 1.0 Handshake [length 0086], ClientKeyExchange TLS_accept: SSLv3 read client key exchange A rlm_eap_tls: <<< TLS 1.0 Handshake [length 0086], CertificateVerify TLS_accept: SSLv3 read certificate verify A rlm_eap_tls: <<< TLS 1.0 ChangeCipherSpec [length 0001] rlm_eap_tls: <<< TLS 1.0 Handshake [length 0010], Finished TLS_accept: SSLv3 read finished A rlm_eap_tls: >>> TLS 1.0 ChangeCipherSpec [length 0001] TLS_accept: SSLv3 write change cipher spec A rlm_eap_tls: >>> TLS 1.0 Handshake [length 0010], Finished TLS_accept: SSLv3 write finished A TLS_accept: SSLv3 flush data (other): SSL negotiation finished successfully SSL Connection Established eaptls_process returned 13 ++[eap] returns handled Sending Access-Challenge of id 45 to 192.168.0.2 port 1645 EAP-Message = 0x010700350d800000002b1403010001011603010020a9ce89613c99e6ac2327e22fedc292 3421d363b3b956d8372a746ec2ca53d1a1 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x5b1349e35f1444bedb141ad57f64c624 Finished request 4. Going to the next request Waking up in 0.9 seconds. rad_recv: Access-Request packet from host 192.168.0.2 port 1645, id=46, length=136 User-Name = "test" Framed-MTU = 1400 Called-Station-Id = "0019.2fad.fa20" Calling-Station-Id = "0015.af0f.e5a4" Service-Type = Login-User
68
Message-Authenticator = 0xedc09bd5561bef2b669f62d76dc69fb4 EAP-Message = 0x020700060d00 NAS-Port-Type = Wireless-802.11 NAS-Port = 1861 State = 0x5b1349e35f1444bedb141ad57f64c624 NAS-IP-Address = 192.168.0.2 NAS-Identifier = "ap" +- entering group authorize ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[unix] returns notfound rlm_realm: No '@' in User-Name = "test", looking up realm NULL rlm_realm: No such realm "NULL" ++[suffix] returns noop rlm_eap: EAP packet type response id 7 length 6 rlm_eap: No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated ++[files] returns noop expand: %{User-Name} -> test rlm_sql (sql): sql_set_user escaped user --> 'test' rlm_sql (sql): Reserving sql socket id: 4 expand: SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'test' ORDER BY id WARNING: Found User-Password == "...". WARNING: Are you sure you don't mean Cleartext-Password? WARNING: See "man rlm_pap" for more information. rlm_sql (sql): User found in radcheck table expand: SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'test' ORDER BY id expand: SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM radusergroup WHERE username = 'test' ORDER BY priority rlm_sql (sql): Released sql socket id: 4 ++[sql] returns ok ++[expiration] returns noop ++[logintime] returns noop rlm_pap: Found existing Auth-Type, not changing it. ++[pap] returns noop rad_check_password: Found Auth-Type EAP !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Replacing User-Password in config items with Cleartext-Password. !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Please update your configuration so that the "known good" !!! !!! clear text password is in Cleartext-Password, and not in User-Password. !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! auth: type "EAP" +- entering group authenticate rlm_eap: Request found, released from the list rlm_eap: EAP/tls rlm_eap: processing type tls rlm_eap_tls: Authenticate rlm_eap_tls: processing TLS rlm_eap_tls: Received EAP-TLS ACK message rlm_eap_tls: ack handshake is finished eaptls_verify returned 3 eaptls_process returned 3 rlm_eap: Freeing handler ++[eap] returns ok +- entering group post-auth rlm_sql (sql): Processing sql_postauth
69
expand: %{User-Name} -> test rlm_sql (sql): sql_set_user escaped user --> 'test' expand: %{User-Password} -> expand: %{Chap-Password} -> expand: INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ( '%{User-Name}', '%{%{User-Password}:-%{ChapPassword}}', '%{reply:Packet-Type}', '%S') -> INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ( 'test', '', 'Access-Accept', '2008-02-13 20:25:37') rlm_sql (sql) in sql_postauth: query is INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ( 'test', '', 'Access-Accept', '2008-02-13 20:25:37') rlm_sql (sql): Reserving sql socket id: 3 rlm_sql (sql): Released sql socket id: 3 ++[sql] returns ok Sending Access-Accept of id 46 to 192.168.0.2 port 1645 MS-MPPE-Recv-Key = 0xd14a7ff0adaa4e2cca8ed535e8834aed2f9c052ffc0f4abdfcfe91e8925a9c22 MS-MPPE-Send-Key = 0xe03a5e71dd0b3b4237ac14c37f7d83a880163db9c5752150fe1602a8dfb9a7d2 EAP-Message = 0x03070004 Message-Authenticator = 0x00000000000000000000000000000000 User-Name = "test" Finished request 5. Going to the next request Waking up in 0.9 seconds. Waking up in 3.9 seconds. Cleaning up request 0 ID 41 with timestamp +18 Cleaning up request 1 ID 42 with timestamp +18 Cleaning up request 2 ID 43 with timestamp +18 Cleaning up request 3 ID 44 with timestamp +18 Cleaning up request 4 ID 45 with timestamp +18 Cleaning up request 5 ID 46 with timestamp +18 Ready to process requests.
Bijlage 4. Wireshark log
6.4 No.
70
Wireshark log
Time Source Destination Protocol Info 1 0.000000 Cisco_ad:fa:20 Azurewav_0f:e5:a4 EAP
Failure
Frame 1 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No.
Time Source Destination Protocol Info 2 1.045489 Cisco_ad:fa:20 Azurewav_0f:e5:a4 EAP
Request, Identity [RFC3748]
Frame 2 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No.
Time Source Destination Protocol Info 3 1.047868 Azurewav_0f:e5:a4 Cisco_ad:fa:20 EAPOL
Start
Frame 3 (19 bytes on wire, 19 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No.
Time Source Destination Protocol Info 4 1.049106 Cisco_ad:fa:20 Azurewav_0f:e5:a4 EAP
Request, Identity [RFC3748]
Frame 4 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No.
Time Source Destination Protocol Info 5 1.052168 Azurewav_0f:e5:a4 Cisco_ad:fa:20 EAP
Response, Identity [RFC3748]
Frame 5 (27 bytes on wire, 27 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No.
Time Source Destination Protocol Info 6 1.052809 Azurewav_0f:e5:a4 Cisco_ad:fa:20 EAP
Response, Identity [RFC3748]
Frame 6 (27 bytes on wire, 27 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No.
Time Source Destination Protocol Info 7 21.711357 192.168.0.8 192.168.0.255 BROWSER Domain/Workgroup Announcement OW, NT Workstation, Domain Enum Frame 7 (254 bytes on wire, 254 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Broadcast (ff:ff:ff:ff:ff:ff) Internet Protocol, Src: 192.168.0.8 (192.168.0.8), Dst: 192.168.0.255 (192.168.0.255) User Datagram Protocol, Src Port: netbios-dgm (138), Dst Port: netbios-dgm (138) NetBIOS Datagram Service SMB (Server Message Block Protocol) SMB MailSlot Protocol Microsoft Windows Browser Protocol No.
Time Source Destination Protocol Info 8 31.052977 Azurewav_0f:e5:a4 Cisco_ad:fa:20 EAPOL
Frame 8 (19 bytes on wire, 19 bytes captured)
Start
71
Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No.
Time Source Destination Protocol Info 9 35.437109 Cisco_ad:fa:20 Azurewav_0f:e5:a4 EAP
Failure
Frame 9 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No. Time Source Destination Protocol Info 10 75.797052 Cisco_ad:fa:20 Azurewav_0f:e5:a4 EAP
Request, Identity [RFC3748]
Frame 10 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No. Time Source Destination Protocol Info 11 75.798813 Azurewav_0f:e5:a4 Cisco_ad:fa:20 EAPOL
Start
Frame 11 (19 bytes on wire, 19 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No. Time Source Destination Protocol Info 12 75.800042 Cisco_ad:fa:20 Azurewav_0f:e5:a4 EAP
Request, Identity [RFC3748]
Frame 12 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No. Time Source Destination Protocol Info 13 75.803487 Azurewav_0f:e5:a4 Cisco_ad:fa:20 EAP
Response, Identity [RFC3748]
Frame 13 (27 bytes on wire, 27 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No. Time Source Destination Protocol Info 14 75.804778 Azurewav_0f:e5:a4 Cisco_ad:fa:20 EAP
Response, Identity [RFC3748]
Frame 14 (27 bytes on wire, 27 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No. Time Source Destination Protocol Info 15 76.838624 Cisco_ad:fa:20 Azurewav_0f:e5:a4 EAP [RFC3748]
Request, MD5-Challenge
Frame 15 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No. Time Source Destination Protocol Info 16 76.838731 Azurewav_0f:e5:a4 Cisco_ad:fa:20 EAP (Response only) [RFC3748]
Response, Legacy Nak
Frame 16 (24 bytes on wire, 24 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No.
Time
Source
Destination
Protocol Info
72
17 76.858146 Cisco_ad:fa:20 [Aboba]
Azurewav_0f:e5:a4
EAP
Request, EAP-TLS [RFC2716]
Frame 17 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No. Time Source Destination Protocol Info 18 76.950032 Azurewav_0f:e5:a4 Cisco_ad:fa:20 TLSv1
Client Hello
Frame 18 (98 bytes on wire, 98 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No. Time Source Destination Protocol Info 19 76.976363 Cisco_ad:fa:20 Azurewav_0f:e5:a4 TLSv1 Certificate Request, Server Hello Done
Server Hello, Certificate,
Frame 19 (1042 bytes on wire, 1042 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No. Time Source Destination Protocol Info 20 76.976465 Azurewav_0f:e5:a4 Cisco_ad:fa:20 EAP [RFC2716] [Aboba]
Response, EAP-TLS
Frame 20 (24 bytes on wire, 24 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No. Time Source Destination Protocol Info 21 76.993485 Cisco_ad:fa:20 Azurewav_0f:e5:a4 TLSv1 Certificate Request, Server Hello Done
Server Hello, Certificate,
Frame 21 (737 bytes on wire, 737 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No. Time Source Destination Protocol Info 22 77.000452 Azurewav_0f:e5:a4 Cisco_ad:fa:20 TLSv1 Certificate, Client Key Exchange, Certificate Verify, Change Cipher Spec, Encrypted Handshake Message Frame 22 (996 bytes on wire, 996 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No. Time Source Destination Protocol Info 23 77.054617 Cisco_ad:fa:20 Azurewav_0f:e5:a4 TLSv1 Encrypted Handshake Message
Change Cipher Spec,
Frame 23 (71 bytes on wire, 71 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No. Time Source Destination Protocol Info 24 77.058295 Azurewav_0f:e5:a4 Cisco_ad:fa:20 EAP [RFC2716] [Aboba]
Response, EAP-TLS
Frame 24 (24 bytes on wire, 24 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No.
Time
Source
Destination
Protocol Info
73
25 77.095986 Cisco_ad:fa:20
Azurewav_0f:e5:a4
EAP
Success
Frame 25 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No. Time Source Destination Protocol Info 26 77.096118 Cisco_ad:fa:20 Azurewav_0f:e5:a4 EAPOL
Key
Frame 26 (113 bytes on wire, 113 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No. Time Source Destination Protocol Info 27 77.109395 Azurewav_0f:e5:a4 Cisco_ad:fa:20 EAPOL
Key
Frame 27 (139 bytes on wire, 139 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No. Time Source Destination Protocol Info 28 77.113866 Cisco_ad:fa:20 Azurewav_0f:e5:a4 EAPOL
Key
Frame 28 (139 bytes on wire, 139 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No. Time Source Destination Protocol Info 29 77.113935 Azurewav_0f:e5:a4 Cisco_ad:fa:20 EAPOL
Key
Frame 29 (113 bytes on wire, 113 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No. Time Source Destination Protocol Info 30 77.118533 Cisco_ad:fa:20 Azurewav_0f:e5:a4 EAPOL
Key
Frame 30 (145 bytes on wire, 145 bytes captured) Ethernet II, Src: Cisco_ad:fa:20 (00:19:2f:ad:fa:20), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) 802.1X Authentication No. Time Source Destination Protocol Info 31 77.118663 Azurewav_0f:e5:a4 Cisco_ad:fa:20 EAPOL
Key
Frame 31 (113 bytes on wire, 113 bytes captured) Ethernet II, Src: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4), Dst: Cisco_ad:fa:20 (00:19:2f:ad:fa:20) 802.1X Authentication No. Time Source 32 77.121269 192.168.0.2
Destination 224.0.0.1
Protocol Info IGMP V2 Membership Query, general
Frame 32 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: Cisco_87:72:be (00:18:ba:87:72:be), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) Internet Protocol, Src: 192.168.0.2 (192.168.0.2), Dst: 224.0.0.1 (224.0.0.1) Internet Group Management Protocol No. Time Source 33 77.230870 192.168.0.2
Destination 224.0.0.1
Protocol Info IGMP V2 Membership Query, general
Frame 33 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: Cisco_87:72:be (00:18:ba:87:72:be), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) Internet Protocol, Src: 192.168.0.2 (192.168.0.2), Dst: 224.0.0.1 (224.0.0.1) Internet Group Management Protocol
74
No. Time Source Destination 34 78.122226 Cisco_87:72:be 00.15.af
Protocol Info FC [Malformed Packet]
Frame 34 (64 bytes on wire, 64 bytes captured) Ethernet II, Src: Cisco_87:72:be (00:18:ba:87:72:be), Dst: Azurewav_0f:e5:a4 (00:15:af:0f:e5:a4) MDS Header(SOFi1/Unknown(24)) [Malformed Packet: FC] No. Time Source Destination Protocol Info 35 78.169970 Cisco_87:72:be Broadcast ARP Who has 192.168.0.9? Tell 192.168.0.2 Frame 35 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: Cisco_87:72:be (00:18:ba:87:72:be), Dst: Broadcast (ff:ff:ff:ff:ff:ff) Address Resolution Protocol (request) No. Time Source 36 78.232103 192.168.0.2
Destination 224.0.0.1
Protocol Info IGMP V2 Membership Query, general