Compare commits

...

3 Commits

Author SHA1 Message Date
Marat
1a79e494ab Fixed Astra release_os 2024-08-28 13:19:27 +03:00
b1abda01d4 Done klnagent. Code reformatted. 2024-02-22 16:24:20 +00:00
2b8ce5172a Added distro vars. Changed dnf to yum modules. 2024-02-20 14:41:34 +03:00
13 changed files with 146 additions and 144 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.vscode/

View File

@@ -1,4 +1,5 @@
- hosts: all - name: Delete installation playbook
hosts: all
gather_facts: true gather_facts: true
become: become:
true true

View File

@@ -1,5 +1,18 @@
### Distro vars
klnagent_distrib_local_folder: "/tmp"
kesl_distrib_local_folder: "/tmp"
klnagent_distrib_remote_folder: "/tmp"
kesl_distrib_remote_folder: "/tmp"
kesl_rpm_package_name: "kesl_red.rpm"
kesl_deb_package_name: "kesl_deb.deb"
klnagent_rpm_package_name: "klnagent64-14.0.0-4646.x86_64.rpm"
klnagent_deb_package_name: "klnagent64_14.0.0-4646_amd64.deb"
kesl_answer_file_path: "/tmp/kesl.ini"
klnagent_answer_file_path: "/tmp/klnagent.ini"
kesl_version: "11.4"
### KLNAGENT vars as defined at https://support.kaspersky.com/KSC/14.2/ru-RU/199693.htm ### KLNAGENT vars as defined at https://support.kaspersky.com/KSC/14.2/ru-RU/199693.htm
KLNAGENT_SERVER: "" #* Input KSC to connect KLNAGENT_SERVER: "192.168.103.12" #* Input KSC to connect
KLNAGENT_AUTOINSTALL: "1" #* KLNAGENT_AUTOINSTALL: "1" #*
EULA_ACCEPTED: "1" #* EULA_ACCEPTED: "1" #*
KLNAGENT_PROXY_USE: "0" KLNAGENT_PROXY_USE: "0"

View File

@@ -1,3 +1,4 @@
---
all: all:
vars: vars:
ansible_user: marker ansible_user: marker

View File

@@ -1,4 +1,5 @@
- hosts: all - name: Installing only kesl
hosts: all
gather_facts: true gather_facts: true
become: become:
true true

View File

@@ -1,4 +1,5 @@
- hosts: servers - name: Installing klnagent playbook
hosts: all
gather_facts: true gather_facts: true
become: become:
true true

View File

@@ -1,41 +1,43 @@
- name: Debian delete pkgs - name: Debian delete pkgs
when: ansible_facts['os_family'] == 'Debian'
block: block:
- name: "Remove previous agent installations" - name: "Remove previous klnagent installations"
apt: ansible.builtin.apt:
name: klnagent64 name: klnagent64
state: absent state: absent
- name: "Remove previous kesl installations" - name: "Remove previous kesl installations"
apt: ansible.builtin.apt:
name: kesl name: kesl
state: absent state: absent
when: ansible_facts['os_family'] == 'Debian'
- name: RHEL delete pkgs - name: RHEL delete pkgs
when: ansible_facts['os_family'] == 'RED' or ansible_facts['os_family'] == 'RedHat'
block: block:
- name: "Remove previous agent installations" - name: "Remove previous agent installations"
dnf: ansible.builtin.yum:
name: klnagent64 name: klnagent64
state: absent state: absent
- name: "Remove previous kesl installations" - name: "Remove previous kesl installations"
dnf: ansible.builtin.yum:
name: kesl name: kesl
state: absent state: absent
when: ansible_facts['os_family'] == 'RED' or ansible_facts['os_family'] == 'RedHat'
- name: "Deleting previous configs from agent" - name: Clear /opt/kaspersky/klnagent64
file: ansible.builtin.file:
path: "/opt/kaspersky/klnagent64" path: "/opt/kaspersky/klnagent64"
state: absent state: absent
- file: - name: Clear /var/opt/kasperksy/klnagent64
ansible.builtin.file:
path: "/var/opt/kasperksy/klnagent64" path: "/var/opt/kasperksy/klnagent64"
state: absent state: absent
- name: "Deleting previous configs from kesl" - name: "Deleting previous configs from /opt/kaspersky/kesl"
file: ansible.builtin.file:
path: "/opt/kaspersky/kesl" path: "/opt/kaspersky/kesl"
state: absent state: absent
- file: - name: "Deleting previous configs from /var/opt/kaspersky/kesl"
ansible.builtin.file:
path: "/var/opt/kaspersky/kesl" path: "/var/opt/kaspersky/kesl"
state: absent state: absent

