やりたいこと
雪犬は、素人のためセキュリティが非常に弱い!
誰かに入られてもわからない!
サーバー怖い!
という事で、sshログインしているかどうかを確認したい。
なので、ただソースコピペしてパパーっとやりたい人向け。
★改行したい、ダブルクォート挟むなどの場合は、別のソースを探してください。
出来なかった事
- リアルタイムでのログイン確認
- 実行コマンド内の改行?空白?を改行としてそのまま送信
やること
- スクリプト: ssh ログインの確認, slack にbotとして送信
- CRON: X分, X時間毎に実行させる
ssh ログインの確認
こちらの方のソースを使わせていただいております。
詳細はサイトをご確認ください。
コマンド who
w
でssh がログインしているユーザを確認出来る。
変数msg
へコマンドを代入し、それを送信している、というスクリプト。
slack.sh
#!/bin/bashset-eumsg=`w`SLACK_WEBHOOK_URL="https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX"
post_slack(){channel="#bot"user="my_bot"emoji="ghost"message=${msg}# list: good / dangercolor=""file=$(mktemp)trap"rm ${file}" EXIT
cat<<EOJ> $file
{
"link_names": 1,
"channel": "${channel}",
"username": "${user}",
"icon_emoji": ":${emoji}:",
"attachments": [
{
"color": "${color}",
"text": "${message}"
}
]
}
EOJ
curl -s-S-X POST -d @$file${SLACK_WEBHOOK_URL}}
post_slack
X分、X時間毎に実行する
# リストの確認
$ crontab -l
# 編集
$ crontab -e
crontab -e
を実行したら、vi と同じになるので、以下のように追記
# 3分毎に実行
*/3 * * * * /home/user/slack.sh
# 1h毎に実行
0 */1 * * * /home/user/slack.sh
最後に
お疲れさまでした。
別のソースで、改行やダブルクォート対応ソースあったのですが、知識なさすぎて・・・実行出来なかったので><
本来はリアルタイムで通知したかったんですが、どうやったらリアルタイムで持ってこれるかわからず!!
ログの更新がされたら〜とかっていう事なのかも???
知識なくてわかりませんが、とりま現状はこの運用で。
ではではではではー、雪犬-snowdog-でした★