Telegram経由でSSH接続を通知するアラートシステム

Security

概要

「telegramsshalert」は、SSH接続が発生した際にTelegramボットを利用して通知を送信するシンプルながら効果的な監視システムです。サーバーにSSHログインがあるたびに、管理者はTelegram上で即座に接続情報を受け取ることができ、不正アクセスなどの早期検知に役立ちます。インストールはgitクローン後、シェルスクリプトを実行するだけで完了し、Telegram側のボット作成やチャットID取得も手順として提供されています。Linux環境におけるセキュリティ強化の一助として活用可能です。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 3
  • ファイル数: 4
  • メインの言語: Shell

主な特徴

  • SSH接続時のリアルタイム通知をTelegramボット経由で受け取れる
  • シンプルなシェルスクリプトで構成されており、容易に導入・管理が可能
  • Telegramボット作成からチャットID取得までの設定手順が明確に記載されている
  • インストール・アンインストール用のスクリプトを提供し、運用の開始・停止が簡単

技術的なポイント

本プロジェクトは、LinuxサーバーにおけるSSHログインイベントをトリガーとして、TelegramのBot APIを利用したメッセージ送信を実現しています。主にシェルスクリプトで構成されており、サーバーのログ監視とTelegramへの通知処理を連携させる仕組みです。

インストールスクリプト(install.sh)は、必要な依存関係の確認や設定ファイルの配置、BotのトークンやチャットIDの登録を行います。ユーザーはTelegramの@BotFatherでBotを作成し、@userinfobotなどでチャットIDを取得する必要があります。これらの情報は設定時に入力し、スクリプト内に登録されます。

SSH接続の検知は、一般的にログファイル(例:/var/log/auth.logや/var/log/secure)を監視し、新たなログインイベントを捕捉する方法が考えられます。本リポジトリのスクリプトは、おそらくログイン時のフックやcronジョブ、もしくはログ監視ツールを活用してSSHイベントを検出後、curlなどのHTTPクライアントを用いてTelegram Bot APIのsendMessageエンドポイントにPOSTリクエストを送信します。これにより、管理者のTelegramに接続情報(接続元IP、ユーザー名、接続時刻など)が通知されます。

アンインストールスクリプト(uninstall.sh)は、インストール時に配置したファイルや設定を削除し、システムを元の状態に戻す役割を持ちます。これにより、シンプルかつ安全に運用開始・停止が可能です。

このように、本ツールはシンプルな構成ながら、セキュリティ監視において重要な「即時性」と「通知の確実性」を兼ね備えています。Telegramのプッシュ通知という手軽な手段を用いることで、リモートの管理者もリアルタイムにログイン状況を把握でき、不正アクセスの早期発見に寄与します。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: プロジェクトの概要、インストール・設定・アンインストール手順を記載
  • install.sh: システムへのインストールとセットアップを行うスクリプト
  • src: 実際にSSH接続イベントを検知し、Telegramに通知を送るためのスクリプト群が格納されているディレクトリ
  • uninstall.sh: インストールしたファイルや設定を削除し、アンインストールを行うスクリプト

まとめ

Telegram通知による手軽なSSH接続監視でセキュリティ強化に貢献。

リポジトリ情報:

READMEの抜粋:

SSH Telegram Alert

Система уведомлений о SSH-подключениях через Telegram-бота

Установка

git clone https://github.com/banmahina/telegramsshalert.git
cd telegramsshalert
chmod +x install.sh
sudo ./install.sh

Настройка

  1. Создайте бота через @BotFather
  2. Получите chat_id в @userinfobot
  3. Введите данные при установке

Удаление

sudo ./uninstall.sh