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!!
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).
He ahí el problema.
Por esa razón tengo ya decidido (salvo que me iluminéis) rutar TODAS las
llamadas outbound a otro proxy, así al menos en el caso anterior el INVITE
llegaría desde una IP distinta del proxy de mis usuarios, por lo que no
habría nat_pinging ni nada y no atravesaría NAT. Y también podría haber una
regla de firewall que sólo permitiese tráfico SIP desde el proxy.
Saludos.
--
Iñaki Baz Castillo