Cara Membaca Log SSH untuk Mengenal Pasti Cubaan Serangan

Cara Membaca Log SSH untuk Mengenal Pasti Cubaan Serangan

Pengenalan Kepada Analisis Log SSH

Bayangkan anda memiliki sebuah pelayan yang menyimpan data penting perniagaan anda. Tanpa anda sedari, setiap saat ada beratus bot dari serata dunia yang cuba “mengetuk” pintu masuk pelayan anda melalui port 22. Inilah realiti yang dihadapi oleh setiap pentadbir sistem. Kebanyakan daripada kita hanya memasang SSH dan menganggap kata laluan yang kuat sudah mencukupi, namun langkah keselamatan sebenar bermula apabila anda tahu bagaimana untuk melakukan ssh log analysis dengan betul.

Log SSH bukan sekadar fail teks yang membosankan dengan ribuan baris kod yang sukar difahami. Ia adalah rakaman digital tentang siapa yang cuba masuk, dari mana mereka datang, dan mengapa mereka gagal. Apabila anda mula membaca corak dalam log ini, anda akan dapati bahawa serangan brute force mempunyai tanda yang sangat jelas. Memahami tanda ini adalah perbezaan antara pelayan yang selamat dan pelayan yang terdedah kepada pencerobohan.

Dalam tutorial ini, saya akan membimbing anda langkah demi langkah untuk membaca log pengesahan pada sistem Linux. Kita tidak akan menggunakan perisian mahal, sebaliknya kita akan menggunakan alat sedia ada dalam terminal untuk mengesan aktiviti mencurigakan. Ini adalah kemahiran asas yang wajib dikuasai jika anda menguruskan web hosting Malaysia atau pelayan VPS sendiri.

Di Mana Lokasi Fail Log SSH?

Sebelum kita masuk ke bahagian analisis, anda perlu tahu di mana fail ini disimpan. Pada kebanyakan distribusi Linux seperti Ubuntu, Debian, atau CentOS, log pengesahan disimpan dalam direktori /var/log/.

Untuk sistem berasaskan Debian atau Ubuntu, fail utama yang perlu diperhatikan ialah /var/log/auth.log. Manakala bagi pengguna CentOS atau RHEL, log ini biasanya berada di /var/log/secure. Fail ini merekodkan setiap percubaan log masuk, pertukaran pengguna melalui sudo, dan kegagalan pengesahan kunci SSH.

Untuk melihat isi kandungan fail ini secara masa nyata (real-time), anda boleh menggunakan arahan tail -f. Arahan ini sangat berguna apabila anda sedang menguji konfigurasi keselamatan atau ingin melihat serangan yang sedang berlaku secara langsung.

Teknik Asas ssh log analysis untuk Mengesan Serangan

Melakukan ssh log analysis secara manual boleh menjadi sangat memenatkan jika anda hanya menggunakan arahan cat atau less. Anda memerlukan alat penapisan seperti grep untuk mencari kata kunci tertentu yang menandakan cubaan serangan.

Mengenal Pasti Percubaan Log Masuk Gagal

Tanda paling jelas bagi serangan brute force adalah jumlah percubaan log masuk yang gagal dalam jumlah yang besar dalam masa yang singkat. Bot serangan biasanya akan mencuba ribuan kombinasi nama pengguna dan kata laluan.

Anda boleh menggunakan arahan berikut untuk menyenaraikan semua kegagalan log masuk:

grep "Failed password" /var/log/auth.log

Jika anda melihat beratus baris output yang menunjukkan kegagalan dari alamat IP yang tidak dikenali, itu adalah petanda jelas bahawa pelayan anda sedang diserang. Contoh output yang biasa dilihat adalah seperti berikut:

Failed password for root from 192.168.1.100 port 45678 ssh2

Dalam contoh di atas, penyerang cuba masuk menggunakan akaun root. Ini adalah sasaran utama kerana akaun root mempunyai kuasa tertinggi dalam sistem.

Mengesan Percubaan Log Masuk “Invalid User”

Selain mencuba kata laluan, penyerang juga akan mencuba nama pengguna yang tidak wujud dalam sistem anda. Mereka menggunakan senarai nama umum seperti admin, user, test, atau oracle.

Untuk mencari aktiviti ini, gunakan arahan:

grep "Invalid user" /var/log/auth.log

Apabila anda melihat banyak entri Invalid user, ini bermakna bot tersebut sedang melakukan imbasan untuk mencari akaun yang lemah. Jika anda melihat nama pengguna yang sangat spesifik (contohnya nama pekerja anda), itu adalah tanda serangan yang lebih terancang dan berbahaya.

Menganalisis Alamat IP Penyerang

Setelah anda mengenal pasti bahawa terdapat serangan, langkah seterusnya adalah mencari tahu dari mana serangan itu datang. Anda tidak perlu menyalin satu per satu alamat IP tersebut. Kita boleh menggunakan gabungan awk, sort, dan uniq untuk meringkaskan data.

Gunakan arahan ini untuk melihat senarai IP yang paling kerap melakukan cubaan gagal:

grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr

Arahan ini akan memberikan anda senarai jumlah cubaan diikuti dengan alamat IP. Jika satu IP mempunyai 500 cubaan gagal, anda sudah mempunyai bukti kukuh untuk menyenaraihitamkan (blacklist) IP tersebut melalui firewall.

Memahami Perbezaan Log Normal dan Log Serangan

