šŸ›”ļø CYBER DEFENSE LAB

Complete Project Implementation Guide

Production-Grade Security Operations Center Platform

23

Total Files

52,460

IOCs Collected

3

Detection Rules

8

Responsibilities

šŸŽÆ PROJECT LAB RESPONSIBILITIES COVERAGE

This lab demonstrates complete implementation of SOC Analyst responsibilities through hands-on deployment of enterprise security tools and workflows.

šŸ” SIEM Implementation

Elastic Stack deployment on Kubernetes with full configuration

Elasticsearch Kibana K8s

⚔ Detection Rules Development

MITRE ATT&CK mapped detection rules with real-world scenarios

MITRE ATT&CK 3 Rules JSON

šŸ”Œ Event Source Integration

Log collection, parsing, and normalization pipelines

Elastic Agent Fleet

šŸ›”ļø Vulnerability Management

Automated container scanning and vulnerability assessment

Trivy Automated

šŸ’» Endpoint Detection & Response

EDR agent deployment and real-time threat monitoring

Elastic Agent Real-time

🌐 Threat Intelligence

IOC collection from URLhaus with automated ingestion

52,460 IOCs URLhaus

🚨 Incident Response

Automated workflows and scheduled security operations

CronJobs Automation

šŸ”¬ Analysis & Testing

Attack simulation and detection validation framework

Python Testing

šŸ“ PROJECT STRUCTURE

Cyber-Defense-Lab/ ā”œā”€ā”€ šŸ“„ README.md ā”œā”€ā”€ šŸ“„ deploy.sh ā”œā”€ā”€ šŸ“„ deployment-summary.sh │ ā”œā”€ā”€ šŸ“‚ attack-simulations/ │ └── scenario-1-recon.py │ ā”œā”€ā”€ šŸ“‚ dashboards/ │ ā”œā”€ā”€ architecture-dashboard.json │ └── live-soc-dashboard.html │ ā”œā”€ā”€ šŸ“‚ detection-rules/ │ ā”œā”€ā”€ brute-force-detection.json │ ā”œā”€ā”€ data-exfiltration-detection.json │ └── suspicious-process-execution.json │ ā”œā”€ā”€ šŸ“‚ kubernetes/ │ ā”œā”€ā”€ namespace.yaml │ ā”œā”€ā”€ šŸ“‚ elastic-stack/ │ │ ā”œā”€ā”€ elastic-agent.yaml │ │ ā”œā”€ā”€ elasticsearch-config.yaml │ │ ā”œā”€ā”€ elasticsearch.yaml │ │ └── kibana.yaml │ ā”œā”€ā”€ šŸ“‚ detection-engine/ │ └── šŸ“‚ incident-response/ │ └── trivy-cronjob.yaml │ ā”œā”€ā”€ šŸ“‚ threat-intelligence/ │ ā”œā”€ā”€ threat_intel_iocs_20251026_183852.json │ ā”œā”€ā”€ trivy-kibana-scan.json │ ā”œā”€ā”€ urlhaus-integration.py │ └── vulnerability-scan.sh │ └── šŸ“‚ vercel-deployment/ ā”œā”€ā”€ live-soc-dashboard.html ā”œā”€ā”€ package.json ā”œā”€ā”€ project-guide.html └── vercel.json

šŸ”§ PHASE 1: Environment Setup & Prerequisites

Step 1: Tool Installation

Install required security and scanning tools on your system:

brew install aquasecurity/trivy/trivy brew install falco pip3 install requests

Step 2: Project Structure Creation

Create the complete directory structure for the lab:

cd ~/Desktop mkdir "Cyber-Defense-Lab" cd "Cyber-Defense-Lab" mkdir kubernetes kubernetes/elastic-stack kubernetes/detection-engine kubernetes/incident-response detection-rules threat-intelligence attack-simulations dashboards

Step 3: Kubernetes Configuration

Configure local Kubernetes environment:

kubectl config use-context docker-desktop kubectl apply -f kubernetes/namespace.yaml kubectl get namespaces

šŸ—ļø PHASE 2: SIEM Platform Deployment

Step 4: Elasticsearch Deployment

