Monitorozas, loggolas Debian alatt

Fórumok

Monitorozas, loggolas Debian alatt

Hozzászólások

zsirfeka a megoldás szállítója...én sem tudok jobbat

remote logolas a syslogd.conf-ban ahonnan akarod (pl:)

#REMOTE: log kern logs to test server
kern.* @testserver.domain.org

ahova akrod, tehat a fenti pl alapjan a testserverre az /etc/services-ben

syslog 514/udp

Persze elosyor eleg rendesen meg kell tervezni, hogy mit akarsy es hogyan.
Mert ugye ott az rsyslog is, ami tobbet tud, mint a sima syslog, meg a syslog-ng(?). Fontos, hogy hogyan akarod feldolgozni a logokat.

az rsync ssh-s kapcsolatrol, meg az rsync honlapja csodalatos peldakat ad.
http://samba.anu.edu.au/rsync/examples.html

Nálunk is több szerver üzemel, aminek a logjait biztonsági és egyébb okokból több helyen is tárolunk.

Ennek a módja egyszerű.
(Egy részét már le is írták neked)

Van ugye A,B,C gépek, amit szeretnél logoltatni.

Erre van X,Y,Z gépek, amelyik mindegyikén fut syslog-ng nevezetű program.

[code:1:7d2d44f7e8]
Debian alatt igy tudod installálni (root jog szükséges!):
apt-get install syslog-ng
[/code:1:7d2d44f7e8]

Namármost...
Be is kell állítani A,B,C szervereken, hoyg menjen a logolás.

syslogd esetén:
/etc/syslog.conf fájlba be kell illeszteni a következő sort
[code:1:7d2d44f7e8]
*.* @a.b.c.d
[/code:1:7d2d44f7e8]
Ahol az a,b,c,d számok rendre a távoli loggolásra beállított gép IP címe.
Természetesen több ehhez hasonló sort is megadhatsz ezéltal több gépre is kikerül az adott log sor.

A loggoló gépeket úgy állítottuk be, hogy kintről nem látszanak (ergo védettnek tekinthetőek).

syslog-ng fut rajtuk a következő konfigurációs beállításokkal:
(Nem túl rövid a dolog de még így se teljes)
[code:1:7d2d44f7e8]
options {
#use_fqdn(yes);
use_dns(no);
chain_hostnames(yes);
#use_time_recvd(no);
perm(0640);
create_dirs(yes);
dir_perm(0750);
dir_owner("syslogng");
dir_group("syslogng");
};

source src {
unix-stream("/dev/log");
internal();
tcp();
udp();
pipe("/proc/kmsg");
};

# By default messages are logged to tty12...
destination console_all { file("/dev/tty12"); };
# ...if you intend to use /dev/console for programs like xconsole
# you can comment out the destination line above that references /dev/tty12
# and uncomment the line below.
#destination console_all { file("/dev/console"); };

filter f_nottokernel { not match(grsec); };

log { source(src); destination(console_all); };

destination messages { file("/var/log/messages"); };
filter f_nottomessages { not match(cron) and not match(smbd) and
not match(nmbd) and not match(sshd) and
not match(proftpd) and not match(postfix) and
not match(syslog-ng) and
not match(grsec) and
not match(snmpd); };

log { source(src); filter(f_nottomessages); destination(messages); };

#destination d_crontab { file("/var/log/system/crontab.log"); };
#filter f_crontab { match(cron); };
#log { source(src); filter(f_crontab); destination(d_crontab); };

#destination d_sshd { file("/var/log/services/sshd.log"); };
#filter f_sshd { match(sshd); };
#log { source(src); filter(f_sshd); destination(d_sshd); };

destination d_proftpd { file("/var/log/services/proftpd.log"); };
filter f_proftpd { match(proftpd); };
log { source(src); filter(f_proftpd); destination(d_proftpd); };

destination d_postfix { file("/var/log/services/postfix.log"); };
filter f_postfix { match(postfix); };
log { source(src); filter(f_postfix); destination(d_postfix); };

