Інтерактивна довідка ESET

Виберіть тему

Масове розгортання

У цій темі наведено загальні відомості про масове розгортання ESET Server Security for Linux за допомогою Puppet, Chef і Ansible. Наведені нижче блоки коду містять лише основні приклади інсталяції пакетів. Вони можуть бути різними для кожного дистрибутива Linux.

Вибір пакета

Перш ніж запускати масове розгортання ESET Server Security for Linux, потрібно вирішити, який пакет використовувати. ESET Server Security for Linux розповсюджується як пакет .bin. Проте пакет deb/rpm можна отримати, запустивши сценарій розповсюдження ESET з аргументом командного рядка "-n".

Puppet

Попередні умови

пакет bin або deb/rpm доступний у puppet-master;

puppet-agent підключено до puppet-master.

Пакет bin

Етапи розгортання:

скопіюйте пакет інсталяції bin на потрібні комп’ютери;

запустіть пакет інсталяції bin.


example

Зразок маніфесту Puppet

node default {

    file {"/tmp/efs-8.0.1081.0.x86_64.bin":

           mode => "0700",

           owner => "root",

           group => "root",

           source => "puppet:///modules/efs/efs-8.0.1081.0.x86_64.bin"

         }

    exec {"Execute bin package installation":

           command => '/tmp/efs-8.0.1081.0.x86_64.bin -y -f'

         }

}

Пакет Deb/rpm

Етапи розгортання:

скопіюйте пакет інсталяції deb/rpm (відповідно до сімейства розповсюдження) на потрібні комп’ютери;

запустіть пакет інсталяції deb/rpm.


note

Залежності

Перш ніж запускати інсталяцію, необхідно усунути залежності


example

Зразок маніфесту Puppet

node default {

if $osfamily == 'Debian' {

        file {"/tmp/efs-8.0.1081.0.x86_64.deb":

               mode => "0700",

               owner => "root",

               group => "root",

               source => "puppet:///modules/efs/efs-8.0.1081.0.x86_64.deb"

             }

        package {"efs":

               ensure => "installed",

               provider => 'dpkg',

               source => "/tmp/efs-8.0.1081.0.x86_64.deb"

             }

}

if $osfamily == 'RedHat' {

 

        file {"/tmp/efs-8.0.1081.0.x86_64.rpm":

               mode => "0700",

               owner => "root",

               group => "root",

               source => "puppet:///modules/efs/efs-8.0.1081.0.x86_64.rpm"

             }

 

        package {"efs":

               ensure => "installed",

               provider => 'rpm',

               source => "/tmp/efs-8.0.1081.0.x86_64.rpm"

             }

  }

}

Chef

Попередні умови

пакет bin або deb/rpm, доступний на сервері Chef;

клієнт Chef із підключенням до сервера Chef.

Пакет bin

Етапи розгортання:

скопіюйте пакет інсталяції bin на потрібні комп’ютери;

запустіть пакет інсталяції bin.


example

Зразок рецепта Chef

cookbook_file '/tmp/efs-8.0.1084.0.x86_64.bin' do

        source 'efs-7.0.1084.0.x86_64.bin'

        owner 'root'

        group 'root'

        mode '0700'

        action :create

end

 

execute 'package_install' do

        command '/tmp/efs-8.0.1084.0.x86_64.bin -y -f'

end

Пакет Deb/rpm

Етапи розгортання:

скопіюйте пакет інсталяції deb/rpm (відповідно до сімейства розповсюдження) на потрібні комп’ютери;

запустіть пакет інсталяції deb/rpm.


note

Залежності

Перш ніж запускати інсталяцію, необхідно усунути залежності


example

Зразок рецепта Chef

cookbook_file '/tmp/efs-8.0.1084.0.x86_64.deb' do

        source 'efs-8.0.1084.0.x86_64.deb'

        owner 'root'

        group 'root'

        mode '0700'

        action :create

        only_if { node['platform_family'] == 'debian'}

end

 

cookbook_file '/tmp/efs-8.0.1084.0.x86_64.rpm' do

                source 'efs-8.0.1084.0.x86_64.rpm'

                owner 'root'

                group 'root'

                mode '0700'

                action :create

                only_if { node['platform_family'] == 'rhel'}

 

dpkg_package 'efsu' do

        source '/tmp/efs-8.0.1084.0.x86_64.deb'

        action :install

        only_if { node['platform_family'] == 'debian'}

end

 

rpm_package 'efsu' do

        source '/tmp/efs-8.0.1084.0.x86_64.rpm'

        action :install

        only_if { node['platform_family'] == 'rhel'}

end

Ansible

Попередні умови

пакет bin або deb/rpm, доступний на сервері Ansible;

доступ до цільових комп’ютерів за протоколом ssh.

Пакет bin

Етапи розгортання:

скопіюйте пакет інсталяції bin на потрібні комп’ютери;

запустіть пакет інсталяції bin.


example

Зразок завдання Playbook

....

- name: "INSTALL: Copy configuration json files"

  copy:

    src: efs-8.0.1084.0.x86_64.bin

    dest: /home/ansible/

 

- name : "Install product bin package"

  shell: bash ./efs-8.0.1084.0.x86_64.bin -y -f -g

.....

Пакет Deb/rpm

Етапи розгортання:

скопіюйте пакет інсталяції deb/rpm (відповідно до сімейства розповсюдження) на потрібні комп’ютери;

запустіть пакет інсталяції deb/rpm.


example

Зразок завдання Playbook

....

      - name: "Copy deb package to VM"

        copy:

          src: ./efs-8.0.1085.0.x86_64.deb

          dest: /home/ansible/efs-8.0.1085.0.x86_64.deb

          owner: ansible

          mode: a+r

        when:

          - ansible_os_family == "Debian"

 

      - name: "Copy rpm package to VM"

        copy:

          src: ./efs-8.0.1085.0.x86_64.rpm

          dest: /home/ansible/efs-8.0.1085.0.x86_64.rpm

          owner: ansible

          mode: a+r

        when:

          - ansible_os_family == "RedHat"

 

      - name: "Install deb package"

        apt:

          deb: /home/ansible/efs-8.0.1085.0.x86_64.deb

          state: present

        when:

          - ansible_os_family == "Debian"

 

      - name: "Install rpm package"

        yum:

          name: /home/ansible/efs-8.0.1085.0.x86_64.rpm

          state: present

        when:

          - ansible_os_family == "RedHat"

....