RADIUS

RADIUS ( Remote Authentication Dial-In User Service ), innen IT og telekommunikasjon , er en AAA -protokoll ( autentisering , autorisasjon , regnskap ) som brukes i nettverkstilgang eller IP - mobilitetsapplikasjoner .

Utviklet av Livingston Enterprises Inc., i 1991, som en autentiseringstilgangsserver og regnskapsprotokoll, senere rapportert i Internet Engineering Task Force (IETF) standarder, brukes den mye støttede protokollen ofte av ISPer og selskaper for å administrere tilgang til Internett eller interne nettverk, trådløse nettverk og integrerte e-posttjenester . Disse nettverkene kan inkludere modemer , DSL- er, tilgangspunkter , VPN - er, nettverksporter , webservere , etc.

Den kjører i applikasjonslaget og kan bruke enten TCP- eller UDP-protokollen . Nettverkstilgangsservere og gatewayer som kontrollerer tilgang til et nettverk inneholder vanligvis en RADIUS-klientkomponent som kommuniserer med RADIUS-serveren, som vanligvis er en bakgrunnsprosess som kjører på en UNIX- eller Microsoft Windows -server . Det er for tiden de facto - standarden for ekstern autentisering , rådende både i nye og eksisterende systemer og er implementert i spesielle autentiseringsservere , i en kommunikasjon med en klient som ønsker å autentisere ( klient-server- protokoll ).

Beskrivelse

RADIUS er en protokoll som bruker UDP - pakker til å overføre autentiserings- og konfigurasjonsinformasjon mellom autentiseringsenheten og RADIUS - serveren . Autentisering er basert på brukernavn , passord og eventuelt et svar på en bekreftelsesforespørsel (en slags "passord"). Hvis autentiseringen er vellykket, sender RADIUS-serveren konfigurasjonsinformasjon til klienten, inkludert verdiene som er nødvendige for å tilfredsstille den forespurte tjenesten, for eksempel en IP-adresse og subnettmaske for PPP eller et TCP -portnummer for telnet .

En av begrensningene til RADIUS-protokollen er autentisering med kun passord: passordet overføres enten i hash-form (ved hjelp av MD5 -hash-algoritmen ) eller i form av et svar på en identifiseringsforespørsel ( CHAP -password). EAP ( Extensible Authentication Protocol ) gjør RADIUS i stand til å jobbe med en rekke autentiseringsskjemaer, inkludert offentlig nøkkel , Kerberos og smartkort .

For eksempel fungerer tilgangspunktet som en EAP-RADIUS-oversetter mellom den trådløse klienten og RADIUS-serveren, ved å bruke EAP-protokollen for å kommunisere med klienten og RADIUS-protokollen for å kommunisere med RADIUS-serveren. Tilgangspunktet kapsler deretter inn informasjonen (som brukernavnet eller den offentlige nøkkelen) i en RADIUS-pakke som den videresender til RADIUS-serveren. Når serveren returnerer ett av de mulige svarene (Access-Accept / Reject / Challenge), pakker tilgangspunktet ut RADIUS-pakken og videresender svaret til klienten i en EAP-pakke.

RFC 2869 (RADIUS Extensions) spesifiserer valgfrie attributter som skal settes på RADIUS-pakker for å fortelle RADIUS-serveren at EAP brukes. Siden EAP-pakken inkluderer et felt for å spesifisere hvilken autentiseringsmetode som er i bruk, implementerer RADIUS-serveren autentisering ved å starte en prosedyre.

En RADIUS- pakke dannes som følger (i henhold til den respektive RFC ):

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + | Kode | Identifikator | Lengde | + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + | | | Autentisering | | | | | + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + | Egenskaper ... + - + - + - + - + - + - + - + - + - + - + - + - + -

