Muunin에 SSH 로그인 실패 기록

5534 단어 Munin
사용Munin은 서버의 각종 값(디스크 사용량, MySQL의 느린 조회수, HTTP 접근수, CPU 사용률 등)을 좋은 느낌으로 도표화할 수 있어 서버의 자원 감시가 매우 편리하다고 한다.
자체 관리하는 벚꽃 VPS에 접속한 우분투 서버는 다양한 것을 감시하려 했지만, 어떤 웹 애플리케이션을 운용하고 있는 것은 아니어서 특별히 볼 만한 것이 없었다.따라서 약한 서버라도 총포가 접근하는 sshd의 로그인 실패수를 감시해 보아야 한다.
# 招かれざるお客様達
Jul 14 08:58:16 hogel sshd[16682]: Invalid user web from 218.53.55.189
Jul 14 08:58:17 hogel sshd[16686]: Invalid user nagios from 218.53.55.189
Jul 14 08:58:18 hogel sshd[16688]: Invalid user tomcat from 218.53.55.189
Jul 14 08:58:19 hogel sshd[16690]: Invalid user squid from 218.53.55.189
...
그러나 기존 플러그인이 아니기 때문에 간단한 upstart 플러그인을 참고하여 SSH 로그인 실패 수를 적당히 기록했습니다.
ssh_invalid
#!/bin/sh
# -*- sh -*-

: << =cut

=head1 NAME

ssh_invalid - Plugin to measure invalid ssh user.

=head1 AUTHOR

Contributed by hogelog

=head1 LICENSE

GPLv2

=head1 MAGIC MARKERS

 #%# family=auto
 #%# capabilities=autoconf

=cut

. $MUNIN_LIBDIR/plugins/plugin.sh

if [ "$1" = "autoconf" ]; then
        echo yes
        exit 0
fi
if [ "$1" = "config" ]; then

        echo 'graph_title SSH Invalid User'
        echo 'graph_args --base 1000 -l 0 '
        echo 'graph_scale no'
        echo 'graph_vlabel invalid user in days'
        echo 'graph_category system'
        echo 'ssh_invalid.label invalid_user'
        echo 'ssh_invalid.draw AREA'
        print_warning ssh_invalid
        print_critical ssh_invalid
        exit 0
fi

SSH_LOG=${sshlog:-/var/log/auth.log}
MON=`LANG=C date '+%b'`
DAY=`date '+%d'`
TODAY=`printf "%s %2d" $MON $DAY`
COUNT=`grep "$TODAY" $SSH_LOG | grep "invalid user" | wc -l`
printf "ssh_invalid.value $COUNT\n"
기본적으로 모두 perldoc이고 처리 내용은 sshd 로그의 "(\ω^)<불법 방문하러 왔습니다.Jul 14 08:58:16 hogel sshd[16682]: Invalid user web from 218.53.55.189이 플러그인은 한동안 실행된 후에 이런 도표로 변했다.

매일 로그인 실패 수를 시각화합니다.0시 이전에 방문한 상황에서는 이런 문제를 보기 어려웠지만 상술한 스크립트만 쓰면 이렇게 신속하게 시각화할 수 있어서 정말 기쁩니다.참고로 이 서버의 방문량도 적고DenyHosts도 운행되고 있다. 이 숫자이기 때문에 서버에 따라 더욱 격렬한 그래프가 될 수 있다.
서버의 자원 감시 도구로 유명한 무인은'무엇이든 그래프 도구'로서도 재미있을 것 같다.
대체로 다음과 같이 Ubuntu13.04의 appt-get에 설치된 Muunin2에 이 sshinvalid 플러그인을 이동합니다.다른 환경에서plugens 디렉터리에 go를 설정하면 기본적으로 움직입니다.
$ curl https://gist.github.com/hogelog/5981186/raw/89c730507263e41aa5afaf3cb17a731e3b05be0e/ssh_invalid -o /usr/share/munin/plugins/ssh_invalid
$ ln -s /usr/share/munin/plugins/ssh_invalid /etc/munin/plugins/ssh_invalid
$ vim /etc/munin/plugin-conf.d/munin-node
# 以下を追記
[ssh_invalid]
group adm
$ restart munin-node

좋은 웹페이지 즐겨찾기