selinux beállítás munin-hez

Sziasztok!

Egy DHCP szerverhez szeretnék beállítani monitorozást, munin-nel egy CentOs 6 szerveren (az a gyanú, hogy túl sok kliens van, és elfogynak a címek).
Sajnos a repo-ban lévő dhcpd3 modul nem igazán használható, viszont találtam egy "plugint" ami pont azt csinálja a mi nekem kell, de sajnos elég önfejűen van megírva.
Van egy shell script a /usr/share/munin/plugin/dhcpd-munin_ amire ugye mutatnak linkek a /etc/munin/plugins/ -böl, és ez a script hív egy perl scriptet, ami az érdemi munkát végzi.
Ez utóbbi perl script olvassa a /etc/dhcp/dhcpd.conf és a /var/lib/dhcpd/dhcp.leases fájlokat. Ha kikapcsolom a selinux-ot, akkor ez így működik is. De azt ugye nem kéne. Hol és mit kell beállítani, hogy a script tudja olvasni mindkét fájlt.
Ráadásul a selinux ki-be kapcsolgatását sem tolerálja, mert visszakapcsolva csinálni akar boot-kor egy autorelabel-t amibe aztán belefagy. Relabel nélkül viszont pont a dhcpd lett defektes. A restorecon-nal sikerült helyrehozni, de attól is lefagyott (újraindítás után jónak tűnik). A szerver Hyper-V alatt fut virtuálisan, bár ennek nem kéne számítania.

Hozzászólások

szia,

auditd van fent? Akkor audit2allow-val tudsz generálni könnyen saját policy modult, amit be tudsz tölteni. Az audit2allow simán megmondja syslog-ból is, de az auditd saját levállogatott logjai kisebbek lesznek. Érdemes átnézni a pp telepítése előtt, hogy mit generált, simán futtasd először az audit2allow -a -M munindhcp parancsot, ez majd generál egy .te és egy .pp állományát. Ha ez megvan, akkor nézd át a .te-t és ha jónak tűnik minden, akkor semodule -i munindhcp.pp paranccsal tudod "telepíteni", azaz használni.

Az auditd fent van és fut is. Viszont audit2allow az nincs.
De lehet, hogy már mindegy, mert valamit elb...tam, a "yum install audit-viewer" parancsra (hátha abban van a keresett parancs, de nem) a 'no' válasz után lefagyott az egész szerver.
Mondjuk szerintem semmi olyat nem tettem, amitől jogosan bedől. Csak a getfattr és setfattr parancsot futtattam a muninbe telepített fájlokra, meg ki és aztán be kapcsoltam a selinuxot. A selinux bekapcsolása után, boot-kor csinált egy relabel-t. Kiírt csillagokat, majd azt, hogy lecsatolja a fájlrendszert, ezután csak az üzenetek jöttek, hogy mi az ami már 2 perce lokkolva van. Csak úgy lehetett elindítani, hogy kernel paraméterben letiltottam a selinuxot, meg az autorelabel-t.
Mit lehet ilyenkor csinálni? Újra telepíteni sem egy nagy meló, de azért érdekelne, mi a frász történhetett, és annak sem örülnék, ha ez megismétlődne.
Mondjuk az eddigi tapasztalatok alapján az Ubuntu 12.04 szerver jobban teljesít Hyper-V alatt mint a CentOs 6, úgy tűnik a CentOs 6-al csak szívatom magam.

Annak, aki hasonlóan láma a selinux-hoz mint én, az audit2allow parancs a google szerint a policycoreutils-python csomagban van. Persze ez nekem már mindegy, mert kikapcsolt selinux-al is lefagyasztja a szervert a yum parancs (olyasmi, mintha a diszk elérés fogna végtelen várakozásba, vagy valami dedlock lenne).
Ha valaki nem homályosít fel nagyon gyorsan, hogy akkor most mi van, akkor e-helyett is megy fel egy Ubi szerver.

A virtuális gép egy CentOs 6.3, Az integrációs csomag V3.2 .
Egy 2 nodos cluster, Hyper-V corre server 2008 R2. ProLiant DL380 G7, egy FC tárolóval.
Az integrációs csomagot megpróbálom frissíteni, ha találok újabbat, elég régi.
Letöltöttem a 3.4-est, szépen kulturáltan belefagyott a frissítésbe :(.
Reboot után nincs hálózat, újra futtatva az upgrade.sh-t szerinte már installálva van. Amúgy kifagy, ha kézzel próbálok leszedni bármit. Szép az élet...

Nézd meg a következő fájlokat:

/etc/udev/rules.d/70-persistent-net.rules
/etc/sysconfig/network-scripts/ifcfg-eth0

Ha az ifcfg fájlban bele van égetve az HWADDR - inkább kommentezd ki -, akkor generál egy újabb sort az udev fájlban.

Meg kell nézni a Hyper-V-n hogy mi a megfelelő MAC cím és azt kell használni az udev fájlban, illetve kitörölni a felesleges sort ami nem kell.

Újraindítod a hálózatot és megjavul.

Az próbáltad, hogy permissive módba kapcsolod a selinuxot? (/etc/sysconfig/selinux)
Ilyenkor nem címkézi újra a fájlokat, viszont a logjaiból pontosan kiolvashatod, hogy hol ütközik a muninnal.