El Wednesday 24 October 2007 15:45:08 Iñaki Baz Castillo escribió:
El Miércoles, 24 de Octubre de 2007, Jesus Rodriguez
escribió:
- Pero si
por alguna llamada anterior se conoce el "Contact" final del
usuario_B@dom_B (ej: sip:usuario_B@80.80.80.80:5061) entonces el
usuario_A@dom_A puede llamar **directamente** a usuario_B@dom_B sin
pasar por
la política de seguridad de mi OpenSer sólo con tener predefinido
su OpenSer
como Outbound proxy y llamar directamente a
sip:usuario_B@80.80.80.80:5061
No entiendo esto... ¿porqué no pasa por las políticas de seguridad
que tengas definidas?.
Bien, la sección "outbound" está antes de la "inbound" y en ella
simplemente compruebo si el llamante es "mío" y si es así le pido auth y
suto la llamada directamente (t_relay) y aplico RtpProxy y corrección de
NAT.
Y luego viene la sección inbound donde, en función del dominio del RURI se
aplica la política de seguridad, que viene a ser el tema que hice [1] de
ACL's pero ahora mucho más "poderoso" (comparo fechas, horarios, IP's
de
origen, expresiones regulares, si es un forwarding o no...).
[1]
http://blog.aliax.net/2007/08/openser-acls-multidominio.html
Es decir, recalco que la política de seguridad es en función del dominio y
sólo se aplica para llamadas a usuarios de mis dominios.
Pero si un usuario de uno de mis dominios (dom_A) conoce (por una llamada
previa) el Contact exacto de otro usuario mío de un dominio distinto
(dom_B) e, insisto, completamente independiente de dom_B, entonces el
usuario puede llamar directamente a:
sip:user_B@IP_Contact_user_B
por lo que la llamada en mi OpenSer se considera outbound y puesto que la
realiza un usuario "mío" se la permito... ¡¡pero se salta toda la política
de seguridad!!
Umm, o yo me le liado siguiendo el hilo o no tiene sentido lo que comentas.
Aunque el usuario A conozca el contact del B, no le puede mandar un Invite
usando de outbound proxy, SI y siempre SI, tu compruebas que no es un dialogo
en curso.
Aunque te pongan como outbound proxy, A ha de enviar un Invite a B y lo hará a
través de tu proxy, otra cosa distinta es que intente enviarlo directamente
de A a B, entonces no puedes hacer nada.
Además resulta que como dicho INVITE llegará desde el
OpenSer el user_B lo
aceptará de todas todas (ni siquiera hay una mínima protección de NAT o
firewall posible).
Creo que te has liado, el INVITE no llegará a B, porque desde que A te lo
mande pasará por todas tus reglas, a no ser que el orden de las reglas esté
mal.
--
Saludos.
Raúl Alexis Betancor Santana
Dimensión Virtual S.L.