Hướng dẫn tạo Bot cảnh báo đăng nhập SSH qua Telegram

Article ID: 671
Cập nhật gần nhất: 28 Th09, 2020

SSH là giao thức truy cập để quản lý server, bài viết này HOSTVN sẽ hướng dẫn các bạn tạo Bot Telegram cảnh báo khi có ai đó SSH vào server của bạn.

Bước 1: Tạo Bot Telegram

Đầu tiên các bạn phải tạo Bot Telegram theo hướng dẫn sau https://kb.hostvn.net/huong-dan-tao-bot-va-gui-thong-bao-telegram_633.html

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

jq là một ứng dụng để  đọc thông tin file JSON trên linux. Ở đây cần cài đặt jq để lấy thông tin về IP của người truy cập SSH.

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

Bước 3: tạo script cảnh báo

Các bạn tạo file ssh-telegram.sh với nội dung sau vào thư mục /etc/profile.d/

USERID="<chat_id>"
KEY="<bot_token>"
TIMEOUT="10"
URL="https://api.telegram.org/bot$KEY/sendMessage"
DATE_EXEC="$(date "+%d %b %Y %H:%M")"
TMPFILE='/tmp/ipinfo-$DATE_EXEC.txt'
if [ -n "$SSH_CLIENT" ]; then
	IP=$(echo $SSH_CLIENT | awk '{print $1}')
	PORT=$(echo $SSH_CLIENT | awk '{print $3}')
	HOSTNAME=$(hostname -f)
	IPADDR=$(hostname -I | awk '{print $1}')
	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')
	TEXT="$DATE_EXEC: ${USER} logged in to $HOSTNAME ($IPADDR) from $IP - $ORG - $CITY, $REGION, $COUNTRY on port $PORT"
	curl -s --max-time $TIMEOUT -d "chat_id=$USERID&disable_web_page_preview=1&text=$TEXT" $URL > /dev/null
	rm $TMPFILE
fi

Các bạn thay Chat ID và Bot Token lúc tạo Bot vào code trên

Cấp quyền thực thi cho script

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

Chúc bạn thành công!



Article ID: 671
Cập nhật gần nhất: 28 Th09, 2020
Lần sửa đổi: 1
Lượt xem: 0
print  In ra email  Subscribe email  Mail cho bạn bè share  Chia sẻ pool  Add to pool
Trước     Tiếp theo
Hướng dẫn đăng nhập SSH Microsoft Azure       Cấu hình innodb_force_recovery để sửa lỗi MySQL