Guidelines on Securing Public Web Servers
    
Communication Encryption
   SSL/TLS can encrypt most of the information being 
transmitted between a Web browser (client) and a Web server or even between two 
Web servers.  With an appropriate encryption algorithm SSL/TLS provides a high 
degree of confidentiality.  In addition, all data sent over an encrypted SSL/TLS 
connection is protected with a mechanism for detecting tampering   that is, for 
automatically determining whether the data has been altered in transit.   
7.5.2  Weaknesses of SSL/TLS 
Several limitations are inherent with SSL/TLS.  Packets are encrypted at the TCP layer so IP 
layer information is not encrypted.  Although this protects the Web data being transmitted, a 
person monitoring communications of an SSL/TLS session can determine both the sender and 
receiver via the unencrypted IP address information.  In addition, SSL/TLS protects only data 
while it is being transmitted.  It is not encrypted when stored at either end point.  Thus, the data 
is still vulnerable while in storage (e.g., a credit card database) unless additional safeguards are 
taken at the end points.   
SSL/TLS are also vulnerable to the  man in the middle  attack.  This occurs when a malicious 
entity intercepts all communication between the Web client and the Web server with which the 
client is attempting to communicate via SSL/TLS.  The attacker intercepts the legitimate keys 
that are passed back and forth during the SSL/TLS handshake (see Section 7.5.3), substitutes 
the attacker's keys making it appear to the Web client that the attacker is the Web server and to 
the Web server that the attacker is the Web client [SSL98].  
The encrypted information exchanged at the beginning of the SSL/TLS handshake is actually 
encrypted with the malicious entity's public key or private key, rather than the Web client's or 
Web server's real keys.  The attacker program ends up establishing one set of session keys for 
use with the real Web server, and a different set of session keys for use with the Web client.  
This allows the attacker program not only to read all the data that flows between the Web 
client and the real Web server, but also to change the data without being detected.  Therefore, it 
is extremely important for Web users to be educated in the dangers of this type of attack and 
that they be taught to confirm a certificate before relying on the security of an SSL/TLS 
session.
27
  This threat can be mitigated if clients rely upon server certificates issued by trusted 
CAs, or self signed certificates obtained by secure mechanisms.  Presentation of a self signed 
certificate may be an indication that a man in the middle attack is underway.  Recent browsers 
perform some checks automatically but cannot be relied upon in all instances.   
7.5.3  Example SSL/TLS Session 
The SSL/TLS protocols use a combination of public key and symmetric key encryption.  
Symmetric key encryption is much faster than public key encryption, while public key 
encryption
is better suited to provide authentication and establish symmetric keys. An 
SSL/TLS session always begins with an exchange of messages called the SSL/TLS 
handshake.  The handshake allows the server to authenticate itself to the client using public 
key techniques; this allows the client and the server to cooperate in the creation of symmetric 
                                                   
27
 To check a certificate when using Microsoft Explorer, click on the yellow padlock icon in the lower right hand 
corner (this icon will only appear when accessing a SSL/TLS protected resource).  To check a certificate when using 
Netscape, click on the padlock icon in the lower right hand corner (this icon will only appear when accessing a 
SSL/TLS protected resource).   
55




Unlimited Web Hosting




TotalRoute.net Business web hosting division of Vision Web Hosting Inc. All rights reserved.