25 Oca 2021

Linux root kullanıcı CLI Hareketlerinin Loglanması

 

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,

LOCAL3.*     @merkezi_syslog_sunucu_ip

Syslog-ng için;

destination loghost {
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: