Just nu i M3-nätverket
Jump to content

Ident


Cariad

Recommended Posts

Hej,

Jag håller på att leka lite med Ident, och har kommit fram med koden nedan, vilken fungerar bra, men det kanske finns ett enklarare sätt?

 

Problemet jag har är att ident inte fungerar om man sitter bakom en brandvägg (man kan ju bara öppna port 113 till en dator bakom den). Inte direkt ett PHP-problem, men någon kanske kan hjälpa mig?

 

if ($fp) {
	@fputs($fp, "23");
	while (!@feof($fp)) $ident .= @fgets ($fp, 128);
	@fclose ($fp);
	$ident = trim($ident);
	$ident = @explode(":", $ident);
	if (!$ident[3]) unset($ident);
	else $ident = trim($ident[3]);
}
Link to comment
Share on other sites

Jag kan inte hjälpa dig, men undrar lite över vad du ska använda funktionen till?

 

Som du kanske vet så är ident ett otyg som ofta brukar vara avstängt i firewalls o liknande eftersom det faktiskt kan berätta en del om den maskinen till en möjlig blackhat. Detta är omtvistat, och det finns ju faktiskt ident servrar som ger ut felaktig information oxå, men om det är en korrekt ident service så får man som minst reda på vilken användare det är som sitter bakom spakarna.

 

Du skickar 23 till ident servern, detta föreslår att det handlar om ett telnet anrop. Om man läser RFCn till ident (1413) så ser man att du måste skicka med både serverns och klientens port som används.

 

I övrigt kan jag nog inte hjälpa dig alls. Ofta finns inte ident över huvud taget, och sitter användaren bakom en firewall som inte tillhandahåller ident så är det ju kört...

 

--

Some say I am crazy.. but the Voices in my head disagree...

 

Link to comment
Share on other sites

Ja, jag hade tänkt använda det till enkel autensiering (utan inloggning), då man har IP-nummret, men ej mer.

 

Inte bästa sättet att skydda information på, men det är inte nödvändigt i detta fall.

 

Jag vet att man ska skicka "23, 23" till servern, men då uppstår ett väldigt konstigt fel.

Varje gång jag trycker på uppdatera, så får jag en extra 3:a på slutet, och detta upprepas ända tills siffran går över det tillåtna portantalet, och då får jag inte rätt svar tillbaka.

 

Jag får alltså svaren:

"23, 23 : ... : ... : ..."

"23, 233 : ... : ... : ..."

"23, 2333 : ... : ... : ..."

"23, 23333 : ... : ... : ..."

osv...

Exakt samma kod som ovan, har bara bytt ut strängen till "23, 23".

 

Link to comment
Share on other sites

Hrrmm, nu är inte jag någon expert på ident protokollet, men efter att ha kollat lite i RFCn så fick jag för mig att det är klientporten som ska skrivas tillsammans med serverporten, detta borde alltså inte bli 23, 23, utan snarare nånting i stil med 23, 6237 eller nåt.

 

Läs mer i RFCn här: http://www.ietf.org/rfc/rfc1413.txt?number=1413

 

--

Some say I am crazy.. but the Voices in my head disagree...

 

Link to comment
Share on other sites

BTW, du skriver: "Inte bästa sättet att skydda information på, men det är inte nödvändigt i detta fall."

 

Men ändå säger RFCn att du inte ska göra så ändå! :) Ett litet citat:

 

The Identification Protocol is not intended as an authorization or

access control protocol. At best, it provides some additional

auditing information with respect to TCP connections. At worst, it

can provide misleading, incorrect, or maliciously incorrect

information.

 

The use of the information returned by this protocol for other than

auditing is strongly discouraged. Specifically, using Identification

Protocol information to make access control decisions - either as the

primary method (i.e., no other checks) or as an adjunct to other

methods may result in a weakening of normal host security.

 

Bara så du vet! :)

 

Iofs kan det vara så att du vill göra en applikation som enbart ska användas i en closed environment, där du vet att alla burkar har en rättvisande ident. Men ändå...

 

--

Some say I am crazy.. but the Voices in my head disagree...

 

Link to comment
Share on other sites

Ja, det har du rätt i, men problemet kvarstår.

Jag får då hela tiden en extra 1:a på slutet.

23 , 6191 : ERROR : INVALID-PORT

23 , 61911 : ERROR : INVALID-PORT

23 , 61911 : ERROR : INVALID-PORT

...

23 , 2147483647 : ERROR : INVALID-PORT

 

Men, det var inte detta som var mitt problem, utan brandväggar... Men det är nog som du säger, man måste ha en brandvägg som har specifikt stöd för Ident.

 

Link to comment
Share on other sites

Tack för din omtanke ;), men jag är fullt medveten om hur osäkert det är.

 

Samtidigt så ser jag en del fördelar med det, i t.ex. en "closed environment" (stängd miljö?) som du säger. Man kan t.ex. få upp sin publika kalender på ett intranät eller liknande.

Eller bara förifyllt användarnamn i ett inloggningsformulär.

 

Link to comment
Share on other sites

Mm, jo det är helt sant!

 

Jag har själv funderat lite i de banorna. Det är ganska trevligt att kunna använda REMOTE_USER i en IIS miljö utan att behöva logga in på en sida (om servern kör NT inloggning eller vad det nu hette, dvs IE och IIS).

 

Men vi har som du säger glidit ifrån ämnet, nån annan som kan ge Cariad lite hjälp i frågan om firewalls? Jag tror att det jag säger är rätt, men det är väl egentligen bara min lilla åsikt/tro.

 

--

Some say I am crazy.. but the Voices in my head disagree...

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...