Koden bestemmer typen RADIUS-pakke . Kodene er:

  • 1 = Tilgangsforespørsel
  • 2 = Access-Accept
  • 3 = Tilgang-Avvis
  • 4 = Regnskapsforespørsel
  • 5 = Regnskapssvar
  • 11 = Access-Challenge
  • 12 = Status-server (eksperimentell)
  • 13 = Status-klient (eksperimentell)
  • 255 = reservert

Identifikatoren er en oktett som lar RADIUS -klienten knytte et RADIUS-svar til forespørselen. Betydningen av Authenticator -strengen på 16 byte vil bli avklart senere. Til slutt lagres et vilkårlig antall felt i attributtdelen .

RADIUS er en AAA-protokoll som administrerer nettverkstilgang i følgende totrinnsprosess, også kjent som en AAA-transaksjon, synonymt med autentisering, autorisasjon og regnskap. Autentisering og autorisasjon er beskrevet i RFC 2865 , mens regnskap er beskrevet i RFC 2866 .

Drift - Autorisasjon og autentisering

Hele prosessen begynner når en klient oppretter en ' Access-Request' RADIUS-pakke , inkludert i det minste attributtene for brukernavn og brukerpassord , og genererer innholdet i identifikatorfeltet. Prosessen med å generere identifikasjonsfeltet er ikke spesifisert i RADIUS-protokollen, men implementeres vanligvis som en enkel teller som økes med hver forespørsel.

Autentiseringsfeltet inneholder en Request-Authenticator, som er en tilfeldig valgt 16-byte streng. Hele pakken overføres i klartekst, bortsett fra User-Password-attributtet, som er beskyttet på følgende måte: Klienten og serveren deler en hemmelig nøkkel . Denne nøkkelen slås sammen med Request Authenticator, og hele strengen blir utsatt for en MD5 - hash -funksjon for å lage en verdi på 16 oktetter, i sin tur utsatt for en XOR med passordet som er angitt av brukeren (og hvis dette passordet er lengre enn 16 oktetter, er det en ekstra MD5-beregning, ved å bruke chifferteksten i stedet for Request Authenticator).

Brukeren sender en forespørsel til en Network Access Server (NAS) om å få tilgang til en bestemt nettverksressurs ved å bruke påloggingsinformasjon. Påloggingsinformasjonen sendes til NAS-enheten via link-layer-protokollen, for eksempel når det gjelder mange oppringt eller DSL-leverandører, brukes Point-to-Point Protocol (PPP), eller den er publisert i HTTPS-nettskjema .

På sin side sender NAS en melding om tilgangsforespørsel til RADIUS-serveren, og ber om autorisasjon for å tillate tilgang via RADIUS-protokollen.

Denne forespørselen inkluderer påloggingsinformasjon, vanligvis i form av et brukernavn og passord eller et sikkerhetssertifikat gitt av brukeren. Forespørselen kan også inneholde tilleggsinformasjon som NAS-en vet om brukeren, for eksempel nettverksadresse eller telefonnummer, og informasjon om brukerens fysiske tilkoblingspunkt til NAS-en.

Serveren verifiserer at informasjonen er korrekt ved å bruke autentiseringsskjemaer som PAP, CHAP eller EAP. Identifikasjonen av brukeren verifiseres, om nødvendig sammen med annen informasjon knyttet til forespørselen. Historisk sett har serveren sjekket brukerinformasjon i en database som er lagret lokalt, for øyeblikket kan servere også referere til eksterne ressurser, som SQL, Kerberos, LDAP for å verifisere legitimasjonen sendt av klienten.

Serveren mottar Access-Request-pakken og bekrefter at den har den hemmelige nøkkelen til klienten. Hvis ikke, ignoreres pakken stille. Siden serveren også har den delte hemmeligheten, kan en modifisert versjon av klientsikkerhetsprosessen brukes for å få passordet i klartekst. RADIUS-serveren konsulterer deretter databasen for å validere brukernavnet og passordet og returnerer ett av følgende tre svar til NAS-en:

