Pomoc online ESET

Wyszukaj Polski
Wybierz temat

Wdrożenie masowe

Ten temat zawiera przegląd wysokiego poziomu wdrożenia masowego programu ESET Server Security for Linux za pomocą narzędzi Puppet, Chef i Ansible. Przedstawione poniżej bloki kodu obejmują tylko podstawowe przykłady metod instalacji pakietów. Mogą one różnić się w zależności od dystrybucji systemu Linux.

Wybór pakietu

Przed rozpoczęciem masowego wdrożenia programu ESET Server Security for Linux należy wybrać pakiet do zastosowania. Program ESET Server Security for Linux jest rozpowszechniany jako pakiet w formacie .bin. Można również uzyskać pakiet w formacie deb/rpm, uruchamiając skrypt dystrybucyjny firmy ESET z użyciem argumentu wiersza polecenia „-n”.

Puppet

Warunki wstępne

pakiet w formacie bin lub deb/rpm dostępny na serwerze puppet-master

agent puppet-agent połączony z serwerem puppet-master

Pakiet w formacie bin

Kroki wdrożenia:

skopiowanie pakietu instalacyjnego w formacie bin na odpowiednie komputery

uruchomienie pakietu instalacyjnego w formacie bin


example

Przykładowy manifest narzędzia 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'

         }

}

Pakiet w formacie deb/rpm

Kroki wdrożenia:

skopiowanie pakietu instalacyjnego w formacie deb/rpm zgodnie z rodziną dystrybucji na odpowiednie komputery

uruchomienie pakietu instalacyjnego w formacie deb/rpm


note

Zależności

Problemy z zależnościami należy rozwiązać przed rozpoczęciem instalacji


example

Przykładowy manifest narzędzia 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

Warunki wstępne

pakiet w formacie bin lub deb/rpm dostępny na serwerze Chef

klient narzędzia Chef połączony z serwerem Chef

Pakiet w formacie bin

Kroki wdrożenia:

skopiowanie pakietu instalacyjnego w formacie bin na odpowiednie komputery

uruchomienie pakietu instalacyjnego w formacie bin


example

Przykładowy przepis narzędzia 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

Pakiet w formacie deb/rpm

Kroki wdrożenia:

skopiowanie pakietu instalacyjnego w formacie deb/rpm zgodnie z rodziną dystrybucji na odpowiednie komputery

uruchomienie pakietu instalacyjnego w formacie deb/rpm


note

Zależności

Problemy z zależnościami należy rozwiązać przed rozpoczęciem instalacji


example

Przykładowy przepis narzędzia 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

Warunki wstępne

pakiet w formacie bin lub deb/rpm dostępny na serwerze Ansible

dostęp ssh do komputerów docelowych

Pakiet w formacie bin

Kroki wdrożenia:

skopiowanie pakietu instalacyjnego w formacie bin na odpowiednie komputery

uruchomienie pakietu instalacyjnego w formacie bin


example

Przykładowe zadanie 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

.....

Pakiet w formacie deb/rpm

Kroki wdrożenia:

skopiowanie pakietu instalacyjnego w formacie deb/rpm zgodnie z rodziną dystrybucji na odpowiednie komputery

uruchomienie pakietu instalacyjnego w formacie deb/rpm


example

Przykładowe zadanie 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"

....