22.12.2012 Views

Front cover - IBM Redbooks

Front cover - IBM Redbooks

Front cover - IBM Redbooks

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

184 Lotus Security Handbook<br />

This is called client affinity or sticky sessions. It can be implemented with<br />

cookies, rules, and so forth, but usually requires a load balancer component to<br />

be placed in front of a cluster of proxy servers. An example is the Network<br />

Dispatcher module within <strong>IBM</strong> WebSphere Edge Server.<br />

The concept is simple: as long as the server is available, you get served by the<br />

same server during the session you are having. If that server becomes<br />

unavailable, you fail-over (gracefully transition) to another one.<br />

Test all possible “holes”<br />

When creating and building a new reverse proxy infrastructure, test all the paths<br />

through the infrastructure. When most reverse proxies are implemented, it is<br />

intended that only traffic passed by the reverse proxy is allowed through the<br />

firewall, and that only certain types of traffic are allowed to pass through the<br />

reverse proxy.<br />

In addition to checking that all communications you want to work do so, be sure<br />

to check that all other communications do not work. Only what is explicitly<br />

allowed should work, everything else should not work. A common problem in<br />

deployments is failing to actually “close” all the alternate and direct routes from<br />

the requesters to the back end servers.<br />

Verify what addresses are being listening at<br />

You can verify if a proxy is running, and on what ports, by checking at the proxy<br />

server if you have a process listening for the expected ports. This is also useful<br />

to verify that the proxy is not accidentally configured to listen on more IP<br />

addresses than intended.<br />

You can use the operating system command NETSTAT to check if you have a<br />

listening process for a particular port, and for what remote address.<br />

netstat -an | find "LISTEN" | find "8080"<br />

TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING<br />

If you get 0.0.0.0:8080 (or *.*:8080) in the local (first) address, as shown, it<br />

means that the proxy is listening to all the TCPIP addresses declared and<br />

enabled in the local machine. In other words, in the case of a computer which<br />

has more than one network card and IP address, the requester can connect to<br />

any of those addresses and communicate through the proxy.<br />

This is important to verify, as it is sometimes extremely important to listen to<br />

specific addresses. For example, for security reasons you may prefer to listen to<br />

127.0.0.1:xx for traffic in the same box that should only be accessed via a local<br />

reverse proxy, and not listen on the box’s external IP address.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!