LPS:CFEngine3/Implementace
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)
Systém
/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/hosts.allow
Řádkové úpravy pro jednotlivé služby, možno upravovat, pokud tam něco bude CFEnginu chybět, tak si to doplni.
/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
Kopiruje se resolv.conf dle doporuceneho nastaveni od hostmastera, prakticky odpovida /afs/zcu.cz/common/etc/resolv.conf.linux
/etc/sudoers
Provádí se řádkové úpravy, v plánu generovat z template.
/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
Předkonfigurovaný vim, nastavuje se obarvení syntaxe, změny barev u komentářů a pod. Pokud chceš změnu, domluv se se správcem.
/root/.k5login
Spravuje CF3, nové uživatele přidává, pokud je někdo navíc přidán ručně, začne na to upozorňovat. Nutné informovat správce.
/root/.screenrc
Předkonfigurovaný screen, pokud chceš změnu, domluv se se správcem.
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á.
FibreChannel
Pokud je nalezena FC karta (dle lspci) pak jsou nainstalovány balíky pro správu fibrechannelu (multipath-tools, firmware-qlogic, qla-tools), pokud karta není, pak jsou balíky odstraněny.
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:
- CFEngine je monitorován Nagiosem, takže pošlete (upozorněte) správce serveru, proč jste to vypnuli a domluvte se na správném řešení.
- Toto opatření vydrží jen do rebootu, pokud nechcete startovat CFEngine ani po rebootu, pak je nutné upravit volby v /etc/default/cfengine3, neupravujte /etc/init.d/cfengine-community (např. vložením 'exit 0') při aktualizaci balíku se může přepsat.
NRPE - Nagios
Kontroluje a udržuje celou část potřebnou pro monitoring stroje přes NRPE, tedy potřebné balíky, konfigurace v /etc/nagios/ a
Oracle
/dev/shm
Oracle vyžaduje (oproti Debianu) mít /dev/shm místo /run/shm jinak nefunguje. CFEngine hlídá, že tomu tak je, že má také vhodnou velikost a místo /run/shm vytváří symlink.
Profil
aktuálnost /etc/skel/ -> /root/
Hlídá se aktuálnost vzorů v /etc/skel/ proti souborům v /root/, změny CFEngine hlásí, nevrací zpět.
/root/.bash_aliases
Řádkové úpravy, přidání některých aliasů, např. ohledně fibrechannelu.
Syslog - syslog-ng
Soubor /etc/syslog-ng/syslog-ng.conf je brán jako základ z Debian balíku podle verze nainstalovaného syslogu, protože konfigurace syslogu se hodně mění s každou verzí. Specifické věci (pro ZČU jde o logování na centrální log servery a výpis na /dev/tty63) jsou uloženy do /etc/syslog-ng/conf.d/50zcu-client.conf. Ostatní soubory jsou systémové a je možno si do /etc/syslog-ng/conf.d/ přidat svoje pravidla.
Virtualizace - Xen
Pokud je stroj virtuální, pak jsou některé balíky odstraněny a opačně. Jde o balíky regulující výkon CPU nebo pro SMART disků.