Narzędzia użytkownika

Narzędzia witryny


Pasek boczny

zsk:radius

To jest stara wersja strony!


Przygotowanie konfiguracji do zajęć

Zadanie 1. Przygotuj konfigurację sieciową:

  • Uruchom Vlab, następnie Linux SK prog
  • Uruchom terminal i zaloguj się na roota
  • Zaktualizuj listę pakietów:
    apt-get update
  • zainstaluj telnet i picocom:
    apt-get install telnet picocom
  • dnsmasq + NAT:
    • Zainstaluj dnsmasq:
      apt-get install dnsmasq
    • Skonfiguruj dnsmasq, dopisując do pliku /etc/dnsmasq.conf linie:
      interface=enp0s8
      dhcp-range=10.0.0.2,10.0.1.10
    • Ustaw adres interfejsu enp0s8 na np. 10.0.0.1/24 i włącz go, przykładowa komenda:
      ifconfig enp0s8 10.0.0.1/24 up
    • Ustaw IP forwarding:
      sysctl net.ipv4.conf.all.forwarding=1
    • Ustaw maskaradę na interfejsie enp0s3:
      iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
    • Uruchom ponownie dnsmasq:
      systemctl restart dnsmasq

FreeRadius

RADIUS to nazwa protokołu sieciowego służącego do uwierzytelniania (authentication), autoryzacji (authorization), i accountingu(accounting), usług określanych wspólnie jako AAA.

Protokół RADIUS pozwala na wysłanie żądania dostępu (access-request) w formie listy atrybutów (identyfikator atrybutu + wartość). Serwer RADIUS na podstawie tych atrybutów albo pozwala na dostęp (access-accept), żąda więcej danych (access-challange), albo odmawia dostępu (access-reject).

Odpowiedź (jak każda inna wiadomość) to lista atrybutów w których można zawrzeć dodatkowe informacje, używane np. do autoryzacji czy do konfiguracji klienta. Przykładowo: można odesłać identyfikator VLANu uwierzytelnionego użytkownika czy informacje o jego poziomie uprawnień dostępu do konsoli CISCO.

Protokół RADIUS używany jest (tylko) między serwerem RADIUS a urządzeniem wykonującym uwierzytelnienie (Netwok Access Server), np. Access Pointem. Przykład (graficzny): [1].

FreeRADIUS [1], [2] jest najpopularniejszym darmowym (i open-source) serwerem RADIUS.

Zadanie 2. Zainstaluj i skonfiguruj (minimalnie) serwer FreeRadius:

  • Instalacja FreeRadiusa
    • Zainstaluj FreeRadiusa i wpa_supplicanta:
      apt-get update
      apt-get install freeradius freeradius-utils wpasupplicant
    • Wyłącz FreeRadiusa:
      systemctl stop freeradius
      (Debian domyślnie uruchamia każdy daemon który zostanie zainstalowany)
  • Konfiguracja FreeRadiusa
    • Przejdź do katalogu /etc/freeradius/3.0
    • Baza użytkowników:
      • Przejrzyj plik users
      • Dodaj użytkownika (z ustawionym tylko hasłem) na podstawie przykładowej konfiguracji
      • Typowo baza użytkowników jest brana z LDAP (mods-available/ldap) lub z bazy danych (mods-available/sql)
      • Przejrzyj powyższe pliki:
        Z jakiej tabeli i bazy korzysta domyślnie sql?
        Jaki filtr ldap jest tworzony do sprawdzenia użytkownika?
    • Klienci - baza urządzeń którym wolno odpytywać FreeRadiusa
      • przjrzyj plik clients.conf
      • dodaj nowego klienta, który:
        • może odpytywać z 10.0.0.0/24
        • jest typu:
          nas_type = cisco
          nas = Network Access Server [1]
      • Do czego używany jest secret?
    • Uruchom FreeRadiusa w trybie debugowania:
      freeradius -X
    • Przetestuj serwer radius, wydając zapytanie:
      radtest użytkownik hasło 127.0.0.1 0 testing123 0 localhost
      Do sensowniejszych testów można użyć np. https://wiki.freeradius.org/config/Radclient
    • Wygeneruj certyfikaty serwera
      • Wejdź do katalogu certs
      • Przejrzyj plik ca.cnf i server.cnf
      • Wykonaj komendę make
        Jakie certyfikaty wygenerowałeś?
        Jaki będzie poziom zaufania do certyfikatu serwera przez klientów?
    • Uruchom ponownie freeradius -X

