로그인을 rsyslog를 통해 slack에 알리기
소개
서버 (CentOS)에 대한 모든 로그인을 슬랙으로 알리고 싶었습니다.
그런 다음 rsyslog에서 쉘 스크립트를 호출하여 slack에 알립니다.
슬랙 토큰 획득
이번에는 여기을 참고로 취득하였습니다.
rsyslog 설정
rsyslog 설정을 추가합니다. /etc/rsyslog.d/slack.conf
를 작성하고 다음을 작성하십시오. 이제 로그인 할 때 slack.sh
가 실행됩니다.
/etc/rsyslog.d/slack.conf$template login_msg, "%fromhost% %msg%"
if \
( $msg contains 'pam_unix(' ) \
and ( $msg contains 'session opened' ) \
then ^/etc/rsyslog.d/slack.sh;login_msg
그런 다음 /etc/rsyslog.d/slack.sh
를 만듭니다. 예를 들어 채널 이름은 alert입니다.
/etc/rsyslog.d/slack.sh#!/bin/sh
curl -XPOST -d "token=アクセストークン" -d "channel=#alert" -d "text=${1#* * * * * }" "https://slack.com/api/chat.postMessage"
text=${1#* * * * * * }
의 부분에서 아래의 예와 같은 형태로 로그를 잘라내고 있다.
pam_unix(sshd:session): session opened for user root by xxxxx(uid=xxxx)
#これを切り出すと
root by xxxxx(uid=0)
동작 확인
우선은 보통 SSH로 로그인 해 본다.
제대로 통지가 왔다.
다음으로 sudo
나 su -
를 사용해 본다.
루트에 로그인하는 것도 알림을 받았습니다.
마지막으로
자신 만이 사용자가있는 서버에서 움직이기 때문에 갑작스런 알림이 오지 않도록 기도합니다.
참고문헌
이번에는 여기을 참고로 취득하였습니다.
rsyslog 설정
rsyslog 설정을 추가합니다. /etc/rsyslog.d/slack.conf
를 작성하고 다음을 작성하십시오. 이제 로그인 할 때 slack.sh
가 실행됩니다.
/etc/rsyslog.d/slack.conf$template login_msg, "%fromhost% %msg%"
if \
( $msg contains 'pam_unix(' ) \
and ( $msg contains 'session opened' ) \
then ^/etc/rsyslog.d/slack.sh;login_msg
그런 다음 /etc/rsyslog.d/slack.sh
를 만듭니다. 예를 들어 채널 이름은 alert입니다.
/etc/rsyslog.d/slack.sh#!/bin/sh
curl -XPOST -d "token=アクセストークン" -d "channel=#alert" -d "text=${1#* * * * * }" "https://slack.com/api/chat.postMessage"
text=${1#* * * * * * }
의 부분에서 아래의 예와 같은 형태로 로그를 잘라내고 있다.
pam_unix(sshd:session): session opened for user root by xxxxx(uid=xxxx)
#これを切り出すと
root by xxxxx(uid=0)
동작 확인
우선은 보통 SSH로 로그인 해 본다.
제대로 통지가 왔다.
다음으로 sudo
나 su -
를 사용해 본다.
루트에 로그인하는 것도 알림을 받았습니다.
마지막으로
자신 만이 사용자가있는 서버에서 움직이기 때문에 갑작스런 알림이 오지 않도록 기도합니다.
참고문헌
$template login_msg, "%fromhost% %msg%"
if \
( $msg contains 'pam_unix(' ) \
and ( $msg contains 'session opened' ) \
then ^/etc/rsyslog.d/slack.sh;login_msg
#!/bin/sh
curl -XPOST -d "token=アクセストークン" -d "channel=#alert" -d "text=${1#* * * * * }" "https://slack.com/api/chat.postMessage"
pam_unix(sshd:session): session opened for user root by xxxxx(uid=xxxx)
#これを切り出すと
root by xxxxx(uid=0)
우선은 보통 SSH로 로그인 해 본다.
제대로 통지가 왔다.
다음으로
sudo
나 su -
를 사용해 본다.루트에 로그인하는 것도 알림을 받았습니다.
마지막으로
자신 만이 사용자가있는 서버에서 움직이기 때문에 갑작스런 알림이 오지 않도록 기도합니다.
참고문헌
Reference
이 문제에 관하여(로그인을 rsyslog를 통해 slack에 알리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/lobmto/items/ccfe4d97286025a4405c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)