LOEMIND_turvalisus.md 3.2 KB

Turvalisus — ohmu (2026-09-26)

Rünnakupind

  • ohmu on NAT-i taga (LAN 192.168.68.114, WAN 84.50.228.95); avalikud domeenid (see1.ee, odamus.com, nuuditalu.ee jm) → 188.166.84.16 = edge (avalik VM), mitte ohmu.
  • ohmu Caddy kuulab ainult 100.87.1.24:443 (tailnet). Internetist otsest ligipääsu pole (ruuteril pole forwardi — kinnitatud).
  • Rünnakupind = LAN (192.168.68.0/24) + Tailscale'i tailnet.

UFW

  • Põhimõte: deny incoming.
  • Lubatud: 22/tcp kõikjalt; 100.64.0.0/10 (tailnet); 192.168.0.0/16 (LAN); 172.18/20.0.0/16 (docker).
  • LAN-blokeering host-protsessidele (Tailscale'ile ja loopbackile jääb alles):

    ufw insert 1 deny from 192.168.0.0/16 to any port 8070 proto tcp   # llama-server
    ufw insert 1 deny from 192.168.0.0/16 to any port 8123 proto tcp   # Home Assistant
    ufw insert 1 deny from 192.168.0.0/16 to any port 11434 proto tcp  # ollama
    ufw insert 1 deny from 192.168.0.0/16 to any port 18555 proto tcp  # go2rtc (HA)
    
  • 22000/tcp (Syncthing) jäetud avatuks (peer-sync).

Docker: pordid loopback + Tailscale

Kõik avalikult (0.0.0.0) avaldatud Docker-pordid viidud ainult 127.0.0.1 + 100.87.1.24: tika:9998, anythingllm:3002, mcp-filesystem-sse:3100 (ainult loopback), liiklusatlas:8074, reranker:8082, flaresolverr:8191, clickstack:18080/4317/4318, clickstack-proxy:8124, n8n:5678, playwright:3003, jupyter:8887, openclaw:3978. Varem juba: postgres:5432, mariadb:3306, open-webui:3010, portainer:8000/9000/9443, clickhouse:8125/9004, nutikodu:8095. NB: Docker möödub ufw-st (DOCKER-USER tühi) — seetõttu on ainus kaitse sidumine õige liidesega. mcp-filesystem-sse on nüüd ainult 127.0.0.1; opencode MCP URL → http://127.0.0.1:3100/sse.

Saladused

  • Compose'ist .env-i (gitignore'tud, chmod 600): main/.env (postgres/mariadb/jupyter) ja third/n8n/.env (TS_AUTHKEY, N8N_RUNNERS_AUTH_TOKEN, N8N_ENCRYPTION_KEY).
  • Tähelepanu: saladused jäid giti ajalukku (/opt/docker-compose auto-commit). Kaaluda rotatsiooni ja/või ajaloo puhastust.

SSH

  • PasswordAuthentication yes (jäetud teadlikult); root ainult võtmega; fail2ban aktiivne.

Muud leiud (teadvustatud)

  • portainer, dozzle, mcp-terminal omavad docker.sock-i (root-ekvivalent) — portainer on tailnet-only.
  • cadvisor privileged; homeassistant host-network.
  • Tailscale: kogu tailnet on ufw-s lubatud; palju seadmeid (sh tagged-devices). Soovitus: Tailscale ACL-d.

Varukoopiad & rollback

  • Baseline: /home/ardo/security_backup_2026-09-26/.
  • Tar: /media/ardo/merkuur/backup-2026-09-26/ (liiklusatlas.tgz, openclaw.tgz, prod.tgz, docker-compose-configs.tgz).
  • Rollback: git -C /opt/docker-compose revert <commit> + docker compose up -d (või tar-i taastamine mitte-git kaustadele: /data/docker/liiklusatlas, /data/docker/openclaw).
  • Muudatused commitites: 6ad290b (saladused .env), 2d5b876 (Docker-pordid).

Alles / edasi

  • Salajaste rotatsioon (nt kuuhoolduse käigus) — alusta madala riskiga.
  • UFW 192.168.0.0/16 kitsendamine (kui LAN pole üldse vajalik) — eraldi otsus.
  • Tailscale ACL-d (väljaspool ohmu).
  • SSH parool-auth (teadlikult jäetud).