Deploy the core search and analytics engine:

kubectl apply -f kubernetes/elastic-stack/elasticsearch.yaml kubectl get pods -n security-lab -w # Wait for elasticsearch pod to be Running

Step 5: Kibana Deployment

Deploy the visualization and management interface:

kubectl apply -f kubernetes/elastic-stack/kibana.yaml kubectl port-forward -n security-lab service/kibana 5601:5601 # Access Kibana at: http://localhost:5601

Step 6: EDR Implementation

Deploy Elastic Agent for endpoint monitoring:

kubectl apply -f kubernetes/elastic-stack/elastic-agent.yaml kubectl get pods -n security-lab | grep elastic-agent

šŸ” PHASE 3: Security Operations Implementation

Step 7: Detection Rule Development

Created 3 MITRE ATT&CK mapped detection rules covering:

Import these rules into Kibana Security App → Rules → Import

Step 8: Threat Intelligence Integration

Collect and ingest threat intelligence from URLhaus:

cd threat-intelligence python3 urlhaus-integration.py # Successfully collected 52,460 IOCs # Output: threat_intel_iocs_*.json

Step 9: Vulnerability Management

Perform container vulnerability scanning:

chmod +x vulnerability-scan.sh ./vulnerability-scan.sh # Generated: trivy-kibana-scan.json cat trivy-kibana-scan.json | jq .

Step 10: Incident Response Automation

Deploy automated vulnerability scanning CronJob:

kubectl apply -f kubernetes/incident-response/trivy-cronjob.yaml kubectl get cronjobs -n security-lab # Runs daily at midnight for continuous monitoring

Step 11: Attack Simulation & Testing

Execute reconnaissance attack simulation:

cd attack-simulations python3 scenario-1-recon.py # Simulates network reconnaissance activity # Check Kibana for triggered alerts

šŸ“Š PHASE 4: Visualization & Professional Documentation

Step 12: Dashboard Development

Interactive dashboards for SOC operations:

# Open dashboards locally: open dashboards/live-soc-dashboard.html # Or import JSON into Kibana

Step 13: Security Configuration Enhancement

Apply advanced Elasticsearch security settings:

kubectl apply -f kubernetes/elastic-stack/elasticsearch-config.yaml kubectl rollout restart deployment/elasticsearch -n security-lab kubectl rollout status deployment/elasticsearch -n security-lab

Step 14: Deployment Automation

Automated deployment and status scripts:

chmod +x deploy.sh deployment-summary.sh ./deploy.sh ./deployment-summary.sh

āœ… FINAL VERIFICATION & VALIDATION

Step 15: System Verification

Verify all components are running correctly:

kubectl get all -n security-lab kubectl get pods -n security-lab kubectl get services -n security-lab ./deployment-summary.sh

Step 16: Component Testing

Test each component individually:

# Kibana Access Test open http://localhost:5601 # Elasticsearch Health Check curl -X GET "localhost:9200/_cluster/health?pretty" # Verify Detection Rules # Navigate to Kibana → Security → Rules # Test Attack Simulation python3 attack-simulations/scenario-1-recon.py

šŸ”§ TROUBLESHOOTING & VERIFICATION COMMANDS

Kubernetes Issues

# Check cluster status kubectl get nodes kubectl cluster-info # Verify context kubectl config get-contexts kubectl config use-context docker-desktop # Check namespace kubectl get namespaces | grep security-lab

Elastic Stack Issues

# Check pod status kubectl get pods -n security-lab # View logs kubectl logs -n security-lab deployment/elasticsearch kubectl logs -n security-lab deployment/kibana # Restart if needed kubectl rollout restart deployment/elasticsearch -n security-lab kubectl rollout restart deployment/kibana -n security-lab # Port forwarding kubectl port-forward -n security-lab service/kibana 5601:5601

Common Issues & Solutions

  • Pod not starting: Check logs with kubectl logs
  • Port already in use: Kill existing process or use different port
  • Connection refused: Ensure port-forwarding is active
  • Out of memory: Increase Docker Desktop resources

šŸš€ VERCEL DEPLOYMENT FILES

Files for hosting dashboards on Vercel:

↑