Iñaki Baz Castillo schrieb:
> On Thursday 17 January 2008 09:14:35 Klaus Darilion wrote:
> 
>> SIP is by design buggy: The SIP protocol tells us to save the contact 
>> during REGISTER and to use this contact for incoming calls to the 
>> respective user. But the contact is user provided
> 
> I understant what you mean, but sincerely, I can't imagine how a registrar 
> could validate user provided "Contact". Yes, it can forbid some IP's or 
> domains (see comment below anyway) but how a registrar can know that 
> the "Contact" header belongs or not to the device sending the REGISTER?

Yes. You can not validate every IP address - but you can deny known fake 
IP addresses (the IP addresses of internal components).

Further, you could use fix_nated_register for each clients (which of 
course breaks communication with asymmetric clients (Cisco phones+pix) 
but this is spoofable (unless src_IP will be used for nonce calculation.)

klaus

> 
> Another design option wolud be use internal and trusted data for the 
> "Contact" 
> isntead of user provided, but how does it make sense?
> 
> The only solution I see could be forzing a convention for the "Contact" URI:
> 
>   AoR = [EMAIL PROTECTED]  -->  Contact = [EMAIL PROTECTED]
> 
> So if the registrar receives a REGISTER for AoR "[EMAIL PROTECTED]" 
> containing 
> a "Contact" different that "[EMAIL PROTECTED]" it should reject it.
> 
> A convention with just username part:
>   AoR = [EMAIL PROTECTED]  -->  Contact = [EMAIL PROTECTED]
> wouldn't be so strong since it doesn't avoid flood in case of multidomain.
> 
> 
> But of course, forcing this convention should be done at RFC3261 (IMHO).
> 
> 
> 
> 
>> Further, I also screen the contact during registration (actually with
>> openser's blacklist feature this is not really needed anymore - but
>> often you have system with older openser versions and you might not
>> update) using the permissions module and forbid IP addresses of internal
>> components, the proxy itself and optional also domains.
> 
> In this point, remember that forbiding some IP addresses in "register.deny" 
> is 
> not useful at all since a malicious user can set a public domain pointing to 
> that internal IP and set a "Contact: <sip:[EMAIL PROTECTED]>".
> 
> As you said, a solution is forbidding domain names in "Contact" (but not very 
> RFC3261 compliant).
> 
> The best is reading the thread you pointed i nwhich you and others gave very 
> good solutions and explanations for this serious problem.
> 
> 
> Regards.
> 
> 
> 

_______________________________________________
Users mailing list
Users@lists.openser.org
http://lists.openser.org/cgi-bin/mailman/listinfo/users

Reply via email to