Tidak semua kegagalan log masuk adalah serangan. Kadang-kadang, anda sendiri mungkin tersalah taip kata laluan. Namun, terdapat perbezaan ketara antara kesilapan manusia dan serangan automatik.

Ciri-ciri Kesilapan Manusia Serangan Bot/Brute Force
Kekerapan 1 hingga 5 kali sahaja Ratusan hingga ribuan kali seminit
Nama Pengguna Nama pengguna yang sah Nama rawak atau ‘root’, ‘admin’
Sela Masa Jarak masa yang tidak tetap Sela masa yang sangat konsisten (milisaat)
Alamat IP IP rumah atau pejabat yang dikenali IP asing dari negara yang tidak berkaitan

Satu lagi perkara yang perlu diperhatikan adalah log Accepted password. Jika anda melihat log masuk berjaya daripada IP yang tidak dikenali pada waktu pukul 3 pagi, ini adalah tanda kecemasan. Anda perlu segera menukar kata laluan dan memeriksa fail .bash_history untuk melihat apa yang telah dilakukan oleh penceroboh.

Langkah Pencegahan Selepas Melakukan Analisis

Mengetahui cara membaca log adalah langkah pertama. Langkah kedua adalah mengambil tindakan untuk menghentikan serangan tersebut. Jika anda terus membiarkan port 22 terbuka dengan kata laluan lemah, analisis log hanyalah sekadar melihat proses pelayan anda diceroboh.

Menukar Port SSH Default

Kebanyakan bot hanya mengimbas port 22. Dengan menukar port SSH kepada nombor rawak antara 1024 hingga 65535, anda boleh mengurangkan 90% bunyi bising dalam log anda. Walaupun penyerang mahir masih boleh mencari port tersebut, ia akan menghalang bot automatik yang tidak canggih.

Menggunakan SSH Key Authentication

Cara paling berkesan untuk menghentikan serangan brute force adalah dengan mematikan pengesahan kata laluan sepenuhnya dan beralih kepada SSH Keys. Dengan menggunakan kunci awam (public key) dan kunci peribadi (private key), penyerang tidak boleh masuk walaupun mereka mempunyai kata laluan anda kerana mereka tidak memiliki fail kunci fizikal tersebut.

Setelah mengaktifkan SSH Key, anda boleh menetapkan PasswordAuthentication no dalam fail sshd_config.

Memasang FailBans atau CrowdSec

Jika anda tidak mahu menganalisis log secara manual setiap hari, anda boleh memasang alat seperti Fail2Ban. Fail2Ban berfungsi dengan membaca log SSH secara automatik. Jika ia mengesan terlalu banyak kegagalan log masuk dari satu IP, ia akan secara automatik menambah peraturan ke dalam firewall (iptables/nftables) untuk menyekat IP tersebut buat tempoh tertentu.

Ini adalah sebahagian daripada strategi website security services yang komprehensif bagi memastikan pelayan sentiasa tersedia dan selamat.

Kesimpulan Mengenai ssh log analysis

Melakukan ssh log analysis secara berkala adalah tabiat yang perlu ada bagi setiap pemilik pelayan. Log adalah saksi bisu yang memberitahu anda segala-galanya tentang keselamatan sistem anda. Dengan mengetahui cara menapis fail auth.log atau secure, anda boleh mengesan serangan lebih awal sebelum penceroboh berjaya mendapatkan akses.

Ingatlah bahawa keselamatan bukan satu produk, tetapi satu proses. Jangan hanya bergantung kepada satu lapisan pertahanan. Gabungkan analisis log dengan penggunaan SSH Keys, penukaran port, dan penggunaan firewall yang ketat. Jika anda merasa pengurusan pelayan terlalu kompleks, anda boleh mendapatkan bantuan pakar di Ewallz Solutions untuk memastikan infrastruktur digital anda sentiasa terpelihara.

Soalan Lazim (FAQ)

Di mana saya boleh mencari fail log SSH di Ubuntu?

Dalam sistem Ubuntu, fail log pengesahan SSH biasanya disimpan di /var/log/auth.log. Anda boleh membacanya menggunakan arahan cat, less, atau grep.

Adakah selamat untuk membiarkan port 22 terbuka?

Secara teknikal ia berfungsi, tetapi sangat tidak digalakkan. Port 22 adalah sasaran utama bot brute force. Menukarnya kepada port lain dapat mengurangkan jumlah cubaan serangan yang masuk ke pelayan anda.

Apakah perbezaan antara “Failed password” dan “Invalid user”?

Failed password bermaksud nama pengguna itu wujud dalam sistem tetapi kata laluan yang dimasukkan salah. Invalid user bermaksud nama pengguna yang dicuba tidak wujud langsung dalam sistem pelayan anda.

Bagaimana jika saya melihat log masuk berjaya dari IP yang tidak dikenali?

Ini adalah tanda pencerobohan. Anda perlu segera memutuskan sambungan SSH tersebut, menukar semua kata laluan, menyemak fail konfigurasi, dan jika perlu, memasang semula sistem untuk memastikan tiada backdoor yang ditinggalkan.

Adakah Fail2Ban menggantikan keperluan untuk menganalisis log?

Tidak. Fail2Ban membantu mengautomasikan penyekatan IP, tetapi pentadbir sistem masih perlu melakukan analisis log secara manual untuk memahami corak serangan yang lebih kompleks atau mengesan jika ada serangan yang berjaya melepasi tapisannya.

Share this post


Open chat
Powered by