Implementación en bloque
En este tema se presenta una descripción general de alto nivel de la implementación en bloque de ESET Server Security for Linux mediante Puppet, Chef y Ansible. Los bloques de código mostrados a continuación contienen únicamente ejemplos básicos de cómo pueden instalarse los paquetes. Pueden ser distintos según la distribución de Linux.
Selección del paquete
Antes de iniciar la implementación en bloque de ESET Server Security for Linux, tiene que decidir qué paquete desea usar. ESET Server Security for Linux se distribuye en forma de paquete .bin. Sin embargo, puede obtener el paquete deb/rpm mediante la ejecución del script de distribución de ESET con el argumento de línea de comandos "-n".
Puppet
Condiciones previas
•Paquete bin o deb/rpm disponible en puppet-master
•puppet-agent conectado a puppet-master
Paquete bin
Pasos de implementación:
•Copie el paquete de instalación bin en los equipos que desee.
•Ejecute el paquete de instalación bin.
Ejemplo de manifiesto de 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' } } |
Paquete deb/rpm
Pasos de implementación:
•Copie en las máquinas que desee el paquete de instalación deb/rpm según la familia de distribución.
•Ejecute el paquete de instalación deb/rpm.
Dependencias Las dependencias se deben resolver antes de iniciar la instalación. |
Ejemplo de manifiesto de 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
Condiciones previas
•Paquete bin o deb/rpm disponible en el servidor de Chef
•Cliente de Chef conectado al servidor de Chef
Paquete bin
Pasos de implementación:
•Copie el paquete de instalación bin en los equipos que desee.
•Ejecute el paquete de instalación bin.
Ejemplo de receta de 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 |
Paquete deb/rpm
Pasos de implementación:
•Copie en las máquinas que desee el paquete de instalación deb/rpm según la familia de distribución.
•Ejecute el paquete de instalación deb/rpm.
Dependencias Las dependencias se deben resolver antes de iniciar la instalación. |
Ejemplo de receta de 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
Condiciones previas
•Paquete bin o deb/rpm disponible en el servidor de Ansible
•Acceso mediante ssh a los equipos de destino
Paquete bin
Pasos de implementación:
•Copie el paquete de instalación bin en los equipos que desee.
•Ejecute el paquete de instalación bin.
Ejemplo de tarea de 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 ..... |
Paquete deb/rpm
Pasos de implementación:
•Copie en las máquinas que desee el paquete de instalación deb/rpm según la familia de distribución.
•Ejecute el paquete de instalación deb/rpm.
Ejemplo de tarea de 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" .... |