fiaasco / fiaas

Fiaas "full install as a service" Ansible playbooks and roles
MIT License
23 stars 3 forks source link

Grave security issue with random user accounts created by default #2

Closed drybjed closed 8 years ago

drybjed commented 8 years ago

The 'users' role contains by default a list of random user accounts with allowed IP addresses and even SSH keys. I assume that these are accounts of the project authors. The role will even grants passwordless sudo access for these accounts and whitelists specified IP addresses in fail2ban. This will most likely happen on all installations that use this playbook, unless the systemusers variable is redefined by the user.

There's no mention of this variable in the example inventories provided with the playbook, nor in the README. This means that all hosts managed by this playbook are backdoored by default for the project authors. This is unacceptable.

Please remove the specified accounts from the default role configuration and instead provide information about how to configure them through Ansible inventory, separately from the code executed by Ansible.

stroobl commented 8 years ago

I missed that defaults file while reviewing before we pushed to Github. It's removed now. Thanks for the heads up.

There's obviously some documentation work to do, but we just got started publishing this, so please be patient. Suggestions and pull requests are always welcomed. :)

ypid commented 8 years ago

@stroobl One does not simply hardcode default users …

Ansible has an inventory for that. So that you can separate role defaults and environment settings.

Just checking, are you aware of @DebOps?

stroobl commented 8 years ago

This project has 2 years of history /before/ it was published on Github, so I'm sorry for that. You're absolutely right that the users should not be included there. But I guess you also know it's easy to move the definition to the inventory, so we'll fix that.

I didn't know DebOps. I'll check it out.

stroobl commented 8 years ago

Systemusers example included in Vagrant inventory.