80 lines
2.1 KiB
YAML
80 lines
2.1 KiB
YAML
---
|
|
- name: setup ansible custom facts
|
|
file:
|
|
dest: "{{ item }}"
|
|
mode: 0755
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
state: directory
|
|
with_items:
|
|
- /etc/ansible
|
|
- /etc/ansible/facts.d
|
|
|
|
- name: set correct hostname
|
|
hostname:
|
|
name: "{{ inventory_hostname }}"
|
|
|
|
- name: include os specific tasks
|
|
include_tasks: "{{ ansible_os_family }}.yml"
|
|
|
|
- name: disable at from all users
|
|
copy:
|
|
content: "\n"
|
|
dest: "/etc/at.allow"
|
|
mode: 0600
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
|
|
# use mozilla recommended settings (only prefer aes256 over chacha20)
|
|
# https://infosec.mozilla.org/guidelines/openssh.html
|
|
- name: tighten sshd kex algorithms
|
|
lineinfile:
|
|
path: /etc/ssh/sshd_config
|
|
line: "KexAlgorithms curve25519-sha256@libssh.org,\
|
|
diffie-hellman-group-exchange-sha256"
|
|
regexp: "^KexAlgorithms .*"
|
|
notify: restart sshd
|
|
- name: tighten sshd ciphers
|
|
lineinfile:
|
|
path: /etc/ssh/sshd_config
|
|
line: "Ciphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,\
|
|
aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr"
|
|
regexp: "^Ciphers .*"
|
|
notify: restart sshd
|
|
- name: tighten sshd macs
|
|
lineinfile:
|
|
path: /etc/ssh/sshd_config
|
|
line: "MACs hmac-sha2-512-etm@openssh.com,\
|
|
hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,\
|
|
hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com"
|
|
regexp: "^MACs .*"
|
|
notify: restart sshd
|
|
|
|
- name: disable ecdsa key from sshd
|
|
lineinfile:
|
|
path: /etc/ssh/sshd_config
|
|
line: "#HostKey /etc/ssh/ssh_host_ecdsa_key"
|
|
regexp: "^#?HostKey /etc/ssh/ssh_host_ecdsa_key"
|
|
notify: restart sshd
|
|
- name: disable rsa key from sshd
|
|
lineinfile:
|
|
path: /etc/ssh/sshd_config
|
|
line: "#HostKey /etc/ssh/ssh_host_rsa_key"
|
|
regexp: "^#?HostKey /etc/ssh/ssh_host_rsa_key"
|
|
notify: restart sshd
|
|
- name: enable ed25519 key from sshd
|
|
lineinfile:
|
|
path: /etc/ssh/sshd_config
|
|
line: "HostKey /etc/ssh/ssh_host_ed25519_key"
|
|
regexp: "^#?HostKey /etc/ssh/ssh_host_ed25519_key"
|
|
notify: restart sshd
|
|
|
|
- name: install basic roles
|
|
include_role:
|
|
name: "{{ role }}"
|
|
with_items:
|
|
- network
|
|
- pki
|
|
- psacct
|
|
loop_control:
|
|
loop_var: role
|