Hver av disse tre svarene kan inneholde et svar-meldingsattributt som rettferdiggjør typen returmelding, teksten i attributtet kan sendes til brukeren på en nettside. Autorisasjonsattributtene sendes til NAS ved å etablere tilgangsbetingelsene som skal gis.

For eksempel kan følgende autorisasjonsattributter inkluderes i en Access Accept:

Når klienten mottar en svarpakke, sørger den for at den samsvarer med en tidligere forespørsel ved å bruke identifikasjonsfeltet. Hvis det ikke finnes noen forespørsel med samme identifikator, ignoreres svaret stille. Deretter verifiserer klienten Response Authenticator ved å bruke den samme beregningen gjort av serveren, og til slutt sammenligner resultatet med Authenticator-feltet. Hvis Response Authenticator ikke samsvarer, ignoreres pakken stille.

Hvis klienten mottar en bekreftet Access-Accept-pakke, anses brukernavnet og passordet som korrekt, og brukeren blir autentisert. På den annen side, hvis den mottar en bekreftet Access-Reject-pakke, er brukernavnet og passordet feil, og brukeren er følgelig ikke autentisert.

Regnskap

Når nettverkstilgang gis til brukeren av NAS-en, sendes en Accounting Start (en pakke som inneholder et Acct-Status-Type-attributt med verdien "start") fra NAS-en til RADIUS-serveren for å signalisere starten på tilgangsnettverket til brukeren. Vanligvis inneholder "Start"-poster brukeridentifikasjon, en nettverksadresse og en unik øktidentifikator.

Periodisk kan oppdatere mellomposter (en pakke som inneholder et Acct-Status-Type-attributt med verdien "interim - update") sendes fra NAS-en til RADIUS-serveren for å oppdatere den om statusen til en aktiv økt. Vanligvis formidler disse postene varigheten av den gjeldende økten og informasjon om gjeldende databruk.

Til slutt, når nettverkstilgangen er stengt, utsteder NAS-en en endelig Accounting Stop-post (en forespørselspakke som inneholder et Acct-Status-Type-attributt med verdien "stop") til RADIUS-serveren, som gir bruksinformasjon endelig når det gjelder tid, overførte pakker, overførte data og annen informasjon knyttet til brukerens nettverkstilgang.

Vanligvis sender klienten Accounting-Request-pakker til den mottar en Accounting-Response-akkord, ved å bruke et visst forsøksintervall. Hovedformålet med disse dataene er at brukeren kan planlegges deretter; dataene brukes også ofte til statistiske formål og til generell nettverksovervåking.

Sikkerhet

RADIUS-protokollen overfører passord ved hjelp av MD5-hash-algoritmen, siden denne spesielle implementeringen gir svak beskyttelse for brukerlegitimasjon, bør tilleggsbeskyttelse brukes, for eksempel IPsec-tunneler eller fysisk beskyttede datasenternettverk, for å beskytte RADIUS-trafikk mellom NAS-enheten og RADIUS-server. Videre er brukerens legitimasjon den eneste delen som er beskyttet av RADIUS selv, selv om andre brukerspesifikke attributter kan betraktes som sensitiv (nyttig for en angriper) eller tilsvarende privat informasjon (tilstrekkelig til å identifisere den enkelte bruker). RadSec-protokollen tar seg av å løse de nevnte sikkerhetsproblemene.

Roaming

RADIUS brukes ofte for å lette roaming mellom Internett-leverandører, for eksempel:

Radius forenkler dette med bruk av realms, som identifiserer hvor RADIUS-serveren skal videresende AAA-forespørsler for behandling.

Realms

Et rike er vanligvis lagt til en brukers brukernavn og avgrenset med '@'-symbolet som ligner en e-postadresse for et domenenavn, dette er kjent som postfix-notasjon for riket. Et annet tilgjengelig alternativ er prefiksnotasjonen, der riket settes foran brukernavnet ved å bruke '\' som skilletegn. Moderne RADIUS-servere lar deg bruke et hvilket som helst tegn som skilletegn, selv om symbolene '@' og '\' vanligvis brukes.

