Sikkerhet

En sjekkliste for å herde en Antimatter-tjener: hva som skal eksponeres, grenser og personverninnstillinger som bør gjennomgås, eksterne tjenester tjeneren kontakter, og hvordan du melder fra om et sikkerhetsproblem.

Hva som skal eksponeres

PortTjenesteEksponering
443/tcp, 443/udp, 80/tcpHTTPS-proxyen din (Caddy eller nginx)Offentlig: dette er hvordan folk når Antimatter.
8443/udp og 8443/tcpSamtalemedierOffentlig, hvis folk bruker samtaler fra utenfor nettverket ditt.
8065/tcpAntimatters webtjenerKun til proxyen: publiser den på 127.0.0.1 (HTTP_PORT=127.0.0.1:8065).
8067/tcpMålepunkterKun privat nettverk, når aktivert. Ingen pålogging.
8074/tcp og udpCluster-gossipKun mellom cluster-noder.
5432, 9000, 8080, 8066PostgreSQL, filopplagring, GIF-tjeneste, push-proxyAldri. Compose-filene holder dem på interne nettverk uten publisert port.

Nettsidens compose-fil kjører også alle containere med no-new-privileges, kjører Antimatter som en uprivilegert bruker på et distroless-bilde, og kjører GIF-tjenesten med et skrivebeskyttet filsystem. Databasen, lagringen og GIF-tjenesten ligger på et nettverk uten internetttilgang.

Sjekkliste etter installasjon

  1. Opprett den første administratorkontoen før noen andre kan nå tjeneren (Installasjon).
  2. Server Antimatter kun over HTTPS, og sett nettside-URLen til https://-adressen (Domene og HTTPS).
  3. Hold .env, config.json og TLS-nøkler lesbare kun for root (eller tjenerens bruker): chmod 600 .env.
  4. Bestem hvem som kan opprette kontoer, hold Aktiver åpen server av med mindre samfunnet er offentlig, og slå på Krev e-postverifisering når e-post fungerer (Pålogging og kontoer).
  5. Slå på multifaktorautentisering, og gjennomsnitt den minst for administratorer, eller bruk identitetsleverandørens.
  6. Gjennomgå de eksterne tilkoblingene nedenfor, spesielt STUN-tjeneren Samtaler bruker som standard.
  7. Før du legger til modelltilkoblinger, angi AI-krypteringsnøkkelen (AM_AI_ENCRYPTION_KEY) og oppbevar en kopi separat fra databasens sikkerhetskopier (AI).
  8. Sikkerhetskopier, og test en gjenoppretting (Sikkerhetskopier og oppgraderinger).
  9. Hold bildene eller pakkene oppdaterte: sikkerhetsrettinger leveres med nye versjoner.

Ratelimiting

Serveren kan begrense antall API-forespørsler hver klient gjør. Dette er av som standard. I Systemkonsoll › Miljø › Hastighetsbegrensning:

InnstillingNøkkelStandard
Aktiver hastighetsbegrensningRateLimitSettings.Enableav
Maksimalt antall forespørsler per sekundRateLimitSettings.PerSec10
Maksimal burst-størrelseRateLimitSettings.MaxBurst100
Størrelse på minnelageretRateLimitSettings.MemoryStoreSize10000 clients tracked
Varier ratelimiting etter fjernadresseRateLimitSettings.VaryByRemoteAddrpå
Varier ratelimiting etter brukerRateLimitSettings.VaryByUserav
Varier ratelimiting etter HTTP-hodeRateLimitSettings.VaryByHeadertom

Bak en proxy fungerer begrensninger basert på adresse bare hvis serveren kjenner hver klients adresse (ServiceSettings.TrustedProxyIPHeader og ServiceSettings.TrustedProxyIPs, se Client addresses behind a proxy). Ellers ser det ut som om alle forespørsler kommer fra proxyen, og alle deler én grense. Det samme gjelder IP-filtering og adressene i revisjonsloggene.

Påloggingsforsøk begrenses separat: Maks antall påloggingsforsøk (10) låser en konto etter dette antallet feilpassord.

IP-filtering

Systemkonsoll › Nettstedsoppsett › IP-filtrering begrenser tilgang til serveren etter IP-adresse, med tillatelses- og nektelsesregler (en adresse eller et CIDR-område hver). Med Slå på IP-filtering på, kan personer hvis adresse samsvarer med en nektelsesregel, eller ingen tillatelsesregel når det finnes tillatelsesregler, ikke nå serveren. Siden avviser regler som ville blokkert din egen adresse. Bak en proxy, sett opp klientadresser først (Klientadresser bak en proxy): ellers ser det ut som alle forespørsler kommer fra proxyen.

Opplasting og fildeling

InnstillingHvorStandard
Maksimal filstørrelse (FileSettings.MaxFileSize)Environment › File Storage100 MB. Hold proxyens grense for forespørselsstørrelse på minst dette.
Maksimalt laststørrelse (byte) (ServiceSettings.MaximumPayloadSizeBytes)Environment › Web Server300000: den største API-forespørselen bortsett fra filopplastinger
Tillat fildeling (FileSettings.EnableFileAttachments)Site Configuration › File Sharing and Downloadspå
Tillat filopplasting på mobil, Tillat nedlasting av filer på mobilSite Configuration › File Sharing and Downloadspå
Aktiver offentlige fil-lenker (FileSettings.EnablePublicLink)Site Configuration › Public Linksav: når slått på, kan personer dele en fil med en lenke som fungerer uten innlogging
Aktiver SVG (ServiceSettings.EnableSVGs)Site Configuration › Postsav på en ny server: når slått på, vises SVG-bilder i teksten

