Belajar python cyber security paling mudah dimulai dari tools kecil yang menyelesaikan satu masalah nyata. Di artikel ini Anda membuat tiga tools defensif dengan pustaka standar Python: pemeriksa integritas file, penghitung login SSH yang gagal, dan pengecek port di komputer sendiri. Semua contoh aman dijalankan di perangkat atau lab milik Anda.
Mengapa Python Cyber Security Menjadi Pilihan Banyak Praktisi?
Python punya sintaks yang mudah dibaca dan pustaka standar yang sudah mencakup soket jaringan (socket), hashing (hashlib), ekspresi reguler (re), dan pembuat angka acak yang aman untuk keperluan keamanan (secrets). Artinya Anda bisa mengotomatiskan pekerjaan rutin tanpa memasang paket tambahan. Di tim keamanan, skrip kecil lazim dipakai untuk mengolah log, memeriksa konfigurasi, memverifikasi file, dan menyambungkan keluaran satu tools ke tools lain.
Dalam praktik python cyber security, kemampuan scripting tidak wajib untuk masuk ke bidang ini, tetapi membuat Anda jauh lebih efisien. Pembahasan lengkapnya ada di artikel kami tentang apakah belajar cyber security harus bisa coding.
Persiapan: Python dan Virtual Environment
Pasang Python 3.11 atau lebih baru, karena tools pertama memakai fungsi hashlib.file_digest yang ditambahkan pada versi 3.11. Lalu buat virtual environment agar paket proyek tidak bercampur dengan sistem, seperti yang dijelaskan di tutorial resmi Python tentang venv:
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux atau macOS
source .venv/bin/activateKetiga contoh di bawah hanya memakai pustaka standar, jadi tidak ada yang perlu dipasang dengan pip.
Tiga Tools Python Cyber Security yang Bisa Anda Buat
1. Pemeriksa integritas file
Saat mengunduh installer atau menyimpan file penting, Anda perlu tahu apakah isinya berubah. Cara paling sederhana adalah menghitung hash SHA-256 lalu membandingkannya dengan checksum yang dipublikasikan penyedianya, atau dengan hash yang Anda simpan sebelumnya.
import hashlib
import sys
def sha256_file(path):
with open(path, "rb") as f:
return hashlib.file_digest(f, "sha256").hexdigest()
if __name__ == "__main__":
for path in sys.argv[1:]:
print(sha256_file(path), path)Simpan sebagai cek_hash.py, lalu jalankan python cek_hash.py berkas.iso. Ingat bahwa SHA-256 cocok untuk memeriksa integritas, bukan untuk menyimpan password: dokumentasi hashlib sendiri menyebut hash umum seperti SHA-256 tidak cocok untuk hashing password. Perbedaan konsepnya dibahas di perbedaan hashing dan enkripsi.
2. Penghitung percobaan login SSH yang gagal
Server yang terbuka ke internet hampir pasti menerima tebakan password otomatis. Skrip berikut membaca log milik server Anda dan menghitung alamat IP dengan kegagalan login terbanyak. Pada Debian dan Ubuntu, log ini biasanya ada di /var/log/auth.log.
import re
import sys
from collections import Counter
POLA = re.compile(r"Failed password for (?:invalid user )?(\S+) from (\S+)")
def hitung_gagal(path_log):
hitungan = Counter()
with open(path_log, encoding="utf-8", errors="replace") as log:
for baris in log:
cocok = POLA.search(baris)
if cocok:
hitungan[cocok.group(2)] += 1
return hitungan
if __name__ == "__main__":
for ip, total in hitung_gagal(sys.argv[1]).most_common(10):
print(f"{total:5d} {ip}")Hasilnya memberi gambaran sumber percobaan login terbanyak. Tindak lanjut yang masuk akal adalah mematikan login password dan memakai kunci SSH, serta memasang pemblokir otomatis.
3. Pengecek port terbuka di komputer sendiri
Setiap port yang terbuka adalah layanan yang harus Anda pertanggungjawabkan. Fungsi socket.create_connection mencoba terhubung ke pasangan host dan port dengan batas waktu, lalu melempar kesalahan jika gagal.
import socket
def terbuka(host, port, batas_waktu=1.0):
try:
with socket.create_connection((host, port), timeout=batas_waktu):
return True
except OSError:
return False
for port in (22, 80, 443, 3306):
status = "terbuka" if terbuka("127.0.0.1", port) else "tertutup"
print(port, status)Bandingkan hasilnya dengan daftar port yang memang Anda harapkan. Port yang tidak Anda kenal patut diselidiki. Untuk pemindaian yang lebih lengkap, gunakan Nmap seperti di tutorial Nmap untuk pemula.
Cara mengembangkan dan menulis skrip yang aman
Setelah ketiganya berjalan, tambahkan fitur secara bertahap. Simpan hash dasar dalam file JSON lalu bandingkan pada pemeriksaan berikutnya untuk mendeteksi perubahan. Gunakan modul argparse agar tools menerima opsi yang jelas, dan modul logging agar hasilnya terekam. Jika Anda perlu membuat token atau password acak untuk lab, gunakan modul secrets, bukan random: dokumentasi Python menegaskan bahwa secrets dirancang untuk keperluan keamanan, sedangkan random untuk simulasi.
Tulis juga dengan kebiasaan aman sejak awal: validasi semua masukan, jangan menanam kredensial di dalam kode, dan hindari menjalankan perintah shell dengan teks yang berasal dari pengguna. Tools keamanan yang ceroboh bisa menjadi celah baru.
Batas Hukum dan Etika Saat Membuat Tools
Contoh di atas sengaja diarahkan ke alamat lokal 127.0.0.1 dan file milik Anda sendiri. Menjalankan skrip pemindai atau pengumpul data terhadap sistem orang lain tanpa izin tertulis dapat melanggar UU ITE, apa pun niat Anda. Latihlah tools di lab pribadi atau pada layanan yang secara eksplisit mengizinkan pengujian. Ringkasan aspek hukumnya ada di penjelasan UU ITE.
Pertanyaan yang Sering Diajukan
Apakah Python saja cukup untuk berkarier di cyber security?
Python adalah alat yang sangat berguna, tetapi bukan pengganti pemahaman jaringan, sistem operasi Linux, dan konsep keamanan. Anggap Python sebagai pengali: semakin kuat fondasi Anda, semakin besar manfaat skrip yang Anda tulis.
Versi Python berapa yang sebaiknya dipakai?
Python 3.11 atau yang lebih baru. Fungsi hashlib.file_digest di contoh pertama baru tersedia sejak versi 3.11, sedangkan dua contoh lainnya berjalan di versi 3 yang lebih lama.
Bolehkah saya mengembangkan tools ini menjadi pemindai jaringan?
Boleh, selama target adalah jaringan yang Anda miliki atau yang memberi izin tertulis. Tanpa izin, pemindaian dapat dianggap akses atau percobaan akses ilegal.
Kesimpulan
Dengan tiga skrip pendek, Anda sudah menyentuh tiga pekerjaan nyata di dunia keamanan: verifikasi integritas, analisis log, dan audit port. Teruskan latihan python cyber security ini satu per satu, misalnya dengan menyimpan hash dasar ke file atau mengirim ringkasan log lewat email. Jika Anda ingin belajar terarah dengan mentor dan lab praktik, lihat daftar kursus Linuxhackingid.
Setiap artikel ditinjau pimpinan praktik yang menangani pekerjaannya sebelum terbit.
