Compare commits

...

2 Commits

Author SHA1 Message Date
jaydee
7a538639c6 bitwarden 2024-12-12 00:28:57 +01:00
jaydee
44822bd37b bitwarden 2024-12-11 23:10:40 +01:00
8 changed files with 128 additions and 161 deletions

9
desktop.yml Executable file
View File

@ -0,0 +1,9 @@
---
- hosts: desktop
roles:
- common
- wake_on_lan
- timeshift
- zabbix-agent
- autofs_client
- ldap_client

View File

@ -1,149 +1,39 @@
- block: - block:
- name: Install ldap packages - name: Install fail2ban packages
ansible.builtin.apt: ansible.builtin.apt:
name: name:
- libpam-ldapd - fail2ban
- ldap-utils - sendmail
- libnss-ldapd - name: Copy files
# - name: Reconfigure ldap base
# ansible.builtin.lineinfile:
# path: /etc/ldap.conf
# regexp: "^base "
# line: "base dc=sectorq,dc=eu"
# - name: Reconfigure ldap uri
# ansible.builtin.lineinfile:
# path: /etc/ldap.conf
# regexp: "^uri ldap.*"
# line: "uri ldaps://ldap-server.loc/"
# - name: Reconfigure ldap version
# ansible.builtin.lineinfile:
# path: /etc/ldap.conf
# regexp: "^ldap_version.*"
# line: "ldap_version 3"
# - name: Reconfigure ldap rootbinddn
# ansible.builtin.lineinfile:
# path: /etc/ldap.conf
# regexp: "^rootbinddn.*"
# line: "rootbinddn cn=admin,dc=sectorq,dc=eu"
- name: Reconfigure common-session
ansible.builtin.lineinfile:
path: /etc/pam.d/common-session
regexp: "^session optional pam_mkhomedir.so.*"
line: "session optional pam_mkhomedir.so skel=/etc/skel umask=077"
- name: Reconfigure common-session
ansible.builtin.lineinfile:
path: /etc/pam.d/common-session
regexp: "^session.*pam_ldap.so.*"
line: "session [success=ok default=ignore] pam_ldap.so minimum_uid=1000"
- name: Reconfigure common-password
ansible.builtin.lineinfile:
path: /etc/pam.d/common-password
regexp: "^password.*success=1 user_unknown=ignore default=die.*"
line: "password [success=1 default=ignore] pam_ldap.so minimum_uid=1000 try_first_pass"
- name: Reconfigure nsswitch passwd
ansible.builtin.lineinfile:
path: /etc/nsswitch.conf
regexp: "^passwd:.*"
line: "passwd: compat systemd ldap"
- name: Reconfigure nsswitch group
ansible.builtin.lineinfile:
path: /etc/nsswitch.conf
regexp: "^group:.*"
line: "group: compat systemd ldap"
- name: Reconfigure nsswitch shadow
ansible.builtin.lineinfile:
path: /etc/nsswitch.conf
regexp: "^shadow:.*"
line: "shadow: compat ldap"
- name: Reconfigure nslcd uri
ansible.builtin.lineinfile:
path: /etc/nslcd.conf
regexp: "^uri ldap.*"
line: "uri ldap://192.168.77.101:2389/"
- name: Reconfigure ldap base
ansible.builtin.lineinfile:
path: /etc/nslcd.conf
regexp: "^base "
line: "base dc=sectorq,dc=eu"
- name: Reconfigure nslcd binddn
ansible.builtin.lineinfile:
path: /etc/nslcd.conf
regexp: "^binddn"
line: "binddn cn=jaydee,dc=users,dc=sectorq,dc=eu"
- name: Reconfigure nslcd bindpw
ansible.builtin.lineinfile:
path: /etc/nslcd.conf
regexp: "^bindpw"
line: "bindpw {{ ldap_admin_password }}"
# - name: Reconfigure ldap base
# ansible.builtin.lineinfile:
# path: /etc/nslcd.conf
# regexp: "^#ssl"
# line: "ssl start_tls"
- name: Reconfigure nslcd tls_reqcert
ansible.builtin.lineinfile:
path: /etc/nslcd.conf
regexp: "^tls_reqcert"
line: "tls_reqcert allow"
- name: Restart nslcd service
ansible.builtin.service:
name: nslcd.service
state: restarted
- name: Creating a file with content
copy: copy:
dest: "/usr/local/bin/fetchSSHKeysFromLDAP" src: "{{ item }}"
content: | dest: /etc/fail2ban/jail.d/
#!/usr/bin/bash with_fileglob:
ldapsearch -x '(&(objectClass=ldapPublicKey)(cn='"$1"'))' 'sshPublicKey' | sed -n '/^ /{H;d};/sshPublicKey:/x;$g;s/\n *//g;s/sshPublicKey: //gp' - "jail.d/*.conf"
mode: '0755'
- name: Reconfigure sshd
ansible.builtin.lineinfile:
path: /etc/ssh/sshd_config
regexp: "^#AuthorizedKeysCommand *"
line: "AuthorizedKeysCommand /usr/local/bin/fetchSSHKeysFromLDAP"
- name: Reconfigure sshd - name: Copy files
ansible.builtin.lineinfile:
path: /etc/ssh/sshd_config
regexp: "^#AuthorizedKeysCommandUser *"
line: "AuthorizedKeysCommandUser root"
- name: Create a directory LDAP if it does not exist
ansible.builtin.file:
path: /etc/ldap/
state: directory
mode: '0755'
- name: Creating a file with content
copy: copy:
dest: "/etc/ldap/ldap.conf" src: "{{ item }}"
content: | dest: /etc/fail2ban/filter.d/
# with_fileglob:
# LDAP Defaults - "filter.d/*.conf"
#
# See ldap.conf(5) for details - name: Copy files
# This file should be world readable but not world writable. copy:
src: "{{ item }}"
dest: /etc/fail2ban/action.d/
with_fileglob:
- "action.d/*.conf"
BASE dc=sectorq,dc=eu - name: disable sendmail service
URI ldap://192.168.77.101:2389
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
# TLS certificates (needed for GnuTLS)
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
- name: Restart sshd service
ansible.builtin.service: ansible.builtin.service:
name: sshd.service name: sendmail.service
state: stopped
enabled: false
- name: Restart fail2ban service
ansible.builtin.service:
name: fail2ban.service
state: restarted state: restarted
enabled: true
become: true become: true