View File

@@ -1,9 +1,9 @@
- name: reload kesl # - name: Reload kesl
service: ansible.builtin.service:
name: "kesl" name: "kesl"
state: reloaded state: reloaded
- name: restart kesl # - name: Restart kesl
service: ansible.builtin.service:
name: "kesl" name: "kesl"
state: restarted state: restarted

View File

@@ -1,56 +1,46 @@
- name: Install KESL to RedHat like OS - name: Install KESL to RedHat like OS
when: ansible_facts['os_family'] == 'RED' or ansible_facts['os_family'] == 'RedHat'
block: block:
- name: "Getting kesl install package to temporary folder" - name: "Getting kesl install package to temporary folder"
copy: ansible.builtin.copy:
src: "/tmp/kesl_red.rpm" src: "{{ kesl_distrib_local_folder }}/{{ kesl_rpm_package_name }}"
dest: "/tmp" dest: "{{ kesl_distrib_remote_folder }}"
mode: 0755 mode: "0755"
- name: "Installing perl-File-Copy package"
yum: - name: Installing perl-File-Copy package
ansible.builtin.yum:
name: perl-File-Copy name: perl-File-Copy
- name: "Installing kesl package"
yum: - name: Installing kesl package
name: /tmp/kesl_red.rpm ansible.builtin.yum:
name: "{{ kesl_distrib_remote_folder }}/{{ kesl_rpm_package_name }}"
disable_gpg_check: true disable_gpg_check: true
- name: "Deleting distros"
file:
path: "/tmp/klnagent_red.rpm"
state: absent
when: ansible_facts['os_family'] == 'RED' or ansible_facts['os_family'] == 'RedHat'
- name: Install KESL to Debian like OS - name: Install KESL to Debian like OS
when: ansible_facts['os_family'] == 'Debian' or ansible_facts['os_family'] == 'Astra Linux'
block: block:
- name: "Getting kesl install package to temporary folder" - name: Getting kesl install package to temporary folder
copy: ansible.builtin.copy:
src: "/tmp/kesl_deb.deb" src: "{{ kesl_distrib_local_folder }}/{{ kesl_deb_package_name }}"
dest: "/tmp" dest: "{{ kesl_distrib_remote_folder }}"
mode: 0755 mode: "0755"
- name: "Installing kesl package" - name: "Installing kesl package"
apt: ansible.builtin.apt:
deb: /tmp/kesl_deb.deb deb: "{{ kesl_distrib_remote_folder }}/{{ kesl_deb_package_name }}"
- name: "Deleting distros"
file:
path: "/tmp/kesl_deb.deb"
state: absent
when: ansible_facts['os_family'] == 'Debian'
- name: Creating answer file for kesl
ansible.builtin.template:
src: kesl.j2
dest: "{{ kesl_answer_file_path }}"
mode: "0644"
- block: - name: Run configuring kesl
- name: "Creating answer file for kesl" ansible.builtin.command: "/opt/kaspersky/kesl/bin/kesl-setup.pl --autoinstall={{ kesl_answer_file_path }}"
become: true changed_when: false
template: notify: Restart kesl
src: kesl.11.4.j2
dest: /tmp/kesl.ini
mode: 0644
- name: "Run configuring kesl" - name: Ensure kesl service is enabled and restarted
become: true ansible.builtin.service:
shell: "/opt/kaspersky/kesl/bin/kesl-setup.pl --autoinstall=/tmp/kesl.ini"
notify: restart kesl
- name: "Ensure kesl service is enabled"
become: true
service:
name: kesl name: kesl
enabled: yes enabled: true
state: started state: restarted

View File

@@ -1,9 +1,10 @@
- name: reload klnagent # ---
service: - name: Reload klnagent #
name: "klnagent64" ansible.builtin.service:
name: klnagent64
state: reloaded state: reloaded
- name: restart klnagent # - name: Restart klnagent #
service: ansible.builtin.service:
name: "klnagent64" name: klnagent64
state: restarted state: restarted

