This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Are Advanced Reverse Proxy Options Possible

I am trying to setup a reverse proxy for our phone system (ShoreTel). Not only is a reverse proxy required, but so is mod_rewrite. I see that the reverse-proxy HTTP configuration (/var/chroot-reverseproxy/usr/apache/conf) includes the mod_rewrite module, but is there a way to put in my own rewrites and/or virtual server definitions without having to do anything crazy (like 'chattr +i ...')?

The config I need to setup is something like this:

RewriteRule ^/theme/(.+)$ /director2/theme/$1 [P] RewriteRule ^/yui_2.7.0/(.+)$ /director2/yui_2.7.0/$1 [P] RewriteRule ^/js/(.+)$ /director2/js/$1 [P]
ProxyPass /authenticate/ http://10.0.0.1/ ProxyPassReverse /authenticate/ http://10.0.0.1/
ProxyPass /cas/ http://10.0.0.1:5447/ ProxyPassReverse /cas/ http://10.0.0.1:5447/
ProxyPass /director2/ http://10.0.0.1:5449/ ProxyPassReverse /director2/ http://10.0.0.1:5449/

Without this, the redirects the system uses end up trying to redirect back to the private IP and that's not going to work.

Thanks!

Tim


This thread was automatically locked due to age.
  • You should probably put this in at Astaro Gateway Feature Requests

    Meanwhile, can you put the shoretel in a DMZ with a routable IP address?

    Barry
  • I can, but I think the redirect will still cause problems, plus they don't recommend it. I assume because they don't want to expose sensitive URLs to the outside world (such as the administrative section)
  • Here is the feature request in case anyone wants to check it out!
  • You wouldn't be exposing your shoretel to anything that you shouldn't, as long as you use granular packet filter rules.  Astaro uses a default deny firewall.  Unless you create a rule(s) to pass packets, they don't get through.
    __________________
    ACE v8/SCA v9.3

    ...still have a v5 install disk in a box somewhere.

    http://xkcd.com
    http://www.tedgoff.com/mb
    http://www.projectcartoon.com/cartoon/1
  • This would need to be a URL filter, as in:

    Allow these:
    http://domain.com/my/url
    http://domain.com/my/other/url

    But not these:
    http://domain.com/not/this/one
    http://domain.com/not/that/one

    They otherwise all go to port 80. ShoreTel actually uses a few ports for various things but simply allowing port 80 would still expose sensitive elements. We cannot use granular source filtering because the features would be to use the web-interface for telecommuting plus the iPhone app.

    The only solution I have found for URL filtering was the current reverse proxy solution in Astaro. It would work great except for those pesky redirects which need to be handled as special cases that I was unable to figure out how to setup in Astaro as it is now.

    Is there perhaps another way to do this that I am not seeing or understanding?

    Thanks very much for the help!
  • I'm wondering if it would be possible to leverage the URL Hardening Entry URL's feature to achieve blocking the sites that you don't want to be accessible.  I don't have the ability to test this with my current setup, but theoretically:  Can create a real web server entry pointing to an unused IP, create a firewall profile with URL Hardening and the two URLs you don't want as the entry points, then create the virtual web server utilizing that firewall profile and pointing to the nonexistent real web server.  IF (big If) it works, it could act as a blackhole mechanism for those URLs.  Or I could just be completely misunderstanding how this would work in WAF, since my utilization of WAF has been extremely limited.
    __________________
    ACE v8/SCA v9.3

    ...still have a v5 install disk in a box somewhere.

    http://xkcd.com
    http://www.tedgoff.com/mb
    http://www.projectcartoon.com/cartoon/1
  • Yeah I thought about too. The filtering works but the problem is having to solve for the port-redirects. ShoreTel is weird in that a login session jumps across from port 80 to other ports (5449) during the login process, and I assume for other random things within the system. Not sure why the opted to go that route, but the problem there was I could not put in multiple port settings into the WAP or specify how to handle them.

    Basically, if Astaro would allow including config files (in the web-interface or otherwise) into various configs, that would totally solve the problem. That way I can just including my own mod_rewrite definitions. I can do that now, but not without Astaro overwriting them (and without possibly nullifying our support contract, so that's bad juju [:)] )