LPS:CFEngine3/Implementace

Z HelpDesk

Seznam toho, co CFEngine vlastně spravuje:

Jak zjistím, jestli něco spravuje

Pokud běží procesy cfengine:

ps xfa |grep cf-
22160 pts/0    S+     0:00          \_ grep cf-
13626 ?        Ss   140:15 /var/cfengine/bin/cf-execd
13634 ?        Ss   143:35 /var/cfengine/bin/cf-serverd
13644 ?        Ss    54:00 /var/cfengine/bin/cf-monitord

a chcete zjistit, jestli spravuje /etc/resolv.conf, pak stačí:

grep -r /etc/resolv.conf /var/cfengine/inputs/ 
/var/cfengine/inputs/services/base/fcopy.cf:    "file[/etc/resolv.conf]"      string => "default";
/var/cfengine/inputs/services/network/resolver.cf:     "resolv_conf" string => "/etc/resolv.conf";

Protože CFEngine používá výhradně absolutní cesty, tak když grep nic nevrátí, CFEngine s ním nic nedělá.

Co vlastně spravuje

Toto je jen přehled, kam všude CFEngine šahá, pokud upravuje nějaký soubor, pak je v jeho záhlaví většinou komentář:

# CF3 - spravuje CFEngine3 - vsechny upravy budou zruseny

ale:

  • existují soubory (např. /etc/hostname) kde nejsou komentáře povoleny.
  • soubory, které mají svůj vzor na AFS (nejčastěji /afs/zcu.cz/common/etc/), protože se hlídá, zda nejsou rozdílné (např. /etc/krb5.conf)

Soubory

/etc/apt/sources.list

Kopíruje vlastní dle verze debianu, pro svoje rozšíření použij /etc/apt/sources.list.d/

/etc/apt/preferences

Kopíruje vlastní dle verze debianu, pro svoje rozšíření použij /etc/apt/preferences.d/

/etc/krb5.conf

Kopíruje se dle vzoru z /afs/zcu.cz/common/etc/

/etc/nagios/nrpe.d/zcu.cfg

Kopíruje se dle vzoru z /afs/zcu.cz/common/etc/nagios/nrpe_local.cfg

/etc/services

Přidávají se řádky pro naše služby, zatím jen pro afsadm

/etc/resolv.conf

/etc/sudoers

/etc/sysctl.conf

Používá se template, pro lokální úpravy je možné využít /etc/sysctl.conf.d/, ale lepší je integrace do template.

/etc/vim/vimrc.local

Cron

/var/spool/cron/crontabs/root

Řádkové úpravy, hlídá že tam jsou ty řádky které tam chceme a které tam být naopak nemají být. Je možné upravovat příkazem crontab -e, pokud smažete nebo změníte nucený řádek, pak jej tam CFEngine znovu přidá.

Firewall

Konfigurace

Konfigurační soubory /etc/iptables/rules.v4 a /etc/iptables/rules.v6 jsou generovány z templatů CFEngine3, jakýkoliv zásah do nich bude znamenat vrácení do původního stavu a restart firewallu. Jediná možnost ovlivnit konfiguraci je přes úpravu politiky CFEngine.

Soubory jsou načítány skriptem /etc/init.d/iptables-persistent z balíku iptables-persistent

Změna firewallu

Pokud není možné provést úpravu firewallu přes CFEngine, pak je možno vytvořit změnu přímo příkazem iptables. To vydrží ale jen do:

  • restartu => nastartuje se firewall dle konfigurace v /etc/iptables/
  • změně v /etc/iptables/ => provede se aktualizace a restart firewallu
  • vypnutí firewallu => pokud není politika pro INPUT nastavena na DROP, pak to znamená vypnutý firewall a to není přípustné => restart firewallu

Vypnutí firewallu

Je nutné vypnout také CFEngine, prože se jinak bude snažit firewall nahodit:

/etc/init.d/cfengine-community stop
/etc/init.d/iptables-persistent flush

Pro jeho obnovu stačí aktivovat CFEngine:

/etc/init.d/cfengine-community start

POZOR: běh CFEngine monitoruje nagios, takže pošlete (upozorněte) správce serveru, proč jste to vypnuli

NRPE - Nagios