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
| Port | Tjeneste | Eksponering |
|---|---|---|
| 443/tcp, 443/udp, 80/tcp | HTTPS-proxyen din (Caddy eller nginx) | Offentlig: dette er hvordan folk når Antimatter. |
| 8443/udp og 8443/tcp | Samtalemedier | Offentlig, hvis folk bruker samtaler fra utenfor nettverket ditt. |
| 8065/tcp | Antimatters webtjener | Kun til proxyen: publiser den på 127.0.0.1 (HTTP_PORT=127.0.0.1:8065). |
| 8067/tcp | Målepunkter | Kun privat nettverk, når aktivert. Ingen pålogging. |
| 8074/tcp og udp | Cluster-gossip | Kun mellom cluster-noder. |
| 5432, 9000, 8080, 8066 | PostgreSQL, filopplagring, GIF-tjeneste, push-proxy | Aldri. 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
- Opprett den første administratorkontoen før noen andre kan nå tjeneren (Installasjon).
- Server Antimatter kun over HTTPS, og sett nettside-URLen til
https://-adressen (Domene og HTTPS). - Hold
.env,config.jsonog TLS-nøkler lesbare kun for root (eller tjenerens bruker):chmod 600 .env. - 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).
- Slå på multifaktorautentisering, og gjennomsnitt den minst for administratorer, eller bruk identitetsleverandørens.
- Gjennomgå de eksterne tilkoblingene nedenfor, spesielt STUN-tjeneren Samtaler bruker som standard.
- Før du legger til modelltilkoblinger, angi AI-krypteringsnøkkelen (
AM_AI_ENCRYPTION_KEY) og oppbevar en kopi separat fra databasens sikkerhetskopier (AI). - Sikkerhetskopier, og test en gjenoppretting (Sikkerhetskopier og oppgraderinger).
- 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:
| Innstilling | Nøkkel | Standard |
|---|---|---|
| Aktiver hastighetsbegrensning | RateLimitSettings.Enable | av |
| Maksimalt antall forespørsler per sekund | RateLimitSettings.PerSec | 10 |
| Maksimal burst-størrelse | RateLimitSettings.MaxBurst | 100 |
| Størrelse på minnelageret | RateLimitSettings.MemoryStoreSize | 10000 clients tracked |
| Varier ratelimiting etter fjernadresse | RateLimitSettings.VaryByRemoteAddr | på |
| Varier ratelimiting etter bruker | RateLimitSettings.VaryByUser | av |
| Varier ratelimiting etter HTTP-hode | RateLimitSettings.VaryByHeader | tom |
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
| Innstilling | Hvor | Standard |
|---|---|---|
Maksimal filstørrelse (FileSettings.MaxFileSize) | Environment › File Storage | 100 MB. Hold proxyens grense for forespørselsstørrelse på minst dette. |
Maksimalt laststørrelse (byte) (ServiceSettings.MaximumPayloadSizeBytes) | Environment › Web Server | 300000: den største API-forespørselen bortsett fra filopplastinger |
Tillat fildeling (FileSettings.EnableFileAttachments) | Site Configuration › File Sharing and Downloads | på |
| Tillat filopplasting på mobil, Tillat nedlasting av filer på mobil | Site Configuration › File Sharing and Downloads | på |
Aktiver offentlige fil-lenker (FileSettings.EnablePublicLink) | Site Configuration › Public Links | av: når slått på, kan personer dele en fil med en lenke som fungerer uten innlogging |
Aktiver SVG (ServiceSettings.EnableSVGs) | Site Configuration › Posts | av 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:
| Innstilling | Nøkkel | Standard | Hva det gjør |
|---|---|---|---|
| Vis e-postadresse | PrivacySettings.ShowEmailAddress | på | Avslått. Medlemmenes e-postadresser er skjult for alle bortsett fra administratorer. Slå av dette på offentlige servere. |
| Vis fullt navn | PrivacySettings.ShowFullName | på | Avslått. Fullt navn er skjult, og brukernavn vises i stedet. |
| Aktiver ignorering, blokkering og meldingsforespørsler | PrivacySettings.EnableUserBlocking | på | Se nedenfor. |
| Tillat brukere å åpne Direktemeldingskanaler med | TeamSettings.RestrictDirectMessage | Alle brukere på Antimatter-serveren | Eller 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:
| Funksjon | Kontakter | Som 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.com | på, 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 til | på. Slå av med AM_SERVICESETTINGS_ENABLELINKPREVIEWS=false. |
| Skjermvarsler til mobilappen | din egen skjermvarselproxy (Skjermvarsler) | av, inntil du setter adressen |
Den eksterne appmarkedsplassen (PluginSettings.EnableRemoteMarketplace) | den Markeds-URL du har angitt | av, og ingen adresse |
| E-post | SMTP-serveren din | standardserveren er localhost |
| modelltilkoblinger (omskrivning, oppsummeringer, oversettelse, opplesing og apper), egne modelltilkoblinger for samfunnsadministratorer | AI-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 Jira | tjenestene du konfigurerer | av, 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.