<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Eilinafta Gita on Medium]]></title>
        <description><![CDATA[Stories by Eilinafta Gita on Medium]]></description>
        <link>https://medium.com/@eilinaftagita22?source=rss-89c2ed5423e1------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Stories by Eilinafta Gita on Medium</title>
            <link>https://medium.com/@eilinaftagita22?source=rss-89c2ed5423e1------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Wed, 27 May 2026 23:11:48 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@eilinaftagita22/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Incident Response (IR) : Tahapan Incident Response]]></title>
            <link>https://medium.com/@eilinaftagita22/incident-response-ir-tahapan-incident-response-71df813cd048?source=rss-89c2ed5423e1------2</link>
            <guid isPermaLink="false">https://medium.com/p/71df813cd048</guid>
            <category><![CDATA[siem]]></category>
            <category><![CDATA[incident-response]]></category>
            <dc:creator><![CDATA[Eilinafta Gita]]></dc:creator>
            <pubDate>Fri, 24 Oct 2025 09:02:02 GMT</pubDate>
            <atom:updated>2025-10-24T09:04:07.148Z</atom:updated>
            <content:encoded><![CDATA[<h3>Incident Response (IR) : Tahapan Incident Response</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1016/1*UhWa490FEi0syozY5rGaUA.png" /></figure><p>Bayangin kamu punya rumah, dan tiba-tiba ada bunyi kaca pecah di malam hari. <em>Nah,</em> IR itu seperti rencana darurat rumah tangga, apa yang ngecek, siapa yang hubungi orang bersangkutan, siapa yang perbaiki kaca, lalu siapa yang menyelidiki bagaimana kaca bisa pecah supaya gak terjadi lagi.</p><p>Di dunia TI, <em>insiden keamanan</em> bisa diartikan sebagai serangan hacker, malware, kebocoran data, atau hal yang mengancam kerahasiaan, integritas, atau ketersediaan sistem.</p><p>IR adalah proses sistematis untuk mendeteksi, menanggapi, memulihkan, dan belajar dari insiden-ini agar kerugian minimum dan kita makin siap ke depan.</p><h3>Tahapan Incident Response (IR)</h3><p>Dalam NIST SP 800–61r2, IR dijabarkan dalam empat fase utama yakni : Preparation (Persiapan), Detection &amp; Analysis (Deteksi &amp; Analisis), Containment, Eradication &amp; Recovery (Kontainmen, Penghapusan, Pemulihan), dan Post-Incident Activity (Aktivitas Pasca-Insiden).</p><p>Mari kita uraikan dengan analogi rumah tadi supaya lebih gampang diingat..</p><h3>1. Preparation (Persiapan)</h3><p>Seperti memasang alarm, kunci ganda, dan punya nomor tukang kaca sebelum kaca pecah. Dalam konteks IT :</p><ul><li>Buat kebijakan IR : siapa yang bertanggung jawab, skenario insiden apa yang termasuk, bagaimana eskalasi.</li><li>Rencana &amp; prosedur : langkah teknis siapa ngapain saat insiden, checklist, dan latihan simulasi.</li><li>Tim IR &amp; struktur organisasi: siapa bagian dari tim, peran mereka, apakah internal atau outsource.</li><li>Latihan dan pemeliharaan : update rencana, evaluasi kemampuan tim, pastikan alat &amp; log berjalan.</li></ul><blockquote><em>Kalau kurang persiapan saat insiden datang, akan kuwalahan bukan?</em></blockquote><h3>2. Detection &amp; Analysis (Deteksi &amp; Analisis)</h3><p>Saat alarm berbunyi atau kaca pecah, kita dengarkan bunyi, cek CCTV, identifikasi siapa yang masuk lewat jendela. Dalam IT :</p><ul><li>Monitoring dan logging : sistem mencatat event, tools deteksi mencatat aktivitas abnormal.</li><li>Identifikasi tanda/tanda awal (precursors &amp; indicators).</li><li>Analisis : Apakah ini benar insiden atau false alarm? Seberapa parah? Impact ke bisnis apa? Prioritasnya bagaimana?</li><li>Dokumentasi dan notifikasi: mulai catat segala hal, beri tahu pihak yang perlu tahu. <a href="https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-61r2.pdf">NIST Publications</a></li></ul><h3>3. Containment, Eradication &amp; Recovery (Kontainmen, Penghapusan &amp; Pemulihan)</h3><p>Sekarang kaca pecah, kita tutup jendela sementara, ambil pecahan, ganti kaca, lalu bersihkan semua jejak. <br>Dalam IT :</p><ul><li>Kontainmen : batasi dampak, misalnya isolasi sistem, block IP mecurigakan.</li><li>Penghapusan (Eradication) : hapus malware, patch kerentanan, hapus akun yang dibajak.</li><li>Pemulihan (Recovery) : kembalikan layanan ke keadaan normal, pastikan sistem aman, monitoring intensif pasca-pemulihan.</li><li>Pengumpulan bukti (forensics) jika perlu.</li></ul><h3>4. Post-Incident Activity (Aktivitas Pasca-Insiden)</h3><p>Sesudah kaca diganti dan rumah aman, kita evaluasi kenapa kaca pecah, siapa lalai, apakah kunci lama kurang kuat, apakah alarm belum dipasang dengan benar.</p><p>Dalam IT :</p><ul><li>Lessons Learned : tim IR review apa yang berjalan baik dan apa yang gagal.</li><li>Perbaikan proses: update kebijakan, prosedur, kontrol keamanan, pelatihan.</li><li>Pelaporan dan dokumentasi lengkap: untuk audit, legal, regulasi.</li><li>Simulasi dan latihan ulang agar kesiapan makin baik.</li></ul><h3>Kenapa Tahapan Ini Penting?</h3><ul><li>Karena di era ini serangan makin kompleks dan cepat, kita harus siap secara prosedural.</li><li>Tanpa persiapan dan monitoring yang baik → deteksi terlambat → dampak besar.</li><li>Dengan siklus yang lengkap dan terstruktur, maka organisasi bisa lebih resilien.</li></ul><blockquote>Source : <a href="https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-61r2.pdf">https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-61r2.pdf</a></blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=71df813cd048" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Log & Monitoring Dasar dengan Wazuh — Mulai dengan Praktik Sederhana]]></title>
            <link>https://medium.com/@eilinaftagita22/log-monitoring-dasar-dengan-wazuh-mulai-dengan-praktik-sederhana-609e766597c0?source=rss-89c2ed5423e1------2</link>
            <guid isPermaLink="false">https://medium.com/p/609e766597c0</guid>
            <category><![CDATA[logging-and-monitoring]]></category>
            <category><![CDATA[wazuh]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <dc:creator><![CDATA[Eilinafta Gita]]></dc:creator>
            <pubDate>Fri, 24 Oct 2025 08:08:36 GMT</pubDate>
            <atom:updated>2025-10-24T08:13:08.494Z</atom:updated>
            <content:encoded><![CDATA[<h3>Log &amp; Monitoring Dasar dengan Wazuh — Mulai dengan Praktik Sederhana</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kUkgPzyRg2WV3AbdALlnpQ.png" /></figure><p>Pernah gak sih kamu ngerasa sistem itu kayak orang yang cerewet banget? Selalu ngomong, entah soal error, sukses login, update, sampai proses kecil yang gak kamu minta pun dia laporin. Nah, semua <em>ocehan</em> itu terekam di log. Dan di dunia keamanan siber, log adalah cerita hidup sistemmu.</p><p>Di artikel ini, kita gak akan bahas SOC atau SIEM secara keseluruhan. Kita fokus kepada <strong>gimana sih caranya kita bisa dengerin cerita si sistem (log), ngerti maksudnya, dan bikin dia teriak kalau ada sesuatu yang gak beres (alias bikin alert).</strong> <br>Untuk praktiknya kita pakai <strong>Wazuh, </strong>si open-source SIEM yang terhitung ramah buat belajar di lab.</p><h3>Log itu Cerita, SIEM itu Pendengarnya</h3><p>Bayangin gini, sistemmu itu kayak sekumpulan karakter di film. Ada si <em>Web Server</em>, <em>Database</em>, <em>User Login</em>, dan <em>Firewall</em>. Masing-masing punya cerita sendiri di <em>scene</em> mereka. Tapi kalau gak ada sutradara yang ngerti alur cerita, semuanya bakal berantakan.</p><p>Nah, Wazuh di sini jadi sutradaranya. Dia ngumpulin semua cerita (log), dengerin, terus bilang “Eh, ini kayaknya aneh deh. Kenapa si <em>Database</em> tiba-tiba marah jam 3 pagi?” <br>Dari situ dia bikin alert, semacam notifikasi buat kamu biar tau ada yang gak normal.</p><h3>Setting Dasar Monitoring di Wazuh</h3><p>Untuk pratik pada lab ini, kita memerlukan 3 VM. Kamu bisa membangun VM nya dengan menggunakan VirtualBox atau sebagainya.</p><p>Yang saya gunakan pada lab ini diantaranya adalah sebagai berikut :</p><h4>1. VM Server — Ubuntu Server 20.04 LTS</h4><ul><li>Install: Wazuh Indexer, Wazuh Manager, Wazuh Dashboard</li><li>URL dashboard biasanya: https://&lt;SERVER_IP&gt; (atau sesuai konfigurasi Wazuh Dashboard)</li></ul><h4>2. VM Agent — Ubuntu Server 20.04</h4><ul><li>Install Wazuh Agent</li></ul><h4>3. VM Attacker - Kali Linux</h4><ul><li>VM ini digunakan untuk melakukan percobaan login ssh ke VM Agent.</li></ul><blockquote>Petunjuk instalasi lengkap Wazuh bisa dilihat di dokumentasi resmi: <a href="https://documentation.wazuh.com/current/installation-guide/index.html">https://documentation.wazuh.com/current/installation-guide/index.html</a></blockquote><h3>Langkah 1 : Pastikan Agent memonitor /var/log/auth.log</h3><p>Di VM Agent (Target), cek apakah ossec.conf sudah memantau auth.log (ini biasanya default):</p><pre>sudo grep -A2 &quot;auth.log&quot; /var/ossec/etc/ossec.conf || true</pre><p>Jika keluar blok yang menunjuk /var/log/auth.log, berarti agent sudah siap. Contoh entry bawaan:</p><pre>&lt;localfile&gt;<br>  &lt;log_format&gt;syslog&lt;/log_format&gt;<br>  &lt;location&gt;/var/log/auth.log&lt;/location&gt;<br>&lt;/localfile&gt;</pre><p>Jika tidak ada, tambahkan blok di atas ke /var/ossec/etc/ossec.conf lalu restart agent:</p><pre>sudo systemctl restart wazuh-agent</pre><h3>Langkah 2 — Pastikan Manager menerima event dari Agent</h3><p>Di VM Server (Manager), cek agent list:</p><pre>sudo /var/ossec/bin/agent_control -l</pre><p>Seharusnya agent Target muncul dengan status Active.</p><h3>Langkah 3 — Simulasi failed SSH login dari VM Attacker (Kali Linux)</h3><p>Dari VM Attacker, jalankan beberapa percobaan login SSH ke VM Agent menggunakan username yang salah atau password salah. <br><strong>Batasi percobaan</strong> (mis. 3–6 kali) supaya tidak memicu proteksi otomatis seperti fail2ban.</p><p>Contoh manual:</p><pre># coba beberapa kali dengan user random<br>for i in {1..5}; do ssh nonexist@&lt;TARGET_IP&gt; || true; sleep 1; done<br><br>#Atau<br><br>ssh root@&lt;TARGET_IP&gt;<br># masukkan password salah beberapa kali secara manual</pre><blockquote><em>NOTE : jangan lakukan brute-force skala besar. Ini hanya simulasi terkontrol di lab.</em></blockquote><h3>Langkah 4 — Verifikasi alert di Manager (file) dan Dashboard (web)</h3><p><strong>Di Server (Manager):</strong></p><pre># cek 200 baris terakhir alert (format tergantung versi Wazuh: alerts.json atau alerts.log)<br><br>sudo tail -n 200 /var/ossec/logs/alerts/alerts.json || sudo tail -n 200 /var/ossec/logs/alerts/alerts.log<br><br>#Cari entri yang terkait sshd, authentication failure, atau rule id terkait (mis. 5716/5715 - tergantung versi rule).<br>#Contoh potongan JSON yang mungkin muncul:<br><br>{<br>&quot;rule&quot;: {&quot;id&quot;: &quot;5716&quot;, &quot;level&quot;: 5, &quot;description&quot;: &quot;sshd: authentication failure.&quot;},<br>&quot;agent&quot;: {&quot;name&quot;: &quot;agent-target&quot;},<br>&quot;location&quot;: &quot;/var/log/auth.log&quot;,<br>&quot;data&quot;: {&quot;srcip&quot;: &quot;192.168.56.30&quot;, &quot;user&quot;: &quot;root&quot;}<br>}</pre><p><strong>Di Wazuh Dashboard (web):</strong></p><ol><li>Login ke https://&lt;SERVER_IP&gt;:5601 (atau sesuai port/dashboard configuration).</li><li>Pergi ke <strong>Security events</strong> atau <strong>Discover</strong></li><li>Filter berdasarkan <strong>agent</strong> (nama agent Target) atau keyword sshd / authentication_failed</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*x9koL68NId3NAItc2AeC1A.png" /></figure><h3>Catatan Keamanan &amp; Etika</h3><ul><li>Lakukan semua langkah ini hanya di lingkungan lab yang Anda kontrol. Jangan menguji teknik ini pada sistem produksi atau milik orang lain tanpa izin eksplisit.</li><li>Hindari brute-force nyata, batasi percobaan agar tidak memblokir host atau mengaktifkan countermeasures otomatis (seperti fail2ban).</li><li>Simulasi harus terkontrol: gunakan IP lab, user dummy, dan log file yang aman.</li></ul><p>Monitoring log itu seperti belajar baca bahasa tubuh sistem. Makin sering kita dengerin, makin peka juga kita sama tanda-tanda aneh. Dengan Wazuh, kamu bisa mulai dari hal sederhana kayak “berapa kali gagal login”, tapi lama-lama bisa berkembang jadi deteksi kompleks kayak privilege escalation atau file tampering.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=609e766597c0" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Antivirus VS EDR : Kenapa Ini Penting?]]></title>
            <link>https://medium.com/@eilinaftagita22/antivirus-vs-edr-kenapa-ini-penting-428704480166?source=rss-89c2ed5423e1------2</link>
            <guid isPermaLink="false">https://medium.com/p/428704480166</guid>
            <category><![CDATA[antivirus]]></category>
            <category><![CDATA[edr]]></category>
            <dc:creator><![CDATA[Eilinafta Gita]]></dc:creator>
            <pubDate>Fri, 10 Oct 2025 09:10:33 GMT</pubDate>
            <atom:updated>2025-10-10T09:10:33.458Z</atom:updated>
            <content:encoded><![CDATA[<h3>Antivirus VS EDR : Kenapa Ini Penting?</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1016/1*bIpC0IKTOM3PUnYWTg93Ng.png" /></figure><p>Dulu, install antivirus aja udah cukup buat jaga komputer dari virus dan malware. Tapi sekarang? Serangan makin kompleks dan gak melulu muncul dalam bentuk file mencurigakan. Banyak serangan modern yang gak bisa dideteksi antivirus biasa, inilah kenapa <strong>EDR</strong> diperlukan.</p><p>Tapi sebenarnya, apa sih Antivirus dan EDR itu?</p><h3>Apa Itu Antivirus (AV)?</h3><p>Antivirus adalah software keamanan yang dirancang untuk mendeteksi, memblokir, dan menghapus malware seperti virus, worm, dan trojan.<br>Sebagian besar antivirus bekerja dengan metode signature-based detection , yaitu mengenali pola ancaman yang sudah diketahui sebelumnya.</p><p>Antivirus cocok untuk perlindungan dasar dan ancaman umum, tapi mulai kewalahan kalau dihadapkan dengan serangan yang lebih canggih, seperti ransomware modern atau fileless attack.</p><h3>Apa Itu Endpoint Detection and Response (EDR)?</h3><p>EDR adalah solusi keamanan endpoint yang memantau aktivitas pada perangkat secara real-time dan mampu mendeteksi, menyelidiki, serta merespons ancaman tingkat lanjut.</p><p>Berbeda dari antivirus yang hanya memblokir file berbahaya, EDR bisa menganalisis perilaku sistem, menyimpan data untuk keperluan forensik, dan bahkan melakukan aksi otomatis seperti isolasi perangkat jika terdeteksi serangan aktif.</p><p>EDR cocok digunakan di lingkungan perusahaan atau organisasi yang butuh visibilitas tinggi dan reaksi cepat terhadap potensi ancaman.</p><h3>Perbandingan Antivirus (AV) vs Endpoint Detection and Response (EDR)</h3><p>Perbandingan mendasar antara antivirus dan EDR ada pada gambar tabel berikut:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1009/1*DUJXKJ9A4qPJwdAf_mcsIA.png" /></figure><h3>Jadi, Mana yang Harus Dipakai?</h3><p>Antivirus masih penting, terutama untuk pengguna individu dan perlindungan dasar. Tapi untuk organisasi atau siapa pun yang mengelola sistem penting, antivirus saja nggak cukup.</p><p>EDR memberikan lapisan keamanan tambahan yang sangat dibutuhkan untuk menghadapi jenis ancaman yang lebih canggih, khususnya yang tidak bisa ditangani AV secara langsung.</p><p>Bahkan di banyak organisasi, keduanya digunakan secara bersamaan: AV untuk proteksi dasar, EDR untuk monitoring dan respons yang lebih dalam.</p><p>Di tengah makin berkembangnya landscape serangan siber, kita gak bisa cuma mengandalkan solusi lama.</p><p>Antivirus itu penting, tapi EDR adalah next step yang wajib dipertimbangkan, apalagi kalau kita benar-benar ingin tahu apa yang terjadi di dalam sistem kita.</p><p>Karena pada akhirnya, keamanan bukan cuma soal mencegah tapi juga soal siap merespons.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=428704480166" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Mengamankan Linux: Audit & Hardening Port Terbuka]]></title>
            <link>https://medium.com/@eilinaftagita22/mengamankan-linux-audit-hardening-port-terbuka-1b7b1d8fbd9a?source=rss-89c2ed5423e1------2</link>
            <guid isPermaLink="false">https://medium.com/p/1b7b1d8fbd9a</guid>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[security-hardening]]></category>
            <dc:creator><![CDATA[Eilinafta Gita]]></dc:creator>
            <pubDate>Fri, 10 Oct 2025 07:18:35 GMT</pubDate>
            <atom:updated>2025-10-10T07:18:35.720Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1014/1*xEgR0TzwT0eWY-kXwFPnXQ.png" /></figure><p>Kadang masalah di server datang bukan dari bug aplikasi, tapi dari port yang nganggur tapi malah terbuka lebar. Dikit-dikit ada brute force, log penuh sama IP asing, padahal server gak harusnya sibuk.</p><p>“<em>gimana sih cara ngecek port apa aja yang lagi kebuka di Linux? …dan gimana nutup pintu-pintu yang nggak perlu</em>?” <br>Yuk kita bahas !</p><h3>Kenapa Port itu Penting?</h3><p>Bayangin gini…<br>Port di server itu <em>kayak</em> pintu rumah. Semakin banyak pintu yang kebuka, semakin besar kemungkinan maling masuk.<br>Yang bahaya itu bukan cuma pintu depan (port 80 atau 22), tapi pintu belakang, jendela, atau bahkan lubang angin (port aneh-aneh yang lupa ditutup setelah testing).</p><p>Maka dari itu, sebelum kita ngomongin soal firewall dan security tools, kita bisa mulai dari audit dan mengamankan port mana saja yang terbuka.</p><h3>Audit Port yang Terbuka</h3><p><strong>Cek pake </strong>ss<strong> (recommended)</strong></p><pre>ss -tuln</pre><p>Artinya:</p><ul><li>-t: TCP</li><li>-u: UDP</li><li>-l: listening</li><li>-n: tampilkan IP &amp; port asli (gak resolve DNS)</li></ul><p>Contoh output:</p><pre>Netid  State   Local Address:Port   Process<br>tcp    LISTEN  0.0.0.0:22           sshd<br>tcp    LISTEN  127.0.0.1:3306       mysqld<br>tcp    LISTEN  0.0.0.0:80           nginx</pre><p>Artinya:</p><ul><li>Port 22 (SSH) bisa diakses dari mana aja → hati-hati!</li><li>Port 3306 (MySQL) cuma bisa dari localhost → aman</li><li>Port 80 (web server) → wajar</li></ul><p><strong>Bisa juga pake </strong><strong>netstat</strong></p><pre>netstat -tuln</pre><p>Atau, kalau kamu mau yang lebih visual &amp; menyeluruh, bisa pakai:</p><p><strong>Scan dari luar dengan</strong><strong>nmap</strong></p><pre>nmap -sS -Pn &lt;ip-server-kamu&gt;</pre><p>Output-nya bakal kasih tau port mana aja yang bisa diakses dari luar.</p><p>Setelah tau port mana aja yang kebuka, sekarang saatnya tanya:</p><blockquote><strong>“Layanan apa sih yang buka port ini?”</strong></blockquote><p>Gunakan lsof atau ss:</p><pre>sudo lsof -i :3306</pre><p>Atau:</p><pre>sudo ss -ltnp</pre><p>Kamu bakal lihat program apa yang menggunakan port tersebut. Misalnya:</p><pre>LISTEN  0      128    127.0.0.1:3306    *:*    users:((&quot;mysqld&quot;,pid=1234,fd=10))</pre><p>Jadi kamu tau: oh, ternyata mysqld (MySQL) yang buka port itu.</p><h3>🔧 Hardening: Tutup Pintu yang Gak Perlu</h3><h4>1. Matikan service yang gak dipakai</h4><p>Misal kamu install Redis tapi gak jadi dipakai:</p><pre>sudo systemctl stop redis<br>sudo systemctl disable redis</pre><h4>2. Batasi agar hanya bisa diakses dari localhost</h4><p>Edit config aplikasinya. Contoh untuk MySQL:</p><pre>bind-address = 127.0.0.1</pre><p>Atau Redis:</p><pre>bind 127.0.0.1</pre><p>Restart service-nya setelah diubah.</p><h3>3. Gunakan Firewall (UFW)</h3><p>Buat rule misalkan seperti contoh :</p><pre>sudo ufw default deny incoming<br>sudo ufw allow 22    # SSH<br>sudo ufw allow 80    # HTTP<br>sudo ufw allow 443   # HTTPS<br>sudo ufw enable</pre><p>Untuk port internal (misal MySQL), jangan di-allow kalau gak perlu diakses dari luar.</p><h3>Tools Tambahan yang Bisa Dicoba</h3><ul><li><strong>Lynis</strong>: tool audit security Linux</li><li><strong>Fail2Ban</strong>: ban IP otomatis kalau ada brute force</li><li><strong>Nmap</strong>: buat scan dari luar</li><li><strong>OpenSCAP</strong>: compliance scanner</li></ul><p>Kadang yang ngebobol sistem itu bukan hacker elite dengan hoodie &amp; kopi di basement gelap (seperti di film-film). Bisa jadi dari port yang kamu lupa tutup setelah testing demo minggu lalu. 😅</p><p>Jadi mulai sekarang:</p><ul><li>Audit port tiap kali deploy</li><li>Tutup layanan yang gak perlu</li><li>Pasang firewall dari awal</li><li>Pantau terus, jangan anggap aman-aman aja</li></ul><p>Happy hardening!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1b7b1d8fbd9a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Mengenal SQL Injection: Kok Bisa Input Sederhana Mengancam Keamanan Data?]]></title>
            <link>https://medium.com/@eilinaftagita22/mengenal-sql-injection-kok-bisa-input-sederhana-mengancam-keamanan-data-17a2158a58f1?source=rss-89c2ed5423e1------2</link>
            <guid isPermaLink="false">https://medium.com/p/17a2158a58f1</guid>
            <category><![CDATA[sql-injection]]></category>
            <category><![CDATA[ethical-hacking]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <dc:creator><![CDATA[Eilinafta Gita]]></dc:creator>
            <pubDate>Tue, 30 Sep 2025 09:58:20 GMT</pubDate>
            <atom:updated>2025-09-30T09:58:20.925Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2DhAS5C9L4jqYAQbTBFm-w.png" /></figure><p>Pernah membayangkan kalau kolom login atau pencarian di sebuah website bisa jadi “jalan rahasia” masuk ke database?<br>Itulah yang terjadi ketika aplikasi web tidak memfilter input pengguna dengan baik. Serangan <strong>SQL Injection (SQLi)</strong> memanfaatkan celah ini dengan menyisipkan perintah SQL berbahaya. Hanya dengan mengetikkan karakter atau teks tertentu, penyerang bisa mengakses data sensitif, mengubah isi database, bahkan mengambil alih sistem.</p><h3>Apa Itu SQL Injection?</h3><p><strong>SQL Injection</strong> adalah teknik serangan di mana penyerang menyisipkan perintah <strong>Structured Query Language (SQL)</strong> berbahaya ke dalam input aplikasi (misalnya form login, kolom pencarian, atau parameter URL). Jika aplikasi tidak memvalidasi input dengan baik, perintah SQL yang disisipkan akan dijalankan oleh database.</p><p>Serangan ini tergolong berbahaya karena sering kali tidak membutuhkan akses fisik<strong>, </strong>cukup koneksi internet dan sebuah form input.</p><h3>Jenis &amp; Teknik SQL Injection</h3><p>Secara umum, SQL Injection dapat dibagi menjadi beberapa teknik utama, antaralain :</p><ol><li><strong>In-Band SQL Injection</strong><br>Penyerang menggunakan jalur komunikasi yang sama untuk mengirim payload dan menerima hasilnya secara langsung.<br><strong>a. Error-Based</strong>: Memanfaatkan pesan error dari database untuk mengekstrak informasi struktur tabel atau kolom.<br><strong>b. Union-Based</strong>: Menggunakan klausa UNION untuk menggabungkan query tambahan dan menampilkan data dari tabel lain.</li><li><strong>Inferential (Blind) SQL Injection</strong><br>Serangan ini tidak menampilkan hasil secara langsung, tetapi mengandalkan logic understanding dan respons dari aplikasi untuk mendapatkan informasi sensitif.<br>contoh : penyerang mengirim input yang membuat aplikasi merespons berbeda (konten, kode status, atau delay); perbedaan yang diobservasi itu dipakai untuk menebak struktur database atau data sensitif, huruf demi huruf.</li><li><strong>Out-of-Band SQL Injection</strong><br>Out-of-band SQL Injection adalah teknik injeksi di mana data yang dicari tidak ditampilkan langsung oleh aplikasi, melainkan dikirimkan melalui saluran terpisah (mis. DNS/HTTP callback atau log eksternal) akibat query yang memaksa server/database melakukan koneksi keluar — penyerang kemudian mengobservasi saluran tersebut untuk mengekstrak informasi sensitif.</li></ol><h3>Dampak SQL Injection</h3><ul><li><strong>Pencurian Data</strong>: Informasi sensitif seperti password, data pelanggan, atau detail kartu kredit bisa bocor.</li><li><strong>Manipulasi Database</strong>: Data dapat diubah, dihapus, atau ditambahkan sesuka hati penyerang.</li><li><strong>Eksekusi Perintah Sistem</strong>: Dalam kasus tertentu, SQLi dapat digunakan untuk mengeksekusi perintah di tingkat server.</li></ul><h3>Cara Mencegah SQL Injection</h3><ol><li><strong>Prepared Statements / Parameterized Queries</strong><br>Pisahkan logika SQL dari input pengguna agar database tidak menjalankan perintah berbahaya.</li><li><strong>Validasi &amp; Sanitasi Input</strong><br> Filter karakter khusus dan batasi format input.</li><li><strong>Least Privilege Access</strong><br> Gunakan akun database dengan hak akses minimum.</li><li><strong>Error Handling Aman</strong><br> Sembunyikan detail error agar tidak memberikan petunjuk kepada penyerang.</li></ol><h3>Contoh Praktik Sederhana Penggunaan SQL Injection</h3><p>Untuk belajar , kita bisa menggunakan beberapa contoh payload untuk testing sebuah web (apakah website itu rentan / tidak). Kita bisa melakukanya di situs uji coba dengan step sebagai berikut :</p><ol><li>Kunjungi Situs <a href="http://testphp.vulnweb.com/">http://testphp.vulnweb.com/</a></li><li>Masukkan payload SQL Injection pada kolom pencarian</li></ol><pre>#Masukkan salah 1 payload (tanda petik 1)<br><br>&#39;</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FbWFkKUnoxncn-ztX_UhpA.png" /></figure><p>amati yang terjadi, “<em>apakah website memunculkan error / trigger?</em>”.</p><p>4. Jika tidak, amati bagian link pada atas halaman website. Link tersebut memunculkan parameter, lalu kita coba masukkan payload (tanda petik 1) dibagian parameter</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vWzQ3kSS07-vZf5t9vNOnw.png" /><figcaption>sebelum ditambahkan payload (‘)</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*aJ-XEPbOwLpsKbvFTZ22fg.png" /><figcaption>setelah ditambahkan lalu di enter</figcaption></figure><p>Error menunjukkan input SQL disisipkan ke query tanpa filter sehingga memicu kesalahan sintaks , indikasi kuat adanya celah <strong>SQL Injection</strong>.</p><p>SQL Injection menunjukkan betapa <strong>input sekecil apa pun bisa jadi ancaman besar</strong> bila aplikasi tidak dirancang dengan aman. Mencegahnya bukan sekadar memfilter input, tetapi membiasakan <em>secure coding</em> dan pengujian sejak tahap pengembangan.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=17a2158a58f1" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Cross-Site Scripting (XSS): Celah Kecil tapi Berbahaya dalam Keamanan Aplikasi Web?]]></title>
            <link>https://medium.com/@eilinaftagita22/cross-site-scripting-xss-celah-kecil-tapi-berbahaya-dalam-keamanan-aplikasi-web-8b22df4e16c4?source=rss-89c2ed5423e1------2</link>
            <guid isPermaLink="false">https://medium.com/p/8b22df4e16c4</guid>
            <category><![CDATA[xss-vulnerability]]></category>
            <category><![CDATA[ethical-hacking]]></category>
            <category><![CDATA[stored-xss]]></category>
            <category><![CDATA[reflected-xss]]></category>
            <dc:creator><![CDATA[Eilinafta Gita]]></dc:creator>
            <pubDate>Fri, 26 Sep 2025 10:02:41 GMT</pubDate>
            <atom:updated>2025-09-29T03:38:20.357Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0IT0iRVkThkun69h_8nBTQ.png" /></figure><p>Keamanan aplikasi web sering kali diibaratkan sebagai benteng yang harus dijaga dari berbagai arah. Di antara banyak ancaman yang tercatat dalam <strong>OWASP Top 10</strong>, <strong>Cross-Site Scripting (XSS)</strong> termasuk salah satu yang paling sering ditemukan .<br> Meskipun terdengar sederhana, serangan XSS bisa menjadi pintu masuk untuk pencurian data sensitif hingga pengambilalihan akun pengguna.</p><h3>Apa Itu XSS?</h3><p><strong>Cross-Site Scripting (XSS)</strong> adalah celah keamanan yang memungkinkan penyerang menyisipkan skrip berbahaya ke dalam halaman web. Ketika halaman tersebut dibuka oleh pengguna lain, skrip berbahaya akan dieksekusi di browser korban seolah-olah berasal dari situs yang sah.</p><p>Bahaya utamanya adalah penyerang dapat menjalankan perintah di browser korban tanpa sepengetahuan mereka, termasuk:</p><ul><li>Mencuri cookie sesi untuk mengambil alih akun pengguna.</li><li>Menyisipkan phishing content untuk mengelabui korban.</li><li>Memanipulasi tampilan halaman, seperti mengubah form pembayaran atau login.</li></ul><h3>Jenis-Jenis XSS</h3><p>Untuk memahami cara pencegahan, kita perlu mengenal tipe-tipe XSS yang umum ditemui:</p><ol><li><strong>Stored XSS</strong><br>Payload berbahaya disimpan permanen di server, misalnya di database atau forum komentar. Ketika halaman dimuat, script otomatis dijalankan pada setiap pengunjung.</li><li><strong>Reflected XSS</strong><br>Payload disisipkan melalui URL atau parameter request dan langsung dipantulkan kembali ke halaman respons. Contoh: link phishing yang diklik korban memicu eksekusi skrip.</li><li><strong>DOM-Based XSS</strong><br>Terjadi di sisi client ketika manipulasi Document Object Model (DOM) memicu eksekusi script. Tidak melibatkan server, sehingga lebih sulit dideteksi.</li></ol><h3>Contoh Praktik Payload XSS Sederhana</h3><p>Payload XSS paling dasar biasanya hanya menampilkan <em>pop-up</em> untuk menunjukkan bahwa celah memang ada:</p><pre>&lt;script&gt;alert(1)&lt;/script&gt;</pre><p>Walau terlihat sederhana, teknik ini dapat dikembangkan untuk mencuri cookie atau mengirim data ke server penyerang.</p><p><strong>Untuk contoh penerapanya, kita bisa gunakan step berikut :</strong></p><ol><li>Gunakan situs uji coba , kunjungi <a href="http://testphp.vulnweb.com/">http://testphp.vulnweb.com/</a></li><li>Masukkan payloads seperti pada contoh diatas( <strong>&lt;script&gt;alert(1)&lt;/script&gt; )</strong> di kolom inputan “search”</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FbWFkKUnoxncn-ztX_UhpA.png" /></figure><p>3. Klik “go” lalu amati yang terjadi</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Puz2gFTvIww4HsEGJmm2rA.png" /></figure><p>Setelah menekan/klik <strong>“go”</strong> pada kolom pencarian yang kita isi dengan script XSS, muncul pop-up seperti pada gambar. Hal tersebut menandakan bahwa website <strong>rentan </strong>terhadap <strong>serangan XSS.</strong></p><blockquote>Percobaan ini hanya untuk situs latihan yaa... pastikan kamu memiliki izin jika ingin melakukan testing pada sebuah website tertentu</blockquote><p>Untuk eksplorasi lebih mendalam, kita bisa mencoba berbagai <strong>payload XSS</strong> dari sumber-sumber berikut:</p><ul><li><a href="https://portswigger.net/web-security/cross-site-scripting/cheat-sheet">PortSwigger XSS Cheat Sheet</a></li><li><a href="https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XSS%20Injection">PayloadsAllTheThings — XSS Injection</a></li><li><a href="https://ez.pe">EZ Payload Collections</a></li></ul><h3>Peran XSS dalam Web Application Security</h3><p>Mengapa XSS sangat penting dalam konteks keamanan aplikasi web?<br>tentu dikarenakan serangan ini :</p><ul><li>Menargetkan pengguna langsung, bukan hanya server.</li><li>Sulit dideteksi pengguna awam, karena script tampak seperti bagian normal dari situs.</li><li>Bisa menjadi langkah awal untuk serangan lanjutan, seperti <em>session hijacking</em>, <em>keylogging</em>, atau <em>deface</em> halaman.</li></ul><p>Organisasi yang mengabaikan pencegahan XSS berisiko kehilangan data, reputasi, dan kepercayaan pengguna.</p><h3>Cara Mencegah XSS</h3><p>XSS bisa dicegah dengan kombinasi <strong>praktik pengembangan aman</strong> dan konfigurasi yang tepat:</p><ol><li><strong>Input Validation &amp; Output Encoding</strong></li></ol><ul><li>Filter dan sanitasi setiap input user.</li><li>Encode karakter khusus sebelum ditampilkan (misal &lt; menjadi &amp;lt;).</li></ul><p><strong>2. Content Security Policy (CSP)</strong></p><ul><li>Batasi sumber JavaScript yang diizinkan agar browser menolak skrip berbahaya.</li></ul><p><strong>3. HTTPOnly Cookie</strong></p><ul><li>Lindungi cookie agar tidak bisa diakses melalui JavaScript.</li></ul><p><strong>4. Gunakan Framework Modern</strong></p><ul><li>Banyak framework (React, Angular, Django) memiliki mekanisme bawaan untuk mencegah XSS.</li></ul><h3>Testing XSS dengan Burp Suite</h3><p>Untuk mendeteksi XSS secara praktis, <strong>Burp Suite</strong> adalah alat favorit para pentester. Fitur seperti <strong>Proxy</strong> dan <strong>Repeater</strong> memungkinkan kita:</p><ul><li>Menangkap request aplikasi.</li><li>Memasukkan payload XSS secara manual.</li><li>Menganalisis respons server untuk melihat apakah payload berhasil dijalankan.</li></ul><p>Pengalaman testing dengan Burp Suite sangat membantu memahami bagaimana input sederhana dapat membuka celah serius pada aplikasi.</p><p>Cross-Site Scripting (XSS) adalah ancaman nyata bagi aplikasi web yang kurang memperhatikan keamanan input dan output. Meski terlihat seperti “hanya script kecil”, dampaknya dapat merusak reputasi, merugikan finansial, bahkan mengancam privasi pengguna.</p><p>Dengan mengenali jenis serangan, mempelajari payload, dan menggunakan tools seperti Burp Suite, kita bisa mencegah serangan XSS sebelum berdampak pada pengguna dan bisnis.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8b22df4e16c4" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[ Ethical Hacking: Tools Dasar & Alur Pentest yang Wajib Kamu Tahu]]></title>
            <link>https://medium.com/@eilinaftagita22/ethical-hacking-tools-dasar-alur-pentest-yang-wajib-kamu-tahu-d647478f45e5?source=rss-89c2ed5423e1------2</link>
            <guid isPermaLink="false">https://medium.com/p/d647478f45e5</guid>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[pentesting]]></category>
            <category><![CDATA[ethical-hacking]]></category>
            <dc:creator><![CDATA[Eilinafta Gita]]></dc:creator>
            <pubDate>Fri, 26 Sep 2025 08:22:58 GMT</pubDate>
            <atom:updated>2025-09-29T02:12:50.221Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qU_OpA0BzZX-0PiKHdrU_Q.png" /></figure><p>Di tengah derasnya arus digitalisasi, keamanan siber kini menjadi benteng terakhir bagi data pribadi, bisnis, hingga infrastruktur penting. Sayangnya, seiring dengan kemudahan teknologi, ancaman serangan siber juga semakin canggih.<br>Di sinilah <strong>ethical hacking</strong> hadir sebagai “pahlawan” , bertindak layaknya hacker tetapi dengan tujuan melindungi, bukan merusak.</p><h3>Apa Itu Ethical Hacking?</h3><p><strong>Ethical hacking</strong> merupakan proses pengujian keamanan sistem <strong>secara legal</strong> untuk mengidentifikasi dan menutup celah kerentanan sebelum dimanfaatkan pihak yang tidak bertanggung jawab. Kegiatan ini <strong>d</strong>ilakukan dengan<strong> otorisasi resmi</strong>, sehingga berbeda dari hacking ilegal. Tujuannya jelas, yakni <strong>meningkatkan keamanan, bukan menghancurkan</strong>.</p><p>Dalam praktiknya, terdapat tiga jenis pelaku yang sering disebut :</p><ul><li><strong>White Hat Hacker</strong> <br>Hacker “baik” yang bekerja dengan izin resmi untuk memperkuat keamanan.</li><li><strong>Grey Hat Hacker</strong> <br>Berada di area abu-abu; kadang menemukan celah tanpa izin, namun melaporkan hasilnya tanpa niat jahat.</li><li><strong>Black Hat Hacker<br></strong>Pihak berbahaya yang mengeksploitasi celah untuk keuntungan pribadi atau merusak sistem.</li></ul><p>Dengan memahami peran ini, organisasi dapat bekerja sama dengan white hat hacker untuk meminimalkan risiko serangan.</p><h3>Pentest: Simulasi Serangan untuk Deteksi Celah</h3><p>Salah satu metode utama dalam ethical hacking adalah <strong>penetration testing (pentest)</strong>. Pentest adalah proses <strong>mensimulasikan serangan siber secara terkendali</strong> untuk mengukur seberapa kuat pertahanan sistem. Hasilnya akan membantu pemilik sistem memahami titik lemah yang perlu diperbaiki sebelum benar-benar diserang.</p><p><strong>Alur Lengkap Pentest</strong></p><ol><li><strong>Planning &amp; Scoping</strong><br>Menentukan ruang lingkup, target, dan aturan main dengan pemilik sistem. Semua aktivitas harus disetujui terlebih dahulu.</li><li><strong>Reconnaissance (Information Gathering)</strong><br>Mengumpulkan informasi awal seperti domain, alamat IP, dan teknologi yang digunakan untuk mengenali target.</li><li><strong>Scanning &amp; Enumeration</strong><br>Mengidentifikasi port terbuka, service aktif, versi perangkat lunak, dan potensi kerentanan dengan tools seperti <strong>Nmap</strong>.</li><li><strong>Exploitation (only in-scope targets)<br></strong>Mencoba memanfaatkan celah yang ditemukan untuk mendapatkan akses atau menguji dampaknya.</li><li><strong>Post-Exploitation &amp; Reporting</strong><br>Menganalisis dampak, mengamankan bukti, serta membuat laporan hasil uji dan rekomendasi perbaikan</li></ol><p>Dengan alur yang sistematis, pentest memastikan bahwa setiap kelemahan terdeteksi sebelum dimanfaatkan pihak yang tidak bertanggung jawab.</p><h3>Tools Dasar yang Wajib Dikenal</h3><p>Seorang pentester atau ethical hacker memerlukan berbagai <strong>alat bantu (tools)</strong> untuk mempermudah proses pengujian. Berikut beberapa tools dasar yang paling populer:</p><ol><li><strong>Nmap<br></strong>Network scanning untuk mendeteksi port, service, dan OS.Cocok untuk pemetaan jaringan dan identifikasi target awal.</li><li><strong>Nikto<br></strong>Web server scanner untuk mendeteksi kerentanan. Memeriksa konfigurasi buruk, file berbahaya, dan celah web.</li><li><strong>Metasploit<br></strong>Framework eksploitasi dan pengujian kerentanan. Memudahkan pengujian eksploit dengan modul siap pakai.</li><li><strong>Burp Suite<br></strong>Alat untuk menguji dan menganalisis keamanan aplikasi web, serta digunakan sebagai intercepting proxy untuk mencegat, melihat, dan memodifikasi request maupun response antara browser dan server.</li><li><strong>Wireshark<br></strong>Packet analyzer untuk memantau lalu lintas jaringan. Berguna untuk mendeteksi aktivitas mencurigakan secara real-time.</li></ol><p>💡 <strong>Tips Pemula:</strong> Mulailah dengan Nmap dan Nikto karena relatif mudah digunakan untuk memahami proses scanning dan deteksi kerentanan.</p><h3>Pentingnya Etika dan Legalitas</h3><p>Meski menggunakan teknik yang mirip dengan hacker jahat, <strong>e</strong>thical hacking berbeda jauh dari kejahatan siber. Semua aktivitas harus:</p><ul><li>Memiliki <strong>izin tertulis</strong> dari pemilik sistem.</li><li>Tidak merusak, mengubah, atau mencuri data.</li><li>Menjaga kerahasiaan setiap temuan.</li></ul><p>Melanggar prinsip ini bisa menimbulkan konsekuensi hukum, bahkan jika dilakukan untuk “belajar”. <em>Jadi jangan sampai dilanggar yaa …</em></p><p>Ethical hacking bukan sekadar “meretas” sistem, melainkan <strong>seni melindungi</strong> data dan infrastruktur digital. Dengan memahami konsep pentest, menguasai alur kerja, dan mengenal tools dasar seperti Nmap, Nikto, dan Metasploit, kamu bisa mulai perjalanan menjadi <strong>white hat hacker</strong> yang berperan penting di era keamanan siber.</p><blockquote>“Hacker tidak selalu jahat. Ethical hacking adalah cara berpikir untuk melindungi, bukan menghancurkan.”</blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d647478f45e5" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Implementasi Sederhana Snort untuk Deteksi Serangan XSS melalui payload]]></title>
            <link>https://medium.com/@eilinaftagita22/implementasi-sederhana-snort-untuk-deteksi-serangan-xss-melalui-payload-790194d48d52?source=rss-89c2ed5423e1------2</link>
            <guid isPermaLink="false">https://medium.com/p/790194d48d52</guid>
            <category><![CDATA[ids-ips]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[snort]]></category>
            <category><![CDATA[ubuntu-20-04]]></category>
            <dc:creator><![CDATA[Eilinafta Gita]]></dc:creator>
            <pubDate>Tue, 16 Sep 2025 03:17:27 GMT</pubDate>
            <atom:updated>2025-09-18T08:15:02.107Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*AdQlash3gm8YuoXgYRTkig.png" /></figure><p>Ngomongin soal keamanan jaringan, kadang kedengerannya ribet banget. Padahal, ada cara sederhana buat nyobain gimana sih sistem deteksi serangan itu jalan. Nah, kali ini kita coba praktek sederhana pakai <strong>Snort</strong>, salah satu tool populer untuk <em>Intrusion Detection &amp; Prevention System (IDS/IPS)</em>, dan fokusnya ke serangan <strong>XSS (Cross-Site Scripting)</strong>.</p><p>Bayangin aja gini, ada web sederhana yang rentan, terus dicoba diserang pakai payload XSS. Snort bakal jadi “satpam” yang jaga, kalau ada akses normal dilepasin aja, tapi kalau ada payload mencurigakan ya langsung ditendang (drop) dan bahkan bisa kirim notifikasi ke email. Kira — kira seperti ini alurnya :</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/818/1*EX_IsmSeQrIhHfcpmsBnDw.jpeg" /></figure><blockquote><strong><em>Catatan : </em></strong><em>Artikel ini hanya untuk belajar dan uji coba yaa.. Jangan disalah gunakan untuk hal berbahaya.</em></blockquote><h3>SETUP &amp; INTALLASI</h3><ol><li><strong>Lingkungan Uji Coba</strong></li></ol><ul><li>VM: <strong>Ubuntu Server 20.04.6 </strong>di VirtualBox</li><li>Setting Network Adapter <br>- Adapter 1 (NAT + Port Forwarding)<br>&gt; HTTP → host <em>&lt;ip host&gt;:8080</em> → guest <em>&lt;ip guest&gt;:80<br></em>- Adapter 2 (Host-Only Network)</li></ul><p><strong>2. Install Snort di VM Ubuntu Server</strong></p><pre>sudo apt update<br>sudo apt install -y oinkmaster snort snort-common snort-rules-default snort-doc</pre><p><strong>3. Install Postfix &amp; mailutils (untuk XSS email)</strong></p><pre>sudo apt-get install -y postfix libsasl2-modules ca-certificates<br>sudo apt install -y mailutils<br>sudo systemctl enable postfix</pre><ul><li>oinkmaster dan paket rules bisa membantu manajemen rules; di tutorial ini rule lokal ditambahkan langsung.</li><li>Saat instalasi snort akan menanyakan interface — jika diminta, pilih enp0s3 atau lewati dan gunakan parameter -i saat menjalankan Snort.</li></ul><p><strong>4. Tambahan :</strong></p><ul><li>Siapkan web sederhana untuk uji XSS</li><li>Jika Apache belum terpasang:</li></ul><pre>sudo apt install -y apache2<br>sudo systemctl enable apache2<br>sudo systemctl start apache2<br><br># Buat Web dengan Script :<br>sudo mkdir -p /var/www/html/vuln<br>sudo nano /var/www/html/vuln/index.php<br><br># Isi dengan <br>&lt;?php<br>$msg = $_GET[&#39;msg&#39;] ?? &#39;&#39;;<br>?&gt;<br>&lt;!DOCTYPE html&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br>    &lt;title&gt;Vulnerable Page&lt;/title&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br>    &lt;h2&gt;Halaman Uji XSS&lt;/h2&gt;<br>    &lt;p&gt;Pesan: &lt;?php echo $msg; ?&gt;&lt;/p&gt;<br>&lt;/body&gt;<br>&lt;/html</pre><p>Coba Akses : <a href="http://127.0.0.1:8080/vuln/index.php?msg=halo">http://&lt;localhost&gt;:8080/vuln/index.php?msg=halo</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*nVVWubHca4JQ5MPoQN3tUA.png" /></figure><h3>TAHAP KONFIGURASI</h3><ol><li><strong>Konfigurasi Snort Config</strong><br>Uncomment pada bagian include $RULE_PATH/local.rules<br>- sudo nano /etc/snort/snort.conf</li><li><strong>Konfigurasi Snort Rules</strong><br>- sudo nano /etc/snort/rules/local.rules</li><li><strong>Konfigurasi Postfix<br>- </strong>Edit sudo nano /etc/postfix/main.cf tambahkan di paling bawah</li></ol><pre>#Konfigurasi ke gmail SMTP<br>relayhost = [smtp.gmail.com]:587<br><br>#Autentikasi<br>smtp_sasl_auth_enable = yes<br>smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd<br>smtp_sasl_security_options = noanonymous<br>smtp_use_tls = yes<br>smtp_tls_security_level = may<br>header_size_limit = 4096000<br><br># SSL<br>smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt</pre><ul><li>Buat File Kredensial Postfix<br>- sudo nano /etc/postfix/sasl_passwd</li></ul><pre>[smtp.gmail.com]:587 your.email@gmail.com:your_apps_password</pre><ul><li>Sesuaikan Email yang hendak dipakai<br><strong>NOTE</strong> <em>Cara Mendapatkan Apps Password login ke email -&gt; manage your account -&gt; security -&gt; apps password -&gt; create</em></li><li>Ubah Permission dan Hash File</li></ul><pre>sudo chmod 600 /etc/postfix/sasl_passwd<br>sudo postmap /etc/postfix/sasl_passwds</pre><p><strong>4. Konfigurasi Script Untuk Integrasi Alert ke Email<br>- </strong>sudo nano email.sh</p><pre>#!/bin/bash<br># /usr/local/bin/snort-xss-email.sh<br># Monitor Snort alert log -&gt; ketika XSS DI DROP!<br># Disesuaikan untuk rules: msg: &quot;SERANGAN XSS!&quot; dan msg: &quot;XSS DI DROP!&quot;<br><br>TO=&quot;eilinafta.gita@mhs.rosma.ac.id&quot;<br>SUBJ=&quot;ALERT: XSS TERDETEKSI &amp; PAKET DI-DROP&quot;<br>SNORT_LOG=&quot;/var/log/snort/alert&quot;<br>APACHE_LOG=&quot;/var/log/apache2/access.log&quot;<br>STATE_DIR=&quot;/var/tmp/snort-xss-state&quot;<br>mkdir -p &quot;$STATE_DIR&quot;<br>LAST_DROP_FILE=&quot;$STATE_DIR/last_xss_drop_hash&quot;<br><br>send_email() {<br>  local subject=&quot;$1&quot;<br>  local body=&quot;$2&quot;<br>  echo -e &quot;$body&quot; | mail -s &quot;$subject&quot; &quot;$TO&quot;<br>}<br><br>extract_ips() {<br>  local line=&quot;$1&quot;<br>  pair=$(echo &quot;$line&quot; | sed -nE &#39;s/.*([0-9]{1,3}(\.[0-9]{1,3}){3}:[0-9]+) *-&gt; *([0-9]{1,3}(\.[0-9]{1,3}){3}:[0-9]+).*/\1 \3/p&#39;)<br>  if [ -n &quot;$pair&quot; ]; then<br>    srcp=$(echo &quot;$pair&quot; | awk &#39;{print $1}&#39;); dstp=$(echo &quot;$pair&quot; | awk &#39;{print $2}&#39;)<br>    src=$(echo &quot;$srcp&quot; | cut -d: -f1); dst=$(echo &quot;$dstp&quot; | cut -d: -f1)<br>    echo &quot;$src&quot; &quot;$dst&quot;; return<br>  fi<br>  ips=$(echo &quot;$line&quot; | grep -oE &#39;([0-9]{1,3}\.){3}[0-9]{1,3}&#39; | head -n2 | xargs)<br>  if [ -n &quot;$ips&quot; ]; then echo $ips; return; fi<br>  echo &quot;&quot; &quot;&quot;<br>}<br><br># Cari alert XSS terakhir yang relevan (mencari &quot;SERANGAN XSS!&quot;)<br>find_last_xss_alert() {<br>  # ambil 200 baris terakhir dan cari baris alert XSS paling akhir<br>  grep -E &quot;SERANGAN XSS!&quot; &quot;$SNORT_LOG&quot; 2&gt;/dev/null | tail -n 5 | tail -n1 || true<br>}<br><br>if [ ! -f &quot;$SNORT_LOG&quot; ]; then<br>  echo &quot;ERROR: SNORT log not found at $SNORT_LOG. Pastikan snort mengeluarkan alert text ke file ini.&quot;<br>  exit 1<br>fi<br><br># Tail log realtime; bereaksi pada baris yang mengandung &#39;XSS DI DROP!&#39;<br>tail -F &quot;$SNORT_LOG&quot; 2&gt;/dev/null | while IFS= read -r line; do<br>  if echo &quot;$line&quot; | grep -qE &quot;XSS DI DROP!&quot;; then<br>    drop_hash=$(echo &quot;$line&quot; | md5sum | awk &#39;{print $1}&#39;)<br>    last_saved=$(cat &quot;$LAST_DROP_FILE&quot; 2&gt;/dev/null || echo &quot;&quot;)<br>    [ &quot;$drop_hash&quot; = &quot;$last_saved&quot; ] &amp;&amp; continue<br><br>    read SRC DST &lt;&lt;&lt; &quot;$(extract_ips &quot;$line&quot;)&quot;<br><br>    last_alert_line=$(find_last_xss_alert)<br><br>    if [ -n &quot;$last_alert_line&quot; ]; then<br>      ALERT_SECTION=&quot;-- Deteksi (alert) dari Snort --\n$last_alert_line\n&quot;<br>    else<br>      ALERT_SECTION=&quot;-- Deteksi (alert) dari Snort --\n(Tidak ditemukan baris &#39;SERANGAN XSS!&#39; sebelumnya dalam log)\n&quot;<br>    fi<br><br>    DROP_SECTION=&quot;-- Drop (IPS) --\n$line\nSrc: $SRC\nDst: $DST\n&quot;<br><br>    APACHE_DET=$(tail -n 200 &quot;$APACHE_LOG&quot; 2&gt;/dev/null | grep -E &quot;&lt;script|%3Cscript%3E&quot; || true)<br>    if [ -n &quot;$APACHE_DET&quot; ]; then<br>      APACHE_SECTION=&quot;\n-- Apache access.log (relevan) --\n$APACHE_DET\n&quot;<br>    else<br>      APACHE_SECTION=&quot;\n-- Apache access.log (relevan) --\n(Tidak ditemukan entri yang mengandung &lt;script atau %3Cscript%3E dalam 200 baris terakhir)\n&quot;<br>    fi<br><br>    BODY=&quot;Terjadi XSS dan paket telah diblokir oleh IPS.\n\n$ALERT_SECTION\n$DROP_SECTION\n$APACHE_SECTION\n\nTimestamp pada baris Snort di atas.&quot;<br><br>    send_email &quot;$SUBJ&quot; &quot;$BODY&quot;<br>    echo &quot;$drop_hash&quot; &gt; &quot;$LAST_DROP_FILE&quot;<br>  fi<br>done</pre><h3>TAHAP PENGUJIAN</h3><ol><li><strong>Jalankan Snort</strong></li></ol><pre>sudo snort --daq afpacket -Q -c /etc/snort/snort.conf -i enp0s8:enp0s3 -l /var/log/snort -A fast</pre><p><strong>Penjelasan singkat :</strong></p><ul><li>sudo → jalankan sebagai root (butuh hak istimewa).</li><li>snort → program Snort.</li><li>--daq afpacket → pakai engine capture Linux (AF_PACKET) untuk sniffing.</li><li>-Q → mode inline/queue</li><li>-c /etc/snort/snort.conf → pakai file konfigurasi itu.</li><li>-i enp0s8:enp0s3 → interface yang dipantau (sesuaikan dengan Interface yang kamu pakai)</li><li>-l /var/log/snort → folder untuk menyimpan log/alert.</li><li>-A fast → format alert singkat (one-line).</li></ul><p><strong>2. Jalankan Script pada email.sh</strong></p><pre>./email.sh</pre><p><strong>3. Akses Website</strong></p><ul><li>Akses dengan Parameter <br><a href="http://127.0.0.1:8080/vuln/index.php?msg=halo">http://127.0.0.1:8080/vuln/index.php?msg=halo</a></li><li>Akses dengan Payload <br><a href="http://127.0.0.1:8080/vuln/index.php?msg=&lt;script&gt;alert()&lt;/script&gt;">http://127.0.0.1:8080/vuln/index.php?msg=&lt;script&gt;alert()&lt;/script&gt;</a></li><li>NB : Ketika website diakses secara normal (msg=…) tidak akan terdeteksi serangan, namun ketika ditambahkan payload xss (&lt;script&gt;alert()&lt;/script&gt;) akan terdeteksi serangan</li></ul><h3>HASIL PENGUJIAN</h3><ul><li>Cek Email sesuai yang kamu masukkan di script email.sh</li><li>Jika Berhasil akan muncul Email baru :</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7B1R1TGDe5vqcKa5uZGaBQ.png" /></figure><h3>Tips Troubleshooting</h3><ul><li><strong>Rules XSS tidak memunculkan alert / drop <br>- </strong>Cek bagian /etc/snort/rules/local.rules , pastikan rule sudah sesuai<br>- Cek bagian /etc/snort/snort. conf</li><li>Jika Koneksimu tidak berjalan dan email tidak terkirim, coba tes koneksi internet dahulu dengan menjalankan ping google.com jika tidak ada jawaban maka tandanya koneksimu memang tidak jalan.<br>-&gt; Periksa pengaturan pada Network Adapternya di Virtualbox , pastikan NAT memuat Port Forwarding yang sesuai<br>-&gt; Pastikan Interface dan IP yang digunakan sesuai , bisa cek dengan menjalankan ip a</li></ul><p>Sederhana, bukan? Dari sini bisa terus dikembangin dengan coba bikin rules lain, tambah filter, atau mainkan mode jaringan. Semakin sering nyoba, semakin paham cara kerja serangan dan responnya.</p><p>Snort bisa menjadi salah satu solusi efektif untuk memahami bagaimana sistem deteksi/pencegahan intrusi<strong> (IDS / IPS)</strong>. Walaupun dalam implementasi nyata masih perlu kombinasi dengan mekanisme lain (misalnya Web Application Firewall), eksperimen sederhana ini cukup memberikan gambaran bagaimana payload XSS bisa diidentifikasi dan dihentikan.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=790194d48d52" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Firewall, IDS, dan IPS: Bagaimana Mereka Saling Bekerja untuk Keamanan Jaringan?]]></title>
            <link>https://medium.com/@eilinaftagita22/firewall-ids-dan-ips-bagaimana-mereka-saling-bekerja-untuk-keamanan-jaringan-8041f3938779?source=rss-89c2ed5423e1------2</link>
            <guid isPermaLink="false">https://medium.com/p/8041f3938779</guid>
            <category><![CDATA[firewall]]></category>
            <category><![CDATA[ids-ips]]></category>
            <category><![CDATA[networking]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <dc:creator><![CDATA[Eilinafta Gita]]></dc:creator>
            <pubDate>Sun, 14 Sep 2025 14:28:56 GMT</pubDate>
            <atom:updated>2025-09-14T14:28:56.881Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kTLIP8mDVLH2Jo3l52z3Hg.png" /></figure><p>Pernahkah kamu membayangkan jaringan komputer seperti sebuah gedung besar? Ada pintu masuk, ada satpam, ada CCTV, bahkan ada alarm otomatis yang langsung menutup pintu kalau ada maling. Nah, begitulah kira-kira cara <strong>firewall, IDS, dan IPS</strong> bekerja menjaga lalu lintas data di jaringan.</p><p>Tiga komponen ini sering disebut-sebut di dunia keamanan siber. Tapi, apa sebenarnya peran masing-masing? Dan bagaimana mereka saling bekerja sama? Yuk, kita bahas dengan cara yang sederhana dan gampang dipahami.</p><h3>Firewall: Satpam di Pintu Masuk</h3><p>Bayangkan sebuah gedung kantor besar. Sebelum bisa masuk, setiap orang harus melewati satpam di pintu depan. Satpam ini akan mengecek :</p><ul><li>Siapa kamu? (alamat IP)</li><li>Mau kemana? (port/protokol)</li><li>Punya izin masuk? (aturan yang berlaku)</li></ul><p>Kalau jawabannya cocok, barulah kamu dipersilakan masuk. Kalau tidak, ya ditolak.</p><p>Itulah tugas firewall, <strong>menyaring lalu lintas data</strong> berdasarkan aturan tertentu. Ada firewall sederhana yang hanya cek “KTP” (packet filtering), ada juga yang lebih canggih dengan catatan siapa keluar-masuk (stateful inspection), sampai yang super modern bisa mendeteksi jenis aplikasi dan serangan (Next-Generation Firewall).</p><p>Singkatnya, firewall adalah lapisan <strong>pertahanan pertama</strong>. Tanpa dia, jaringan bisa bebas dimasuki siapapun.</p><h3>IDS ( Intrusion Detection System )</h3><p>Nah, bayangkan setelah lolos dari satpam, ada seseorang yang di dalam gedung tiba-tiba berkeliling mencurigakan, coba buka pintu yang bukan miliknya, atau bahkan intip dokumen orang lain.</p><p>Bagaimana cara tahu ada yang aneh?<br>Jawabannya: <strong>CCTV + alarm</strong>.</p><p>Itulah fungsi <strong>IDS (Intrusion Detection System)</strong>. IDS tidak menghentikan orang tersebut, tapi akan memberi peringatan: “Eh, ada aktivitas mencurigakan nih!”. IDS bisa mendeteksi anomali seperti scanning port, percobaan SQL Injection, hingga serangan DoS.</p><p>Jenisnya ada dua:</p><ul><li><strong>NIDS (Network IDS)</strong> → dipasang di jaringan, memantau semua lalu lintas.</li><li><strong>HIDS (Host IDS)</strong> → fokus pada satu host/server, memantau log dan aktivitas sistem.</li></ul><p>Jadi, IDS adalah mata-mata yang selalu mengawasi dan memberi tanda kalau ada potensi bahaya.</p><h3>IPS ( Intrusion Prevention System )</h3><p>Kalau IDS hanya mengawasi, maka <strong>IPS (Intrusion Prevention System)</strong> adalah satpam yang siap langsung menghadang begitu ada ancaman.</p><p>Bayangkan CCTV di gedung tadi ternyata terhubung ke sistem otomatis. Begitu terdeteksi ada maling, pintu langsung dikunci atau satpam segera datang menghadang.</p><p>IPS bekerja <strong>inline</strong>, artinya berada langsung di jalur lalu lintas data. Jadi begitu ada paket berbahaya, IPS bisa langsung memblokirnya sebelum masuk lebih jauh.</p><p>Kalau IDS itu “melapor”, IPS itu “Mengeksekusi.</p><h3>Snort: Alat yang Bisa Jadi IDS atau IPS</h3><p>Kalau firewall itu satpam, IDS/IPS itu CCTV dan satpam aktif, maka <strong>Snort</strong> bisa dibilang adalah <strong>alat multifungsi</strong> yang bisa jadi CCTV sekaligus satpam, tergantung bagaimana kita menggunakannya.</p><p>Snort adalah <strong>software open-source</strong> yang pertama kali dikembangkan oleh <strong>Martin Roesch</strong> pada akhir 1990-an. Hingga kini, Snort masih sangat populer dan didukung oleh komunitas besar, bahkan dipakai juga oleh perusahaan keamanan besar seperti Cisco.</p><h4>Apa yang Bisa Dilakukan Snort?</h4><p>Snort pada dasarnya adalah <strong>Intrusion Detection/Prevention System (IDS/IPS)</strong> berbasis aturan (<em>rule-based system</em>). Artinya, ia bekerja dengan “kamus aturan” yang mendefinisikan pola serangan. Kalau ada paket data yang cocok dengan aturan tersebut, Snort akan bereaksi.</p><p>Snort bisa dijalankan dalam beberapa mode:</p><ol><li><strong>Sniffer Mode</strong> → Menangkap dan menampilkan lalu lintas jaringan secara real-time (mirip Wireshark sederhana).</li><li><strong>Packet Logger Mode</strong> → Menyimpan lalu lintas jaringan ke dalam file log untuk dianalisis lebih lanjut.</li><li><strong>IDS Mode</strong> → Mendeteksi serangan dengan mencocokkan paket terhadap rules, lalu memberi alert.</li><li><strong>IPS Mode</strong> → Tidak hanya mendeteksi, tapi juga memblokir serangan saat itu juga (jika dipasang inline di jaringan).</li></ol><h4><strong>Contoh Kasus</strong></h4><p>Misalnya, ada seseorang mencoba melakukan <strong>port scanning</strong> ke server kita. Firewall mungkin hanya mengizinkan atau menolak koneksi, tapi Snort bisa langsung mendeteksi pola scanning ini dan memberikan alert. Bahkan, kalau Snort dipasang sebagai IPS, ia bisa langsung memutus koneksi mencurigakan itu.</p><h3>Bagaimana Mereka Bekerja Sama?</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*irHhORHRyxtz0uI8P4WuWg.png" /></figure><p>Kalau pakai analogi gedung :</p><ul><li><strong>Firewall</strong> = satpam di pintu masuk.</li><li><strong>IDS</strong> = CCTV + alarm yang memantau.</li><li><strong>IPS</strong> = satpam yang langsung menghadang maling.</li><li><strong>Snort</strong> = CCTV pintar yang bisa jadi satpam juga kalau mau.</li></ul><p>Firewall, IDS, dan IPS bukanlah alat yang saling menggantikan, melainkan <strong>saling melengkapi</strong>.</p><p>Ketiganya, kalau dipasang bersama, membuat jaringan jauh lebih aman. Jadi, kalau kamu baru belajar keamanan jaringan, memahami konsep ini adalah pondasi penting sebelum melangkah lebih jauh.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8041f3938779" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Access Ubuntu Server on VirtualBox via SSH from Your Local Machine]]></title>
            <link>https://medium.com/@eilinaftagita22/access-ubuntu-server-on-virtualbox-via-ssh-from-your-local-machine-145a7f96ac21?source=rss-89c2ed5423e1------2</link>
            <guid isPermaLink="false">https://medium.com/p/145a7f96ac21</guid>
            <category><![CDATA[virtual-machine]]></category>
            <category><![CDATA[virtualbox]]></category>
            <category><![CDATA[linux]]></category>
            <category><![CDATA[ssh]]></category>
            <dc:creator><![CDATA[Eilinafta Gita]]></dc:creator>
            <pubDate>Thu, 04 Sep 2025 08:14:53 GMT</pubDate>
            <atom:updated>2025-09-08T08:19:10.402Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qHQfcl5shz6Hbo-V1aELxA.png" /></figure><p>Kalau kamu pernah install <strong>Ubuntu Server di VirtualBox</strong>, pasti sadar deh… tampilannya kecil banget!<br>Mau ngoding, mau utak-atik server, atau sekadar jalanin command, rasanya kurang lega.</p><p>Nah, biar lebih nyaman, kita bisa <strong>akses Ubuntu Server langsung dari Terminal/Command Prompt komputer lokal lewat SSH</strong>.<br>Dengan cara ini, kamu nggak perlu lagi pusing sama layar VM yang sempit, karena semua bisa dikerjain dari terminal yang luas.</p><h3>Persiapan Awal</h3><p>Sebelum mulai ngoprek, pastiin dulu kamu udah siap sama beberapa hal ini yaa</p><ul><li><strong>VirtualBox</strong> → kalau belum punya, bisa download gratis di sini:<br> <a href="https://www.virtualbox.org/wiki/Downloads">https://www.virtualbox.org/wiki/Downloads</a></li><li><strong>Ubuntu Server ISO</strong> → ini yang nanti diinstall di VM. Bisa ambil di sini (Pilih yang “Server Install Image” )<br> <a href="https://releases.ubuntu.com/">https://releases.ubuntu.com/</a></li><li><strong>VM Ubuntu Server</strong> → bikin VM baru di VirtualBox pakai ISO tadi, terus install sampai beres. Jangan lupa bikin <strong>username &amp; password</strong> pas instalasi, itu yang nanti dipakai buat login.</li></ul><p>Santai aja, step-nya gampang kok. Yuk kita mulai!</p><h3>1. Setting Network di VirtualBox</h3><p>Supaya komputer lokal bisa ngobrol dengan Ubuntu Server di VM, kita perlu setting jaringan di VirtualBox.</p><ul><li>Buka <strong>VirtualBox</strong>.</li><li>Pilih <strong>VM Ubuntu Server</strong> yang sudah terinstall.</li><li>Klik <strong>Settings → Network</strong>.</li><li>Pada <strong>Attached to</strong>, ubah jadi <strong>Bridged Adapter</strong>.</li><li>Pada <strong>Name</strong>, pilih jaringan yang sedang dipakai (misalnya Wi-Fi).</li><li>Centang <strong>Cable Connected</strong> biar VM dianggap terhubung ke jaringan.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7WcntPIek2zIrODVkUhJ4A.png" /></figure><ul><li>Klik <strong>OK</strong> lalu jalankan VM dengan menekan start ( tombol →).</li></ul><p>Dengan mode <strong>Bridged</strong>, VM akan ikut jaringan yang sama dengan komputer lokal, jadi bisa dapat alamat IP sendiri seperti layaknya perangkat baru di jaringan rumah/kantor.</p><p>Selain Bridged Adapter, ada juga opsi <strong>NAT + Port Forwarding</strong>.<br>Bedanya:</p><ul><li><strong>Bridged</strong> → VM dapat IP sendiri di jaringan, jadi lebih gampang diakses langsung.</li><li><strong>NAT + Port Forwarding</strong> → VM numpang IP host, jadi perlu mapping port dulu (contoh: ssh -p 2222 user@127.0.0.1).</li></ul><p>Untuk belajar biasanya lebih simpel pakai <strong>Bridged</strong>. Kalau ada kendala atau mau lebih aman, bisa coba NAT + Port Forwarding.</p><h3>2. Cek Alamat IP Ubuntu Server</h3><p>Setelah VM nyala, login ke Ubuntu Server (pakai user yang dibuat saat instalasi).<br>Kemudian cek IP dengan perintah:</p><pre>ip a</pre><p>IP ini yang nanti dipakai untuk SSH dari komputer lokal. <br>Cari interface bernama <strong>enp0s3</strong> atau <strong>eth0</strong> (tergantung versi Ubuntu). Contoh hasilnya :</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*hc9uaVeiuN7meystzBOFYw.png" /><figcaption>Hasil IP Contoh : 10.13.1.68 (Punyamu bisa berbeda ya!)</figcaption></figure><h3>3. Pastikan SSH Server Terpasang</h3><p>Secara default Ubuntu Server biasanya sudah bawa OpenSSH, tapi kalau belum ada, install dulu:</p><pre>sudo apt update<br>sudo apt install openssh-server -y</pre><p>Lalu cek status servicenya:</p><pre>sudo systemctl status ssh</pre><p>Kalau aktif, akan muncul tulisan active (running).<br>Kalau belum aktif:</p><pre>sudo systemctl enable --now ssh</pre><h3>4. Edit Konfigurasi SSH</h3><p>Sekarang kita perlu memastikan SSH bisa dipakai login dari komputer lokal.<br>Caranya edit file konfigurasi:</p><pre>sudo nano /etc/ssh/sshd_config</pre><p>Uncomment (hapus tanda #) pada baris berikut:</p><pre>Port 22<br>PasswordAuthentication yes</pre><h4>Penjelasan:</h4><ul><li><strong>Port 22</strong> → ini port default SSH. Dengan mengaktifkannya, kita memastikan server mendengarkan koneksi di port 22.</li><li><strong>PasswordAuthentication yes</strong> → supaya kita bisa login SSH menggunakan password user yang dibuat waktu instalasi Ubuntu Server.</li></ul><p>Simpan (CTRL + O, lalu CTRL + X).</p><p>Restart service SSH biar perubahan terbaca:</p><pre>sudo systemctl restart ssh</pre><h3>5. Koneksi SSH ke Komputer Lokal</h3><p>Sekarang pindah ke terminal/command prompt di komputer lokal. Gunakan perintah berikut (ganti ip_address dengan IP yang tadi didapat):</p><pre>ssh username@ip_address</pre><p>Contoh:</p><pre>ssh user@10.13.1.68</pre><ul><li>Pertama kali connect, biasanya muncul pesan <em>The authenticity of host can’t be established…</em>, cukup ketik yes.</li><li>Masukkan password user Ubuntu Server.</li><li>Kalau berhasil, kamu sudah masuk ke shell Ubuntu Server lewat SSH.</li></ul><h3>4. Troubleshooting</h3><p>Kalau belum bisa connect, coba beberapa hal ini:</p><p><strong>a. Cek IP lagi</strong> di Ubuntu Server:</p><pre>ip a</pre><p>Pastikan ada alamat IP di interface (misalnya enp0s3).</p><p><strong>b. Tes koneksi dengan ping</strong> dari komputer lokal (sesuai IP yang kamu dapat):</p><pre>ping 10.13.1.68</pre><p>Kalau nggak bisa, kemungkinan VM belum benar-benar nyambung ke jaringan.</p><p><strong>c. Pastikan SSH Server terpasang di Ubuntu</strong>:</p><pre>sudo systemctl status ssh</pre><p>Kalau semua ini sudah oke, harusnya SSH dari komputer lokal bisa masuk.</p><p>Sekarang kamu sudah tahu cara menghubungkan Ubuntu Server di VirtualBox ke komputer lokal lewat SSH. Dengan begini, pekerjaan jadi lebih praktis karena bisa langsung akses lewat terminal yang lebih nyaman, tanpa harus terbatas di layar kecil VirtualBox.</p><p>Kalau sewaktu-waktu muncul kendala, cukup cek kembali langkah-langkah utama. Pastikan network adapter sudah benar, IP sudah terbaca, dan layanan SSH aktif. Biasanya masalah langsung ketemu kalau dicek satu per satu.</p><p>Selamat mencoba! 🚀</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=145a7f96ac21" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>