1

Temat: Radius i profil od TTLS

Od dwóch dni molestuje radiusa z pakietu freeradius2 (póki co wszystko na routerze) i generalnie rzecz biorąc udało mi się stworzyć działający setup dla trzech głównych profili , czyli PEAP, TLS i TTLS, wliczając w to własne certyfikaty.

Sama konfiguracja dla TLS działa prawidłowo i na wpasupplicant trzeba dodać poniższą zwrotkę by można było się podłączyć do sieci:

network={
    id_str="home_wifi_static"
    priority=10
    ssid="Winter Is Coming"
    bssid=E8:94:F6:68:79:EF
    proto=RSN
    key_mgmt=WPA-EAP
    eap=TLS
    pairwise=CCMP
    group=CCMP
    auth_alg=OPEN
    phase1="peaplabel=1"
    phase2="auth=MSCHAPV2"
#    anonymous_identity="anonymous"
    identity="linux_laptop"
    ca_cert="/etc/wifi_cert/cacert.pem"
    private_key="/etc/wifi_cert/linux_laptop.p12"
    private_key_passwd="hasło_do_certa"
    scan_ssid=0
    disabled=0
}

Ten drugi profil -- TTLS, ma niby za zadanie uproszczenie konfiguracji przez wyeliminowanie potrzeby certyfikatu klienta i to jest niby główna różnica, czyli config wpasupplicant nie powinien się zbytnio zmienić w stosunku do tego wklejonego powyżej -- usunąć  private_key_passwd i  private_key oraz zmienić eap na TTLS. Ale to za bardzo nie działa. W configu radiusa mam niby sprecyzowane:

