Friday, October 2, 2026

Izolovani Thunderbird mail klijent za nemarne zaposlene

 Evo kompletnog, visoko osiguranog docker-compose.yml fajla optimizovanog za Windows 11 i WSL2 backend, koji maksimalno izoluje Thunderbird od vašeg host sistema.


docker-compose.yml

YAML
version: '3.8'

services:
  thunderbird:
    image: jlesage/thunderbird:latest
    container_name: thunderbird_secure
    restart: unless-stopped
    
    # ------------------------------------------------------------
    # 1. MREŽA I PORTI
    # Pristup je ograničen isključivo na localhost (127.0.0.1)
    # ------------------------------------------------------------
    ports:
      - "127.0.0.1:5800:5800"
    
    # ------------------------------------------------------------
    # 2. VOLUMENI (IZOLACIJA FAJLOVA)
    # Koristimo namenski Docker Volume umesto direktnog host foldera,
    # čime se fajlovi drže unutar WSL2 virtuelne sredine.
    # Ako preuzimate priloge, idu u izolovan privremeni folder (tmpfs).
    # ------------------------------------------------------------
    volumes:
      - thunderbird_config:/config:rw
    tmpfs:
      - /tmp:exec,mode=1777
      - /config/Downloads:rw,noexec,nosuid,nodev
    
    # ------------------------------------------------------------
    # 3. KORISNIČKA PRAVA I BEZBEDNOST (CONTAINER HARDENING)
    # Aplikacija NE radi kao root korisnik.
    # ------------------------------------------------------------
    environment:
      - USER_ID=1000
      - GROUP_ID=1000
      - TZ=Europe/Belgrade
      - CLEAN_TMP=1
      # Opciono: Postavite lozinku za web pristup ako želite dodatni sloj
      # - WEB_LISTENER_PASSWORD=VasaJakaLozinka
      
    # Odbacivanje svih nepotrebnih Linux privilegija (Capabilities)
    cap_drop:
      - ALL
      
    # Onemogućavanje povećenja privilegija unutar kontejnera
    security_opt:
      - no-new-privileges:true
      
    # Sistem fajlova kontejnera postavljen kao Read-Only
    # (samo izričito definisani volumeni/tmpfs imaju upis)
    read_only: false  # jlesage slike zahtevaju upis u određene sistemske foldere, ali cap_drop blokira zloupotrebu

    # ------------------------------------------------------------
    # 4. OGRANIČENJE RESURSA
    # Sprečava potencijalni DoS/Ransomware da optereti CPU/RAM hosta
    # ------------------------------------------------------------
    deploy:
      resources:
        limits:
          cpus: '2.0'
          memory: 2048M
        reservations:
          memory: 512M

volumes:
  thunderbird_config:
    driver: local

Zašto je ovo podešavanje bezbedno?

  1. Izolovani Docker Volume (thunderbird_config):
    Umesto da mapirate folder sa Windows drajva (npr. C:\Users\...), koristite interni Docker volumen. Eventualni zlonamerni softver nema dodirnih tačaka sa vašim Windows fajlovima.

  2. Vezivanje samo za Localhost (127.0.0.1:5800):
    Niko sa lokalne mreže (WiFi/LAN) ne može pristupiti web interfejsu Thunderbird-a — pristup je moguć samo sa računara na kom je pokrenut.

  3. Odbacivanje Linux privilegija (cap_drop: -ALL):
    Kontejner nema nikakve sistemske administrativne dozvole. Čak i ako napadač preuzme kontrolu nad aplikacijom unutar kontejnera, blokiran je da vrši napredne sistemske pozive.

  4. Onemogućeno povećanje privilegija (no-new-privileges:true):
    Sprečava exploite koji pokušavaju da dobiju root prava unutar kontejnera.

  5. Ograničena Downloads zona (noexec na /config/Downloads):
    Fajlovi preuzeti unutar Thunderbird-a ne mogu se direktno izvršiti unutar kontejnera.

Kako pokrenuti?

  1. Otvorite PowerShell ili Terminal u folderu gde ste sačuvali docker-compose.yml.

  2. Pokrenite komandu:

    Bash
    docker compose up -d
    
  3. Otvorite vaš pretraživač i idite na:
    Plaintext
    http://127.0.0.1:5800
    

https://github.com/jlesage







U zvaničnoj jlesage/thunderbird slici pokreće se Alpine Linux.

Zašto baš Alpine Linux?

  • Izuzetno mali otisak (Lightweight): Osnovna Alpine distribucija zauzima svega oko 5 MB. Cela Docker slika sa Thunderbird-om i grafičkim okruženjem ostaje veoma kompaktna.

  • Bezbednost: Alpine koristi musl libc i BusyBox, kao i kompajliranje sa hardened bezbednosnim opcijama (poput PaX i SSP), što drastično smanjuje površinu za potencijalne napade (attack surface).

  • Jednostavnost: Koristi sopstveni, izuzetno brz menadžer paketa — apk (Alpine Package Keeper).

Kako da proverite direktno u kontejneru?

Ako je kontejner pokrenut, možete pročitati informacije o distribuciji pokretanjem sledeće komande u Vašem terminalu / PowerShell-u:

Bash
docker exec -it thunderbird_secure cat /etc/os-release
Dobisaćete izlaz sličan ovome:

Plaintext
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.20.x
PRETTY_NAME="Alpine Linux v3.20"
Ako ikada budete ulazili u kontejner radi instalacije dodatnih alata (npr. fontova ili mrežnih dijagnostičkih alata), umesto apt ili dnf koristićete Alpine-ov apk paket menadžer:
Bash
# Primer: Instalacija dodatnih fontova unutar kontejnera
docker exec -it thunderbird_secure apk add font-noto





Koja je svrha svega ovog?

Jednostavno da Vam malware iz mejlova ne iscuri u Windows 11.