本ブログは、オラクル・クラウドの個人ブログの1つです。
初めに
誰かがOCI Computeインスタンスにログインしたときに、管理者にメール通知を送信したいという要望があるかもしれません。もちろん、これは可能で、セットアップ方法を紹介したいと思います。OCI電子メール配信サービスを使用している場合、やり方はとても簡単です。
検証環境
項目 | 内容 | コメント |
---|---|---|
OCIリージョン | 東京 | 他のリージョンにも適用 |
Computeインスタンス | Oracle Linux 8 | サンプルのシェル・スクリプトをご参考ください。 |
メール送信用ソフト | mailx | 手動でインストール済 |
ステップ
1. OCI Email Deliveryのセットアップ
2. シェル・スクリプトの作成
3. OCI Computeにログインし、メール通知を確認
1. OCI Email Deliveryのセットアップ
もちろん、他のメールサーバーを使用してメールを送信することもできますが、OCIネイティブサービスであるOCI電子メール配信を利用することをお勧めします。
OCI電子メール配信を既にセットアップ済の場合は、次のステップから実行してください。
セットアップをまだ行っていない場合は、私の前回の記事に従ってを設定してください。OCI電子メール配信サービスの概要
注意
上記の記事には、各機能(DKIMとSPF)をカバーしている完全なステップ・バイ・ステップのガイドがあります。もし軽い検証だけをしたい場合は、全てのステップを実施しなくてもよいです。
最小限のステップ: 「OCI Email Deliveryでメールを送信するクイック・スタート」部分のStep 1, 4, 6, 7
2. シェル・スクリプトの作成
SSHログインが検知されたときに、メール送信をトリガーするシェルスクリプトが必要です。簡単なサンプルを作成しましたので、ご参考までにどうぞ。
パスとファイル名: /etc/ssh/sshrc
所有者: root:root
[opc@linux8 ~]$ cat /etc/ssh/sshrc
# Name: /etc/ssh/sshrc
# Purpose: Sending email notification when SSH login is detected.
#
# Please replace variable "Recipient" with the mail address to which you want to send.
Recipient="<mail_address>"
IP_From=`echo $SSH_CONNECTION | cut -d " " -f 1`
Host_Name=`hostname`
logger -t ssh-wrapper $USER login from ${IP_From}
Message="`date`: User $USER just logged in ${Host_Name} from ${IP_From}"
echo $Message >> /home/opc/ssh_login_mail_alert.txt
echo $Message | mailx -s "Notification of SSH Login" $Recipient
[opc@linux8 ~]$
3. OCI Computeにログインし、メール通知を確認
OCI ComputeインスタンスにSSHログインします。
受信者は以下のメールを受け取りました。
以上です。
関連記事
オラクル・クラウドの個人ブログ一覧
OCI電子メール配信サービスの概要
Autonomous DBでOCIメール配信サービスを使用してメールを送信