• Webmaster Tools
  • Diễn Đàn Hỏi Đáp
  • Profile
  • Ủng hộ
  • DNS Check
  • CheckIP
  • Liên Hệ
Đỗ Trung Quân
  • HƯỚNG DẪN
  • LINUX
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
    • Virtualization
    • Monitoring Tool
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Jenkins
      • AWS
    • Mail Server
    • VPN
  • CONTROL PANEL
    • cPanel
    • DirectAdmin
    • aaPanel
    • FastPanel
    • CyberPanel
    • Easypanel
    • VestaCP
    • CloudPanel
    • HestiaCP
    • Plesk
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • SECURITY
    • SSL
    • Firewall
  • DỊCH VỤHOT
  • WEB MẪUHOT

Hướng dẫn tạo BOT giám sát truy cập SSH thông qua ứng dụng Telegram

by ĐỖ TRUNG QUÂN 21/07/2020
Tác giả: ĐỖ TRUNG QUÂN Date: 21/07/2020Last Update 20/07/2022 1 bình luận 1,3K lượt xem
Dịch vụ xử lý mã độc WordPress
WEB MẪU WORDPRESS
Share FacebookTwitterPinterestTelegramEmail
1,3K

NỘI DUNG

  • Bước 1: Cài đặt jq
  • Bước 2: Tạo bot telegram
  • Bước 3: Tạo script

Như các bạn cũng biết SSH là một giao thức truy cập quản lý máy chủ server/vps, khi bạn đã truy cập được vào VPS thì sẽ toàn quyền quản trị máy chủ này. Vậy để giám sát việc đăng nhập SSH này cần có một công cụ để thực hiện giám sát, và ở bài viết này mình sẽ hướng dẫn bạn thực hiện giám sát thông qua ứng dụng Telegram. Một công cụ chat mà mình sử dụng thường xuyên để trao đổi công việc do đó việc nhận được cảnh báo đăng nhập SSH qua ứng dụng này rất tiện cho mình.

Để làm được cảnh báo này bạn cần thực hiện như sau.

  • Sử dụng quyền root để thực hiện
  • IP public, hoặc private có thể internet ra ngoài
  • Tài khoản Telegram để làm một con BOT(sử dụng ID và Token)
  • Một script, mình sẽ để script bên dưới.

Bước 1: Cài đặt jq

jq là một ứng dụng để  đọc thông tin file JSON trên linux. Để tìm hiểu bạn có thể truy cập link sau để  xem thông tin và các phiên bản của jq.

  • https://stedolan.github.io/jq/

Cài đặt js trên CentOS

yum install epel-release -y
yum install jq -y

Cài đặt js trên Ubuntu

apt-get -y install jq

Bước 2: Tạo bot telegram

Nếu bạn đã có BOT rồi có thể bỏ qua bước này và thực hiện luôn bước 3 để tạo script cảnh báo.

Hướng dẫn tạo BOT.

  • Tại ô Search của Telegram chọn BotFather
  • Chat /newbot vào khung chat với BotFather
  • Nhập tên cho bot. Ở đây mình chọn là botcuaquan_bot
  • Chọn username cho bot. Ở đây mình chọn là botcuaquan_bot

P/s: Do mình đã có sẳn một con bot rồi, nên mình sẽ dùng con cũ, ảnh bên dưới mình vẫn hướng dẫn bạn tạo một con mới.

tao bot telegram
tao bot telegram

Sau khi đã có được API, bước tiếp theo bạn cần lấy ID chat bằng cách truy cập vào link sau để lấy ID.

  • https://t.me/get_id_bot

Bạn mở khung chat xong, bạn nhập vàp /my_id sẽ hiện ra ID chat cho bạn.

Bạn đã có API TOKEN và ID CHAT, hãy thực hiện bước 3 và viết 1 script nhận cảnh báo nhé.

get id bot

Bước 3: Tạo script

Bạn hãy tạo file script tại thư mục /etc/profile.d/. Để khi đăng nhập vào hệ thống thì script sẽ thực hiện ngay lập tức.

Tạo file script ssh-telegram.sh:

vi /etc/profile.d/ssh-telegram.sh

Dán nội dung sau vào file ssh-telegram.sh. Hãy nhớ thay vào ID chat vào API TOKEN vừa tạo vào nơi minh bôi màu đỏ.

# ID chat Telegram
USERID="<target_user_id>"

# API Token bot
TOKEN="<bot_private_TOKEN>"

TIMEOUT="10"

# URL gửi tin nhắn của bot
URL="https://api.telegram.org/bot$TOKEN/sendMessage"

# Thời gian hệ thống
DATE_EXEC="$(date "+%d %b %Y %H:%M")"

# File temp
TMPFILE='/tmp/ipinfo.txt'

