Identifikationsprotokollen ( ident, Ident Protocol) er den protokol, der er beskrevet i RFC 1413 . Det giver en måde at identificere en bruger for en bestemt TCP -forbindelse . Ved at bruge numrene på et par indbyrdes forbundne TCP - porte som input returnerer protokollen en tegnstreng, der identificerer ejeren af denne forbindelse på serversiden. Oprindeligt hed godkendelsesprotokollen Authentication Server Protocol (Server Authentication Protocol). Serveren, der implementerer ident-protokollen, kaldes identd ( ident de ́).
Protokollen er en tjeneste baseret på TCP-forbindelser. Serveren lytter efter TCP-forbindelser på port 113 (decimal). Efter at forbindelsen er etableret, læser serveren en datalinje, der indeholder information om formålet med forbindelsen. Hvis der findes et bruger-id for forbindelsen, sender serveren dette id som et svar. Serveren kan derefter lukke forbindelsen eller fortsætte dialogen med anmodning og svar. Serveren bør lukke forbindelsen efter den timeout, der er angivet i konfigurationsparametrene (60-180), hvis der ikke er nogen anmodninger. Klienten kan til enhver tid lukke forbindelsen, men for at kompensere for mulige netværksforsinkelser bør klienten vente mindst 30 sekunder efter anmodningen, før forbindelsen lukkes.
Videregivelse af anmodninger er kun tilladt for fuldt organiserede forbindelser. Forespørgslen indeholder numrene på et par porte (lokal - fjernbetjening), der bruges til at identificere forbindelsen og modtages med angivelse af lokal- og fjernadresse. Det betyder, at brugeren med adresse A kun kan bede server B om oplysninger om forbindelsen mellem A og B.
Startbetingelser: identd kører på klientmaskinen. Klienten kontakter en ekstern server, der kan udføre en identitetskontrol.
Serveren accepterer simple tekstanmodninger i formatet:
<port-on-server>, <port-on-client>hvor <port-on-server> angiver TCP-porten (decimalværdi) for destinationen (værten, hvor ident-serveren kører), og <port-on-client> angiver TCP-porten (decimalværdi) på klientsystemet. Det er vigtigt at bemærke, at hvis en klient på vært A ønsker at forespørge en server på vært B for en forbindelse defineret lokalt (på vært A) af portpar 23, 6191 (indgående TELNET-forbindelse), skal klienten forespørge efter par 6191, 23 (forbindelsesidentifikation set fra vært B's synspunkt). For eksempel:
6191, 23Svaret har formatet:
<port-on-server>, <port-on-client> : <resp-type> : <add-info>hvor <port-on-server> og <port-on-client> matcher portnumrene i anmodningen, identificerer <resp-type> svartypen, og <add-info> indeholder kontekstspecifikke data.
De returnerede oplysninger er relateret til TCP-forbindelsen specificeret af parametrene <server-adresse>, <klient-adresse>, <port-on-server>, <port-on-client> (<server-adresse> og <klient- adresse> - IP - adresser på begge sider af forbindelsen, og <port-on-server> og <port-on-client> er anmodningsparametre)
For eksempel:
6193, 23 : BRUGERID : UNIX : stjohns 6195, 23: FEJL: INGEN BRUGERSvarene kan være af to typer:
I dette tilfælde indeholder <add-info>-strengen navnet på operativsystemet (eventuelt inklusive det understøttede tegnsæt), efterfulgt af et ":"-skilletegn og en identifikationsstreng.
Hvis svaret indeholder et tegnsæt, adskilles tegnsættet fra operativsystemets navn med et komma (,). Standardidentifikatorer bruges til at udpege et sæt tegn. Hvis der ikke er angivet et tegnsæt, antages US-ASCII (se nedenfor).
Operativsystemidentifikatorer skal angives i overensstemmelse med RFC 1340 [2] , "Tildelte numre" eller dets "efterfølgere".
Ud over de OS-identifikatorer, der er angivet i "Tildelte numre", kan den særlige identifikator "OTHER" (Andet OS) bruges.
Hvis "ANDET" ikke returneres som operativsystemet, antages serveren at returnere den "normale" identifikation af brugeren, der ejer forbindelsen (en tegnstreng, der entydigt identificerer brugeren, såsom et brugernavn på systemet eller brugeren del af en e-mailadresse). Hvis et operativsystem er angivet (dvs. svarstrengen indeholder ikke "ANDET"), antages brugernavnet også at være meningsfuldt (for eksempel at blive brugt som et argument til en fingerkommando eller som en del af en postadresse) .
Værdien "OTHER" angiver, at følgende data er en uformateret streng af udskrivbare tegn fra det sæt, der bruges i systemet. Et "ANDET" svar SKAL returneres, hvis bruger-id'et ikke matcher kravene beskrevet ovenfor. For eksempel SKAL et sådant svar sendes, hvis et rigtigt navn eller telefonnummer fra en UNIX -brugerpost returneres i stedet for et brugernavn .
Det antages, at bruger-id'et kun indeholder printbare tegn fra det sæt, der bruges i systemet. Identifikationen er en oktetstreng, der ikke inkluderer tegnene (oktal) 000 (NUL), 012 (LF) og 015 (CR). Det er vigtigt at understrege, at mellemrumstegnene (040) efter kolon er en del af identifikationsstrengen og ikke bør ignoreres. Typisk slutter svarlinjen med en CR/LF-sekvens. Vi understreger, at strengen kan indeholde printbare tegn, men ikke kun behøver at indeholde dem.
Hvis ejeren af forbindelsen af en eller anden grund ikke kan bestemmes, rapporterer <add-info>-linjen årsagen. Følgende <add-info> værdier er mulige:
Andre svarkoder kan blive tilføjet i fremtiden. Når du bruger ikke-standardsvar, skal de begynde med tegnet "X".
Ud over at returnere svar, KAN serveren afslutte forbindelser uden at returnere noget svar. En for tidlig afbrydelse af forbindelsen (klienten modtog ikke et EOL-tegn) SKAL behandles af klienten som et "FEJL : UKENDT-FEJL"-svar.
Bemærkninger:
Gyldighedsniveauet for de oplysninger, der returneres af denne protokol, afhænger af indstillingerne for den anmodede vært og politikken for den organisation, der vedligeholder værten . For eksempel kan en pc , der bruges i et åbent laboratorium, returnere enhver information om sig selv, som brugeren ønsker at give. Desuden kan værten returnere særligt forvrængede (falske) oplysninger.
Identifikationsprotokollen er ikke beregnet til autorisation (godkendelse) eller adgangskontrol. I bedste fald giver denne protokol nogle yderligere oplysninger om TCP -forbindelser , i værste fald returnerer den fejlagtig, forkert eller bevidst forvrænget information.
Det frarådes på det kraftigste at bruge de oplysninger, der returneres af protokollen til andre formål end revision. Især brug af identifikationsprotokollen til at træffe adgangsbeslutninger som primære (dvs. i mangel af andre kontroller) eller sekundære midler kan reducere sikkerhedsniveauet for en vært betydeligt.
Identitetsserveren kan indsamle oplysninger om brugere, objekter og processer, som ofte kan indeholde private data. Identitetsserveren leverer tjenester svarende til de CallerID -tjenester, der understøttes af nogle telefonselskaber, og kravene til informationer, der indberettes af serveren, er udformet på samme måde som for CallerID-data. Hvis du ikke ønsker at understøtte fingerservicen af hensyn til at begrænse adgangen til brugeroplysninger, ønsker du heller ikke at bruge autentificeringsprotokollen.
Ident-protokollen er det de facto mest populære emne for avancerede " Hej, verden " (dvs. den bedste retning at tage, når man seriøst lærer at programmere). I denne henseende er antallet af dæmoner , der implementerer det, enormt. Nedenfor er links til de mest almindelige og mest brugte servere i denne klasse.