Ident protokol - Ident protocol

Den Ident-protokollen ( Identifikation protokollen , Ident ), der er specificeret i RFC 1413, er en internet -protokol , der hjælper med at identificere brugeren af en bestemt TCP -forbindelse. Et populært dæmonprogram til levering af ident -tjenesten er identd .

Fungere

Ident Protocol er designet til at fungere som en serverdæmon på en brugers computer, hvor den modtager anmodninger til en bestemt TCP -port , generelt 113. I forespørgslen angiver en klient et par TCP -porte (en lokal og en fjernbetjening port), kodet som ASCII -decimaler og adskilt med et komma (,). Serveren sender derefter et svar, der identificerer brugernavnet på den bruger, der kører programmet, der bruger det angivne par TCP -porte eller angiver en fejl.

Antag, at vært A ønsker at kende navnet på den bruger, der opretter forbindelse til dens TCP -port 23 ( Telnet ) fra klientens (vært B) port 6191. Vært A ville derefter åbne en forbindelse til ident -tjenesten på vært B og udstede følgende forespørgsel:

6191, 23

Da TCP -forbindelser generelt bruger en unik lokal port (6191 i dette tilfælde), kan vært B entydigt identificere det program, der har startet den angivne forbindelse til vært A's port 23, hvis den eksisterer. Vært B ville derefter udsende et svar og identificere den bruger ("stjohns" i dette eksempel), der ejer programmet, der startede denne forbindelse, og navnet på det lokale operativsystem :

6193, 23 : USERID : UNIX : stjohns

Men hvis det skulle vise sig, at der ikke findes en sådan forbindelse på vært B, ville det i stedet udsende et fejlsvar:

6195, 23 : ERROR : NO-USER

Alle ident -meddelelser bør afgrænses af en slutlinjesekvens, der består af vognretur og liniefeed -tegn (CR+LF).

Nytten af ​​ident

Opkaldsværter eller delte shell -servere giver ofte ident, så misbrug kan spores tilbage til bestemte brugere. I tilfælde af at misbrug håndteres på denne vært, er bekymringen om at stole på ident -dæmonen for det meste irrelevant. Forfalskning af tjenesten og bekymringer om fortrolighed kan undgås ved at levere varierende kryptografisk stærke tokens i stedet for rigtige brugernavne.

Hvis misbrug skal håndteres af administratorerne af den service, som brugerne opretter forbindelse til ved hjælp af den ident -leverende vært, skal ident -tjenesten give oplysninger, der identificerer hver bruger. Normalt er det umuligt for administratorerne af fjerntjenesten at vide, om bestemte brugere opretter forbindelse via en pålidelig server eller fra en computer, de selv kontrollerer. I sidstnævnte tilfælde giver ident -tjenesten ingen pålidelige oplysninger.

Nytten af ​​Ident til at bevise en kendt identitet for en fjerntliggende vært er begrænset til omstændigheder, når:

  • Brugeren, der opretter forbindelse, er ikke maskinens administrator. Dette er kun sandsynligt for værter, der giver Unix -shell -adgang, delte servere, der bruger en suEXEC -lignende konstruktion og lignende.
  • Man stoler på maskinens administratorer og kender deres brugerpolitik. Dette er sandsynligvis for værter i et fælles sikkerhedsdomæne, f.eks. Inden for en enkelt organisation.
  • Man stoler på, at maskinen er den maskine, den påstår at være, og kender den maskine. Dette er kun let arrangeret for værter på et lokalnetværk eller virtuelt netværk, hvor alle værter på netværket er tillid til, og nye værter ikke let kan tilføjes på grund af fysisk beskyttelse. På fjerntliggende og normale lokale netværk kan falske ident -svar opnås ved ip -spoofing og, hvis DNS bruges, ved alle former for DNS -trick. Ident -dæmonen kan give kryptografisk signerede svar, som, hvis de kan bekræftes, løser disse sidste, men ikke de første, bekymringer.
  • Der findes ingen mellemliggende hindringer for at oprette forbindelse til identd, f.eks. Firewall, NAT eller proxy (f.eks. Hvis du brugte ident med Apache httpd). Disse er almindelige forekomster, når du går mellem sikkerhedsdomæner (som med offentlige HTTP- eller FTP -servere).

Sikkerhed

Ident -protokollen betragtes som farlig, fordi den giver crackere mulighed for at få en liste over brugernavne på et computersystem, som senere kan bruges til angreb. En generelt accepteret løsning på dette er at oprette en generisk/genereret identifikator, returnere nodeinformation eller endda gibberish (fra forespørgernes synspunkt) frem for brugernavne. Denne gibberish kan blive forvandlet til rigtige brugernavne af ident -administratoren, når han eller hun kontaktes om mulig misbrug, hvilket betyder, at nytten til at spore misbrug bevares.

Anvendelser

Ident er vigtig på IRC, da et stort antal mennesker opretter forbindelse til IRC fra en server, der deles af flere brugere, ofte ved hjælp af en bouncer . Uden Ident ville der ikke være nogen måde at forbyde en enkelt bruger uden at forbyde hele værten. Serveradministratoren kan også bruge disse oplysninger til at identificere den misbrugende bruger.

På de fleste IRC -netværk, når serveren ikke får et Ident -svar, falder det tilbage til brugernavnet givet af klienten, men markerer det som "ikke verificeret", normalt ved at prefiks med en tilde; f.eks. ~ josh . Nogle IRC -servere går endda så langt som til at blokere klienter uden ident svar, hovedårsagen er, at det gør det meget sværere at oprette forbindelse via en " åben proxy " eller et system, hvor du har kompromitteret en enkelt konto i en eller anden form, men ikke har root (på Unix-lignende systemer kan kun root lytte efter netværksforbindelser på porte under 1024).

Ident giver imidlertid ingen yderligere godkendelse, når brugeren opretter forbindelse direkte fra sin personlige computer, som de også har privilegier til at styre Ident -dæmonen.

Software

Se også

Referencer

Yderligere læsning