Konfiguracja serwera radius (z materiałów eduroam):

CISCO - wstęp

Wstęp do CISCO na podstawie cisco_wstep

Zadanie 3. Skonfiguruj AP CISCO do współpracy z serwerem protokołu RADIUS:

  • AP używane na zajeciach mają hasło Cisco
  • Konsola szeregowa:
    picocom /dev/ttyS0
  • W trybie konfiguracji (conf)# wykonaj konfigurację interfejsu mostka, nadając mu adres IP z dhcp:
    interface BVI 1
      ip address dhcp
  • Włącz 'nowe' komendy [1] uwierzytelniania, autoryzacji i accountingu
    aaa new-model
  • Dodaj serwer radius:
    radius-server host 10.0.0.1 auth-port 1812 acct-port 1813 key sekret
  • Przetestuj serwer radius:
    test aaa group radius użytkownik hasło new-code

AAA na przykładzie dostępu do wiersza poleceń CISCO

Zadanie 4. Authentication - uwierzytelnianie (logowanie do CISCO)

  • Włącz uwierzytelnianie dostępu do logowania się na urządzenie CISCO po radiusue:
    aaa authentication login default group radius none
    Uwaga: ostatni kawałek komendy (none) to określenie co ma się dziać jeśli serwer RADIUS nie odpowiada; none oznacza brak kontroli dostępu
  • Sprawdź działanie używając komendy telnet 10.0.0.x
  • Sprawdź działanie przez konsolę szeregową

Zadanie 5. Authorisation - autoryzacja (logowanie do CISCO)

  • Włącz autoryzację dostępu do wiersza poleceń po radiusie:
    aaa authorization exec default group radius
  • Stwórz dwóch użytkowników w serwerze RADIUS:
    robert  Cleartext-Password := "hello"
            Service-Type = NAS-Prompt-User,
            Cisco-AVpair = "shell:priv-lvl=15"
    
    alice   Cleartext-Password := "hello"
            NAS-Port-Type = Wireless-802.11
  • Spróbuj się zalogować kolejno na alice, na utworzonego przez Ciebie wcześniej użytkownika, na robert
  • Jaka jest różnica przy logowaniu?

Zadanie 6. Accounting - nie znam polskiej nazwy (logowanie do CISCO)

  • Włącz accounting dostępu do wiersza poleceń po radiusie:
    aaa accounting exec default start-stop group radius
  • Włącz 'Vendor-Specific Attributes' do informacji o accountingu:
    radius-server vsa send accounting
  • Kolejno zaloguj i wyloguj utworzonego przez Ciebie wcześniej użytkownika i roberta
  • Wejdź do katalogu /var/log/freeradius/radacct/ i przejrzyj wpisy dotyczące accountingu

WPA-EAP

