Hello,
Although it seems like this is a WHMCS issue, I'm about half done implementing a new password system that would allow any DA account to accept multiple passwords:
http://www.directadmin.com/features.php?id=1298
The beauty of this system is that the "extra" passwords on the account can have limitations, if you so chose:
- expiry date
- max number of uses
- limited set of allowed/deny commands (same system as commands.allow and commands.deny)
- password can be set to only be allowed to work from a specific IP.
The main password would be unaffected, but you wouldn't be using it in scripts anyway. You'd use one of the limited passwords.
This will be handy, because you can throw one of these special passwords into WHMCS instead of your main one, and if WHMCS ends up giving out your password, it will be much more difficult for the attacker to do anything with it (assuming he's not accessing DA from the same box as WHMCS, as the IP check would then be void)
Other handy things that are already in place to help with that sort of thing:
1) The login_pre.sh can filter login attempts, in this case, do it on IPs if logging in as admin:
http://www.directadmin.com/features.php?id=1223
2) Create a 2nd admin account for WHMCS (eg: admin2), use the login_pre.sh, but also use the commands.allow to only allow the commands WHMCS needs (not sure what that list is)
http://www.directadmin.com/features.php?id=1171
3) More, related to controlling connections:
http://help.directadmin.com/item.php?id=150
4) Although this is a bit off topic, always ensure you've got a brute force login detection system, as that's another popular way for attackers to walk into your box:
http://help.directadmin.com/item.php?id=404
Hope this helps!
John