diff --git a/delete_installation.yml b/delete_installation.yml new file mode 100644 index 0000000..52e3309 --- /dev/null +++ b/delete_installation.yml @@ -0,0 +1,6 @@ +- hosts: all + gather_facts: true + become: + true + roles: + - delete_installation diff --git a/delete_klnagent.yml b/delete_klnagent.yml deleted file mode 100644 index b173ff1..0000000 --- a/delete_klnagent.yml +++ /dev/null @@ -1,12 +0,0 @@ -- hosts: servers - gather_facts: true - become: - true - become_method: - sudo - become_user: - root - remote_user: - marker - roles: - - delete_klnagent diff --git a/group_vars/all/kaspersky.yml b/group_vars/all/kaspersky.yml new file mode 100644 index 0000000..f726900 --- /dev/null +++ b/group_vars/all/kaspersky.yml @@ -0,0 +1,31 @@ +### KLNAGENT vars as defined at https://support.kaspersky.com/KSC/14.2/ru-RU/199693.htm +KLNAGENT_SERVER: "" #* Input KSC to connect +KLNAGENT_AUTOINSTALL: "1" #* +EULA_ACCEPTED: "1" #* +KLNAGENT_PROXY_USE: "0" +KLNAGENT_PROXY_ADDR: "" +KLNAGENT_PROXY_LOGIN: "" +KLNAGENT_PROXY_PASSWORD: "" +KLNAGENT_VM_VDI: "" +KLNAGENT_VM_OPTIMIZE: "" +KLNAGENT_TAGS: "" +KLNAGENT_UDP_PORT: "15000" +KLNAGENT_PORT: "14000" +KLNAGENT_SSLPORT: "13000" +KLNAGENT_USESSL: "1" +KLNAGENT_GW_MODE: "1" +KLNAGENT_GW_ADDRESS: "" + +### KESL vars as defined at https://support.kaspersky.com/help/KES4Linux/11.4.0/en-US/236945.htm +EULA_AGREED: "yes" #* +PRIVACY_POLICY_AGREED: "yes" #* +USE_KSN: "no" #* +LOCALE: "" +INSTALL_LICENSE: "" # IMPORTANT to change this +UPDATER_SOURCE: "KLServers" +PROXY_SERVER: "" +UPDATE_EXECUTE: "" +KERNEL_SRCS_INSTALL: "" +ADMIN_USER: "" +CONFIGURE_SELINUX: "" +USE_GUI: "no" \ No newline at end of file diff --git a/group_vars/servers/kaspersky.yml b/group_vars/servers/kaspersky.yml deleted file mode 100644 index 68dd8e5..0000000 --- a/group_vars/servers/kaspersky.yml +++ /dev/null @@ -1,6 +0,0 @@ -KLNAGENT_SERVER: "192.168.103.20" -KLNAGENT_PORT: "14000" -KLNAGENT_SSLPORT: "13000" -KLNAGENT_USESSL: "1" -KLNAGENT_GW_MODE: "1" -default_klnagent_bin_path: "/opt/kaspersky/klnagent64/lib/bin" diff --git a/hosts.yaml b/hosts.yaml index 4de1e3b..6b3f95e 100644 --- a/hosts.yaml +++ b/hosts.yaml @@ -1,7 +1,21 @@ - servers: - hosts: - 10.124.5.[72:78]: -# 192.168.103.22: -# 192.168.103.23: - vars: - ansible_user: srvadmin +all: + vars: + ansible_user: marker + + children: + debian: + hosts: + debian_host1: + ansible_host: 192.168.103.100 +# debian_host2: +# ansible_host: 192.168.1.102 + vars: + ansible_become_method: sudo + rhel: + hosts: + rhel_host1: + ansible_host: 192.168.103.101 +# rhel_host2: +# ansible_host: 192.168.1.103 + vars: + ansible_become_method: su \ No newline at end of file diff --git a/kesl.yaml b/kesl.yaml index 0071d68..551be3c 100644 --- a/kesl.yaml +++ b/kesl.yaml @@ -1,12 +1,6 @@ -- hosts: servers +- hosts: all gather_facts: true become: true - become_method: - sudo - become_user: - root - remote_user: - srvadmin roles: - kesl diff --git a/klnagent.yml b/klnagent.yml index 442ad61..90589c8 100644 --- a/klnagent.yml +++ b/klnagent.yml @@ -2,11 +2,5 @@ gather_facts: true become: true - become_method: - sudo - become_user: - root - remote_user: - srvadmin roles: - klnagent diff --git a/klnagent/klnagent64-11.0.0-38.x86_64.rpm b/klnagent/klnagent64-11.0.0-38.x86_64.rpm deleted file mode 100755 index daae0e4..0000000 Binary files a/klnagent/klnagent64-11.0.0-38.x86_64.rpm and /dev/null differ diff --git a/klnagent/klnagent64-astra_11.0.0-38_amd64.deb b/klnagent/klnagent64-astra_11.0.0-38_amd64.deb deleted file mode 100755 index ebfcd37..0000000 Binary files a/klnagent/klnagent64-astra_11.0.0-38_amd64.deb and /dev/null differ diff --git a/klnagent/klnagent64_11.0.0-38_amd64.deb b/klnagent/klnagent64_11.0.0-38_amd64.deb deleted file mode 100755 index df02ecd..0000000 Binary files a/klnagent/klnagent64_11.0.0-38_amd64.deb and /dev/null differ diff --git a/roles/delete_installation/tasks/main.yml b/roles/delete_installation/tasks/main.yml new file mode 100644 index 0000000..839521f --- /dev/null +++ b/roles/delete_installation/tasks/main.yml @@ -0,0 +1,41 @@ +- name: Debian delete pkgs + block: + - name: "Remove previous agent installations" + apt: + name: klnagent64 + state: absent + + - name: "Remove previous kesl installations" + apt: + name: kesl + state: absent + when: ansible_facts['os_family'] == 'Debian' + +- name: RHEL delete pkgs + block: + - name: "Remove previous agent installations" + dnf: + name: klnagent64 + state: absent + + - name: "Remove previous kesl installations" + dnf: + name: kesl + state: absent + when: ansible_facts['os_family'] == 'RED' or ansible_facts['os_family'] == 'RedHat' + +- name: "Deleting previous configs from agent" + file: + path: "/opt/kaspersky/klnagent64" + state: absent +- file: + path: "/var/opt/kasperksy/klnagent64" + state: absent + +- name: "Deleting previous configs from kesl" + file: + path: "/opt/kaspersky/kesl" + state: absent +- file: + path: "/var/opt/kaspersky/kesl" + state: absent \ No newline at end of file diff --git a/roles/delete_klnagent/tasks/main.yml b/roles/delete_klnagent/tasks/main.yml deleted file mode 100644 index 2fef86a..0000000 --- a/roles/delete_klnagent/tasks/main.yml +++ /dev/null @@ -1,18 +0,0 @@ -- block: - - name: "Remove previous agent installations" - apt: - name: klnagent64 - state: absent - - - name: "Deleting previous distros from tmp" - file: - path: "/tmp/klnagent" - state: absent - - - name: "Deleting previous configs from agent" - file: - path: "/opt/kaspersky/klnagent64" - state: absent - file: - path: "/var/opt/kasperksy/klnagent64" - state: absent diff --git a/roles/kesl/handlers/main.yml b/roles/kesl/handlers/main.yml index f7e0ae7..59cfeaa 100644 --- a/roles/kesl/handlers/main.yml +++ b/roles/kesl/handlers/main.yml @@ -1,19 +1,9 @@ -- name: reload klnagent # - service: - name: "klnagent64" - state: reloaded - -- name: restart klnagent # - service: - name: "klnagent64" - state: restarted - -- name: reload klnagent # +- name: reload kesl # service: name: "kesl" state: reloaded -- name: restart klnagent # +- name: restart kesl # service: name: "kesl" state: restarted \ No newline at end of file diff --git a/roles/kesl/tasks/main.yml b/roles/kesl/tasks/main.yml index 6267c8c..e46abfc 100644 --- a/roles/kesl/tasks/main.yml +++ b/roles/kesl/tasks/main.yml @@ -1,57 +1,54 @@ -- block: - - name: "Remove previous agent installations" - apt: - name: klnagent64 - state: absent - - - name: "Deleting previous distros from tmp" - file: - path: "/tmp/klnagent" - state: absent - - - name: "Deleting previous configs from agent" - file: - path: "/opt/kaspersky/klnagent64" - state: absent - file: - path: "/var/opt/kasperksy/klnagent64" - state: absent - - - name: "Getting klnagent install package to temporary folder" +- name: Install KESL to RedHat like OS + block: + - name: "Getting kesl install package to temporary folder" copy: - src: "/tmp/klnagent" + src: "/tmp/kesl_red.rpm" dest: "/tmp" mode: 0755 - - - name: "Installing klnagent package" - apt: - deb: /tmp/klnagent/klnagent64_11.0.0-38_amd64.deb - + - name: "Installing kesl package" + dnf: + name: /tmp/kesl_red.rpm - name: "Deleting distros" file: - path: "/tmp/klnagent" + 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 + block: + - name: "Getting kesl install package to temporary folder" + copy: + src: "/tmp/kesl_deb.deb" + dest: "/tmp" + mode: 0755 + - name: "Installing kesl package" + dnf: + name: /tmp/kesl_deb.deb + - name: "Deleting distros" + file: + path: "/tmp/kesl_deb.deb" + state: absent + when: ansible_facts['os_family'] == 'Debian' + - block: - name: "Creating answer file for klnagent" - become: yes + become: true template: - src: klnagent.j2 - dest: /tmp/klnagent.ini + src: kesl.j2 + dest: /tmp/kesl.ini mode: 0644 - name: "Run configuring klnagent" - become: yes - shell: "{{ default_klnagent_bin_path }}/setup/postinstall.pl" + become: true + shell: "/opt/kaspersky/kesl/bin/kesl-setup.pl --autoinstall=/tmp/kesl.ini" args: executable: /bin/bash - environment: - KLAUTOANSWERS: /tmp/klnagent.ini - notify: restart klnagent + notify: restart kesl - - name: "Ensure klnagent service is enabled" - become: yes + - name: "Ensure kesl service is enabled" + become: true service: - name: klnagent64 + name: kesl enabled: yes state: started diff --git a/roles/kesl/templates/kesl.j2 b/roles/kesl/templates/kesl.j2 new file mode 100644 index 0000000..c674337 --- /dev/null +++ b/roles/kesl/templates/kesl.j2 @@ -0,0 +1,12 @@ +EULA_AGREED={{ EULA_AGREED }} +PRIVACY_POLICY_AGREED={{ PRIVACY_POLICY_AGREED }} +USE_KSN={{ USE_KSN }} +LOCALE={{ LOCALE }} +INSTALL_LICENSE={{ INSTALL_LICENSE }} +UPDATER_SOURCE={{ UPDATER_SOURCE }} +PROXY_SERVER={{ PROXY_SERVER }} +UPDATE_EXECUTE={{ UPDATE_EXECUTE }} +KERNEL_SRCS_INSTALL={{ KERNEL_SRCS_INSTALL }} +ADMIN_USER={{ ADMIN_USER }} +CONFIGURE_SELINUX={{ CONFIGURE_SELINUX }} +USE_GUI={{ USE_GUI }} \ No newline at end of file diff --git a/roles/kesl/templates/klnagent.j2 b/roles/kesl/templates/klnagent.j2 deleted file mode 100644 index d885db0..0000000 --- a/roles/kesl/templates/klnagent.j2 +++ /dev/null @@ -1,5 +0,0 @@ -KLNAGENT_SERVER={{ KLNAGENT_SERVER }} -KLNAGENT_PORT={{ KLNAGENT_PORT }} -KLNAGENT_SSLPORT={{ KLNAGENT_SSLPORT }} -KLNAGENT_USESSL={{ KLNAGENT_USESSL }} -KLNAGENT_GW_MODE={{ KLNAGENT_GW_MODE }} diff --git a/roles/klnagent/tasks/main.yml b/roles/klnagent/tasks/main.yml index 6267c8c..6c1ce99 100644 --- a/roles/klnagent/tasks/main.yml +++ b/roles/klnagent/tasks/main.yml @@ -13,7 +13,7 @@ file: path: "/opt/kaspersky/klnagent64" state: absent - file: + - file: path: "/var/opt/kasperksy/klnagent64" state: absent @@ -34,15 +34,15 @@ - block: - name: "Creating answer file for klnagent" - become: yes + become: true template: src: klnagent.j2 dest: /tmp/klnagent.ini mode: 0644 - name: "Run configuring klnagent" - become: yes - shell: "{{ default_klnagent_bin_path }}/setup/postinstall.pl" + become: true + shell: "/opt/kaspersky/klnagent64/lib/bin/setup/postinstall.pl" args: executable: /bin/bash environment: @@ -50,7 +50,7 @@ notify: restart klnagent - name: "Ensure klnagent service is enabled" - become: yes + become: true service: name: klnagent64 enabled: yes diff --git a/roles/klnagent/templates/klnagent.j2 b/roles/klnagent/templates/klnagent.j2 index d885db0..74a29db 100644 --- a/roles/klnagent/templates/klnagent.j2 +++ b/roles/klnagent/templates/klnagent.j2 @@ -1,5 +1,16 @@ KLNAGENT_SERVER={{ KLNAGENT_SERVER }} +KLNAGENT_AUTOINSTALL={{ KLNAGENT_AUTOINSTALL }} +EULA_ACCEPTED={{ EULA_ACCEPTED }} +KLNAGENT_PROXY_USE={{ KLNAGENT_PROXY_USE }} +KLNAGENT_PROXY_ADDRESS={{ KLNAGENT_PROXY_ADDRESS }} +KLNAGENT_PROXY_LOGIN={{ KLNAGENT_PROXY_LOGIN }} +KLNAGENT_PROXY_PASSWORD={{ KLNAGENT_PROXY_PASSWORD }} +KLNAGENT_VM_VDI={{ KLNAGENT_VM_VDI }} +KLNAGENT_VM_OPTIMIZE={{ KLNAGENT_VM_OPTIMIZE }} +KLNAGENT_TAGS={{ KLNAGENT_TAGS }} +KLNAGENT_UDP_PORT={{ KLNAGENT_UDP_PORT }} KLNAGENT_PORT={{ KLNAGENT_PORT }} KLNAGENT_SSLPORT={{ KLNAGENT_SSLPORT }} KLNAGENT_USESSL={{ KLNAGENT_USESSL }} KLNAGENT_GW_MODE={{ KLNAGENT_GW_MODE }} +KLNAGENT_GW_ADDRESS={{ KLNAGENT_GW_ADDRESS }} \ No newline at end of file