April 7, 2011, 8:11 a.m.
posted by superj
Secure Communication Channel
By providing layers of defense, authentication and authorization play critical roles in securing any environment. It is equally important to ensure integrity and confidentiality of information as it is propagated through data networks. Part of hardening the security of an enterprise environment is to ensure that all communication between the servers is over a secure communication channel. It is typical to use SSL when communication is over TCP.
1 HTTP Connections
When they connect to WASs behind the firewalls, Web servers typically use HTTP to route the requests. To ensure confidentiality and integrity, SSL is used. The resulting protocol is HTTPS. If such connections are long-lived and the SSL sessions are not frequently torn down, the SSL handshake overhead is minimal. Of course, encryption and decryption of every request has its own performance effect, but it should be considered in the context of the time the application takes to execute in the WAS and the payload size itself. For example, for an application that takes a long time to run, the time spent in encryption and decryption may be negligible. This should be combined with the fact that the time it takes to perform encryption and decryption is proportional to the size of the content.
2 IIOP Connections
If the enterprise beans are distributed across a set of WASs, it is also important to secure the communication between the WASs. These request invocations are performed as RMI-IIOP requests, so the communication can be secured by establishing an SSL session between the servers. Because enterprise beans are hosted within ORBs, the security context must be established between the ORBs. This can be enforced through the use of CSIv2, whereby ORB connections are handled per security requirements of the ORBs. The CSIv2 capabilities of a J2EE WAS can be configured to ensure that all the requests are over SSL. Additional tuning can be achieved by specifying the cipher suites that are acceptable or minimally required for these IIOP communications.
3 JMS Connections
Java Message Service is increasingly being adopted to enable message-driven enterprise applications. The JMS framework allows messaging providers, such as IBM WebSphere Message Queuing (MQ), to be plugged in and used by J2EE applications. The JMS specification does not define any security functionality. The security of a messaging layer is dependent on the security capabilities of the JMS implementation. Therefore, when requests are sent over a JMS connection, care should be taken to secure the messages. For example, publishers should encrypt their messages, which should be decrypted only by trusted subscribers.
Messages sent over a JMS channel can be secured in at least two ways.
4 Connections to Non-J2EE Systems
As discussed in Section 6.2.4 on page 195, connections that are established between a J2EE environment and a back-end system are typically handled through Java connectors. The JCA deals with authentication requirements of the back-end system and expresses how credentials are passed to it from the J2EE environment. In addition, it is necessary to inspect each of the connectors and see whether the connection can be secured. This may be dependent on the capabilities of the back-end system. If connections are directly established from applications and not through the JCA framework, care should be taken to evaluate the security of such communications. For instance, a connection to a back-end LDAP directory can be configured to be over SSL.
5 Exploring Other Options
Certain protocols of communications may be proprietary to an enterprise. Such communication channels may be difficult to replace with standard protocols, such as HTTP, or to provide encryption for. In these cases, network security mechanisms, such as VPNs and IPSec, must be evaluated. Because VPNs are configured at the network layer, they do not require changes at the application layer. This may help harden the security of a computer network and meet the security requirements of an enterprise.