← Back to list

Praktik End-to-End Incident Handling pada Aplikasi Web

Artikel ini akan membahas simulasi incident handling end-to-end terhadap Brute Force Login Attack pada aplikasi web sederhana. Mulai dari…

Otta · 2025-12-28 16:18 · 0 claps · 0.9 min read
#incidenthandling #devsecops #end-to-end #kibana #elasticsearch
Open on Medium ↗

Praktik End-to-End Incident Handling pada Aplikasi Web

Artikel ini akan membahas simulasi incident handling end-to-end terhadap Brute Force Login Attack pada aplikasi web sederhana. Mulai dari deteksi insiden melalui log dan metrics, isolasi serangan, pembersihan dan pemulihan sistem, hingga evaluasi dan lessons learned. Tujuannya adalah memberikan gambaran nyata tentang bagaimana tim keamanan merespons serangan dan memastikan sistem tetap aman dan stabil.

Struktur Folder Project

incident-handling-lab/
├── app/
│   ├── app.py
│   ├── requirements.txt
│   └── Dockerfile
├── elk/
│   └── docker-compose.yml   
├── prometheus/
│   ├── prometheus.yml
│   └── docker-compose.yml
├── incident-report/
│   └── incident-report.md
└── README.md

A. Aplikasi Flask Sederhana (Login Endpoint)

  1. Buat app.py yang berisi
from flask import Flask, request, jsonify
import logging

app = Flask(__name__)

# Aktifkan logging
logging.basicConfig(
    level=logging.INFO,
    format="%(asctime)s %(levelname)s %(message)s"
)

@app.route("/login", methods=["POST"])
def login():
    ip = request.remote_addr
    data = request.get_json()

    username = data.get("username")
    password = data.get("password")

    # Login gagal (dummy)
    if username != "admin" or password != "admin123":
        app.logger.warning(
            "Failed login attempt from IP %s",
            ip
        )
        return jsonify({"error": "Invalid credentials"}), 401

    return jsonify({"message": "Login success"}), 200

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000)
  1. Buat Dockerfile

메타데이터
post_id
f1314cb3b9ff
slug
praktik-end-to-end-incident-handling-pada-aplikasi-web-f1314cb3b9ff
url
https://medium.com/@ottapien/praktik-end-to-end-incident-handling-pada-aplikasi-web-f1314cb3b9ff
canonical_url
https://medium.com/@ottapien/praktik-end-to-end-incident-handling-pada-aplikasi-web-f1314cb3b9ff
author_url
https://medium.com/@ottapien
status
ok
fetched_at
2026-06-24 16:30:55