27.01.2014 Views

NIST 800-44 Version 2 Guidelines on Securing Public Web Servers

NIST 800-44 Version 2 Guidelines on Securing Public Web Servers

NIST 800-44 Version 2 Guidelines on Securing Public Web Servers

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

GUIDELINES ON SECURING PUBLIC WEB SERVERS<br />

presented, organizati<strong>on</strong>s that rely <strong>on</strong> self-signed certificates might instruct users to ignore such<br />

warnings.<br />

Exploiting vulnerabilities in a <strong>Web</strong> browser so that the <strong>Web</strong> site appears to be valid to an untrained<br />

user<br />

Taking advantage of a cross-site scripting vulnerability <strong>on</strong> a legitimate <strong>Web</strong> site. The <strong>Web</strong> browser<br />

will be accessing two different sites, but it will appear to the user that <strong>on</strong>ly the legitimate site is being<br />

accessed.<br />

Taking advantage of the certificate approval process to receive a valid certificate and apply it to the<br />

attacker’s own site. By using a valid certificate <strong>on</strong> what appears to be a valid site, the certificate will<br />

validate, and the user would have to somehow realize that the site being accessed is malicious.<br />

SSL spoofing attacks can occur without requiring any user interventi<strong>on</strong>. As a proof of c<strong>on</strong>cept in 2005,<br />

the Shmoo Group registered an internati<strong>on</strong>alized domain name that looked similar to a valid site when<br />

displayed in a browser. The SSL certificate matched the internati<strong>on</strong>alized domain name of the <strong>Web</strong> site,<br />

so no user warning occurred. In the address bar, the URL appeared almost identical to that of the original<br />

spoofed <strong>Web</strong> site [NVD06].<br />

Users can prevent less sophisticated attacks by c<strong>on</strong>firming the validity of a certificate 54 before relying <strong>on</strong><br />

the security of an SSL/TLS sessi<strong>on</strong> and rejecting certificates for which the browser presents warnings. 55<br />

Browsers perform some checks automatically, but they cannot be relied up<strong>on</strong> in all instances.<br />

7.5.3 Example SSL/TLS Sessi<strong>on</strong><br />

The SSL/TLS protocols use a combinati<strong>on</strong> of public key and symmetric key encrypti<strong>on</strong>. Symmetric key<br />

encrypti<strong>on</strong> is much faster than public key encrypti<strong>on</strong>, whereas public key encrypti<strong>on</strong> is better suited to<br />

provide authenticati<strong>on</strong> and establish symmetric keys. An SSL/TLS sessi<strong>on</strong> always begins with an<br />

exchange of messages called the SSL/TLS handshake. The handshake allows the server to authenticate<br />

itself to the client using public key techniques; this allows the client and the server to cooperate in the<br />

creati<strong>on</strong> of symmetric keys used for rapid encrypti<strong>on</strong>, decrypti<strong>on</strong>, and tamper detecti<strong>on</strong> during the sessi<strong>on</strong><br />

that follows. The handshake also allows the client to authenticate itself to the server.<br />

The exact programmatic details of the messages exchanged during the SSL/TLS handshake are bey<strong>on</strong>d<br />

the scope of this document. However, the basic steps involved can be summarized as follows [SSL98]:<br />

1. “The client sends the server the client’s SSL/TLS versi<strong>on</strong> number, cipher settings, randomly<br />

generated data, and other informati<strong>on</strong> the server needs to communicate with the client using<br />

SSL/TLS.”<br />

2. “The server sends the client the server’s SSL/TLS versi<strong>on</strong> number, cipher settings, randomly<br />

generated data, and other informati<strong>on</strong> the client needs to communicate with the server over<br />

SSL/TLS. The server also sends its own certificate and, if the client is requesting a server<br />

resource that requires client authenticati<strong>on</strong>, requests the client’s certificate.”<br />

54<br />

55<br />

Checking a certificate using most <strong>Web</strong> browsers involves clicking <strong>on</strong> a padlock ic<strong>on</strong> in the lower right-hand corner of the<br />

browser (this ic<strong>on</strong> will <strong>on</strong>ly appear when accessing an SSL/TLS-protected resource).<br />

When organizati<strong>on</strong>s use self-signed certificates and instruct users to accept them, it may encourage users to do so with<br />

potentially malicious certificates.<br />

7-5

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

Saved successfully!

Ooh no, something went wrong!