Recently I've been working to secure the web systems I'm working with to finally release trough the internet some services I prepared.
Discussing about web applications on the internet I'm obviously referring to HTTPS/SSL security.
There's a number of systems involved but I can summerize in this way:
- Website (on Websphere 6.1)
- E-Commerce
- Portal
- Connections
- Quickr
- Sametime
- Other services built with domino/php/websphere
So I'm looking forward to HTTPS protect at least 7 hostnames (but in reality more) and here I find some issues.
I could use the great PKI (Public Key Infrastructure) available in Domino Server to genereate all my SSL Certificates or go buying certificates trough a "serious" provider as Verisign/Geotrust or others.
In both cases there are advantages and limitations to keep in mind:
Solution 1: Domino based using the Domino PKI
Advantages | Limitations |
|
|
Solution 2: I by certificates from a security provider
Advantages | Limitations |
|
|
So we've plenty of options, on on side I could save money, get security but have to manage and explain to the user how to avoid security wanrings by trusting my certificates (this becomes really soon a nightmare and in some companies users are not even allowed to add certificates to their trust stores). On the other side I get all the simplifications but it costs more money.
Also it's important to understand that "real security" requires everything to be protected. It could be easier to protect only the main services but... If I allow "plain/unencrypted" authentication to a less important system I've just created a security hole, this means anybody listening on my "unsecured" login page could gain access to all the other services by stealing my password. This would simply make all my work useless.
Obviously we want a win-win situation, trusted certificates for any number of hostnames at a reasonable cost.
I looked into the topic and found out this solution (maybe you already knew this, let me know your experience).
HTTPS certificates are identified by a DN (distinguished name) with a format that's similar to the following:
CN=hostname,OU=organization unit,O=organization,C=country
The hostname identifies the protected website (in fact if you access an https website that doesn't match it's certificate you get a warning message to notify something is not secure as it should be).
And here's the trick, in the DN we can use wildcards, for instance
CN=*.vistalli.it,OU=labs,O=vistalli.it,C=IT
With a certificate created in this way I'll be able to protect ANY hostname of the vistalli.it domain thus reducing the number of certificates I need to create or to buy.
Summarizing I'll be buyng wildcard certificates to protect ALL my servers doing authentication and getting all the advantages:
- Limited cost (for instance a widlcard certificate costs $ 199 per year on rapidSSL , an expense you can definitely afford).
- Maximum flexybility, with a single certificate I protect any number of hosts and any kind of server like domino / apache / IHS / websphere / LDAPS etc.
- Maxiumun simplicity for users, certificates are trusted and I don't need to go over to any users and install my root certificate.
This said... good securing to everybody... do it before it's too late.
Ciao,
Daniele
Comments (3)
Daniele Vistalli March 9th, 2008 08:56:18