Nội dung bài viết
Giới thiệu
Dịch vụ SSH còn có tên gọi là OpenSSH trên Linux, là một cách thức giúp bạn đi vào hệ thống Linux Server của mình và thực hiện các thao tác quản lý hệ thống. Chính vì vậy việc bảo mật cho dịch vụ SSH, cũng giống như cách bạn đặt khoá, xây tường rào để ngăn chặn những kẻ xấu tấn công vào ngôi nhà của bạn.
Ở bài viết này, mình sẽ giới thiệu đến các bạn thêm một cách bảo mật SSH khác, đó là tạo Bot cảnh báo SSH trực tiếp qua Telegram. Việc này giúp bạn giám sát và phát hiện kịp thời nếu có kẻ xấu cố tình SSH vào máy chủ.
Hướng dẫn thực hiện
Bước 1: Cài đặt jq
- Ubuntu
apt-get -y install jq
- CentOS
yum install epel-release -y yum install jq -y
Bước 2: Tạo script cảnh báo
- Tạo file chứa cript cảnh báo
vi /etc/profile.d/telegram.sh
Và thêm nội dung bên dưới vào file vừa tạo:
USERID="chat_id" ## Bạn thay Chat ID và Bot Token Telegram của mình vào
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
Nếu chưa biết cách tạo Bot Telegram, thì bạn có thể xem lại hướng dẫn TẠI ĐÂY.
- Cấp quyền thực thi file vừa tạo
chmod +x /etc/profile.d/telegram.sh
Bước 3: Kiểm tra kết quả
Bây giờ bạn hãy SSH vào máy chủ của mình để kiểm tra kết quả, bên dưới là thông báo mình nhận được từ Bot Telegram khi SSH. Ở log thông báo, các bạn sẽ thấy chi tiết được thời gian và IP đang SSH vào máy chủ như hình dưới.
Chúc các bạn thực hiện thành công.!