--- - 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