Realms kan også komponeres ved å bruke både prefiks- og postfix-notasjon, for å tillate kompliserte roaming-scenarier; for eksempel somedomain.com \ [email protected] kan være et gyldig brukernavn for to riker.

Selv om riker ofte ligner domener, er det viktig å merke seg at riker er vilkårlig tekst og må ikke inneholde faktiske domenenavn. Formatene til et rike er standardisert i RFC 4282 , som definerer en Network Access Identifier (NAI) i form av 'user @ realm'. I den spesifikasjonen kreves det at "rike"-delen er et domenenavn, men denne praksisen følges ikke alltid.

RFC 7542 erstatter RFC 4282 i mai 2015.

Proxy-operasjoner

Når en RADIUS-server mottar en AAA-forespørsel om et brukernavn som inneholder et rike, vil serveren rapportere en tabell over konfigurerte riker. Hvis riket er kjent, vil serveren delegere forespørselen til hovedserveren som er konfigurert for domenet. Oppførselen til proxy-serveren med hensyn til å fjerne riket fra forespørselen ("stripping") er konfigurasjonsavhengig av de fleste servere. I tillegg kan proxy-serveren konfigureres til å legge til, fjerne eller omskrive AAA-forespørsler etter hvert som de sendes inn over tid.

I RADIUS er det mulig å bruke Proxy Chaining, og pakkene Authentication-Authorization og Accounting blir vanligvis rutet mellom en NAS-enhet og en hjemmeserver gjennom en rekke delegasjoner. Noen fordeler med å bruke proxy-kjeder inkluderer forbedringer i skalerbarhet, operasjonelle prosedyrer og kapasitetsendringer, men i roaming-scenarier kan NAS-, proxy- og hjemmeserveren vanligvis administreres av forskjellige administrative enheter; derfor får tillitsfaktoren mellom proxyer større betydning i slike tverrdomeneapplikasjoner. Videre legger fraværet av ende-til-ende-sikkerhet i RADIUS tillitsproblemer mellom de involverte fullmektigene.

Proxy-kjeder er forklart i RFC 2607 .

Sikkerhet

Roaming med RADIUS utsetter brukere for ulike sikkerhets- og personvernproblemer. Mer generelt etablerer noen roamingpartnere en sikker tilkoblingskanal mellom RADIUS-servere for å sikre at brukerlegitimasjon ikke kan fanges opp mens de delegeres over Internett. Dette er et problem siden RADIUS innebygde MD5-hash anses som usikker.

RADIUS-applikasjoner

RADIUS er en mye brukt protokoll i distribuerte miljøer. Det brukes ofte for integrerte nettverksenheter som rutere , modemservere , svitsjer , etc., av forskjellige grunner:

Til tross for dette er det utviklet en ny protokoll, DIAMETER , en kandidat til å erstatte RADIUS: den bruker TCP i stedet for UDP og anses følgelig som mer sikker og pålitelig.

RADIUS for webautentisering

RADIUS tilbyr muligheten til å autentisere eksterne brukere selv for bestemte nettsteder som krever beskyttelse mot allmenn tilgang. Spesielt er det en modul som gir integrasjon med Apache -nettserveren , og unngår bruken av .htaccess- og .htpasswd -filene med Tillat og nekt - instruksjonene , som gjør tilgang til nettressurser beskyttet med AAA-karakteristikkene som er sett tidligere.

Modulen ble utviklet for Apache og heter mod_auth_radius . På denne måten blir Apache en klient av RADIUS-serveren, og erstatter NAS -en i det vanlige autentiseringsskjemaet, og outsourcer autorisasjonen og regnskapsbehandlingen.

Standard

RADIUS-protokollen er definert i:

Andre relevante RFC-er er:

Relaterte elementer

Andre prosjekter

Eksterne lenker