destination d_syslogng { file("/var/log/services/syslogng.log"); };
filter f_syslogng { match(syslog-ng); };
log { source(src); filter(f_syslogng); destination(d_syslogng); };

filter f_authpriv { facility(auth, authpriv); };
filter f_syslog { not facility(auth, authpriv) and not match(FireWall) and not match(CRON) and not match(dhcpd); };
filter f_cron { facility(cron); };
filter f_daemon { facility(daemon); };
filter f_kern { facility(kern) and not match(FireWall) and not match(CRON) and not match(dhcpd); };
filter f_lpr { facility(lpr); };
filter f_mail { facility(mail); };
filter f_user { facility(user); };
filter f_uucp { facility(uucp); };

filter f_news { facility(news); };

filter f_debug { not facility(auth, authpriv, news, mail); };
filter f_messages { level(info .. warn)
and not facility(auth, authpriv, cron, daemon, mail, news); };
filter f_emergency { level(emerg); };

filter f_info { level(info); };
filter f_notice { level(notice); };
filter f_warn { level(warn); };
filter f_crit { level(crit); };
filter f_err { level(err); };

filter f_cnews { level(notice, err, crit) and facility(news); };
filter f_cother { level(debug, info, notice, warn) or facility(daemon, mail); };

# custom all logger (daily)
destination cdest_all_notice { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/all/notice" owner("root") group("adm") create_dirs(y
destination cdest_all_info { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/all/info" owner("root") group("adm") create_dirs(yes)
destination cdest_all_warning { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/all/warning" owner("root") group("adm") create_dirs
destination cdest_all_err { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/all/err" owner("root") group("adm") create_dirs(yes) pe
destination cdest_all_crit { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/all/crit" owner("root") group("adm") create_dirs(yes)
log { source(src); filter(f_notice); destination(cdest_auth_notice); };
log { source(src); filter(f_info); destination(cdest_all_info); };
log { source(src); filter(f_warn); destination(cdest_all_warning); };
log { source(src); filter(f_err); destination(cdest_all_err); };
log { source(src); filter(f_crit); destination(cdest_all_crit); };

# custom auth logger (daily)
destination cdest_auth_notice { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/auth/notice" owner("root") group("adm") create_dirs
destination cdest_auth_info { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/auth/info" owner("root") group("adm") create_dirs(yes
destination cdest_auth_warning { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/auth/warning" owner("root") group("adm") create_di
destination cdest_auth_err { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/auth/err" owner("root") group("adm") create_dirs(yes)
destination cdest_auth_crit { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/auth/crit" owner("root") group("adm") create_dirs(yes
log { source(src); filter(f_authpriv); filter(f_notice); destination(cdest_auth_notice); };
log { source(src); filter(f_authpriv); filter(f_info); destination(cdest_auth_info); };
log { source(src); filter(f_authpriv); filter(f_warn); destination(cdest_auth_warning); };
log { source(src); filter(f_authpriv); filter(f_err); destination(cdest_auth_err); };
log { source(src); filter(f_authpriv); filter(f_crit); destination(cdest_auth_crit); };

# custom mail logger (daily)
destination cdest_mail_info { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/mail/info" owner("root") group("adm") create_dirs(yes
destination cdest_mail_warning { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/mail/warning" owner("root") group("adm") create_di
destination cdest_mail_err { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/mail/err" owner("root") group("adm") create_dirs(yes)
destination cdest_mail_crit { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/mail/crit" owner("root") group("adm") create_dirs(yes
log { source(src); filter(f_mail); filter(f_info); destination(cdest_mail_info); };
log { source(src); filter(f_mail); filter(f_warn); destination(cdest_mail_warning); };
log { source(src); filter(f_mail); filter(f_err); destination(cdest_mail_err); };
log { source(src); filter(f_mail); filter(f_crit); destination(cdest_mail_crit); };

# custom kernel logger (daily)
destination cdest_kernel_info { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/kernel/info" owner("root") group("adm") create_dirs
destination cdest_kernel_warning { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/kernel/warning" owner("root") group("adm") creat
destination cdest_kernel_err { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/kernel/err" owner("root") group("adm") create_dirs(y
destination cdest_kernel_crit { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/kernel/crit" owner("root") group("adm") create_dirs
log { source(src); filter(f_kern); filter(f_nottokernel); filter(f_info); destination(cdest_kernel_info); };
log { source(src); filter(f_kern); filter(f_nottokernel); filter(f_warn); destination(cdest_kernel_warning); };
log { source(src); filter(f_kern); filter(f_nottokernel); filter(f_err); destination(cdest_kernel_err); };
log { source(src); filter(f_kern); filter(f_nottokernel); filter(f_crit); destination(cdest_kernel_crit); };

# custom daemon logger (daily)
destination cdest_daemon_info { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/daemon/info" owner("root") group("adm") create_dirs
destination cdest_daemon_warning { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/daemon/warning" owner("root") group("adm") creat
destination cdest_daemon_err { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/daemon/err" owner("root") group("adm") create_dirs(y
destination cdest_daemon_crit { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/daemon/crit" owner("root") group("adm") create_dirs
log { source(src); filter(f_daemon); filter(f_info); destination(cdest_daemon_info); };
log { source(src); filter(f_daemon); filter(f_warn); destination(cdest_daemon_warning); };
log { source(src); filter(f_daemon); filter(f_err); destination(cdest_daemon_err); };
log { source(src); filter(f_daemon); filter(f_crit); destination(cdest_daemon_crit); };

# custom snmpd logger (daily)
filter f_snmpd { match(snmpd); };
destination cdest_snmpd_info { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/snmpd/info" owner("root") group("adm") create_dirs(y
destination cdest_snmpd_warning { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/snmpd/warning" owner("root") group("adm") create_
destination cdest_snmpd_err { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/snmpd/err" owner("root") group("adm") create_dirs(yes
destination cdest_snmpd_crit { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/snmpd/crit" owner("root") group("adm") create_dirs(y
log { source(src); filter(f_snmpd); filter(f_info); destination(cdest_snmpd_info); };
log { source(src); filter(f_snmpd); filter(f_warn); destination(cdest_snmpd_warning); };
log { source(src); filter(f_snmpd); filter(f_err); destination(cdest_snmpd_err); };
log { source(src); filter(f_snmpd); filter(f_crit); destination(cdest_snmpd_crit); };

# custom user logger (daily)
destination cdest_user_info { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/user/info" owner("root") group("adm") create_dirs(yes
destination cdest_user_warning { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/user/warning" owner("root") group("adm") create_di
destination cdest_user_err { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/user/err" owner("root") group("adm") create_dirs(yes)
destination cdest_user_crit { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/user/crit" owner("root") group("adm") create_dirs(yes
log { source(src); filter(f_user); filter(f_info); destination(cdest_user_info); };
log { source(src); filter(f_user); filter(f_warn); destination(cdest_user_warning); };
log { source(src); filter(f_user); filter(f_err); destination(cdest_user_err); };
log { source(src); filter(f_user); filter(f_crit); destination(cdest_user_crit); };

# custom grsecurity logger (daily)
filter f_grsec { match("grsec"); };
destination cdest_grsec_info { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/grsec/info" owner("root") group("adm") create_dirs(y
destination cdest_grsec_notice { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/grsec/notice" owner("root") group("adm") create_di
destination cdest_grsec_warning { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/grsec/warning" owner("root") group("adm") create_
destination cdest_grsec_err { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/grsec/err" owner("root") group("adm") create_dirs(yes
destination cdest_grsec_crit { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/grsec/crit" owner("root") group("adm") create_dirs(y
log { source(src); filter(f_grsec); filter(f_info); destination(cdest_grsec_info); };
log { source(src); filter(f_grsec); filter(f_notice); destination(cdest_grsec_notice); };
log { source(src); filter(f_grsec); filter(f_warn); destination(cdest_grsec_warning); };
log { source(src); filter(f_grsec); filter(f_err); destination(cdest_grsec_err); };
log { source(src); filter(f_grsec); filter(f_crit); destination(cdest_grsec_crit); };

# custom spamd logger (daily)
filter f_spamd { match("spamd"); };
destination cdest_spamd_info { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/spamd/info" owner("root") group("adm") create_dirs(y
destination cdest_spamd_notice { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/spamd/notice" owner("root") group("adm") create_di
destination cdest_spamd_warning { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/spamd/warning" owner("root") group("adm") create_
destination cdest_spamd_err { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/spamd/err" owner("root") group("adm") create_dirs(yes
destination cdest_spamd_crit { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/spamd/crit" owner("root") group("adm") create_dirs(y
log { source(src); filter(f_spamd); filter(f_info); destination(cdest_spamd_info); };
log { source(src); filter(f_spamd); filter(f_notice); destination(cdest_spamd_notice); };
log { source(src); filter(f_spamd); filter(f_warn); destination(cdest_spamd_warning); };
log { source(src); filter(f_spamd); filter(f_err); destination(cdest_spamd_err); };
log { source(src); filter(f_spamd); filter(f_crit); destination(cdest_spamd_crit); };

# custom sshd logger (daily)
filter f_sshd { match("sshd"); };
destination cdest_sshd_info { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/sshd/info" owner("root") group("adm") create_dirs(yes
destination cdest_sshd_notice { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/sshd/notice" owner("root") group("adm") create_dirs
destination cdest_sshd_warning { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/sshd/warning" owner("root") group("adm") create_di
destination cdest_sshd_err { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/sshd/err" owner("root") group("adm") create_dirs(yes)
destination cdest_sshd_crit { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/sshd/crit" owner("root") group("adm") create_dirs(yes
log { source(src); filter(f_sshd); filter(f_info); destination(cdest_sshd_info); };
log { source(src); filter(f_sshd); filter(f_notice); destination(cdest_sshd_notice); };
log { source(src); filter(f_sshd); filter(f_warn); destination(cdest_sshd_warning); };
log { source(src); filter(f_sshd); filter(f_err); destination(cdest_sshd_err); };
log { source(src); filter(f_sshd); filter(f_crit); destination(cdest_sshd_crit); };

# custom firewall logger (daily)
filter cf_fw_all { match(FireWall); };
destination cdest_fw_all { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/firewall/all" owner("root") group("adm") create_dirs(yes
log { source(src); filter(cf_fw_all); destination(cdest_fw_all); };

# custom cron logger (daily)
filter cf_cron_all { match("cron"); };
filter cf_cron_cacti { match("cron") and match(poller.php); };
destination cdest_crontab_all { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/cron/all" owner("root") group("adm") create_dirs(ye
destination cdest_crontab_cacti { file("/var/logsave/$HOST/$YEAR/$MONTH/$DAY/cron/cacti" owner("root") group("adm") create_dir
log { source(src); filter(cf_cron_all); destination(cdest_crontab_all); };
log { source(src); filter(cf_cron_cacti); destination(cdest_crontab_cacti); };
[/code:1:7d2d44f7e8]

Ha egyszer lesz időm ledokumentálom. :D

na ezért nem használok én syslog-ng-t, inkább perl-t és regexp-et :)

Jut eszembe...

Szeretnem hogy a roottal ne lehessen tavolrol elerni a szervert. (putty es tarsai)
Erre egy kulonlon usert hoznek letre.

Hol kell beallitani ezt?

/etc/ssh/sshd_config -ban
PermitRootLogin no

[quote:077075d58e="gdavid"]/etc/ssh/sshd_config -ban
PermitRootLogin no

KOszi!

Meg1 kerdes :)
Szeretnek egy olyan usert aki csak arra jo hogy tavolrol bejelentkezzek, utana majd -su val ernem el a root-ot. Ezt milyen parameterekkel lehet letrehozni?

useradd/adduser ???

Koszi!

[quote:81792ce6d1="golgota"]na ezért nem használok én syslog-ng-t, inkább perl-t és regexp-et :)

Mitől jobb a perl/regexp???
Azzal max elbonyolítani lehet a dolgot. Sztem

Szia!

2. feladatra: Ezt is érdemes megnézned:
http://doomain.sytes.net/portal/modules.php?name=News&file=article&sid=39

Üdv
kagy

[quote:2c7a18576c="hawk"][quote:2c7a18576c="golgota"]na ezért nem használok én syslog-ng-t, inkább perl-t és regexp-et :)

Mitől jobb a perl/regexp???
Azzal max elbonyolítani lehet a dolgot. Sztem

A Perl/regexp megoldás TCP-n keresztüli logolást tud? Menet közben szeded szét a logot, vagy csak rotáláskor? Etc. Egyébként ízlések és pofonok -- ott, ahol 123 szerver logját kell gyűjteni és feldolgozni (azaz a 567 db logfájlból a fontos/feltünő/szokatlan sorokat kiválogatni, és az üzemeltetők mailbox-áab juttatni, mondjuk logcheck-kel...) az nem biztos, hogy a logger ilyen előfeldolgozója nélkül működne. A dolog másik oldala, hogy szeritnem egy jól megírt C-ben kreált parser gyorsabb lesz mint a Perl...

egyet kell ertsek zellerrel abban hogy egy c-s parser gyorsabb. Viszont nalunk csak a kozponti szerverek logja az erdekes (Oracle IAS szerverek) ebbol meg nincs annyi. Amugy persze a legjobb lenne XML-ben tarolni az egeszet es egy JDOM-os parserrel/vagy xerces-(c)-vel dolgozni rajta, de a leggyorsabb az volt, hogy perlben osszeutottunk valamit, mert "ma delre" kellett, azota meg nem volt idonk hozzanyulni. Egyebbkent egyetlen specko logallomany van amit vizsgalni kell es amibe az osszes IAS beleirja tavolrol a sajat specialisan kialakitott logjait, amit aztan a specialis perl+regexp alkalmazassal lehet vizsgalni (pll x datumkor y hoston z minta elofordult e, ezt aztan meg lehet shellbol wc -l ezni, meg mindenfelet csinalni, pl ploticus-ra rakuldeni, hogy szep szines abrakat csinaljon az ember a vezetesnek) :).
Ja
Kámán evribádi júz PLOTICUS, bikóz fáking gúd :)
ez volt a reklám helye :)

Sziasztok!

Nem vagyok egy nagy tudasu linuxos(foleg windows XP es Windows 2000-2003 szerverekkel volt dolgom), de van 2 Debian szerver amit szeretnek kicsit biztonsagosabba tenni illetve a logot megoldani.

Megpedig amit meg ki szeretnek alakitani:

1. Tavoli gepre Loggoljon (lehetoleg mindent, meg azt is ha torlik a log filet :))

Ehhez talaltam egy SNARE - System iNtrusion Analysis and Reporting Environment programot (itt olvastam a hup.hu rola)

Ehhez csak 3 kerdesem lenne:
- Megy ez grafikus felulet nelkul is?! Egyik szerveren se volt graf felulet, es nem is nagyon telepitenek.
- A tavoli gepre valo loggolasnak mi a feltetele?!
- Milyen parancsokat lehet ezt megoldani?

Ha tud valaki jobb loggolo progit vagy mas megoldast akkor letszives irja meg.

2. Tavoli gepre valo mentes.

Mivel 2 szerver is van es mind a ketton van napi mentes, szeretnem "keresztbe" masolni a menteseket :)
Ezt hogy lehet megcsinalni?

Hat roviden ennyi... ez a 2 dolog kellene... illetve varok minden javaslatot ami segithet egy jol mukodo Debian szerver biztonsagossa tetelehez.

Nagyon koszonom a segitsegeteket elore is! Ha a loggolast meg tudnam oldani mar az is nagy segitseg lenne.

Ud.
R. Laszlo

Ui.: Letezik valami szerver figyelo program? Otthoni XPs/LINUXos gepemen (progi altal) latnam a szerver homersegletet, memoria adatokat, terheltseg stb.

1. legegszerubb, ha a logrotate elkuldi mailben, amikor forgatja a logot. Ha allandoan akarod figyelni, akkor meg ssh es tail.
2 passz
3. lmsensors

Az IAS logja eccerű Apache log, ha yool tévedek, azt tényleg nem szok van syslogba nyomni, a kérdés viszont a rendserlogokról szólt vala, ami azért más tészta (bár láttam én olyat is, hogy iaslog kissé parse-olva loaderrel ment vissza az adatbázisba, onnan meg tárolteljárásos-sqlplus-os megoldással jöttek le a riportok... Nagyjából az, amit egy jobb webstatisztikázó vag yalapból tud, vagy fél nap alatt belefejleszthető...

Az xml-ezés véleményem szerint felejthető el a logfeldolgozásban, arra a raw sororientált feldolgozókat jobbnak tartom, bár ízlések és pofonok... (Pláne, hogy van vmi. olyasmi is, hogy xmldb :) és ezzel rögtön a loader kihagyásával a fentebb vázolt megoldásnál tartunk...)

Ehhh...

Ez a sok ismeretlen program meg eljaras... :oops:

Utananezek mindennek amit itt irtatok. Ugy is az gyoz amelyiket be tudom allitani :P

De hogy ne legyen ferreertes amit logolni szeretnek:

- logolja a megnyitott és elfogadott hálózati kapcsolatokat
- logolja a könyvtárak olvasását/írását
- figyeli a felhasználók azonosságát és csoportját
- és figyeli a programok használatát/azok megváltoztatását

Roviden ennyi lenne. Erre kell valami egyszeru megoldas... Persze valami olyan formaban amit konnyu feldolgozni. (heti szinten... talan napi, attol fugg mennyi adat lesz.)

Na persze meg egy kriterium:
- Ne zabalja fel az eroforrast! :wink:

Koszi az eddigi hozzaszolast megegyszer!

a syslogd (vagy ha jobban tetszik a syslog-ng, akkor az) tud tavoli naplozast.
tavoli gepre mentes: rsync + ssh jobaratod (lehet cifrazni sokfelekepp).

2.
Amanda http://amanda.sourceforge.net
Bacula http://www.bacula.org

iptables-sel -log -> syslogba megy.
A fájlnyitásokat talán kernelszinten belenyúlva... nem'tom (grsec, pax, és társai), az is megy syslogba, ugyanígy az exec() fork() és társai, a fájlváltozásokra meg rendszeresen futó integrit, annak a kimenete külön fájl, de majd okosabbak kijavítanak... Előrebocsátom, nem lesz 1szerű... (nekem pl. minden felhasználó által kiadott parancsot, illetve az arra adott választ kell naplóznom (a beírt jelszavakat nem!), az sem triviális...

[quote:7eeb8813b1="Garfi"]Ehhh...

Ez a sok ismeretlen program meg eljaras... :oops:

Utananezek mindennek amit itt irtatok. Ugy is az gyoz amelyiket be tudom allitani :P

De hogy ne legyen ferreertes amit logolni szeretnek:

- logolja a megnyitott és elfogadott hálózati kapcsolatokat
- logolja a könyvtárak olvasását/írását
- figyeli a felhasználók azonosságát és csoportját
- és figyeli a programok használatát/azok megváltoztatását

Roviden ennyi lenne. Erre kell valami egyszeru megoldas... Persze valami olyan formaban amit konnyu feldolgozni. (heti szinten... talan napi, attol fugg mennyi adat lesz.)

Na persze meg egy kriterium:
- Ne zabalja fel az eroforrast! :wink:

Koszi az eddigi hozzaszolast megegyszer!

Neked asszem a GRSECURITY a barátod. :D
az megmondja ki mit mikor mivel hogyan csinalt. :D