SSHのPAM認証をHookしてLinuxサーバへのログインをSlackに通知する
久しぶりに書こうと思ったら、何か別のブログを開設してしまった。 いい機会なので、Markdown形式で書くことにします。
今回のネタは、個人のサーバをさくらの専用サーバからIDCFのクラウドに移行したことと、いろいろな通知をSlackに出してみようと思ったことから始まってます。
きっかけ
Slackで遊びたいと思っていろいろ調べたところ、IDCFの踏台サーバにログインした通知を出せることがわかったので、その辺りについて書いてみます。 といってもググってみればわかることだけど。
どうやるか
Google Cloud Platform で Slack との連携を実現する 3 つの方法に書いてある、notify
のサンプルを使う。
これは、PAMフックを利用してSSHでログインしたことを検知し、SlackのWebHook APIに対してPOSTするものです。
他にもnode.jsを使う方法や、.ssh/rc
を使う方法がありましたが、
- 踏台なのでなるべく余計なものは入れたくない(踏台サーバはIDCFのS1を使っているため)
- アカウントごとに設定が必要な物は避けたい
ということから、このPAMフックによる通知を選択しました。
ただし、PAMフックを使うにはsshdの設定で使えるようにしなければなりません。
IDCFで使っている踏台はCentOS7テンプレートから作ったので初期設定を確認したところ、/etc/sshd_config
にはデフォルトでusePAM yes
となっていました。
ということで、特に悩まずにシェルスクリプトをインストールできました。
まとめ
Slack便利