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)
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 - iptables
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