View File

@ -76,7 +76,7 @@
ansible.builtin.lineinfile: ansible.builtin.lineinfile:
path: /etc/nslcd.conf path: /etc/nslcd.conf
regexp: "^binddn" regexp: "^binddn"
line: "binddn cn=jaydee,dc=users,dc=sectorq,dc=eu" line: "binddn cn=ldapservice,ou=users,dc=sectorq,dc=eu"
- name: Reconfigure nslcd bindpw - name: Reconfigure nslcd bindpw
ansible.builtin.lineinfile: ansible.builtin.lineinfile:
@ -103,8 +103,10 @@
dest: "/usr/local/bin/fetchSSHKeysFromLDAP" dest: "/usr/local/bin/fetchSSHKeysFromLDAP"
content: | content: |
#!/usr/bin/bash #!/usr/bin/bash
ldapsearch -x '(&(objectClass=ldapPublicKey)(cn='"$1"'))' 'sshPublicKey' | sed -n '/^ /{H;d};/sshPublicKey:/x;$g;s/\n *//g;s/sshPublicKey: //gp' ldapsearch -x -H ldap://192.168.77.101:2389 -D 'cn=ldapservice,ou=users,DC=sectorq,DC=eu' -w {{ ldap_admin_password }} '(&(objectClass=person)(cn='"$1"'))' 'sshPublicKey' | sed -n '/^ /{H;d};/sshPublicKey:/x;$g;s/\n *//g;s/sshPublicKey: //gp'
mode: '0755' owner: root
group: root
mode: '0700'
- name: Reconfigure sshd - name: Reconfigure sshd
ansible.builtin.lineinfile: ansible.builtin.lineinfile:
path: /etc/ssh/sshd_config path: /etc/ssh/sshd_config
@ -144,6 +146,6 @@
- name: Restart sshd service - name: Restart sshd service
ansible.builtin.service: ansible.builtin.service:
name: sshd.service name: ssh
state: restarted state: restarted
become: true become: true

