ウェブサイト検索

ルートおよびユーザーの SSH ログイン電子メール アラートを取得する方法


実稼働環境で Linux サーバーをインストール、構成、保護するときは常に、サーバーのセキュリティに関する限り、サーバーで何が起こっているのか、誰がサーバーにログインしているのかを追跡することが非常に重要です。

なぜなら、誰かがSSH 経由でブルートフォース戦術を使用してルートユーザーとしてサーバーにログインした場合、その人がどのようにサーバーを破壊するかを考えてください。 root アクセス権を取得したユーザーは、やりたいことを何でも行うことができます。このようなSSH 攻撃をブロックするには、そのような攻撃からサーバーを保護する方法について説明した次の記事をお読みください。

  1. DenyHosts を使用して SSH サーバーのブルート フォース攻撃をブロックする
  2. Pam_Tally2 を使用して SSH 失敗したログインをロックおよびロック解除する
  3. SSH サーバーを保護して保護するための 5 つのベスト プラクティス

したがって、SSH セッション経由で直接root ログインを許可することは推奨されず、sudo を使用して非 root アカウントを作成することをお勧めします。strong>アクセス。 root アクセスが必要な場合は、最初に通常のユーザーとしてログインし、su を使用してroot ユーザーに切り替えます。直接のSSH ルート ログインを無効にするには、SSH でのルート ログインを無効にして制限する方法を示す以下の記事に従ってください。

  1. SSH ルート ログインを無効にし、SSH アクセスを制限する

ただし、このガイドでは、誰かが root または通常のユーザーとしてログインしたときに、指定された電子メール アドレスにIP アドレスとともに電子メール アラート通知を送信する必要があることを知る簡単な方法を示します。前回のログインの。したがって、不明なユーザーが最後にログインした IP アドレスがわかれば、iptables ファイアウォールで特定の IP アドレスの SSH ログインをブロックできます。

  1. Iptables ファイアウォールでポートをブロックする方法

LinuxサーバーでSSHログイン電子メールアラートを設定する方法

このチュートリアルを実行するには、 サーバー上のルート レベルのアクセス権と、nano または vi エディター、および に関する知識が必要です。 mailx (メール クライアント) は、電子メールを送信するためにサーバーにインストールされます。ディストリビューションに応じて、次のコマンドのいずれかを使用してmailx クライアントをインストールできます。

Debian/Ubuntu/Linux Mint の場合
apt-get install mailx
RHEL/CentOS/Fedora 上
yum install mailx

SSH ルート ログインの電子メール アラートを設定する

次に、root ユーザーとしてログインし、cd /root コマンドを入力して root のホーム ディレクトリに移動します。

cd /root

次に、.bashrc ファイルにエントリを追加します。このファイルはローカル環境変数をユーザーに設定し、いくつかのログイン タスクを実行します。たとえば、ここでは電子メールのログイン アラートを設定します。

vi または nano エディタで .bashrc ファイルを開きます。 .bashrc は隠しファイルであることに注意してください。ls -l コマンドを実行しても表示されません。 Linux で隠しファイルを表示するには、-a フラグを使用する必要があります。

vi .bashrc

ファイルの最後に次の行全体を追加します。必ず「ServerName」をサーバーのホスト名に置き換え、「[email 」をメール アドレスに変更してください。

echo 'ALERT - Root Shell Access (ServerName) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" [email 

ファイルを保存して閉じ、ログアウトして再度ログインします。SSH 経由でログインすると、デフォルトで .bashrc ファイルが実行され、root ログイン アラートの電子メール アドレスが送信されます。

電子メールアラートのサンプル
ALERT - Root Shell Access (Database Replica) on: Thu Nov 28 16:59:40 IST 2013 tecmint pts/0 2013-11-28 16:59 (172.16.25.125)

SSH 通常ユーザーのログイン電子メール アラートを設定する

通常のユーザー (tecmint) としてログインし、cd /home/tecmint/ コマンドを入力してユーザーのホーム ディレクトリに移動します。

cd /home/tecmint

次に、.bashrc ファイルを開き、ファイルの末尾に次の行を追加します。必ず上記のように値を置き換えてください。

echo 'ALERT - Root Shell Access (ServerName) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" [email 

ファイルを保存して閉じ、ログアウトして再度ログインします。再度ログインすると、.bashrc ファイルが実行され、ユーザー ログイン アラートの電子メール アドレスが送信されます。

このようにして、ログイン アラートを受信するように任意のユーザーに電子メール アラートを設定できます。ユーザーのホーム ディレクトリ (/home/username/.bashrc など) の下にあるユーザーの .bashrc ファイルを開き、上記のようにログイン アラートを設定するだけです。