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

WAF issues after updating to 9.709-3

Hi,

anyone else noticed that after updating to 9.709-3 Exchange Web Services is not working anymore? We get HTTP Error 500 when connecting to EWS published trhrough WAF. Also, the virtual server changes to orange when this error occurs. Accessing EWS through the browser shows the service page after authentication, but when interacting with EWS by using the Exchange Remote Connectivity Analyzer or EWS Editor generates the HTTP 500 error and the WAF rule turns orange.

When directly connecting to EWS and bypassing UTM works fine and we can interact with EWS.

Before the update everything worked fine.

Franc.



This thread was automatically locked due to age.

Top Replies

  • It's related to the handling of the '100 Continue' message in the HTTP protocol. This message is sent by a Server after receiving the headers for a request to indicate that it is ready to receive the body of the request from the client - it allows a server to check the headers and potentially reject the request before the client unecessarily sends all the data. Normally, the client would send an additional "Expect:" header to indicate that it is going to wait for the server to send this message before it sends the request body.

    The recent update to Apache changed how this process is handled by the proxy, in a way that didn't work well with Exchange.

    The old behaviour was that the proxy would itself respond to the client with a '100 Continue' and would not wait for the server to do so. The new behaviour of Apache forwards the "Expect:" header to the server and waits for the server to respond with 100 Continue before passing the "100 Continue" to the client. This change defends against potential issues where a client could send a very large request, which the WAF proxy would have to buffer until the server is ready for it.

    The change should be fine for servers that respond to 'Expect' headers and use 100 Continue strictly according to the HTTP specification, but it seems that Exchange does not.

    Changing the configuration option as specified reverts this behaviour so that the proxy itself responds with a "100 Continue" message instead of waiting for the Server to do so. The risk of this behaviour is that the proxy has to buffer the entire body of the request before the server is ready to receive it. This shouldn't be a problem in most situations because request bodies are usually quite small.

    Jump to answer
Parents Reply
  • Guys, this is getting a bit out of hand. I can sort of understand taking a long time to fix an issue after acknowledging it requires fixing. I get that. But your communication is honestly abysmal, and we're not even there yet; I haven't even gotten a clear "yeah, sorry, it's an issue with the UTM itself, we'll fix it" or anything of the sort.

    Last week someone finally replied to my email and suggested another session to capture packets, asking to provide some time frames. I replied with some time frames. This was last week and my reply is still unread.

    Next week I'll be unavailable completely - I should feel guilty, but honestly this is dragging on for so long I'm starting to not care and I'm honestly thinking about switching to another service (since our license is probably running out in a month or so). We have one of the smallest UTM units, so there shouldn't be any "sunken cost" fallacy / issue...

    I WOULD switch to XG if that thing had the same feature set. It's very confusing, but I'd switch. And the feature it lacks is built-in Let's Encrypt support...

Children
  • Well, why do they need another packet capture? They have the ones from us already while clearly reproducing the issue. They saw it themselves.

  • Given everything else about this case? To stall as much as possible... Waste as much time setting up the capture session and afterwards they could have an excuse to waste more time analysing what they have. But, hey, that's just the annoyed cynic in me talking.

    Supposedly the packets already captured were on the firewall itself and that isn't enough, and they want to capture the packets from the client as well.