35
roles/ssh_banner/tasks/main.yml Executable file
View File

@ -0,0 +1,35 @@
- block:
- name: Install packages
ansible.builtin.apt:
name:
- figlet
- toilet
- name: Create Banner
ansible.builtin.command: |
figlet -c {{ (inventory_hostname|split('.'))[0] }} -f slant
register: logo
- name: Creating a file with content
copy:
dest: "/etc/banner"
content: |
{{ logo.stdout }}
- name: Reconfigure sshd
ansible.builtin.lineinfile:
path: /etc/ssh/sshd_config
regexp: "^Banner.* "
line: "Banner /etc/banner"
- name: Reconfigure sshd
ansible.builtin.lineinfile:
path: /etc/ssh/sshd_config
regexp: "^#PrintLastLog.* "
line: "PrintLastLog no"
- name: sshd
ansible.builtin.service:
name: ssh.service
state: restarted
become: true

View File

@ -1,3 +1,5 @@
- block:
- name: Install vnc packages - name: Install vnc packages
ansible.builtin.apt: ansible.builtin.apt:
name: name:
@ -5,15 +7,35 @@
- tigervnc-common - tigervnc-common
update_cache: yes update_cache: yes
- name: Create a directory if it does not exist
ansible.builtin.file:
path: /home/jd/.vnc/
state: directory
mode: '0755'
owner: jd
group: jd
- name: Creating a file with content - name: Creating a file with content
copy: copy:
dest: "/home/jd/.vnc/config" dest: "/home/jd/.vnc/config"
content: | content: |
session=cinnamon session=mate
geometry=1200x721 geometry=1200x721
localhost localhost
alwaysshared alwaysshared
mode: '0755'
owner: jd
group: jd
- name: Reconfigure vnc
ansible.builtin.lineinfile:
path: /etc/tigervnc/vncserver-config-defaults
regexp: "^$localhost =.* "
line: '$localhost = "no";'
- name: Reconfigure vnc1
ansible.builtin.lineinfile:
path: /etc/tigervnc/vncserver.users
#regexp: "^:1=.*"
line: ':1=jd'
- name: Reconfigure zabbix agent Server - name: Reconfigure zabbix agent Server
ansible.builtin.lineinfile: ansible.builtin.lineinfile:

View File

@ -8,9 +8,13 @@
var: ansible_facts.interfaces var: ansible_facts.interfaces
- name: Get wifi adapter - name: Get wifi adapter
set_fact: set_fact:
wifi_adapter: '{{ item }}' active_adapter: '{{ item }}'
loop: '{{ ansible_facts.interfaces }}' loop: '{{ ansible_facts.interfaces }}'
when: 'item.startswith("eno")' when: 'item.startswith("eno")'
- name: Display all interfaces name
debug:
msg: "{{ ansible_default_ipv4.interface }}"
- name: Creating config - name: Creating config
become: true become: true
@ -23,7 +27,7 @@
[Service] [Service]
Type=oneshot Type=oneshot
ExecStart = /usr/sbin/ethtool --change {{ wifi_adapter }} wol g ExecStart = /usr/sbin/ethtool --change {{ ansible_default_ipv4.interface }} wol g
[Install] [Install]
WantedBy=basic.target WantedBy=basic.target

View File

@ -10,3 +10,4 @@
- zabbix-agent - zabbix-agent
- autofs_client - autofs_client
- ldap_client - ldap_client
- ssh_banner

4
test.yml Executable file
View File

@ -0,0 +1,4 @@
---
- hosts: datacenter
roles:
- vnc_server