⣿ ZOTHOS × 1NC0GN30 30 DAYS OF LINUX FUNDAMENTALS · TUI (./control-panel) + WEB GUI · 90 MISSIONS
← Back to 30-Day Curriculum

WEEK 4 · ADVANCED OPS · TUI: ./control-panel --day 28

Day 28: Production Server Hardening & Zero-Trust Baseline

Apply comprehensive defense-in-depth across SSH, netfilter firewalls, sysctl kernel flags, and audit logs.

XP 0
Streak 0
Command Mastery 0%
Study Music

YouTube Study Radio

Pick a track or paste any YouTube URL.

🍳 Breakfast (Syntax) Session

Type commands, build streaks, and then review the source guide.

Live Terminal Drill

Re-type the command exactly to clear each challenge.

target$ loading...

0 / 12 mastered

    Command Board

    Tap a command when you practiced it in your own terminal.

    Command Intel

    Meaning

    Command explanation will appear here.

    Sample Output

    Output preview will appear here.

    Useful Fun Fact

    Fun facts about the active command will appear here.

    Last Run Output

    Run a command to see result feedback.

    Knowledge Boost

    Faster learning with topic cues, mini-missions, and external docs.

    Key Topics

    ⚡ 60-Second Mental Model (Student Digest)🧠 Objective🌐 Docker Networking Basics📌 Common Network Types🔧 Create a custom bridge network🔪 Inspect network

    Mini Missions

    • Mission 1: Run iptables and explain the output in one sentence.
    • Mission 2: Run mkdir -p /tmp/linux-dojo-day-28 && cd /tmp/linux-dojo-day-28 and explain the output in one sentence.
    • Mission 3: Run bash and explain the output in one sentence.
    • Mission 4: Run head -n 20 /var/log/syslog and explain the output in one sentence.

    📖 Digestible Study Guide & Visual Architecture

    Source: day-28-breakfast-study-guide.md · Synced with ./control-panel --day 28

    Day 28 · Breakfast — Production Server Hardening & Zero-Trust Baseline Lab



    ZothOS × 1nc0gn30 Linux Dojo · Phase: Week 4 (Advanced Ops) · Session: Breakfast (Morning Foundation & Core Command Syntax)

    Core Commands: ufw, iptables, ssh-keygen, sshd_config, fail2ban, auditctl


    ⚡ 60-Second Mental Model (Student Digest)



    ╔══════════════════════════════════════════════════════════════════════════════╗
    ║  ZOTHOS × 1NC0GN30 // PRODUCTION TELEMETRY, SYSTEMD & RECOVERY MATRIX        ║
    ╠══════════════════════════════════════════════════════════════════════════════╣
    ║                                                                              ║
    ║   ┌──────────────┐   ┌──────────────┐   ┌──────────────┐   ┌──────────────┐  ║
    ║   │ CPU & SCHED  │   │ MEMORY / VM  │   │ DISK & VFS   │   │ NET SOCKETS  │  ║
    ║   │ top / mpstat │   │ free / vmstat│   │ iostat / df  │   │ ss -tulpen   │  ║
    ║   └──────┬───────┘   └──────┬───────┘   └──────┬───────┘   └──────┬───────┘  ║
    ║          └──────────────────┴─────────┬────────┴──────────────────┘          ║
    ║                                       ▼                                      ║
    ║                  [ Automated Remediation: systemd + cron + rsync ]           ║
    ╚══════════════════════════════════════════════════════════════════════════════╝


    Learning PillarHow to Practice This Session
    1. Native TUI (./control-panel)Run ./control-panel from repo root → Select Week 4 → Day 28 → Breakfast to drill interactive C lessons & quizzes.
    2. Web Workstation (astro-ui)Open /day/28 → Select Breakfast tab → Type each target command in the live Mission Terminal to earn XP & streak mastery.
    3. Safe Local SandboxRun mkdir -p /tmp/linux-dojo-day-28 && cd /tmp/linux-dojo-day-28 to test every flag below without touching production files.




    🐳 Day 28: Breakfast – Docker Networking and Storage



    🧠 Objective



    Learn how Docker manages networking and storage, and how containers communicate and persist data.




    🌐 Docker Networking Basics



    Docker uses bridge networks by default. Each container joins a virtual bridge allowing communication between containers and the host.

    📌 Common Network Types



    * bridge: Default for standalone containers
    * host: Uses the host network stack
    * none: Disables networking
    * Custom: User-defined for fine control

    🔧 Create a custom bridge network



    docker network create my_network


    Then run containers inside it:

    docker run -d --name web --network my_network nginx
    docker run -d --name db --network my_network postgres


    🔪 Inspect network



    docker network inspect my_network





    📂 Volumes and Persistent Storage



    By default, container data is lost after deletion. Volumes ensure your data survives restarts.

    🔨 Create a volume



    docker volume create db_data


    📦 Use in a container



    docker run -d -v db_data:/var/lib/postgresql/data postgres


    Or inside Docker Compose:

    services:
      db:
        image: postgres
        volumes:
          - db_data:/var/lib/postgresql/data
    
    volumes:
      db_data:





    🔗 Linking Containers (Legacy)



    Before custom networks, --link was used to link containers. It’s deprecated now. Use user-defined networks instead for DNS-based service discovery.




    🧠 Review Questions



    1. What’s the default Docker network for containers?
    2. How do you persist database data across restarts?
    3. What does docker volume ls do?
    4. Why is --link deprecated?




    📚 Further Reading



    * Docker Networking Overview
    * Docker Volumes
    * Docker Compose Storage Best Practices