bluebirdスマートフォン用の表示で見るbluebird2019-12-24Mackerelのチェック監視で監査ログ取得このエントリーは、Mackerelアドベントカレンダーの24日目エントリーです。#2で「Mackerelのチェック監視で監査ログ取得」というテーマでLTしました。Mackerelローンチ5周年おめでとうございます!mackerelio.connpass.comこのLTは、いわゆる「共有アカウント」を使用して、SSHでリモートログインしているサーバーに対し、リモートログインと特権操作(sudo)の履歴をMackerelで取得する方法を解説したものです。共有アカウントを使用しているのがよくないとか、SSHでなく(AWSだと)セッションマネージャーを使うのが良くのではとか、改善すべきところはありますが、そのような制約をどのようにクリアしていくかを考えました。ユーザーそれぞれが独自の公開鍵を使用し、Ansibleで各サーバーに公開鍵を配布するようにしています。公開鍵のメンテナンス時は、AnsibleのGitレポジトリーにプルリクエストを作成をすることによって、どの公開鍵をどのユーザーが使用しているか管理できるようにしています。VERBOSEを設定することにより、リモートログイン時にどの公開鍵を使用したかがログに出力されます。Linuxサーバー上でauditdを有効にすることにより、sudo等で特権を得た場合の操作ログが出力されます。Mackerelのcheck-logプラグインを設定することで監視することにより、これらのログを監視しています。mackerel-agent.confの設定は以下の通りです。"--return"]Mackerelでチェックした内容をSlackにアラート送信することにより、ログの内容の記録および、インシデント対応を行っています。リモートログイン時のSlack通知は以下の通りです(ログの性格上モザイクだらけですが)sudoでコマンドを実行した場合は、以下の様な通知が来ます。/*とか実行した時は、通知がきた時は実行された後なので、後の祭り感がありますが。ここで見てきた通り、Mackerelはプラグインとの組み合わせで使い道がひろがります。ここではログの監査用途でcheck-logプラグインとアラート通知を組み合わせる用途を紹介しました。プラグインを活用して楽しいMackerelライフを送っていきましょう。月別アーカイブはてなブログをはじめよう!setoazusaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。