Jika Anda pernah melihat log autentikasi untuk server Anda, maka Anda tahu bahwa setiap server yang terhubung ke Internet selalu berada di bawah rentetan upaya login dari peretas.
Bahkan jika server Anda adalah server hobi yang sama sekali tidak dikenal, skrip otomatis akan menemukannya dan terus mencoba memaksa dengan cara mereka menggunakan SSH. Meskipun mereka tidak mungkin masuk selama Anda menggunakan kata sandi yang rumit atau tindakan keamanan lainnya, selalu ada kemungkinan mereka berhasil.
Untungnya, ada cara yang berguna dan menyenangkan untuk menjebak para peretas ini di server Anda dan membuat mereka terlalu teralihkan sehingga tidak menimbulkan masalah.
Apa Itu SSH Honeypot?
Sederhananya, SSH honeypot adalah umpan yang dimaksudkan agar terlihat seperti buah yang menggantung rendah untuk menarik penjahat dunia maya dan memancing mereka untuk menargetkannya. Tapi itu bukan target yang sebenarnya, dan peretas sering tidak menyadarinya sampai terlambat.
Honeypot dapat mengambil banyak bentuk dan memiliki banyak kegunaan yang berbeda. Kadang-kadang mereka sedikit lebih dari sekedar pengalih perhatian, tetapi di lain waktu mereka digunakan untuk mengumpulkan informasi tentang penyerang.
Banyak lembaga pemerintah menggunakan honeypots untuk menangkap penjahat, memikat mereka untuk menyerang, hanya untuk mengumpulkan informasi tentang mereka untuk menangkap mereka nanti. Namun honeypots juga dapat digunakan oleh administrator sistem yang bekerja untuk perusahaan atau bahkan hanya penghobi yang menjalankan server Linux untuk bersenang-senang.
Mengapa Menggunakan Honeypot SSH?
Ada banyak alasan seseorang ingin menerapkan SSH honeypot di server mereka. Dalam beberapa kasus, Anda mungkin ingin menggunakannya sehingga Anda dapat memblokir koneksi di masa mendatang dari mereka. Mungkin Anda hanya ingin memancing mereka menjauh dari target sebenarnya di sistem Anda. Atau mungkin untuk tujuan pendidikan: untuk membantu mempelajari cara kerja serangan.
Untuk keperluan panduan ini, kami terutama menggunakan honeypot sebagai pengalih perhatian. Secara khusus, itu akan mengalihkan perhatian peretas dari menyerang bagian server Anda yang lebih rentan serta membuat mereka terlalu sibuk untuk menyerang server orang lain.
Dan, setidaknya dalam hal ini, metode yang digunakan akan bagus untuk satu atau dua tawa juga.
Terjebak dalam SSH
Pada dasarnya, yang ingin kami lakukan adalah menjebak peretas saat mereka mencoba memaksa login SSH dengan kasar. Ada beberapa cara untuk melakukan ini, tetapi salah satu yang paling sederhana adalah dengan perlahan mengirimkan spanduk SSH yang sangat panjang kepada mereka.
Dengan cara ini, skrip otomatis peretas akan macet menunggu spanduk. Ini bisa berlangsung berjam-jam, jika tidak berhari-hari atau berminggu-minggu. Karena skripnya otomatis, peretas kemungkinan besar tidak terlalu memperhatikannya dan tidak akan menyadari bahwa skrip macet sampai waktu berlalu.
Ini kadang-kadang disebut sebagai “SSH tarpit”, karena skrip peretas macet di dalamnya dan tidak dapat keluar dengan sendirinya.
Ini memang mengharuskan Anda untuk mengetahui beberapa penggunaan dasar SSH. Jika Anda tidak yakin cara menggunakan SSH, maka GB
Setelah Anda masuk ke server Anda, tiru repositori. (Anda harus menginstalnya git.)
git clone https: // github.com / skeeto / endlessh
Sekarang Anda memiliki repositori di server Anda, Anda harus beralih ke direktori itu dan mengompilasinya.
cd endlessh buat
Beberapa kesalahan mungkin muncul saat mencoba mengkompilasi program. Ini kemungkinan besar berarti Anda kehilangan ketergantungan yang perlu dikompilasi oleh program. Anda harus memeriksa dependensi mana yang dikatakan hilang, lalu instal dengan manajer paket distribusi Anda.
Setelah Anda memiliki program untuk dikompilasi, Anda akan ingin memindahkannya ke direktori bin Anda sehingga berada di jalur Anda.
sudo mv endlessh / usr / local / bin
Anda ingin memeriksa ulang untuk memastikannya terdeteksi di jalur Anda.
yang tak berujung
Itu harus mencetak jalur/usr/local/bin/endlessh. Jika ini bukan masalahnya, Anda pasti ingin memastikannya dipindahkan ke direktori yang benar.
Setelah itu ubah program menjadi service daemon agar bisa berfungsi sebagai systemd service.
sudo cp util / endlessh.service / etc / systemd / system /
setelah selesai, aktifkan layanan agar berjalan di latar belakang.
sudo systemctl mengaktifkan endlessh
Secara default, endlessh hanya akan berfungsi pada port di atas 1024, tetapi kami ingin menggunakan port SSH default sehingga kami dapat mengelabui peretas agar mencoba menyerangnya. Untuk melakukan ini, kita perlu mengedit file layanan.
Contoh ini menggunakan GB
Simpan file dan jalankan perintah ini:
sudo setcap ‘cap_net_bind_service=+ep’ / usr / local / bin / endlessh
Anda perlu membuat dan mengatur file konfigurasi sehingga endlessh tahu di port mana file itu harus dijalankan. Anda harus membuat direktori baru terlebih dahulu, lalu membuat file konfigurasi.
sudo mkdir -p / etc / endlessh sudo vim / etc / endlessh / config
File konfigurasi hanya membutuhkan satu baris di dalamnya. Ini akan memberitahu endlessh untuk berjalan di port 22, yang merupakan port default untuk SSH. Kami melakukan ini agar menjadi target yang lebih menarik bagi para peretas. Mereka akan melihat bahwa port SSH default terbuka, lalu mencoba membobolnya.
Masukkan yang berikut ke dalam file konfigurasi Anda:
Pelabuhan 22
Anda harus memulai layanan endlessh.
sudo systemctl start endlessh
Itu saja! Anda sekarang akan berjalan tanpa henti di port SSH default Anda dan sudah menjebak peretas.
Mengujinya
Hanya untuk memastikan honeypot berfungsi sebagaimana mestinya, mari berpura-pura menjadi peretas sebentar dan mencoba mendapatkan akses ke SSH di server Anda.
ssh root @< alamat-ip-server >
Selama semuanya telah diatur dengan benar, Anda akan melihat bahwa perintah ssh macet dan tidak melakukan apa-apa. Mari kita lihat apa yang sebenarnya terjadi saat Anda (atau peretas sebenarnya) mengeluarkan perintah ini.
Ulangi perintah yang sama tetapi tambahkan flag -vvv untuk menggunakan opsi verbose.
ssh -vvv root @< alamat-ip-server >
Sekarang seharusnya sudah jelas bagaimana alat kecil ini menjebak Anda dan mencegah Anda mengakses SSH di server Anda. Perlahan, baris demi baris, mengirimkan spanduk SSH yang sangat besar ke klien.
Dan tentu saja, karena peretasan memiliki ini otomatis dengan bot, mereka tidak akan menyadari hal ini terjadi sampai setelah Anda membuang waktu berjam-jam, jika tidak berhari-hari, dari waktu mereka.
Pertanyaan yang Sering Diajukan
1. Apakah ini akan mencegah peretas mengakses SSH?
Meskipun merupakan pencegah yang cukup baik, tidak dijamin dapat menghentikan peretas sepenuhnya. Peretas yang penuh perhatian pada akhirnya akan menyadari bahwa Anda telah membuat honeypot di server Anda dan mungkin mencoba berbagai port untuk mengakses SSH di server Anda.
Namun, ini seharusnya cukup untuk mencegah peretas yang hanya mencari buah yang menggantung rendah.
2. Bagaimana cara menggunakan SSH jika program ini berjalan di port default?
A
nda perlu mengubah port yang dijalankan SSH. Ini adalah praktik yang baik meskipun Anda tidak memiliki honeypot di server Anda, karena peretas akan selalu mencoba port default terlebih dahulu sebelum memindai yang lain.
3. Apakah ada opsi lain yang dapat saya tambahkan ke file konfigurasi?
Ya, ada beberapa pengaturan lain yang bisa Anda ubah, termasuk mengubah kecepatan tunda.
Anda dapat melihat daftar opsi di file konfigurasi sampel di repositori Github.
Kata Akhir
Sekarang setelah Anda mempelajari cara menyiapkan honeypot di server Anda untuk menjebak peretas dan membuat mereka tetap teralihkan sehingga mereka tidak dapat menyerang apa pun, ini jauh dari satu-satunya cara untuk mengamankan akses SSH ke server Anda.
Lihat artikel ini yang menunjukkan cara menggunakan kunci enkripsi untuk masuk ke SSH guna membantu mengamankan server Anda lebih jauh.
Image credit: Honey in pot, honeycomb and stick oleh Yay Images