This blog post has been in the offing ever since I read "Why is it so difficult to add two-factor authentication to online applications?" a couple of months ago. First, this should not be an issue. Most CMS systems and application frameworks support HTTP authentication and adding two-factor authentication to Apache (for example) is quite simple.
That being said, you often need more than just authentication in your web application. We know this because have customers that use WiKID in a multi-tenant, hosted application (yes, CLOUD!). To support their needs, we created an API that allows for token registration/user validation, pre-registration, user management, etc. While the Java version that comes with the server is always the latest, we have released the API in various languages including Python, PHP, Ruby and C#/.net so that programmers can easily add two-factor authentication to their applications. These packages all work with the open-source Community Edition and are LGPL licensed.
We recently also published the wAuth protocol to further educated developers on how to add two-factor authentication to their applications, facilitate the submission of wClient packages from the community and to encourage peer review. We're hoping more developers will contribute wClient packages based on the protocol.
So, we've had free and open-source two-factor authentication packages available for some time to developers to add to their applications. Perhaps this is why I am so (not) surprised to learn that the Comodo attack was the result of a compromised username and static password.
I don't know what else to do. Here it is. It is free. Make it happen.