Search

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:

  1. Socket Setup:

    • Membuat socket TCP (socket.AF_INET dan socket.SOCK_STREAM).

    • Mengikat socket ke port tertentu (0.0.0.0 berarti mendengarkan di semua interface).

  2. Logging:

    • Setiap koneksi yang masuk akan dicatat dalam file honeypot.log.

  3. Response Palsu:

    • Honeypot mengirim balasan palsu untuk menipu penyerang seolah-olah ini adalah layanan nyata.


Langkah 2: Menjalankan Honeypot

  1. Simpan kode di atas dalam file honeypot.py.

  2. Jalankan dengan perintah:

    python3 honeypot.py
  3. 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:

  1. Menambahkan Fake Services (SSH, FTP, HTTP) menggunakan library seperti pyftpdlib.

  2. Menggunakan Database (SQLite/MySQL) untuk menyimpan log serangan.

  3. 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.