CFEngine 3 Nástroj pro hromadnou správu

Podobné dokumenty
CFEngine 3 Nástroj pro hromadnou správu

CFEngine3 prakticky. OpenAlt , Brno. Michal Švamberg

Šifrování ve Windows. EFS IPSec SSL. - Encrypting File System - Internet Protocol Security - Secure Socket Layer - Private Point to Point Protocol

Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays

Cobbler, Puppet, Func

Životní cyklus IT systémů

Alcatel-Lucent VitalQIP DNS/DHCP & IP Management Software

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

eduroam.cz správa a deployment pomocí Ansible

Nasazení nových modulů McAfee Seminář CIV (nejen) pro lokální správce

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Technologie. Osnovy kurzu: Školení správců systému. 1. den, dopolední blok

Radim Dolák Gymnázium a Obchodní akademie Orlová

Aplikace a služba Money Dnes Publisher v deseti krocích

Novell Identity Management. Jaromír Látal Datron, a.s.

Připojení k eduroam.cz: Nastavení síťových komponent Meraki a konfigurace ISE

SenseLab. z / from CeMaS. Otevřené sledování senzorů, ovládání zařízení, nahrávání a přehrávání ve Vaší laboratoři

Serverové systémy Microsoft Windows

Střední odborná škola a Střední odborné učiliště, Hořovice

Mobilní malware na platformě Android Přednáška 2. Ing. Milan Oulehla

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

Jak si ochočit Ansible

JAK SE DAŘÍ KOMERČNÍMU LINUXU? Ondřej Suchý Enlogit s.r.o.

Závěrečná zpráva projektu 475/2013 Fondu rozvoje CESNET

Praha, Martin Beran

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Business Edition, ESET Remote Administrator

Zabezpečení infrastruktury

Pohledem managementu firmy.

SSL Secure Sockets Layer

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled

Správa verzí souborů na cvičení

Metody zabezpečeného přenosu souborů

<Insert Picture Here> Jak garantovat bezpečnost systémů ve státní správě

Petr Vlk KPCS CZ. WUG Days října 2016

Správa klientů pomocí Windows Intune

ČÁST 1 ÚVOD. Instalace operačního systému 21 Aktualizace operačního systému 57 Příkazový řádek 77 Windows Script Host 103 ČÁST 2 ŘEŠENÍ

Česká společnost uživatelů otevřených systémů EurOpen.CZ Czech Open System Users Group konference.

TIA Portal Openness Generování projektu.

IdM v prostředí ZČU v Plzni

Případová studie migrace z Cisco ACE a další možnosti nasazení

Evoluce deploye Od FTP po automatický deploy

Integrace formou virtualizace

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Jak připravit IBM System x server pro zákazníka

Jak efektivně ochránit Informix?

PSK3-11. Instalace software a nastavení sítě. Instalace software

SW ATTIS Postup aktualizace aplikace ATTIS

Administrace Oracle. Práva a role, audit

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou

Profesionální služby kolem Linuxu

IW3 MS SQL SERVER 2014

Reporting a Monitoring

