add SSH server configuration playbook and templates
This commit is contained in:
43
playbooks/deploy_sshd_config.yml
Normal file
43
playbooks/deploy_sshd_config.yml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
---
|
||||||
|
- name: Deploy complete SSH server configuration
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
gather_facts: false
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Deploy base /etc/ssh/sshd_config file
|
||||||
|
template:
|
||||||
|
src: templates/sshd/sshd_config.j2
|
||||||
|
dest: /etc/ssh/sshd_config
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0644"
|
||||||
|
notify: Reload SSH
|
||||||
|
|
||||||
|
- name: Deploy hardened global ssh config include
|
||||||
|
template:
|
||||||
|
src: templates/sshd/00-global.conf.j2
|
||||||
|
dest: /etc/ssh/sshd_config.d/00-global.conf
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0644"
|
||||||
|
notify: Reload SSH
|
||||||
|
|
||||||
|
- name: Deploy LAN password bypass config include
|
||||||
|
template:
|
||||||
|
src: templates/sshd/99-lan-bypass.conf.j2
|
||||||
|
dest: /etc/ssh/sshd_config.d/99-lan-bypass.conf
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0644"
|
||||||
|
notify: Reload SSH
|
||||||
|
|
||||||
|
- name: Validate sshd configuration syntax
|
||||||
|
command: sshd -t
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
- name: Reload SSH
|
||||||
|
service:
|
||||||
|
name: ssh
|
||||||
|
state: reloaded
|
||||||
25
playbooks/templates/sshd/00-global.conf.j2
Normal file
25
playbooks/templates/sshd/00-global.conf.j2
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
Port 22
|
||||||
|
AddressFamily inet
|
||||||
|
PermitRootLogin no
|
||||||
|
|
||||||
|
PasswordAuthentication no
|
||||||
|
KbdInteractiveAuthentication no
|
||||||
|
ChallengeResponseAuthentication no
|
||||||
|
PermitEmptyPasswords no
|
||||||
|
|
||||||
|
UsePAM yes
|
||||||
|
AllowGroups {{ ssh_access_group | default('sshusers') }}
|
||||||
|
|
||||||
|
PubkeyAuthentication yes
|
||||||
|
AuthorizedKeysFile .ssh/authorized_keys
|
||||||
|
|
||||||
|
X11Forwarding no
|
||||||
|
PrintMotd no
|
||||||
|
PrintLastLog yes
|
||||||
|
|
||||||
|
LoginGraceTime 30s
|
||||||
|
MaxAuthTries 3
|
||||||
|
MaxSessions 2
|
||||||
|
|
||||||
|
AcceptEnv LANG LC_*
|
||||||
|
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||||
2
playbooks/templates/sshd/99-lan-bypass.conf.j2
Normal file
2
playbooks/templates/sshd/99-lan-bypass.conf.j2
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Match Address 10.0.0.0/8
|
||||||
|
PasswordAuthentication yes
|
||||||
4
playbooks/templates/sshd/sshd_config.j2
Normal file
4
playbooks/templates/sshd/sshd_config.j2
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Base sshd_config — managed by Ansible
|
||||||
|
# Delegates all settings to config fragments
|
||||||
|
|
||||||
|
Include /etc/ssh/sshd_config.d/*.conf
|
||||||
Reference in New Issue
Block a user