AWS Multi-Factor Authentication (MFA):
http://aws.amazon.com/iam/details/mfa/
AWS Identity Access and Management (IAM):
http://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPract...
Managing your AWS API Keys:
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSG...
Go a step further with your AWS API keys and use AWS' API access logging (CloudTrail):
http://aws.amazon.com/cloudtrail/
Don't get burned. Check your stuff out.
It was an old API access key that got leaked, not our account credentials. We're still investigating how and where the key got leaked, but bottom line, it should have been revoked ages ago.
2FA is great, but it doesn't cover API keys. Rotate your API keys!
Have they been complacent (easy password to guess, keys easy to be compromised (maybe in a public github repo)), or could there be some whole in the AWS secutiy model?
This happens constantly, and it's almost always through lack of best practices (as mentioned in higher up comment - IAM, MFA, etc.).
We're back up.