Zadanie 7. Sprawdź lokalnie (na serwerze radius) uwierzytelnianie EAP:

  • Pobierz (lub zbuduj, instrukcje niżej) program eapol_test
  • Przygotuj plik konfiguracyjny (lub pobierz np. z http://deployingradius.com/scripts/eapol_test/):
    wpa_supplicant.conf
    network={
            ssid="wartoscIgnorowanaPrzezEapolTest"
            key_mgmt=WPA-EAP
            eap=PEAP
            #eap=TTLS
            anonymous_identity="anonymous"
            phase2="autheap=MSCHAPV2"
            identity="użytkownik"
            password="hasło"
    }

  • Uruchom eapol_test z tak przygotowanym plikiem:
    ./eapol_test -c wpa_supplicant.conf -s sekret_radiusa

budowanie eapol_test

Zadanie 8. Skonfiguruj nową grupę serwerów radius i nową grupę uwierzytelniania na potrzeby WPA-Enterprise:

aaa group server radius grupaSerwerowRadiusDlaWpa
  server 10.0.0.1 auth-port 1812 acct-port 1813 
aaa authentication login grupaUwierzytelnianiaDlaWpa group grupaSerwerowRadiusDlaWpa

Zadanie 9. Skonfiguruj sieć bezprzewodową (przkład dla sieci o nazwie wybranySsidSieci działającej na kanale 11):

  dot11 ssid wybranySsidSieci
    authentication open eap grupaUwierzytelnianiaDlaWpa
    authentication key-management wpa
    guest-mode
  interface Dot11Radio 0
    channel 11
    encryption mode ciphers aes-ccm
    ssid wybranySsidSieci
    no shut

Zadanie 10. Przetestuj łączenie się do sieci (wykorzystując nieużywany komputer lub własną komórkę / laptopa)

Zadanie 11. Ograniczanie dozwolonych metod EAP:

  • Przejrzyj plik mods-enabled/eap z katalogu konfiguracji FreeRadiusa.
  • Zmodyfikuj plik tak, by zabronić motod innych niż ttls i peap (uwaga: sekcje tls-config i mschapv2 muszą zostać)
  • Przetestuj poleceniem eap_test działanie konfiguracji

Zadanie 12. Accounting sieci bezprzewodowej:

  • Stwórz grupę accountingu na potrzeby WPA-Enterprise:
    aaa accounting network grupaAcctDlaWpa start-stop group radiusDlaWpa
  • Ustaw accounting dla wybranej sieci:
    dot11 ssid wybranySsidSieci
      accounting grupaAcctDlaWpa
  • Połącz się z siecią, pobierz jakiekolwiek dane, rozłącz się z siecią
  • Wejdź do katalogu /var/log/freeradius/radacct/ i przejrzyj wpisy dotyczące accountingu
    Znajdź informację o tym, ile czasu trwało połączenie, do jakiego AP i jakiej sieci się podłączył klient, ile danych wymienił.

802.1X

Zadanie 13. Przełącz się z konfiguracji AP na konfigurację switcha. Wykonaj podstawową konfigurację:

interface range GigabitEthernet 0/1-24
  spanning-tree portfast
interface vlan 1
  ip address dhcp
do ping 10.0.0.1
aaa new-model
radius-server host 10.0.0.1 auth-port 1812 acct-port 1813 key sekret
ip radius source-interface vlan 1   
do test aaa group radius użytkownik hasło new-code

Zadanie 14. Wykonaj minimalną konfigurację 802.1X:

  • Włącz uwierzytelnianie 802.1X po radiusie:
    aaa authentication dot1x default group radius
  • Włącz wsparcie dla 802.1X:
    dot1x system-auth-control
  • Na porcie na którym jest podłączenie do serwera radius ustaw tryb access (zwykły port, nie trunk):
    interface GigabitEthernet 0/24
      switchport mode access
  • Na wybranych portach włącz kontrolę portów i skonfiguruj nasłuchiwanie na pakiety EAPOL (authenticator):
    interface range GigabitEthernet 0/1-12
      switchport mode access
      dot1x port-control auto
      dot1x pae authenticator
  • Z drugiego komputera zobacz, czy da się wykorzystać porty na których ustawiono kontrolę.
  • Wykonaj komendy diagnostyczne:
    show dot1x
    show dot1x interface GigabitEthernet 0/1 details

Zadanie 15. Uwierzytelnij połączenie do switcha:

  • Stwórz plik wpa_supplicant.conf
    wpa_supplicant.conf
    ap_scan=0
    network={
      key_mgmt=IEEE8021X
      eap=PEAP
      #eap=TTLS
      phase2="autheap=MSCHAPV2"
      identity="bob"
      password="hello"
    }

    Zwróć uwagę na ap_scan=0 i key_mgmt=IEEE8021X w pliku konfiguracyjnym

  • Uwierzytelnij się używając:
    wpa_supplicant -D wired -i enp0s8 -c wpa_supplicant.conf [-d]
    Przełącznik -D wired nakazuje traktować interfejs jako kablowy (nie bezprzewodowy).
    Opcjonalny przełącznik -d włącza tryb diagnostyczny (debug)
  • Sprawdź w konsoli CISCO jak wygląda stan łącza i stan 802.1X
  • Przerwij wpa_supplicanta.
    Kiedy port zostanie zdeautentykowany (jak to jest po polsku?)?

Zadanie 16. Wymuś przeterminowywanie i periodyczne odświeżanie uwierzytelnienia:

  • W konfiguracji interfejsów wpisz:
    dot1x reauthentication
  • Skonfiguruj czas co jaki następuje żądanie ponownego uwierzytelnienia:
    dot1x timeout reauth-period 20
    Uwaga: 20 sekund to bardzo kótki czas, podany jako przykład na potrzeby labolatorium
  • Sprawdź po jakim czasie nieodświeżania uwierzytelnienia klient zostanie usunięty z sieci

Zadanie 17. Accounting

  • Włącz accounting komendą:
    aaa accounting dot1x default start-stop group radius
  • Sprawdź wpisy dotyczące accountingu
zsk/radius.1512827261.txt.gz · ostatnio zmienione: 2017/12/09 14:47 przez jkonczak