おっさんのダベリ

IT系の技術的な話題が多いです

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便利