1 changed files with 89 additions and 0 deletions
@ -0,0 +1,89 @@ |
|||
--- |
|||
- name: Harden SSH Service |
|||
hosts: all |
|||
become: true |
|||
|
|||
tasks: |
|||
- name: Install updates |
|||
apt: |
|||
update_cache: yes |
|||
upgrade: dist |
|||
when: ansible_os_family == 'Debian' |
|||
|
|||
- name: Backup current SSH config file |
|||
copy: |
|||
src: /etc/ssh/sshd_config |
|||
dest: /etc/ssh/sshd_config.backup |
|||
owner: root |
|||
group: root |
|||
mode: '0644' |
|||
remote_src: yes |
|||
|
|||
- name: Disable root SSH login |
|||
lineinfile: |
|||
path: /etc/ssh/sshd_config |
|||
regexp: '^PermitRootLogin' |
|||
line: 'PermitRootLogin no' |
|||
state: present |
|||
validate: '/usr/sbin/sshd -t -f %s' |
|||
|
|||
# - name: Disable SSH password authentication |
|||
# lineinfile: |
|||
# path: /etc/ssh/sshd_config |
|||
# regexp: '^PasswordAuthentication' |
|||
# line: 'PasswordAuthentication no' |
|||
# state: present |
|||
# validate: '/usr/sbin/sshd -t -f %s' |
|||
# |
|||
- name: Disable empty passwords |
|||
lineinfile: |
|||
path: /etc/ssh/sshd_config |
|||
regexp: '^PermitEmptyPasswords' |
|||
line: 'PermitEmptyPasswords no' |
|||
state: present |
|||
validate: '/usr/sbin/sshd -t -f %s' |
|||
|
|||
- name: Disable X11 forwarding |
|||
lineinfile: |
|||
path: /etc/ssh/sshd_config |
|||
regexp: '^X11Forwarding' |
|||
line: 'X11Forwarding no' |
|||
state: present |
|||
validate: '/usr/sbin/sshd -t -f %s' |
|||
|
|||
- name: Limit SSH protocol to 2 |
|||
lineinfile: |
|||
path: /etc/ssh/sshd_config |
|||
regexp: '^Protocol' |
|||
line: 'Protocol 2' |
|||
state: present |
|||
validate: '/usr/sbin/sshd -t -f %s' |
|||
|
|||
- name: Set SSH LoginGraceTime to one minute |
|||
lineinfile: |
|||
path: /etc/ssh/sshd_config |
|||
regexp: '^LoginGraceTime' |
|||
line: 'LoginGraceTime 1m' |
|||
state: present |
|||
validate: '/usr/sbin/sshd -t -f %s' |
|||
|
|||
- name: Set maximum number of authentication attempts to 3 |
|||
lineinfile: |
|||
path: /etc/ssh/sshd_config |
|||
regexp: '^MaxAuthTries' |
|||
line: 'MaxAuthTries 9' |
|||
state: present |
|||
validate: '/usr/sbin/sshd -t -f %s' |
|||
|
|||
# - name: Set maximum sessions per network connection to 2 |
|||
# lineinfile: |
|||
# path: /etc/ssh/sshd_config |
|||
# regexp: '^MaxSessions' |
|||
# line: 'MaxSessions 2' |
|||
# state: present |
|||
# validate: '/usr/sbin/sshd -t -f %s' |
|||
# |
|||
- name: Restart SSH to apply changes |
|||
systemd: |
|||
name: ssh |
|||
state: restarted |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue