Linux sunucularda yetkili kullanıcıların root hesabına geçtikten sonra çalıştırdıkları komutları loglayabilmek için aşağıdaki komutu loglama yapmak istediğiniz sunucuların bashrc dosyasına eklemeniz yeterli olacaktır.
CentOs/RedHat için; /etc/bashrc
Ubuntu/Suse için; /etc/bash.bashrc dosyasının sonuna eklemeniz yeteli olacaktır.
########################
remoteip=$(who am i | awk '{print $5}' | sed "s/[()]//g" )
export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local3.info "$(whoami) $remoteip [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'
########################
Bu işlemi yaptıktan sonra sunucu artık root yetkisi ile cli da komut çalıştırıldığında loglayacaktır.
örnek;
root 192.168.1.11 01/25/21 - 19:53:19 service snmpd restart [0]
oluşan loglar Syslog facility olarak local3 severity olarak info şeklinde oluşacaktır. Ama kendinize göre değiştirebilirsiniz.
Oluşturulan bu logları isterseniz rsyslog, syslog-ng ve syslog ile merkezi bir sunucuda toplayabilirsiniz.
rsyslog,syslog yönlendirmesi,
udp("merkezi_syslog_sunucu_ip" port(514));
};
# send everything to loghost, to
log {
source(src); filter(f_local); ####local3 olarak logladığımız için bu filtreyi seçtik.
destination(loghost);
};
Hiç yorum yok:
Yorum Gönder