[Share] Notifikasi Login SSH via Telegram
#1
Berawal iseng iseng di google pengen nyari tau gimana bisa tau user yang login ke SSH akhirnya ane menemukan postingan tentang Notifikasi Login SSH Menggunakan Telegram Bot..

Sudah tau apa itu Telegram dan Apa itu Bot??
Silahkan buka google :p

oke disini ane cuma menjelaskan cara membuat notifikasinya saja..
Bagaimana cara membuat Bot Telegram
Silahkan browsing di google :p

Untuk membuat Bot notif ini kita harus punya Bot token yang saat membuat bot sudah dikasih tau Token-nya
yang kedua kita harus tau ID akun telegram yang menerima notif tersebut
dan yang ketiga di server sudah terinstall jq.
Karena saya menggunakan Centos jadi cara install jq cukup dengan
sudo yum install jq


Kemudian untuk mendapatkan ID silahkan kirim pesan ke bot kemudian buka link https://api.telegram.org/bot{BotToken}/getUpdates
maka akan muncul beberapa tulisan atau apalah itu namanya wkwkkwkwkwkkw
disana akan terlihat ID dari user yang mengirim pesan ke bot

[Image: 7JJ5D5d.png]
dari gambar diatas terlihat kalo id saya ada 133700 << Bukan ID Sebenarnya

Setelah ID dan Token kita dapatkan maka selanjutnya adalah membuat file di /etc/profile.d/ssh-telegram.sh
yang isinya adalah sebagai berikut

Code:
# save it as /etc/profile.d/ssh-telegram.sh
# use jq to parse JSON from ip-api.com
# get jq from here http://stedolan.github.io/jq/
USERID="ISI_DENGAN_USER_ID_ANDA"
KEY="ISI_DENGAN_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)
    IPADDR=$(hostname -I | awk '{print $1}')
    curl http://ip-api.com/json/$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 -rf $TMPFILE
fi

Kemudian jangan lupa rubah permission filenya biar bisa di eksekusi dengan cara
chmod +x /etc/profile.d/ssh-telegram.sh

Setelah itu coba login deh ke SSH nya, nanti om Bot bakalan kirim message yang isinya seperti ini :
[Image: HgA8UcD.png]

{USER} logged in to {HOSTNAME (IP SERVER)} From {IP ANDA} - {ISP} - {KOTA} - {Regional} - {Negara} On PORT {SSH_PORT}
Ex
OrangGanteng logged in to server.ganteng.id (127.0.0.1) From 8.8.8.8 - Google - Mountain View - CA - US On PORT 12345

CMIWW... Bot berjalan dengan lancar dan bijaksana Big Grin
Demi Privacy beberapa tulisan di screenshot terpaksa saya remove


Source : Matriphe

#2
Keren neh. Bisa di kembangin lagi utk selain ssh om Big Grin
Ngoprek truss :*

#3
wahhh nice info nih om buat yang pagi jaga serper, siang jaga serper, sore jaga serper, malem dikerokin Smile)
salam sysadmin. wkwkwk
"pertarungan terbaik adalah menghindarinya"
--KURAWA--




#4
Siap om momod @hamdan_zenith
Wah bahaya ini om @iPin
Wkwkkwkwk

#5
Jadi kalo pake ini kita bisa ngeliat siapa aja yang login gitu om?

Quote:~Tamfan_Dan_Berani~


#6
(11-27-2015, 12:37 AM)v.arFha Wrote: Berawal iseng iseng di google pengen nyari tau gimana bisa tau user yang login ke SSH akhirnya ane menemukan postingan tentang Notifikasi Login SSH Menggunakan Telegram Bot..

Sudah tau apa itu Telegram dan Apa itu Bot??
Silahkan buka google :p

oke disini ane cuma menjelaskan cara membuat notifikasinya saja..
Bagaimana cara membuat Bot Telegram
Silahkan browsing di google :p

Untuk membuat Bot notif ini kita harus punya Bot token yang saat membuat bot sudah dikasih tau Token-nya
yang kedua kita harus tau ID akun telegram yang menerima notif tersebut
dan yang ketiga di server sudah terinstall jq.
Karena saya menggunakan Centos jadi cara install jq cukup dengan
sudo yum install jq


Kemudian untuk mendapatkan ID silahkan kirim pesan ke bot kemudian buka link https://api.telegram.org/bot{BotToken}/getUpdates
maka akan muncul beberapa tulisan atau apalah itu namanya wkwkkwkwkwkkw
disana akan terlihat ID dari user yang mengirim pesan ke bot

[Image: 7JJ5D5d.png]
dari gambar diatas terlihat kalo id saya ada 133700 << Bukan ID Sebenarnya

Setelah ID dan Token kita dapatkan maka selanjutnya adalah membuat file di /etc/profile.d/ssh-telegram.sh
yang isinya adalah sebagai berikut

Code:
# save it as /etc/profile.d/ssh-telegram.sh
# use jq to parse JSON from ip-api.com
# get jq from here http://stedolan.github.io/jq/
USERID="ISI_DENGAN_USER_ID_ANDA"
KEY="ISI_DENGAN_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)
    IPADDR=$(hostname -I | awk '{print $1}')
    curl http://ip-api.com/json/$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 -rf $TMPFILE
fi

Kemudian jangan lupa rubah permission filenya biar bisa di eksekusi dengan cara
chmod +x /etc/profile.d/ssh-telegram.sh

Setelah itu coba login deh ke SSH nya, nanti om Bot bakalan kirim message yang isinya seperti ini :
[Image: HgA8UcD.png]

{USER} logged in to {HOSTNAME (IP SERVER)} From {IP ANDA} - {ISP} - {KOTA} - {Regional} - {Negara} On PORT {SSH_PORT}
Ex
OrangGanteng logged in to server.ganteng.id (127.0.0.1) From 8.8.8.8 - Google - Mountain View - CA - US On PORT 12345

CMIWW... Bot berjalan dengan lancar dan bijaksana Big Grin
Demi Privacy beberapa tulisan di screenshot terpaksa saya remove


Source : Matriphe
wah nice info om @v.arFha izin coba dulu ya , baru nanti dikasih cendol nya =)) :d
Twitter : Orang Sederhana
FB : Orang Sederhana
OrangSederhana@IBTeam:~#


#7
cara kerja scriptnya gimana ya ?
kenapa jalan setiap login atau jalan sebagai daemon di linux ?
jelasin dong Big Grin
Semangat Belajar Backtarck

#8
Kalau notifikasi via BBM, LINE, atau apalah. bisa gak om Big Grin Sempat ada developer android di sini bisa di implementasikan di Android hha

#9
gue gagal fa ga muncul notif ke telegram gue, gimana caranya wkwkw :p

#10
(06-17-2016, 04:12 PM)kahfiehudson Wrote: gue gagal fa ga muncul notif ke telegram gue, gimana caranya wkwkw :p

wahh.
faktor face mempengaruhi kahfihudson
wkwkkwkw






Users browsing this thread: 1 Guest(s)