Added a playbook for disabling root on VPS and enabling key-based authentication
This commit is contained in:
53
fortify@vps.yml
Normal file
53
fortify@vps.yml
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
- name: Bootstrap virtual private servers
|
||||
hosts: vps
|
||||
gather_facts: yes
|
||||
vars:
|
||||
# # below is just to remind you to use '-u' instead
|
||||
# ansible_user: "{{ root_auths[0].username }}"
|
||||
# # below is just to remind you to use '--ask-pass' instead
|
||||
# ansible_password: "{{ root_auths[0].password }}"
|
||||
FAMILY: "{{ ansible_facts['os_family'] }}"
|
||||
root_disable_method: delog
|
||||
|
||||
tasks:
|
||||
- name: Create users
|
||||
include_role:
|
||||
name: bootstrap
|
||||
tasks_from: "users@{{ FAMILY }}.yml"
|
||||
defaults_from: "general.yml"
|
||||
vars:
|
||||
admins: "{{ admin_auths }}"
|
||||
guests: "{{ guest_auths }}"
|
||||
users: "{{ user_auths }}"
|
||||
register: accts_created
|
||||
tags: ['default', 'userbase_creation']
|
||||
- name: Require authorized keys for SSH access to accounts
|
||||
include_role:
|
||||
name: bootstrap
|
||||
tasks_from: auth@ssh.yml
|
||||
defaults_from: general.yml
|
||||
vars:
|
||||
pubkeys: "{{ user_pubkeys }}"
|
||||
root_acct: "{{ root_auths[0] }}"
|
||||
register: ssh_authorized
|
||||
tags: ['default', 'ssh_uthorization']
|
||||
- name: Disable SSH login for this account
|
||||
include_role:
|
||||
name: bootstrap
|
||||
tasks_from: denyroot@ssh.yml
|
||||
defaults_from: general.yml
|
||||
vars:
|
||||
root_acct: "{{ root_auths[0] }}"
|
||||
register: sshroot_disabled
|
||||
tags: ['default', 'root_denial']
|
||||
when: not ssh_root_login
|
||||
- name: Disable root account
|
||||
include_role:
|
||||
name: bootstrap
|
||||
tasks_from: denyroot.yml
|
||||
defaults_from: general.yml
|
||||
vars:
|
||||
roots: "{{ root_auths }}"
|
||||
nonlogin_method: "{{ root_disable_method }}"
|
||||
|
Reference in New Issue
Block a user