Honeypot adalah sistem keamanan jaringan yang dirancang untuk menarik dan memantau aktivitas berbahaya seperti serangan hacker, malware, atau pemindaian port. Dengan menggunakan honeypot, kita dapat mempelajari teknik serangan, mengumpulkan data ancaman, dan meningkatkan pertahanan jaringan.
Dalam tutorial ini, kita akan membuat honeypot sederhana menggunakan Python yang akan mendengarkan koneksi masuk dan mencatat aktivitas mencurigakan.
Persiapan
Sebelum memulai, pastikan Anda telah menginstal:
-
Python 3.x (disarankan versi terbaru)
-
pip (untuk mengelola package Python)
Kita akan menggunakan beberapa library Python seperti socket
dan logging
. Tidak perlu instalasi tambahan karena kedua library ini sudah termasuk dalam Python Standard Library.
Langkah 1: Membuat Honeypot Sederhana
Kita akan membuat honeypot yang berjalan di port tertentu (misalnya port 8080) dan mencatat semua koneksi yang masuk.
Kode Honeypot (honeypot.py)
import socket import logging from datetime import datetime # Konfigurasi logging logging.basicConfig( filename='honeypot.log', level=logging.INFO, format='%(asctime)s - %(message)s' ) def setup_honeypot(port=8080): try: # Membuat socket TCP server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind(('0.0.0.0', port)) # Bind ke semua interface server_socket.listen(5) # Maksimal 5 koneksi antrian print(f"[*] Honeypot berjalan di port {port}. Menunggu koneksi...") while True: client_socket, addr = server_socket.accept() ip, port = addr timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") # Log informasi koneksi log_message = f"Koneksi mencurigakan dari {ip}:{port}" print(log_message) logging.info(log_message) # Kirim balasan palsu (opsional) client_socket.send(b"HTTP/1.1 200 OK\r\n\r\nWelcome to fake service!\n") client_socket.close() except Exception as e: print(f"[!] Error: {e}") finally: server_socket.close() if __name__ == "__main__": setup_honeypot()
Penjelasan Kode:
-
Socket Setup:
-
Membuat socket TCP (
socket.AF_INET
dansocket.SOCK_STREAM
). -
Mengikat socket ke port tertentu (
0.0.0.0
berarti mendengarkan di semua interface).
-
-
Logging:
-
Setiap koneksi yang masuk akan dicatat dalam file
honeypot.log
.
-
-
Response Palsu:
-
Honeypot mengirim balasan palsu untuk menipu penyerang seolah-olah ini adalah layanan nyata.
-
Langkah 2: Menjalankan Honeypot
-
Simpan kode di atas dalam file
honeypot.py
. -
Jalankan dengan perintah:
python3 honeypot.py
-
Honeypot akan berjalan di port 8080 dan siap merekam koneksi mencurigakan.
Langkah 3: Menguji Honeypot
Untuk menguji, coba akses honeypot dari komputer lain atau gunakan netcat
:
nc localhost 8080
Anda akan melihat log di honeypot.log
seperti:
2024-05-20 14:30:45 - Koneksi mencurigakan dari 127.0.0.1:54321
Langkah 4: Analisis Log
File honeypot.log
akan mencatat:
-
Waktu koneksi
-
Alamat IP penyerang
-
Port sumber
Data ini dapat digunakan untuk:
-
Memantau serangan brute-force.
-
Mendeteksi pemindaian port.
-
Memperkuat firewall berdasarkan IP mencurigakan.
Pengembangan Lanjutan
Agar honeypot lebih canggih, Anda bisa:
-
Menambahkan Fake Services (SSH, FTP, HTTP) menggunakan library seperti
pyftpdlib
. -
Menggunakan Database (SQLite/MySQL) untuk menyimpan log serangan.
-
Integrasi dengan SIEM (Splunk, ELK Stack) untuk analisis real-time.
Kesimpulan
Honeypot adalah alat yang berguna untuk mempelajari ancaman jaringan. Dengan Python, kita bisa membuat honeypot sederhana yang efektif mendeteksi aktivitas mencurigakan.
Cobalah eksperimen dengan menambahkan fitur baru seperti notifikasi email atau auto-block IP menggunakan iptables
.
Semoga tutorial ini bermanfaat! 🚀
#CyberSecurity #Python #Honeypot #Jaringan
Catatan:
-
Pastikan honeypot dijalankan di lingkungan terkontrol (jangan di jaringan produksi tanpa pengawasan).
-
Honeypot ini bersifat edukasi, versi produksi membutuhkan pengembangan lebih lanjut.