...
ttls {
                        default_eap_type = mschapv2
...

Ale przy podawaniu tego w wpasupplicant:

phase2="auth=MSCHAPV2"

nie idzie się podłączyć. Połączenie można nawiązać jedynie gdy się ustawi:

phase2="auth=PAP"

Poniżej jest konfiguracja w pliku eap.conf :

root@red_viper:~# egrep -v "#" /etc/freeradius2/eap.conf

        eap {
                default_eap_type = peap

                timer_expire     = 60

                ignore_unknown_eap_types = no

                cisco_accounting_username_bug = no

                max_sessions = ${max_requests}

                tls {
                        certdir = ${confdir}/certs
                        cadir = ${confdir}/certs

                        private_key_password = hasło_do_certa
                        private_key_file = ${certdir}/server_key.pem

                        certificate_file = ${certdir}/server_cert.pem

                        CA_file = ${cadir}/cacert.pem

                        dh_file = ${certdir}/dh

                        fragment_size = 1024

                        include_length = yes

                        CA_path = ${cadir}

                        cipher_list = "DEFAULT"

                        ecdh_curve = "prime256v1"

                        verify {

                        }

                        ocsp {
                              enable = no

                              override_cert_url = yes

                              url = "http://127.0.0.1/ocsp/"
                        }
                }

                ttls {
                        default_eap_type = mschapv2

                        copy_request_to_tunnel = yes

                        use_tunneled_reply = yes
                }


                peap {
                        default_eap_type = mschapv2

                        copy_request_to_tunnel = yes
                        use_tunneled_reply = yes

                        proxy_tunneled_request_as_eap = no

                        EAP-TLS-Require-Client-Cert = no
                }

                mschapv2 {
                }
        }

Zarówno PEAP jak i TLS działają bez problemu z

phase2="auth=MSCHAPV2"

Czy ten PAP to jest jedyna opcja jaką można ustawić przy TTLS, czy coś jest nie tak skonfigurowane w radiusie?

2

Odp: Radius i profil od TTLS

Ciekawy pomysł.
Czy dało by radę napisać tutorial jak uruchomić radiusa na gargoyle wraz z generowaniem certyfikatów.

| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

3

Odp: Radius i profil od TTLS

Ja mam zamiar napisać artykuł o postawieniu całej infrastruktury wifi+radius w oparciu o 3 maszyny -- server radius (debian), router (openwrt) i laptop (debian+wpasupplicant). To się trochę będzie różnić, bo są 3 maszyny zamiast 2 ale na routerze bez problemu można zmienić adres servera radius na lokalny i doinstalować parę paczek i wszystkie kroki dotyczące servera radius przeprowadzać na routerze. Tylko muszę jeszcze opracować podpięcie bazy danych, bo póki co mam użytkowników w pliku tekstowym. No i trzeba będzie do tego dorobić jeszcze radsecproxy , czyli zabezpieczenie komunikacji między radiusem i klientami, bo coś ta wersja 2 freeradiusa nie oferuje szyfrowanego kanału -- wprowadzili to w wersji 3 ale póki co nie widzę, by freeradius3 miał trafić do repo. Nawet w debianie jest v2.

W każdym razie to bez problemu będzie można przenieść ale póki co, muszę wyjaśnić te kwestię poruszoną w tym temacie.

4 (edytowany przez build000 2014-08-31 09:54:55)

Odp: Radius i profil od TTLS

Nie wiem czy Ci dużo pomogę ale podobny temat przerabiał już ktoś z tego forum, czy też z openrouter.info. Opisał to nawet na swojej stronie, którego adresu niestety nie pamiętam. User ma nick rpc.
Bodajże tu: http://rpc.one.pl/index.php/lista-artyk … od-openwrt
wink

5 (edytowany przez build000 2014-08-31 10:01:04)

Odp: Radius i profil od TTLS

Z tego co planujesz ( http://eko.one.pl/forum/viewtopic.php?p … 97#p115897 ), zapewne wyjdzie rakieta. Może to uwaga nie na miejscu, ale warto też looknąć na podobne próby http://rpc.one.pl/index.php/mapa-strony .

6

Odp: Radius i profil od TTLS

Szukając info na guglu natknąłem się między innymi na ten link co podałeś. Ale tworząc konfigurację (póki co wszystko na routerze), robiłem to w oparciu o http://eko.one.pl/?p=openwrt-freeradius2 . Tylko, że tam jest w miarę porsty setup z tymi domyślnymi certami itp. Wszelkie zmiany jakie wprowadziłem później, powstały z  czytania opisów plików konfiguracyjnych radiusa -- co jak co ale tam 95% treści to komentarze. smile  No i musiałem sobie wygenerować własne certy. Działać, działa ale nie jest to jeszcze setup jaki ja chcę. big_smile A text muszę napisać w ramach podsumowania.

7 (edytowany przez build000 2014-08-31 11:19:32)

Odp: Radius i profil od TTLS

Z tego co można zauważyć "po ciemnej stronie mocy" freeradius jest już dosyć dobrze rozpracowany. Wszystko co w nim robisz i to jak go konfigurujesz z założenia nie może/nie powinno być zgodne ze standardem. Baza jest właśnie najsłabszym ogniwem w tej funkcjonalności.
Oczywiście należy dodać, że co do domowej sieci ( o ile nie jesteś z GRU czy z Mosadu czy innego UB - big_smile lub nie jest to system wielo-użytkownikowy w jakiejś firmie) freeradius można określić mianem przerostu treści nad formą - niepotrzebną komplikacją, nie wnosząca tak na prawdę zbyt wiele do bezpieczeństwa, skoro inne sekcje w oprogramowaniu routera nadal "leżą" w tym aspekcie od lat.

8

Odp: Radius i profil od TTLS

Rozwiązałem ten problem w końcu -- chodziło o plik /etc/freeradius2/sites/default . Tam w nim jest wykomentowana linijka zawierająca:

authorize {
...
#        mschap
....

No i po odkomentowaniu tego mogę w wpasupplicant ustawić zarównophase2="auth=PAP" :

bssid=e8:94:f6:68:79:ef
ssid=Winter Is Coming
id=3
mode=station
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA2/IEEE 802.1X/EAP
wpa_state=COMPLETED
address=c0:cb:38:01:f0:f5
Supplicant PAE state=AUTHENTICATED
suppPortStatus=Authorized
EAP state=SUCCESS
selectedMethod=21 (EAP-TTLS)
EAP TLS cipher=ECDHE-RSA-AES256-SHA
EAP-TTLSv0 Phase2 method=PAP

jak i phase2="auth=MSCHAPV2" :

bssid=e8:94:f6:68:79:ef
ssid=Winter Is Coming
id=3
mode=station
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA2/IEEE 802.1X/EAP
wpa_state=COMPLETED
address=c0:cb:38:01:f0:f5
Supplicant PAE state=AUTHENTICATED
suppPortStatus=Authorized
EAP state=SUCCESS
selectedMethod=21 (EAP-TTLS)
EAP TLS cipher=ECDHE-RSA-AES256-SHA
EAP-TTLSv0 Phase2 method=MSCHAPV2

Choć to ciekawe, że przy PEAP nie trzeba nic zmieniać by MSCHAPV2 działał. Może to przez to, że PEAP jest od MS. big_smile

9

Odp: Radius i profil od TTLS

big_smile
No i sam prosisz się o kłopoty.

10

Odp: Radius i profil od TTLS

Znalazłem ciekawą książkę na temat freeradiusa i jestem w trakcie jej czytania, w sumie już kończę powoli i starałem się na routerze wdrożyć te ciekawsze kwestie opisane w tej książce, tylko coś te pakiety w repo są dziurawe trochę. Niby jest do zainstalowania serwer mysql ale nie ma takiego modułu do freeradiusa. Podobnie z modułem od ogarniania użytkowników/haseł przy pomocy bazy użytkowników systemu (moduł unix) . I tam jeszcze ciekawa opcja była z weryfikacją wprowadzanych danych do logowania -- moduł filter_username i też brak modułu. Chyba ten projekt co zamierzam zrobić będzie możliwy do przeprowadzenia tylko na zwykłym linuxie. big_smile

11

Odp: Radius i profil od TTLS

No to napisałem w końcu ten artykuł. big_smile Tutaj link, jakby ktoś chciał przeczytać: https://dug.net.pl/tekst/295/

12

Odp: Radius i profil od TTLS

Bardzo ciekawie opisane, lekki styl i rzeczowy - dobra robota big_smile