Securing your apache server:
Stephen Dawes
sdawes at gov.calgary.ab.ca
Wed May 9 15:38:13 EDT 2001
Here is an article that some of you may be interested.
The Thawte Guide to
Securing Your Apache Web Server with a Thawte Digital Certificate
Contents
Overview
Research
System requirements
Generate your private key
Generate your Certificate Signing Request
Using a test certificate
Request a "trusted" certificate
Download your certificate
Install your certificate
Securing virtual hosts
Useful URLs
What role does Thawte play?
Conclusion
Contact Thawte
1. Overview
In this document you'll find out how to purchase, install and use a Thawte
SSL digital certificate on your Apache web server. We will also touch on the
role of Thawte as a trusted third party.
2. Research
The latest Web Server Survey released by
E-Soft
reveals that the most popular web server in use today is the Apache Server.
Apache serves over 58% of the market. Trailing the Apache server are the
Microsoft,
Netscape, WebSite, 4D WebSTAR Server Suite, and Zeus web servers. For more
detailed information on this survey please see:
http://www.securityspace.com/s_survey/data/index.html
Thawte SSL certificates and SuperCerts are compatible with all of the above
servers.
3. System requirements
Before you can install an SSL certificate on your Apache web server you must
have installed the required SSL components. You will need to install
OpenSSL,
as well as either ModSSL or Apache-SSL. OpenSSL and its libraries provide
the SSL back-end, while ModSSL or Apache-SSL provide the interface between
Apache
and OpenSSL. ModSSL and Apache-SSL are fairly similar. Thawte makes no
recommendation between the two, and it's up to you which one you choose.
Apache users should find the following web sites useful:
Apache is available at
www.apache.org
ModSSL is available at
www.modssl.org
Apache-SSL is available at
www.apache-ssl.org
OpenSSL is available at
www.openssl.org
4. Generate your Private Key
Use the "openssl" binary to generate your private key. This key will be kept
on your web server so you may want to encrypt it. If you encrypt it, you
should
be aware that you will have to type in the pass-phrase for that key every
time you restart your secure server. The private key can be generated with
or
without cryptographic protection as follows:
With encryption: "openssl genrsa -des3 -rand /dev/urandom -out
www.domain.com.key 1024"
Without encryption: "openssl genrsa -rand /dev/urandom -out
www.domain.com.key 1024"
If you get stuck or need further options, please go to: "openssl
genrsa-help"
5. Generate your Certificate Signing Request
You'll need to send Thawte a CSR (Certificate Signing Request) before your
certificate can be issued. To generate the CSR, use "openssl" and your
private
key as follows:
"openssl req-new-key www.domain.com.key-out
www.domain.com.csr".
This step creates a CSR that has the same "modulus" as the private key.
6. Using a test certificate
To familiarize yourself with the workings of a Thawte certificate on an
Apache Server, you can set up a test certificate on your server using a
self-signed
certificate or a Thawte test certificate:
6.1. Self-signed test certificate
If you use a self-signed test certificate, your CSR will be signed by your
own private key as follows: "openssl req -x509 -key www.domain.com.key -in
www.domain.com.csr-out
www.xxx.com.crt"
6.2. Thawte test certificate
You can get a Thawte test certificate online from Thawte at:
https://www.thawte.com/cgi/server/test.exe.
Test certificates are intended for you to test your server configuration
before you buy a "trusted" certificate from a CA (Certificate Authority).
Paste in your CSR (Certificate Signing Request) into the test certificate
request.Within minutes, you should receive an "un-trusted" test certificate
via
mail. Save the test certificate to a file called "www.domain.com.crt". You
can get your browser to "trust" that test certificate by clicking on
http://www.thawte.com/servertest.crt
and installing the Test Certificate CA root.
Before you can use the test certificate you will have to configure your
Apache web server properly. To do this, edit the "httpd.conf" file so that
the web
server points to the private key and test certificate. To do this, you will
use the "SSLCertificateKeyFile" and "SSLCertificateFile" directives. Enable
SSL and make sure that the server is listening on port 443 with the "Listen
443" directive. Once you have done this, you can restart your server and
connect
to it on
https://www.domain.com/
7. Request a "trusted" certificate
Thawte SSL certificates and SuperCerts are requested online from Thawte.
During the certificate request process, you will be asked to copy and paste
your
CSR (Certificate Signing Request) into a text area on the online enrollment
form. Please ensure that you are submitting the correct CSR, if you have
generated
more than one (you can check your CSR as follows: "openssl req-text-noout-in
csrfilename.csr".
You will have to provide all the requested information during the enrollment
process, and send us documentation proving your, or your company's, identity
(a company registration certificate for instance). You can view detailed
instructions for obtaining a Thawte SSL certificate at:
https://www.thawte.com/certs/server/request.html
The enrollment process for SuperCerts is the same as for SSL certificates.
During the process you will just need to check the box that indicates that
you
would like a SuperCert. You will also have to generate a 1024-bit key, and
make sure your Apache Server is 128-bit enabled.
Once you have completed the online request process, Thawte will take a
number of steps to verify your identity and the other details you provided
in the
CSR. Thawte performs a considerable amount of background checking before it
issues the certificate. As a result, it could take a few days to verify your
company identity and details, and issue the certificate. During that period,
you can track the progress of your request on your personal status page at
http://www.thawte.com/cgi/server/status.exe
SuperCerts are SSL certificates that allow "international" browsers to
"step-up" to 128-bit encryption. Internet Explorer 5.01, Netscape
Communicator 4.7
and later browsers recognize Thawte's SuperCerts. 128-bit encryption is
regarded as being impossible to "crack". For more information on SuperCerts
please
see
http://www.thawte.com/certs/server/128bit/contents.html
8. Download your certificate
Once the certificate has been issued, you will be able to download it from
your status page by clicking on the "Fetch Certificate" button (which only
appears
once the certificate has been issued).
9. Install your certificate
Once the certificate has been issued, you can install it by simply copying
it and pasting it into a file on your server. The certificate is stored in
Thawte's
database indefinitely, and can be downloaded again at any stage. For
consistency, you should probably save it to a file called "
www.domain.com.crt".
If you generated a self-signed certificate or requested a test certificate
earlier in the process and you configured your web server to use that
test/self-signed
certificate, then you do not need to make any changes to your configuration
file. You can simply copy the real ("trusted") certificate file over the
test/self-signed
certificate.
If you did not configure your server to look for the self-signed test
certificate, then you'll need to update your "httpd.conf" file to look for
the new
certificate. Open the "httpd.conf" configuration file and make sure that you
have the "SSLCertificateFile" and "SSLCertificateKeyFile" directives
associated
with the correct file paths. For example, if you have your certificate in
the "/usr/local/ssl/certs/" directory and your private key in the
"/usr/local/ssl/private/"
directory, then you will have the following in your httpd.conf file:
SSLCertificateFile /usr/local/ssl/certs/www.domain.com.crt
SSLCertificateKeyFile /usr/local/ssl/private/www.domain.com.key
You will also need to make sure your Apache Server is listening on port 443
and "switch on" SSL with the "SSLEngine on" or SSLEnable directives in
ModSSL
or Apache-SSL respectively.
10. Securing virtual hosts
If you have secure virtual hosts, each will need its own IP, as SSL does not
support name-based virtual hosts.
11. Useful URLs
Common problems experienced with Apache are dealt with in our FAQs:
http://www.thawte.com/support/server/apachessl.html
You'll find a key generation guide for Apache at:
http://www.thawte.com/certs/server/keygen/apachessl.html
The certificate enrollment process for SSL and SuperCerts begins at:
https://www.thawte.com/certs/server/request.html
How to generate a test certificate:
https://www.thawte.com/cgi/server/test.exe
Installing the test certificate CA root into your browser:
http://www.thawte.com/servertest.crt
12. What role does Thawte play?
Thawte Consulting issues server certificates to organizations and
individuals worldwide. Thawte verifies that the company ordering the
certificate is a
registered organization and that the person in the company who orders the
certificate is authorized to do so.
Thawte also checks that the company in question owns the relevant domain.
Thawte digital certificates interoperate smoothly with Apache and the latest
software
from Microsoft and Netscape, so you can rest assured that your purchase of a
Thawte Server Certificate will give your customers confidence in your system
and integrity; they will feel secure about transacting with you online.
13. Conclusion
Apache web servers, together with Apache-SSLor ModSSL provide an excellent
platform on which to base an e-commerce website, and Thawte certificates
provide
the necessary security.
14. Contact
Thawte
server/contents
guides/try
guides/pdf
© Thawte Consulting 2001,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: winmail.dat
Type: application/ms-tnef
Size: 6076 bytes
Desc: not available
URL: <http://linux-speakup.org/pipermail/speakup/attachments/20010509/2c5a8767/attachment.bin>
More information about the Speakup
mailing list