Brandvägg och nätverkssäkerhet

ALKdev konfigurerar brandväggar och nätverk för att minimera exponering och säkerställa stabil drift:

  • UFW (Uncomplicated Firewall): Används på VPS-miljöer med standardregler som nekar inkommande trafik, tillåter utgående trafik och nekar vidarebefordran.
  • Stängda portar som standard: Endast nödvändiga portar är öppna, t.ex. SSH på port 22 och Filebrowser på port 8080.
  • Inga onödiga tjänster: Tjänster som Portainer, webbservrar och andra lyssnare är borttagna eller avstängda för att minska attackytan.

Hemlighetshantering

ALKdev hanterar nycklar, tokens och hemligheter på ett säkert sätt:

  • Bitwarden: Alla lösenord, tokens och nycklar lagras i Bitwarden, med CLI-verktyget bw för åtkomst.
  • Inga hårdkodade värden: Hemligheter lagras aldrig i källkod eller konfigurationsfiler. Istället används exempelvis .env.example för att dokumentera nyckelnamn utan värden.
  • Delade värden: För långa värden (över 2000 tecken) används delade poster i Bitwarden, t.ex. LOCAL_CODEX_AUTH_JSON del N.

Felsäker design

ALKdev bygger system med inbyggd felsäkerhet för att hantera osäker indata och oväntade situationer:

  • Reservlösningar: Om en lokal språkmodell (t.ex. Qwen i Ordvis) inte startar, aktiveras en demo-AI för att säkerställa att appen förblir funktionell.
  • Tysta fel: System undviker att ge rekommendationer eller resultat vid osäker indata, t.ex. i prototypen där ofullständig bild- eller textdata leder till tystnad istället för gissningar.
  • Validering av indata: Strikta datamodeller används för att säkerställa att indata är korrekt innan bearbetning, t.ex. i prototypen där ett oläst mätvärde inte tillåts bli 0.

Infrastruktur och drift

  • Docker och containerisering: Isolerade miljöer för stabil drift och enkel skalning.
  • Debug-disciplin: Även om vissa byggen (t.ex. GrammarStrike) är debug-versioner med usesCleartextTraffic, följs en strikt release-disciplin för att minimera risker.
  • Övervakning och loggning: System övervakas för att säkerställa driftsäkerhet och snabb felsökning.

Exempel på säkerhetsåtgärder

  • GrammarStrike: Debug-bygget använder klartext för WebSocket-trafik (ws://), men detta är en medveten avgränsning för prototypfasen.
  • Bildanalys och beslutsstöd: Systemet undviker att ge rekommendationer vid osäker indata, vilket förhindrar felaktiga beslut.
  • Ordvis: Använder anonym inloggning och Firebase Realtime Database för att säkerställa att data synkroniseras säkert mellan spelare.