Files

231 lines
4.9 KiB
Plaintext

- name: "Install python3"
apt:
name: python3
state: present
- name: "Install python3-pip"
apt:
name: python3-pip
state: present
- name: "Install python3-virtualenv"
apt:
name: python3-virtualenv
state: present
- name: "Install thefuck"
apt:
name: thefuck
state: present
- name: "Install python3-setuptools"
apt:
name: python3-setuptools
state: present
- name: "Install nginx"
apt:
name: nginx
state: present
- name: "Install wget"
apt:
name: wget
state: present
- name: "Install htop"
apt:
name: htop
state: present
- name: "Install btop"
apt:
name: btop
state: present
- name: "Install lynx"
apt:
name: lynx
state: present
- name: "Install neovim"
apt:
name: neovim
state: present
- name: "Install docker.io"
apt:
name: docker.io
state: present
- name: "Install docker-compose"
apt:
name: docker-compose
state: present
- name: "Install screen"
apt:
name: screen
state: present
- name: "Install byobu"
apt:
name: byobu
state: present
- name: "Install zsh"
apt:
name: zsh
state: present
- name: "Install nmap"
apt:
name: nmap
state: present
- name: "Install iptraf"
apt:
name: iptraf
state: present
- name: "Install iotop"
apt:
name: iotop
state: present
- name: "Install zip"
apt:
name: zip
state: present
- name: "Install unzip"
apt:
name: unzip
state: present
- name: "Install net-tools"
apt:
name: net-tools
state: present
- name: "Install git"
apt:
name: git
state: present
- name: "Install chkrootkit"
apt:
name: chkrootkit
state: present
- name: "Install fail2ban"
apt:
name: fail2ban
state: present
- name: "Install lynis"
apt:
name: lynis
state: present
# thefuck
- name: "thefuck append to .zshrc"
lineinfile:
path: "/home/{{ username }}/.zshrc"
line: 'eval $(thefuck --alias fuck)'
insertafter: EOF
mode: '0744'
owner: "{{ username }}"
group: "{{ username }}"
state: present
create: True
# PATH
- name: ".zshrc PATH adding ~/.local/bin"
lineinfile:
path: "/home/{{ username }}/.zshrc"
line: 'PATH=~/.local/bin/:$PATH'
state: present
insertafter: EOF
mode: "0744"
owner: "{{ username }}"
group: "{{ username }}"
create: True
become: True
become_method: su
become_user: "{{ username }}"
# ssh
- name: "SSH allow {{ username }} only"
lineinfile:
path: '/etc/ssh/sshd_config'
line: "AllowUsers {{ username }}"
state: present
insertafter: EOF
mode: "0644"
owner: root
group: root
- name: 'SSH disable password auth'
lineinfile:
path: '/etc/ssh/sshd_config'
regexp: '^PermitRootLogin'
line: 'PermitRootLogin no'
state: present
insertafter: EOF
mode: "0644"
owner: root
group: root
- name: "UFW allow ssh"
community.general.ufw:
rule: allow
port: ssh
proto: tcp
delete: true
- name: "UFW allow http"
community.general.ufw:
rule: allow
port: http
proto: any
delete: true
- name: "UFW allow https"
community.general.ufw:
rule: allow
port: https
proto: any
delete: true
- name: 'Customscripts download'
command:
cmd: 'git clone https://gitlab.com/princesspi/general-scripts-and-system-ssssssetup.git /tmp/cscripts'
become: yes
- name: "Create directory {{ custom_scripts_dir }}"
file:
path: "{{ custom_scripts_dir }}"
state: directory
mode: '0755'
owner: 'root'
group: 'root'
become: yes
- name: 'Customscripts copy add_user_ssh.sh'
copy:
remote_src: False
src: '/tmp/cscripts/customscripts/add_user_ssh.sh'
dest: "{{ custom_scripts_dir }}/add_user_ssh.sh"
mode: '0744'
owner: 'root'
group: 'root'
become: yes
- name: "Customscripts copy crowdsec.sh"
copy:
remote_src: False
src: '/tmp/cscripts/customscripts/crowdsec.sh'
dest: "{{ custom_scripts_dir }}/crowdsec.sh"
mode: '0744'
owner: 'root'
group: 'root'
become: yes
- name: "Customscripts copy fix_permissions.sh"
copy:
remote_src: False
src: '/tmp/cscripts/customscripts/fix_permissions.sh'
dest: "{{ custom_scripts_dir }}/fix_permissions.sh"
mode: '0744'
owner: 'root'
group: 'root'
become: yes
# crowdsec
- name: 'Crowdsec'
command:
cmd: "bash {{ custom_scripts_dir }}/crowdsec.sh"
become: yes
- name: 'enable/restart crowdsec'
service:
name: 'crowdsec'
enabled: True
state: 'restarted'