Linuxでなにかしら処理を動かしていると、処理が終了した際にローカルのユーザにメールを送ってくることが多い(デフォルトでは/var/spool/mail/
にファイルとして吐かれてる場合が多い(mbox形式))。
ちゃんとしたサーバだったら監視ツールとか入れたり、別途Slackにポストさせたり、ちゃんとメーリングリスト宛にメールを転送させるように設定したりしているけど、適当にCUIでキックした処理の終了連絡とか、cronで定期実行してる処理だとそこまでしてなかったりする。
で、そもそも最近はメールもあまり見ないし、Slackにはメールを受け付けてチャンネルにPOSTしてく...
前に、AWSでの各サービス利用料金通知Botを作ってたので、Azureについても作成してみた。
ソースはとりあえずこちらに配置している。
…正直、AWSに比べてえらい作りにくかった。
AWSの場合だと一発でJSONでデータとれるのだが、Azureは各サービスの利用データとその利用データごとのレート金額で分かれているので、データを取ってきたあとにマージしてやる必要があった。
あと、どうも日本リージョンのデータを取得する際にドルで取ってこれないようで、日本円で計算する必要があった。
為替の変動とかに影響受けそうなんだけど、どうなんだろう…?
この辺の情報はソースに直書きになっている...
OSSECでは、アラート発生と同時に任意のコマンドを実行させることが可能だ。
これを利用して、リアルタイムでのファイル改ざんを検知したらSlackに通知させるよう設定することもできる。
この際、公式ですでにSlack用のスクリプトがすでに作成されているので、今回はこれを利用してやる。
バージョンによっては配置されていないかもしれないので、その場合は事前にwgetなりで取得しておこう。
(+スクリプト内で直接WebHookのURLとかユーザを変数で指定してるので、その辺も設定しておく。「SITE」がWebHookのURL。)
wget https://raw.githubuserco...
前回CentOS 7上でfail2banのインストール・設定を行ったが、アタックを検知して対象のIPアドレスをBANした際、メールではなくSlackに通知させることもできるようだ。
まず、事前にSlackのWebHookを作成しておく必要がある。
次に、actionとしてslackへのポストが行えるよう、設定ファイルを作成する。
/etc/fail2ban/action.d/slack.conf
[Definition]
actionban = curl -X POST --data-urlencode 'payload={"channel": "#test", "use...
脆弱性検知にVulsを使っているのだが、現時点ではまだ差分検知の機能が実装されておらず、cronなどでまわして新しい脆弱性が見つかったらその脆弱性だけをSlackにポストさせるようにするにはVuls単体だとまだできない状態。
そろそろ実装されると思っているのだが、その間の繋ぎとしてPythonでスクリプトを書いてやることにした。
間に合わせなのであまり綺麗には書いてない状態。
vuls_run.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from os.path import join, relpath
import os...
AWSで、昨日までの各サービス、アカウント全体での利用料金についてSlackでポストさせるようにしたかったので、とりあえずPythonで簡単なスクリプトを作ってみた。
Lambdaでやってもよかったのだが、手元にあるジョブサーバを使わないといかんという使命感の元普通にサーバ上で動くようにした。認証情報についても事前にexportしとけばいけるはずなのだが、とりあえずスクリプト内で記述するようにしてる。
利用料金についてCloudWatchに連携されている必要があるので、事前にCloudWatchへの連携をしておくこと。
ライブラリとしてboto3とSlackWebを使っている。
仕事で、適当な処理をしてSlackにポストするという処理が必要になったので、大した処理でもなかったのでPythonで記述することにした。
で、ほかの処理と出口を揃えたい+Attachmentでちょっとリッチな通知をしたかったので、簡単にWebHookに投げてポストさせられるよう『slack-python-webhook(slackweb)』を利用することにした。
以下、作成時のソースサンプル。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import slackweb
# --- Slack Setting ---
SLACK_W...