Testovací metoda. Testovací metoda. public class SimpleTest {

Využití identity managementu v prostředí veřejné správy

Administrace OS Unix. Úvodní informace Principy administrace Uživatelé

Windows 2008 R2 - úvod. Lumír Návrat

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack

M-LOCK Magnetický zámek pro křídlové sklněné dveře. M-LOCK Magnetic lock for glass swing doors

IT ESS II. 1. Operating Systém Fundamentals

Standardizace poštovních systémů úřadů MČ MHMP

Enterprise Mobility Management AirWatch - představení řešení. Ondřej Kubeček březen 2017

Tomáš Kantůrek. IT Evangelist, Microsoft

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

Řízení privilegovaný účtů

Produktové portfolio

Fides Software Storage Client

Virtualizace storage infrastruktury

Úvod Ovládáme základní nástroje 17

Úvod do Linuxu SŠSI Tábor 1

Knot DNS workshop. CZ.NIC Labs Daniel Salzman / daniel.salzman@nic.cz Jan Kadlec / jan.kadlec@nic.cz

ZÁLOHA A OBNOVA ABRA GEN

Red Hat Academy - možnosti linuxového vzdělávání pro školy

III/ 2- Inovace a zkvalitnění výuky prostřednictvím ICT

Rezervační systém Tvorba WWW stránek

Čipové karty Lekařská informatika

Jak se stát přívětivým úřadem aneb práce s open daty ve státní správě. Open Data Expo

SW ATTIS Postup aktualizace aplikace ATTIS

INTEGRACE IS DO STÁVAJÍCÍ HW A SW ARCHITEKTURY

Moderní privátní cloud pro město na platformě OpenStack a Kubernetes

Novinky TIA Portal V14

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

POWERSHELL. Desired State Configuration (DSC) Lukáš Brázda MCT, MCSA, MCSE

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

První kapitola úvod do problematiky

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

VirtualBox desktopová virtualizace. Zdeněk Merta

Desktop systémy Microsoft Windows

JAK SE DAŘÍ KOMERČNÍMU OPEN SOURCE? Ondřej Suchý Enlogit s.r.o.

Komplexní ICT outsourcing

Group policy. Jan Žák

Microsoft Day Dačice - Rok informatiky

Cisco IronPort ESA Case Study

Synchronizace CRM ESO9 a MS Exchange

ezkouška požadavky na IT

Instrukce pro vzdálené připojení do učebny 39d

Korporátní identita - nejcennější aktivum

System Center Operations Manager

BrightStor ARCserve Backup r Michal Opatřil - Consultant - michal.opatril@ca.com

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura IBM Corporation

Transkript:

CFEngine 3 Nástroj pro hromadnou správu

Úvod Marek Petko Student KIV ININ-DSP Distribuované systémy a počítačové sítě Hromadná správa výpočetních systémů v heterogenním prostředí Diplomová práce pro CIV Michal Švamberg (vedoucí práce) 2

Motivace Rozsáhlá datacentra Clustery Cloudy Počet adminů vs. Počet serverů Přímá úměrnost? 3

Možnosti CFEngine Puppet Chef Open Source Enterprise 4

Placené verze Servery Počet CFEngine 1 rok CFEngine 3 roky CFEngine 1 rok Education CFEngine 3 roky Education Puppet 1 rok Chef 1 rok GNU/Linux Debian Windows Server Oracle Solaris 250 482 500 Kč 335 000 Kč 241 250 Kč 167 500 Kč 502 500 Kč 323 000 Kč 25 48 250 Kč 33 500 Kč 24 125 Kč 16 750 Kč 50 250 Kč 32 300 Kč 11 21 230 Kč 14 740 Kč 10 615 Kč 7 370 Kč 22 110 Kč 14 212 Kč VMWare ESXi 3 5 790 Kč 4 020 Kč 2 895 Kč 2 010 Kč 6 030 Kč 3 876 Kč Celkem 289 557 770 Kč 387 260 Kč 278 885 Kč 193 630 Kč 580 890 Kč 373 388 Kč 1 uzel 1 1 930 Kč 1 340 Kč 965 Kč 670 Kč 2 010 Kč 1 292 Kč 5

CFEngine 3 Silný teoretický základ Teorie slibů (Mark Burgess) Vývoj Důraz na efektivitu (Kompilované C) Důraz na bezpečnost!= CFEngine 2 6

Distribuce politiky Klient server Pouze pull Možno force pull Nikdy push (bezpečnost) Politika Se zpracovává pouze lokálně, autonomně Ze serveru se pouze kopíruje (ale nemusí!) Na serveru plaintext na klientech plaintext 7

Souborová struktura /var/cfengine/ bin binární spustitelné soubory inputs politika k lokálnímu spuštění cf-agentem lastseen Log data for incoming and outgoing connections. lib knihovny (=! standardní knihovna) masterfiles repositář politik na serveru modules složka pro moduly outputs výstupy cf-agenta (jen reports:) ppkeys klíče reports seznamy opravených promise (jen Enterprise) share dokumentace, příklady, zdrojové kódy, atd. state stavová databáze 8

Koncepce jazyka Deklarativní jazyk Cokoliv je slib (promise) 9

Struktura Bundle ~ subrutina, procedura Promise type Class Promise 10

Ukázkový bundle Klíčové slovo Typ bundle Název bundle bundle agent ntp { files: Promise Atribut "/etc/ntp.conf" create => "true", copy_from => secure_cp("/repo/config-files/ntp.conf", "daidalos.civ.zcu.cz"); services: } "ntp" service_policy => "start"; 11

Typy promise vars: Proměnné classes: Třídy files: Soubory packages: Balíky methods: Spouštění bundle processes: Procesy services: Služby commands: Příkazy reports: Výpis do konzole/e-mailu 12

Proměnné bundle agent promenne { vars: } "retezec" string => "Retezec"; "celociselna" int => "999"; "realna" real => "1234.56"; 13

Použití proměnné Lokálně: $(promenna) Globálně: $(nazev_bundle.promenna) 14

Seznamy bundle agent seznamy { vars: "retezce" slist => {"První", "Druhá", "Třetí"}; "celociselne" ilist => {"1", "2", "3"}; } "realne" rlist => {"1.23", "4.56", "7.89"}; 15

Asociativní pole bundle agent asociativni_pole { vars: "pole_uzivatelu[jgroll] string => "Josef Groll"; "pole_uzivatelu[aholecek] string => "Antonín Holeček"; "pole_uzivatelu[flesner] string => "František Lešner"; reports: } "V městě Plzni působil $(pole_uzivatelu[jgroll])"; 16

Implicitní iterace bundle agent iterace { vars: "maso" slist => {"vepřové", "kuřecí", "hovězí", "jehněčí"}; } reports: "Máma mele $(maso) maso."; 17

Třídy bundle agent hard_class { reports: linux:: "Tento klient používá Linux!"; solaris:: "Tento klient používá Solaris!"; } windows:: "Tento klient používá Windows!"; 18

Body Sloučení atributů do znovupoužitelného celku Možnosti: Uživatelské body vlastní nastavení atributů Předdefinované body standardní knihovna Body lze jen vyplnit (~implementovat interface) Nelze definovat vlastní strukturu 19

Ukázka body (1) bundle agent example { files: "/home/bill/id_rsa.pub" perms => system, create => "true"; } body perms system { mode => "644"; owners => { "root" }; groups => { "root" }; } 20

Ukázka body (2) bundle agent example { files: "/home/bill/id_rsa.pub" perms => mog("600", "bill", "sysop"), create => "true"; } body perms mog(mode,user,group) { owners => { "$(user)" }; groups => { "$(group)" }; mode => "$(mode)"; } 21

Nasazení na CIVu CFEngine Community 3.5.2 Server: cf.civ.zcu.cz (daidalos.civ.zcu.cz) 19 klientů Všechny nově instalované Debian servery přes FAI 22

Jak poznat CFEngine klienta (1) Klient běží # ps ax grep cf- 2036? Ss 55:49 /var/cfengine/bin/cf-execd 2130? Ss 321:49 /var/cfengine/bin/cf-serverd 2170? Ss 105:38 /var/cfengine/bin/cf-monitord 28979 pts/0 S+ 0:00 grep cf- Dočasné vypnutí # /etc/init.d/cfengine3 stop 23

Jak poznat CFEngine klienta (2) Kolize s CFEnginem při editaci souboru Např. /etc/apt/sources.list # CF3 - spravuje CFEngine3 - vsechny upravy budou zruseny Přístupy k editaci souborů Celý zkopírovat Template Řádkové úpravy 24

Správa verzí politiky Udržování kompletní historie úprav Víceuživatelský přístup Vytváření vlastních větví konfigurace GIT na AFS 25

Větve konfigurace Master (devel) Production Přiřazení strojů v def.cf Master vyjmenovány Production vše ostatní classes: "branch_master" or => { "cicomexocitl_civ_zcu_cz", "daphne_civ_zcu_cz", "metalist_civ_zcu_cz", "kiosek_tv10", }; Při aktualizaci politiky se stáhne příslušná větev 26

Rozšíření změn Automaticky CFEngine na serveru spustí modul pro kontrolu GIT repositáře Změna ve větvi git pull cf-agent je spouštěn každých 5 min plošně Po provedení změny až 5 min než se přesune z GITu na CF server Dalších až 5 min než se přesune ze serveru na klienta Nový klient až 15 minut! 27

Proces změn file:///afs/zcu.cz/project/software/git/cfengine.git 1. Lokální klon repositáře 2. Nová lokální větev 3. Úpravy a testování na lokálním PC 4. Merge a push do testovací větve v repositáři 5. Kontrola na testovacích strojích 6. Merge a push do produkční větve Podrobně: http://support.zcu.cz/index.php/lps:cfengine3 28

Struktura politiky controls/ konfigurace komponent files/ soubory ke kopírování na klienty inventory/ průzkum systému a vytváření nových tříd lib/ standardní knihovna modules/ moduly services/ vlastní politiky podle service oriented přístupu templates/ templaty ke kopírování na klienty tests/ pokusy zcuinventory/ průzkum systému a vytváření nových tříd zculib/ vlastní knihovna def.cf nastavení proměnných pro konfiguraci hosts.cf spouštění service bundlů podle hostů nebo skupin promises.cf vstupní bod politiky update.cf proces aktualizace politik na klientech 29

Reporty V Enterprise verzi se zpětná vazba ukládá do centrální DB na serveru V Community verzi neexistuje zpětná vazba (záměrně) Řešení třetích stran pro sběr dat nejsou Reporty o anomáliích musí být vytvořeny ručně Používá se promise typu reports: Odesílá každý klient e-mailem Listovi Použití více adres je možné jen změnou kódu politiky (konfigurace) 30

Bezpečnost (1) 2.2 The principles of CFEngine security CFEngine adheres to the following design principles: 1. It shall be, by design, impossible to send policy-altering data to a CFEngine agent. Each host shall retain its right to veto policy suggestions at all times. This is called the Voluntary Cooperation Model. 2. CFEngine will support the encryption of data transmitted over the network. 3. Each host shall continue to function, as far as possible, without the need for communication with other hosts. 4. CFEngine will use a lightweight peer model for key trust (like the Secure Shell). No centralized certficate authority shall be used. SSL and TLS shall not be used. 5. CFEngine shall always provide safe defaults, that grant no access to other hosts. http://cfengine.com/manuals_files/specialtopic_security.pdf 31

Bezpečnost (2) Omezení klientů per IP allowconnects, denyconnects Community Autentizace RSA 2048 public key Šifrování Blowfish 128 Challenge response MD5 hash Enterprise Autentizace RSA 2048 public key Šifrování AES 256 Challenge response SHA 256 32

Placená verze Sběr zpětné vazby do centrální DB Reporting Mission Portal Design Center GUI Windows nativně (instalace msi, registry, LDAP) Solaris 33

Dokumentace Manuály, reference, příklady https://cfengine.com/docs/3.5/ Někdy přehlednější https://cfengine.com/archive/manuals/ Kniha http://shop.oreilly.com/product/06369200220 22.do Diskusní skupina https://groups.google.com/forum/#!forum/he lp-cfengine Bugtracker https://cfengine.com/dev/projects/core 34

Závěr CFEngine je velmi silný nástroj s budoucností Naučit se psát politiky chce trochu cviku V Community verzi chybí reporting 35

Dotazy 36

Ukázka 37