Changes between Version 65 and Version 66 of WikiStart


Ignore:
Timestamp:
Jun 4, 2013, 2:05:14 PM (11 years ago)
Author:
walter
Comment:

eduroam idP part

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v65 v66  
    1818== Betrokkenheid van Wireless Leiden? ==
    1919De betekenis en werkwijze van eduroam voor dit Wireless Leiden project is vanuit een "aanbieders" perspectief. Daarbij zal voornamelijk de onderliggende technische werking van de infrastructuur om eduroam accesspoints (voor gebruikers) te realiseren ter sprake komen. 
    20 Wireless Leiden neemt momenteel niet als "identity provider" deel aan eduroam, maar faciliteerd louter het doorgeven van de vereiste authenticatie "aanvragen" en autorisatie "goedkeuringen" via een grotendeels intern ontwikkeld prototype infrastructuur.
     20Wireless Leiden neemt momenteel niet als eduroam idP (identity provider) deel, maar faciliteerd louter het doorgeven van de vereiste authenticatie "aanvragen" en autorisatie "goedkeuringen" en is een eduraom SP (service provider) via een grotendeels intern ontwikkeld prototype infrastructuur.
    2121Als partieel serviceprovider koppelt Wireless Leiden eduroam gebruikers automatisch en beveiligd door aan de daarvoor aangewezen (onderwijs)netwerken. Een onderwijsinstelling vervult vaak meerdere rollen binnen het eduroam project inclusief internet-gateway, maar Wireless Leiden beperkt zich puur tot de ondersteunende koppeling en integratie van deze diensten.
    2222
     
    3030Met tenslotte een succesvolle testcase van het prototype met dank aan [http://www.surfnet.nl Surfnet] dat heeft geresulteerd in de "bijna" alles omvattende en sluitende handleiding (die u nu leest) voor het op grote schaal implementeren en uitrollen van de eduroam infrastructuur op het Wireless Leiden netwerk door Walter Sonius.
    3131
    32 *Ontwikkelaars van Wireless Leiden zelf kunnen de roaming eigenschap van deze infrastuctuur alleen gebruiken, testen en ontwikkelen wanneer ze beschikken over een geldig eduroam accounts -naam en -wachtwoord. Dit dient geleverd te zijn door een aan eduroam/surf foundation gelieerde identity provider. Als voorbeeld beschikken studenten/scholieren en mederwerkers van Universiteit Leiden of Hogeschool Leiden hierover. Het aanvragen van een eduroam test-account voor een ontwikkelaar van wireless-leiden bij de Surffoundation behoort tot de mogelijkheden.
     32*Ontwikkelaars van Wireless Leiden zelf kunnen de roaming eigenschap van deze infrastuctuur alleen gebruiken, testen en ontwikkelen wanneer ze beschikken over een geldig eduroam accounts -naam en -wachtwoord. Dit dient geleverd te zijn door een aan eduroam/surf foundation gelieerde identity provider. Als voorbeeld beschikken studenten/scholieren en mederwerkers van Universiteit Leiden of Hogeschool Leiden hierover. Het aanvragen van een eduroam test-account voor een ontwikkelaar van wireless-leiden bij de Surffoundation behoort tot de mogelijkheden. Via een eigen interne idP met de realm @wleiden.net kunnen wirelessleiden ontwikkelaars alleen op hun eigen eduroam netwerk geauthenticeerd worden om te testen. Dit account zal niet op andere eduroam hotspots fungeren!
    3333
    3434== Benodigdheden waaronder technisch en organisatorisch? ==
     
    47472. "Radius-!Server/Proxy & gateway": eenmalig installeren en configureren
    48483. Certnode: eenmalig easy-rsa opzetten voor benodige keys/certificaten voor 1 en 2
    49 
    50 Voor het opleveren van veel AP's (batches) met unieke instelligen zal er uiteindelijk een configuratie script volgen waarmee op basis van het MAC-adres van het AP een aantal unieke parameters meegegeven kunnen worden voor de configuratie: MultiSSID, hostname, kanaal, ipadres(bedraad/draadloos), etc... vergeet de unieke openvpn client certificaten niet, tevens zouden er per AP unieke client gegevens om met de radius-proxy/server te communiceren gemaakt kunnen worden.
    51 
    52 Door het gebruik van het opensource software [http://www.openwrt.org OpenWRT], [http://www.freebsd.org FREEBSD]/[http://www.debian.org Debian] en gerelateerde software projecten (isc-dhcp-server/freeradius/openvpn/syslog-ng), is deze setup niet gelimiteerd aan een enkel merk en of type hardware. Een kleine aanpassing aan de configuratie bestanden zou een vereiste kunnen zijn voordat het op ander hardware platvorm werkt. Deze handleiding zal overigens alleen toegespitst zijn op Ubiquiti AP's zoals Bullet m2 HP/ Nano station/loco m2 en via-epia-m/alixboard als radiusproxy/server & gateway. Als uitgangssituatie om deze handleiding uit te voeren word ubuntu 12.04LTS AMD64 gebruikt!
    53 
    54 *Wat niet behandeld gaat worden is het aanmaken van een user-database/list voor de radius server, aangezien alle users extern via proxy geauthenticeerd worden en niet intern want Wireless Leiden is geen eduroam identityprovider!
     494. Batch-Flash scripts
     50
     51Voor het opleveren van veel AP's (batches) met unieke instelligen zal er uiteindelijk een configuratie script volgen waarmee op basis van het MAC-adres van het AP een aantal unieke parameters meegegeven kunnen worden voor de configuratie: MultiSSID, hostname, kanaal, ipadres(bedraad/draadloos), etc... in een simpel csv text bestand dat in een keer geflashed kan worden. vergeet de unieke openvpn client certificaten niet, tevens zouden er per AP unieke client gegevens om met de radius-proxy/server te communiceren gemaakt kunnen worden.
     52
     53Door het gebruik van het opensource software [http://www.openwrt.org OpenWRT], [http://www.freebsd.org FREEBSD]/[http://www.debian.org Debian] en gerelateerde software projecten (isc-dhcp-server/freeradius/openvpn/syslog-ng), is deze setup niet gelimiteerd aan een enkel merk en of type hardware. Een kleine aanpassing aan de configuratie bestanden zou een vereiste kunnen zijn voordat het op ander hardware platvorm werkt. Deze handleiding zal overigens alleen toegespitst zijn op Ubiquiti AP's zoals Bullet m2 HP/ Nano station/loco m2 en X86 based via-epia-m/alixboard als radiusproxy/server & gateway. Als uitgangssituatie om deze handleiding uit te voeren word ubuntu 12.04LTS AMD64 gebruikt!
    5554
    5655=== 1 setup eduroam !AccessPoints ===
     
    905904        netmask 255.255.255.0 #! bigger subnet for more clients/AP's? <---
    906905}}}
    907 Continue setting up freeradius, only 3 config files really need to be edited. See following 3 example config files.
    908 
    909 #example code# /etc/freeradius/clients.conf
    910 {{{
    911 #q&d test externe clients from uu surfnet (accesspoins)
    912 client 131.211.0.0/16 {
    913   secret    = testsecret
    914   shortname = testsecret
    915 }
    916 
    917 #clients from the openvpn tunnel (accesspoints)
    918 client 192.168.4.0/24 {
    919   secret    = testsecret
    920   shortname = testsecret
    921 }
    922 
    923 #direct local eth1 test client without openvpn
    924 client 172.17.169.66 {
    925   secret    = testsecret
    926   shortname = testsecret
    927 }
    928 
    929 # if you are a iP provider for eduroam you also put the surfnet top level proxy here!
    930 }}}
     906
     907Continue setting up freeradius. See following 5 example config files for eduroam SP + idP setup.
    931908
    932909#example code# /etc/freeradius/radiusd.conf
     
    977954security {
    978955        max_attributes = 200
    979         reject_delay = 1
     956        reject_delay = 0
    980957        status_server = yes
    981958}
    982959$INCLUDE ${raddbdir}/clients.conf
    983960$INCLUDE ${raddbdir}/sites-enabled/default
     961$INCLUDE ${raddbdir}/sites-enabled/eduroam-inner
    984962thread pool {
    985963        start_servers = 5
     
    1011989}}}
    1012990
     991#example code# /etc/freeradius/clients.conf
     992{{{
     993#clients are Accesspoints not users!
     994
     995#as idP requests from other eduroam institutions to
     996#authenticate your users for realm wleiden.net go here
     997client antarctica-flr-1 {
     998        ipaddr                          = 172.20.1.2
     999        netmask                         = 32
     1000        secret                          = secretstuff
     1001        require_message_authenticator   = no
     1002        shortname                       = antarctica-flr-1
     1003        nastype                         = other
     1004        virtual_server                  = eduroam
     1005}
     1006
     1007#from uu surfnet eyof (accesspoins)
     1008client 131.211.0.0/16 {
     1009  secret    = testsecret
     1010  shortname = testsecret
     1011}
     1012
     1013#from the openvpn tunnel (accesspoints)
     1014client 192.168.4.0/24 {
     1015  secret    = testsecret
     1016  shortname = testsecret
     1017}
     1018
     1019#direct local eth1 test client without openvpn
     1020client 172.17.169.66 {
     1021  secret    = testsecret
     1022  shortname = testsecret
     1023}
     1024
     1025}}}
     1026
    10131027#example code# /etc/freeradius/proxy.conf
    10141028{{{
     1029#as eduroam idP this is for authenticating your local user realm locally
     1030realm wleiden.net {
     1031        nostrip
     1032}
     1033
     1034#as eduraom SP this is for forwarding user authenticate request
     1035#via surfnet to their local institutions central
    10151036realm DEFAULT {
    10161037        authhost =  radius.showcase.surfnet.nl:1812
     
    10211042}}}
    10221043
     1044#example code# /etc/freeradius/eap.conf
     1045{{{
     1046eap {
     1047                default_eap_type = peap
     1048                timer_expire     = 60
     1049                ignore_unknown_eap_types = no
     1050                cisco_accounting_username_bug = no
     1051
     1052                tls {
     1053                        certdir = ${confdir}/certs
     1054                        cadir = ${confdir}/certs
     1055                        private_key_password = whatever
     1056                        private_key_file = ${certdir}/server.key
     1057                        certificate_file = ${certdir}/server.pem
     1058                        CA_file = ${cadir}/ca.pem
     1059                        dh_file = ${certdir}/dh
     1060                        random_file = /dev/urandom
     1061                        fragment_size = 1024
     1062                        include_length = yes
     1063                        check_crl = no
     1064                        cipher_list = "DEFAULT"
     1065                }
     1066
     1067                ttls {
     1068                        default_eap_type = mschapv2
     1069                        copy_request_to_tunnel = yes
     1070                        use_tunneled_reply = yes
     1071                        virtual_server = eduroam-inner
     1072                }
     1073
     1074                peap {
     1075                        default_eap_type = mschapv2
     1076                        copy_request_to_tunnel = yes
     1077                        use_tunneled_reply = yes
     1078                        virtual_server = eduroam-inner
     1079                }
     1080
     1081                mschapv2 {
     1082                }
     1083
     1084}
     1085}}}
     1086
    10231087#example code# /etc/freeradius/sites-enabled/default
    10241088{{{
     1089server eduroam {
     1090
    10251091authorize {
    1026         preprocess
    1027         chap
    1028         mschap
    1029         digest
    1030         DEFAULT
    1031         eap {
     1092        #preprocess
     1093        #chap
     1094        #mschap
     1095        #digest
     1096        #DEFAULT
     1097        #auth_log
     1098        suffix
     1099        eap {
    10321100                ok = return
    10331101        }
    1034         files
    1035         pap
     1102        #files
     1103        #pap
    10361104}
    10371105authenticate {
    1038         Auth-Type PAP {
    1039                 pap
    1040         }
    1041         Auth-Type CHAP {
    1042                 chap
    1043         }
    1044         Auth-Type MS-CHAP {
    1045                 mschap
    1046         }
    1047         digest
    1048         unix
     1106        #Auth-Type PAP {
     1107        #       pap
     1108        #}
     1109        #Auth-Type CHAP {
     1110        #       chap
     1111        #}
     1112        #Auth-Type MS-CHAP {
     1113        #       mschap
     1114        #}
     1115        #digest
     1116        #unix
    10491117        eap
    1050         pap
    1051 }
     1118        #pap
     1119}
     1120
     1121preacct {
     1122                suffix
     1123        }
     1124
     1125accounting {
     1126        }
     1127
     1128
     1129
    10521130session {
    10531131        radutmp
    10541132}
     1133
    10551134post-auth {
    1056 }
     1135#        reply_log
     1136#        Post-Auth-Type REJECT {
     1137#                reply_log
     1138#        }
     1139}
     1140
    10571141pre-proxy {
    1058 }
     1142#        pre_proxy_log
     1143#        if (pre-proxy:Packet-Type != Accounting-Request) {
     1144#                attr_filter.pre-proxy
     1145#        }
     1146}
     1147
    10591148post-proxy {
     1149        #        post_proxy_log
     1150        #        attr_filter.post-proxy
    10601151        eap
    10611152}
    10621153}}}
     1154
     1155#example code# /etc/freeradius/sites-enabled/eduroam-inner
     1156{{{
     1157server eduroam-inner {
     1158
     1159authorize {
     1160#        auth_log
     1161        eap
     1162        files
     1163        mschap
     1164        pap
     1165}
     1166
     1167authenticate {
     1168        Auth-Type PAP {
     1169                pap
     1170        }
     1171        Auth-Type MS-CHAP {
     1172                mschap
     1173        }
     1174        eap
     1175}
     1176
     1177post-auth {
     1178#        reply_log
     1179#        Post-Auth-Type REJECT {
     1180#               reply_log
     1181#        }
     1182}
     1183
     1184}
     1185}}}
     1186
     1187#example code# /etc/freeradius/users
     1188{{{
     1189radiustest@wleiden.net               Cleartext-Password := "abcdefg123"
     1190}}}
     1191
     1192During install of freeradius, certificates are probably auto generated see "/etc/freeradius/certs" folder. These are needed for the eduroam idP part to allow locally authentication of the @wleiden.net realm. However these certificates are made with a common/default credentials but they can also be made again/customized by running the ./bootstrap command and editing the *.cnf files to fit your institution. See /usr/share/doc/freeradius/examples/certs/
     1193
     1194TODO Which public certificate files needs to be distributed to the users for their supplicants?
    10631195
    10641196Continue setting up isc-dhcp-server. Besides editing the conf file, the service also needs to be removed from its default boot routine because it starts to early before its openvpn interface is online!