route[TRAFFIC_FILTER]
|
|
{
|
|
# allow request from internal network or from whitelist
|
|
if (isflagset(FLAG_TRUSTED_SOURCE)) {
|
|
return;
|
|
}
|
|
|
|
# drop requests with no To domain or IP To domain (friendly-scanner)
|
|
if (is_method("REGISTER|SUBSCRIBE") {
|
|
route(FILTER_TO_DOMAIN);
|
|
route(FILTER_FROM_DOMAIN);
|
|
}
|
|
|
|
# drop Invite with IP auth realm
|
|
if (is_method("INVITE") {
|
|
route(FILTER_REQUEST_DOMAIN);
|
|
route(FILTER_AUTHORIZATION_DOMAIN);
|
|
}
|
|
}
|
|
|
|
route[FILTER_REQUEST_DOMAIN]
|
|
{
|
|
if ($rd =~ "[0-9]{1,3}\.[0-9]{1,3}.[0-9]{1,3}\.[0-9]{1,3}") {
|
|
xlog("L_WARN", "$ci|end|dropping $rm request with IP domain");
|
|
drop();
|
|
exit();
|
|
}
|
|
}
|
|
|
|
route[FILTER_AUTHORIZATION_DOMAIN]
|
|
{
|
|
if (is_present_hf("Proxy-Authorization") &&
|
|
$ar =~ "[0-9]{1,3}\.[0-9]{1,3}.[0-9]{1,3}\.[0-9]{1,3}" ) {
|
|
xlog("L_WARN", "$ci|log|dropping request with IP domain in Proxy-Authorization header");
|
|
drop();
|
|
exit;
|
|
}
|
|
}
|
|
|
|
route[FILTER_TO_DOMAIN]
|
|
{
|
|
if ($fd =~ "([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})") {
|
|
xlog("L_WARN", "$ci|end|dropping request with IP domain in From header");
|
|
drop();
|
|
exit;
|
|
}
|
|
}
|
|
|
|
route[FILTER_FROM_DOMAIN]
|
|
{
|
|
if ($td =~ "([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})") {
|
|
xlog("L_WARN", "$ci|end|dropping request with IP domain in To header");
|
|
drop();
|
|
exit;
|
|
}
|
|
}
|
|
|