View File

@@ -1,57 +1,48 @@
- block: ---
- name: "Remove previous agent installations" - name: Installing RPM to RedHat Like
apt: when: ansible_facts['os_family'] == 'RED' or ansible_facts['os_family'] == 'RedHat'
name: klnagent64 block:
state: absent - name: Getting klnagent install package to temporary folder
ansible.builtin.copy:
src: "{{ klnagent_distrib_local_folder }}/{{ klnagent_rpm_package_name }}"
dest: "{{ klnagent_distrib_remote_folder }}"
mode: "0755"
- name: Installing klnagent package
ansible.builtin.yum:
name: "{{ klnagent_distrib_remote_folder }}/{{ klnagent_rpm_package_name }}"
disable_gpg_check: true
- name: "Deleting previous distros from tmp"
file:
path: "/tmp/klnagent"
state: absent
- name: "Deleting previous configs from agent" - name: Installing DEB to Debian Like
file: when: ansible_facts['os_family'] == 'Debian' or ansible_facts['os_family'] == 'Astra Linux'
path: "/opt/kaspersky/klnagent64" block:
state: absent - name: Getting klnagent install package to temporary folder
- file: ansible.builtin.copy:
path: "/var/opt/kasperksy/klnagent64" src: "{{ klnagent_distrib_local_folder }}/{{ klnagent_deb_package_name }}"
state: absent dest: "{{ klnagent_distrib_remote_folder }}"
mode: "0755"
- name: Installing klnagent package
ansible.builtin.apt:
deb: "{{ klnagent_distrib_remote_folder }}/{{ klnagent_deb_package_name }}"
- name: "Getting klnagent install package to temporary folder" - name: Creating answer file for klnagent
copy:
src: "/tmp/klnagent"
dest: "/tmp"
mode: 0755
- name: "Installing klnagent package"
apt:
deb: /tmp/klnagent/klnagent64_11.0.0-38_amd64.deb
- name: "Deleting distros"
file:
path: "/tmp/klnagent"
state: absent
- block:
- name: "Creating answer file for klnagent"
become: true become: true
template: ansible.builtin.template:
src: klnagent.j2 src: klnagent.j2
dest: /tmp/klnagent.ini dest: "{{ klnagent_answer_file_path }}"
mode: 0644 mode: "0644"
- name: "Run configuring klnagent" - name: Run configuring klnagent
become: true become: true
shell: "/opt/kaspersky/klnagent64/lib/bin/setup/postinstall.pl" ansible.builtin.command: /opt/kaspersky/klnagent64/lib/bin/setup/postinstall.pl
args:
executable: /bin/bash
environment: environment:
KLAUTOANSWERS: /tmp/klnagent.ini KLAUTOANSWERS: "{{ klnagent_answer_file_path }}"
notify: restart klnagent notify: restart klnagent
changed_when: false
- name: "Ensure klnagent service is enabled" - name: Ensure klnagent service is enabled and restarted
become: true become: true
service: ansible.builtin.service:
name: klnagent64 name: klnagent64
enabled: yes enabled: true
state: started state: restarted

View File

@@ -6,7 +6,7 @@
{% if KLNAGENT_PROXY_USE %}KLNAGENT_PROXY_USE={{ KLNAGENT_PROXY_USE }}{% endif %} {% if KLNAGENT_PROXY_USE %}KLNAGENT_PROXY_USE={{ KLNAGENT_PROXY_USE }}{% endif %}
{% if KLNAGENT_PROXY_ADDRESS %}KLNAGENT_PROXY_ADDRESS={{ KLNAGENT_PROXY_ADDRESS }}{% endif %} {% if KLNAGENT_PROXY_ADDR %}KLNAGENT_PROXY_ADDR={{ KLNAGENT_PROXY_ADDR }}{% endif %}
{% if KLNAGENT_PROXY_LOGIN %}KLNAGENT_PROXY_LOGIN={{ KLNAGENT_PROXY_LOGIN }}{% endif %} {% if KLNAGENT_PROXY_LOGIN %}KLNAGENT_PROXY_LOGIN={{ KLNAGENT_PROXY_LOGIN }}{% endif %}