if [ -n "$SSH_CLIENT" ]; then
    IP=$(echo $SSH_CLIENT | awk '{print $1}')
    PORT=$(echo $SSH_CLIENT | awk '{print $3}')
    HOSTNAME=$(hostname -f)
    IPADDR=$(echo $SSH_CONNECTION | awk '{print $3}')

    # Lấy các thông tin từ IP người truy cập theo trang ipinfo.io
    curl http://ipinfo.io/$IP -s -o $TMPFILE
    CITY=$(cat $TMPFILE | jq '.city' | sed 's/"//g')
    REGION=$(cat $TMPFILE | jq '.region' | sed 's/"//g')
    COUNTRY=$(cat $TMPFILE | jq '.country' | sed 's/"//g')
    ORG=$(cat $TMPFILE | jq '.org' | sed 's/"//g')

    # Nội dung cảnh báo
    TEXT=$(echo -e "Thời gian: $DATE_EXEC\nUser: ${USER} logged in to $HOSTNAME($IPADDR) \nFrom $IP - $ORG - $CITY, $REGION, $COUNTRY on port $PORT")

    # Gửi cảnh báo
    curl -s -X POST --max-time $TIMEOUT $URL -d "chat_id=$USERID" -d text="$TEXT" > /dev/null

    # Xóa file temp khi script thực hiện xong
    rm $TMPFILE
fi

Bạn save lại nội dung script vừa tạo và hãy cấp quyền thực thi cho script vừa tạo bằng lệnh sau.

chmod +x /etc/profile.d/ssh-telegram.sh

Bây giờ bạn hãy thử đăng nhập SSH vào máy chủ trên đi nào, bạn sẽ nhận được cảnh báo từ BOT vừa tạo như ảnh sau.

dotrungquan 2020 07 21 at

Như vậy là mình vừa hướng dẫn bạn thực hiện một con BOT cảnh báo  việc đăng nhập SSH thành công. Bạn có thể an tâm về vấn đề đăng nhập SSH trái phép vào máy chủ của mình, từ đó giúp bạn quản lý được chặt chẽ hơn và có thể ngăn chặn kịp lúc việc đăng nhập SSH  trái phép.

  • Tài liệu tham khảo: https://gist.github.com/matriphe/9a51169508f266d97313
5/5 - (5 bình chọn)
bot telegramssh telegram

Tham gia nhóm hỗ trợ WordPress

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay
ĐỖ TRUNG QUÂN

Mình tên là Đỗ Trung Quân, hiện đang công tác tại AZDIGI với vị trí là SysAdmin. Mình đam mê viết Blog. Vì viết Blog giúp mình trau dồi được nhiều kỹ năng. Học hỏi thêm nhiều kiến thức mới, từ đó mình có thể chia sẻ đến các bạn các bài viết tài liệu bổ ích hơn. Hiện tại mình là admin của Blog DOTRUNGQUAN.INFO - CaiSSL.COM - QuantriVPS.COM. Mới đây mình có tạo ra nhóm Hỗ trợ Server - Hosting & WordPress | Hỗ Trợ Xử Lý Mã Độc WordPress với mục đích gây dựng một cộng đồng nhỏ để mọi người trao đổi kinh nghiệm, kiến thức quản trị VPS. Các thủ thuật, mẹo vặt khi sử dụng VPS. Rất mong nhận được sự ủng hộ của các bạn.

Author Box
Author Image

ĐỖ TRUNG QUÂN

Chuyên viên quản trị hệ thống.

Tư vấn & triển khai dịch vụ

VPS | Hosting | SSL | Mailserver | Website | Sửa lỗi WordPress

Bài viết của tác giả

Hosting/VPS khuyên dùng

Phổ Biến

  • Hướng dẫn tạo SSH Key trên macOS

  • Hướng dẫn sử dụng SSH Key

  • Hướng dẫn cài đặt v2board trên AAPANEL

  • Vấn đề IP Public liên tục bị thay đổi vì sao và cách khắc phục

  • Khắc phục lỗi không hiện hình ảnh và mô tả khi share link lên Facebook

  • Hướng dẫn kích hoạt Theme Flatsome mới nhất.

BẠN BÈ & ĐỐI TÁC

Thạch Phạm | CỔ Ý CONCEPT | Trương Quốc Cường | Đàm Trung Kiên | Web An Tâm | Phong Đinh | Học Mò | PHUNG.VN | Đăng Đạt

Bạn được quyền sao chép lại nội dung trên website Đỗ Trung Quân, miễn là có dẫn nguồn.

Hosting/VPS được tài trợ bởi AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay

AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay


Back To Top
Đỗ Trung Quân
  • HƯỚNG DẪN
  • LINUX
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
    • Virtualization
    • Monitoring Tool
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Jenkins
      • AWS
    • Mail Server
    • VPN
  • CONTROL PANEL
    • cPanel
    • DirectAdmin
    • aaPanel
    • FastPanel
    • CyberPanel
    • Easypanel
    • VestaCP
    • CloudPanel
    • HestiaCP
    • Plesk
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • SECURITY
    • SSL
    • Firewall
  • DỊCH VỤHOT
  • WEB MẪUHOT