반응형
■원격 접속자의 명령어 로그 남기기(SYSLOG 기능으로 로그 남기기)
1. Ubuntu
1) 로그인 전체 적용(/etc/profile)
- 개별 계정에 설정시 : ~/.bashrc 파일
root@berasix:~# vi /etc/profile .... # Setup history export CONN_IP=`who am i |cut -f 2 -d \(|cut -f 1 -d \)` function logging { stat="$?" cmd=$(history|tail -1) if [ "$cmd" != "$cmd_old" ]; then logger -p local1.debug "[1] PID=$$, PWD=$PWD, ID=$LOGNAME, IP=$CONN_IP, CMD=$cmd" fi cmd_old=$cmd } trap logging DEBUG |
2) syslog에 적용 하기
root@berasix:~# vi /etc/rsyslog.d/50-default.conf ## 아래 내용 추가. log level에 따라 기록되는 로그 내용이 달라집니다. ### local1.debug /var/log/cmd.log |
3) 로그 rotate 시키기
root@berasix:~# vi /etc/logrotate.d/rsyslog ## 아래 내용 추가 ### /var/log/cmd.log |
4) syslog 재기동
systemctl restart rsyslog.service
5) log 확인
- 입력한 명령어와 해당 사용자 등이 cmd.log 파일에 기록됩니다.
- 해당 로그는 shell상에서 입력한 로그만 기록되며 프로그램 내에서 수행한 내용(예: vi 등)은 기록되지 않습니다.
2. RHEL(Redhat Enterprise Linux) & CentOS
1) 로그인 전체 적용(/etc/profile)
- 개별 계정에 설정시 : ~/.bashrc 파일
root@berasix:~# vi /etc/profile .... # Setup history export CONN_IP=`who am i |cut -f 2 -d \(|cut -f 1 -d \)` function logging { stat="$?" cmd=$(history|tail -1) if [ "$cmd" != "$cmd_old" ]; then logger -p local1.debug "[1] PID=$$, PWD=$PWD, ID=$LOGNAME, IP=$CONN_IP, CMD=$cmd" fi cmd_old=$cmd } trap logging DEBUG |
2) syslog에 적용 하기
root@berasix:~# vi /etc/syslog.conf ## 아래 내용 추가. log level에 따라 기록되는 로그 내용이 달라집니다. ### local1.debug /var/log/cmd.log |
※ 참고 : 원격지 syslog 설정
원격지로 명령을 보내려면, 마찬가지 방법으로 /etc/syslog.conf 에 다음을 추가하고, 재실행하면 된다. 물론 수신받는 원격지 syslog 서버에서는 메시지 수신을 허용해둔 상태여야 한다. local1.* @192.168.123.2 ## @ 1개는 UDP, @@ 2개는 TCP로 원격전송 |
3) 로그 rotate 시키기
root@berasix:~# vi /etc/logrotate.d/rsyslog ## 아래 내용 추가 ### /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/cmd.log ### <=== 추가 { sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true endscript } |
4) syslog 재기동
systemctl restart rsyslog.service
5) 원격으로 재접속 후 로그 생성 확인
▶ 로그 형태 Dec 6 13:10:21 host raonyn: [1] ID=raonyn, PID=7448, PWD=/home/raonyn, IP=192.168.1.25, CMD= 19 exit Dec 6 13:10:22 host raonyn: [1] ID=raonyn, PID=10591, PWD=/home/raonyn, IP=192.168.1.25, CMD= 20 su - Dec 6 13:10:22 host raonyn: [1] ID=root, PID=10716, PWD=/root, IP=192.168.1.25, CMD= 1000 /script/syscheck.sh |
728x90
'Operating System > Linux & Unix' 카테고리의 다른 글
[AIX] 계정의 패스워드 변경 일자 확인 (0) | 2022.11.16 |
---|---|
[LINUX] split 명령을 이용한 파일 분할 (0) | 2022.11.01 |
[LINUX] CentOS 8 NTP 설정 (0) | 2022.10.06 |
[LINUX] df 와 du의 용량이 다른 경우 (0) | 2022.10.06 |
[AIX] 계정잠김 해제 (0) | 2022.10.06 |
댓글