VPS saya belakangan kena serang terus, beberapa website saya dideface dengan website judol atau judi online. Kampret emang, kacau banget. Salah satu hal yang saya mau deteksi lewat mana hacker ini masuk, adalah akses SSH (Secure Shell), sekalian memantau siapa dan kapan saja yang berhasil masuk ke dalam server Anda secara real-time adalah langkah preventif yang sangat efektif untuk mendeteksi aktivitas mencurigakan sejak dini. Tutorial ini Bash shell script sederhana, namun powerful yang otomatis mengirimkan notifikasi email setiap kali ada sesi login SSH yang aktif ke server Linux Kamu. Yukk,,
1. Buat App Password di Akun Gmail Kamu
Kadang server kita belum di konfigurasi untuk kirim email, jadi kita gunakan akun Gmail & app password. Kamu ikuti tutorial ini.
2. Siapkan Skrip Pengirim Email di Server Linux
Saya gunakan server Ubuntu, buat sebuah skrip bash (misalnya di /home/arif/ssh_login_alert.sh) yang akan dieksekusi otomatis setiap kali ada pengguna yang berhasil login SSH.
Kamu bisa menggunakan perintah curl dengan protokol SMTPS (karena mail atau sendmail sering kali memerlukan konfigurasi postfix yang rumit).
#!/bin/bash # Hanya jalankan saat sesi login terbuka (bukan saat sesi tertutup) if [ "$PAM_TYPE" = "open_session" ]; then # Ambil informasi login IP="$PAM_RHOST" USER="$PAM_USER" SERVICE="$PAM_SERVICE" TIME=$(date "+%Y-%m-%d %H:%M:%S") HOST=$(hostname) # Jika IP kosong (misal login lokal), abaikan atau tandai lokal [ -z "$IP" ] && IP="Lokal/Internal" # Konfigurasi Akun Gmail GMAIL_USER="email-pengirim@gmail.com" GMAIL_APP_PASSWORD="xxxx xxxx xxxx xxxx" RECIPIENT="email-penerima@gmail.com" # Buat pesan email EMAIL_CONTENT="From: $GMAIL_USER To: $RECIPIENT Subject: [ALERT] SSH Login pada $HOST oleh $USER Halo, Ada aktivitas login SSH baru pada server Kamu: - Hostname : $HOST - Pengguna : $USER - IP Address : $IP - Layanan : $SERVICE - Waktu : $TIME Jika ini bukan Kamu, segera amankan server Kamu! " # Kirim email menggunakan curl via SMTPS echo "$EMAIL_CONTENT" | curl --url 'smtps://smtp.gmail.com:465' \ --ssl-reqd \ --mail-from "$GMAIL_USER" \ --mail-rcpt "$RECIPIENT" \ --user "$GMAIL_USER:$GMAIL_APP_PASSWORD" \ --upload-file - &>/dev/null & fi
Jangan lupa untuk memberikan izin eksekusi pada skrip tersebut:
sudo chmod +x /home/arif/ssh_login_alert.sh
3. Integrasikan Skrip dengan PAM (Pluggable Authentication Modules)
Buka file konfigurasi PAM untuk SSH:
sudo nano /etc/pam.d/sshd
session optional pam_exec.so seteuid /home/arif/ssh_login_alert.sh