Antimatter skanner ikke opplastinger for skadeprogrammer.

Personverninnstillinger

I Systemkonsoll › Nettstedsoppsett › Brukere og team:

InnstillingNøkkelStandardHva det gjør
Vis e-postadressePrivacySettings.ShowEmailAddresspåAvslått. Medlemmenes e-postadresser er skjult for alle bortsett fra administratorer. Slå av dette på offentlige servere.
Vis fullt navnPrivacySettings.ShowFullNamepåAvslått. Fullt navn er skjult, og brukernavn vises i stedet.
Aktiver ignorering, blokkering og meldingsforespørslerPrivacySettings.EnableUserBlockingpåSe nedenfor.
Tillat brukere å åpne Direktemeldingskanaler medTeamSettings.RestrictDirectMessageAlle brukere på Antimatter-serverenEller Alle medlemmer i teamet: bare personer som deler et samfunn.

Ignorer, blokkering og meldingsforespørsler

Når Aktiver ignorering, blokkering og meldingsforespørsler er slått på (standard), kan brukere ignorere og blokkere hverandre, og velge å motta direktemeldinger fra ukjente personer som meldingsforespørsler. Disse gir ikke varsel før de godtas. Dette passer for offentlige samfunn. På et arbeidsplass der kolleger alltid må kunne nå hverandre, slår du det av (AM_PRIVACYSETTINGS_ENABLEUSERBLOCKING=false): ingenting av dette håndheves lenger, men listene og valgene brukerne har gjort, beholdes, og gjelder igjen hvis du slår det på på nytt.

Sesjoner og nøkler

  • Sesjonslengde og tidsavbrudd for inaktivitet: se Innlogging og kontoer. Kortere sesjoner betyr at en tapt laptop eller telefon forblir pålogget i kortere tid.
  • Aktiver personlige tilgangstokens (ServiceSettings.EnableUserAccessTokens, av) lar brukere opprette API-tokens, mens Maksimal levetid for personlige tilgangstoken (dager) begrenser dem. Begge finnes i Systemkonsoll › Integrasjoner › Integrasjonsadministrasjon.
  • For å logge alle ut samtidig, for eksempel etter en mistenkt sikkerhetsbrudd: Trekke tilbake alle økter i Systemkonsoll › Brukeradministrasjon › Brukere.

Tilkoblinger til eksterne tjenester

Antimatter kontakter ingen tjenester drevet av Mattermost, Inc. Den sender ingen telemetri, krasjrapporter eller sikkerhetsoppdateringskontroller, og henter ingen produktvarsler. En konfigurasjon overført fra Mattermost som fortsatt nevner en av Mattermosts tjenester (dens push-tjenester, dens appmarked, dens varsler eller dens STUN-server for samtaler) får ikke serveren til å kontakte dem: disse adressene ignoreres.

Serveren og appene kobler seg til andre eksterne tjenester bare for funksjonene som krever dem, og til tjenestene du konfigurerer:

FunksjonKontakterSom standard
Samtaler: å finne offentlige adresser med STUN. Serveren og hver person som går med i en samtale sender en forespørsel, som viser STUN-serveren IP-adressen og porten deres.Cloudflares offentlige STUN-server, stun.cloudflare.compå, mens Samtale-appen er aktivert. For å endre dette, se Samtaler.
Forhåndsvisning av lenker: serveren henter sidene som er lenket til i meldinger (Aktiver forhåndsvisning av nettsidelenker, ServiceSettings.EnableLinkPreviews)nettsidene folk lenker tilpå. Slå av med AM_SERVICESETTINGS_ENABLELINKPREVIEWS=false.
Skjermvarsler til mobilappendin egen skjermvarselproxy (Skjermvarsler)av, inntil du setter adressen
Den eksterne appmarkedsplassen (PluginSettings.EnableRemoteMarketplace)den Markeds-URL du har angittav, og ingen adresse
E-postSMTP-serveren dinstandardserveren er localhost
modelltilkoblinger (omskrivning, oppsummeringer, oversettelse, opplesing og apper), egne modelltilkoblinger for samfunnsadministratorerAI-leverandørene som er lagt til i Systemkonsoll › AI › Modelltilkoblinger eller i innstillingene for et samfunn (AI)ingen, inntil noen legger til én
Enkel pålogging, AI-tjenestene i Agent-appen, tale til tekst og oversettelse, utgående webhooks, og apper som Mail, Kalender, GitHub, GitLab eller Jiratjenestene du konfigurererav, inntil du konfigurerer dem

Som standard nekter serveren å koble til private og loopback-adresser for disse (forhåndsvisning av lenker, webhooks, apper, modelltilkoblinger for samfunn), slik at en melding eller en integrasjon ikke kan brukes for å nå det interne nettverket. List opp de interne vertene den kan nå i Tillat upålitelige interne tilkoblinger til (ServiceSettings.AllowedUntrustedInternalConnections, i Systemkonsoll › Miljø › Utvikler); nettstedets compose-fil lister gifs der.

Rapportering av sårbarhet

Rapporter sikkerhetsproblemer privat, som forklart i Antimatters sikkerhetspolitikk, ikke i offentlige saker.