Security Logging & Monitoring — Security

Kenapa Security Logging Penting? Tanpa logging yang memadai, kamu tidak akan tahu bahwa sistem sedang diserang sampai sudah terlambat. OWASP menempatkan…

Kenapa Security Logging Penting?

Tanpa logging yang memadai, kamu tidak akan tahu bahwa sistem sedang diserang sampai sudah terlambat. OWASP menempatkan "Security Logging Failures" sebagai salah satu risiko Top 10 karena banyak organisasi yang tidak memiliki visibility terhadap serangan.

Apa yang Harus Di-log

Structured Logging

// BURUK: log tidak terstruktur
console.log("Login failed for user admin from 192.168.1.1");

// BAIK: structured logging (JSON)
const logger = require("pino")();
logger.warn({
    event: "auth.login_failed",
    username: "admin",
    ip: "192.168.1.1",
    userAgent: req.headers["user-agent"],
    timestamp: new Date().toISOString(),
    reason: "invalid_password",
    attemptCount: 3
});

Laravel Logging

// Logging security events di Laravel
use Illuminate\Support\Facades\Log;

// Login gagal
Log::channel("security")->warning("Login failed", [
    "email" => $request->email,
    "ip" => $request->ip(),
    "user_agent" => $request->userAgent(),
]);

// Unauthorized access attempt
Log::channel("security")->alert("Unauthorized access attempt", [
    "user_id" => auth()->id(),
    "resource" => $request->path(),
    "method" => $request->method(),
]);

// config/logging.php — tambah channel security
"security" => [
    "driver" => "daily",
    "path" => storage_path("logs/security.log"),
    "level" => "warning",
    "days" => 90,
],

Apa yang TIDAK Boleh Di-log

// JANGAN log data sensitif
Log::info("Login", [
    "email" => $email,
    "password" => $password,      // JANGAN!
    "credit_card" => $cardNumber, // JANGAN!
    "session_token" => $token,    // JANGAN!
]);

// BAIK: redact data sensitif
Log::info("Login", [
    "email" => $email,
    "password" => "[REDACTED]",
    "credit_card" => "****" . substr($cardNumber, -4),
]);

Monitoring dan Alerting

SIEM (Security Information and Event Management)

SIEM adalah sistem yang mengumpulkan, menganalisis, dan mengkorelasikan log dari berbagai sumber (server, firewall, aplikasi) untuk mendeteksi ancaman keamanan secara real-time. Contoh SIEM: Splunk, IBM QRadar, dan Elastic SIEM.

Tools Monitoring

Best Practices

Yang akan kamu pelajari