Säkerhet

En checklista för att säkerhetsstärka en Antimatter-server: vad som ska exponeras, de gränser och sekretessinställningar som bör granskas, de externa tjänster servern kontaktar och hur man rapporterar ett säkerhetsproblem.

Vad som ska exponeras

PortTjänstExponering
443/tcp, 443/udp, 80/tcpDin HTTPS-proxy (Caddy eller nginx)Publik: så når folk Antimatter.
8443/udp och 8443/tcpMedier för samtalPublik, om folk använder samtal från utanför ditt nätverk.
8065/tcpAntimatters webbserverEndast till proxyn: publicera den på 127.0.0.1 (HTTP_PORT=127.0.0.1:8065).
8067/tcpMetrikerEndast privat nätverk, när det är aktiverat. Ingen inloggning.
8074/tcp och udpCluster-gossipEndast mellan noderna i clustret.
5432, 9000, 8080, 8066PostgreSQL, filarkiv, GIF-tjänst, push-proxyAldrig. Compose-filerna håller dem på interna nätverk utan publicerad port.

Webbplatsens compose-fil kör även varje behållare med no-new-privileges, kör Antimatter som en icke-privilegierad användare på en distroless-image och kör GIF-tjänsten med ett skrivskyddat filsystem. Databasen, arkivet och GIF-tjänsten ligger på ett nätverk utan internetåtkomst.

Checklista efter installation

  1. Skapa det första administratörskontot innan någon annan kan nå servern (Installation).
  2. Servera Antimatter enbart över HTTPS och ställ in webbplatsens URL till https://-adressen (Domän och HTTPS).
  3. Se till att .env, config.json och TLS-nycklar endast kan läsas av root (eller serverns användare): chmod 600 .env.
  4. Avgör vem som kan skapa konton, håll Aktivera Open Server avstängd om inte communityn är offentlig, och aktivera Kräv e-postverifiering när e-posten fungerar (Inloggning och konton).
  5. Aktivera multifaktorautentisering och gör den obligatorisk åtminstone för administratörskonton, eller använd din identitetsleverantörs.
  6. Granska de externa anslutningarna nedan, särskilt STUN-servern som Samtal använder som standard.
  7. Innan du lägger till modellanslutningar, ställ in AI-krypteringsnyckeln (AM_AI_ENCRYPTION_KEY) och spara en kopia separat från databasbackupen (AI).
  8. Gör en säkerhetskopia och testar en återställning (Säkerhetskopior och uppgraderingar).
  9. Håll bilderna eller paketen uppdaterade: säkerhetskorrigeringar levereras med nya versioner.

Hastighetsbegränsning

Servern kan begränsa hur många API-anrop varje klient gör. Det är inaktiverat som standard. I Systemkonsol › Miljö › Rate limiting:

InställningNyckelStandard
Aktivera begränsningRateLimitSettings.EnableAv
Maximum förfrågor per sekundRateLimitSettings.PerSec10
Maximum Burst SizeRateLimitSettings.MaxBurst100
MinnesuttnyttjandeRateLimitSettings.MemoryStoreSize10 000 klienter spåras
Variera nivån med fjärranslutningsadressRateLimitSettings.VaryByRemoteAddrpå
Variera begränsningen utifrån användareRateLimitSettings.VaryByUserAv
Variera begränsningen utifrån HTTP headerRateLimitSettings.VaryByHeadertom

Bakom en proxy fungerar begränsningar baserade på adress endast om servern känner till varje klients adress (ServiceSettings.TrustedProxyIPHeader och ServiceSettings.TrustedProxyIPs, se Klientadresser bakom en proxy). Annars verkar alla förfrågningar komma från proxyn, och alla delar samma begränsning. Detsamma gäller för IP-filter och för adresserna i revisionsloggarna.

Inloggningsförsök begränsas separat: Maximalt antal inloggningsförsök (10) låser ett konto efter så många felaktiga lösenord.

IP-filter

Systemkonsol › Site-konfiguration › IP-filtrering begränsar åtkomst till servern via IP-adress, med tillåt- och neka-regler (en adress eller ett CIDR-intervall vardera). Med Aktivera IP-filtrering på kan personer vars adress matchar en neka-regel, eller ingen tillåt-regel när det finns tillåt-regler, inte nå servern. Sidan vägrar regler som skulle blockera din egen adress. Bakom en proxy, konfigurera klientadresser först (Klientadresser bakom en proxy): annars verkar varje förfrågan komma från proxyn.

Uppladdningar och fildelning

InställningVarStandard
Maximal filstorlek (FileSettings.MaxFileSize)Miljö › File Storage100 MB. Håll proxyns begränsning för förfrågningsstorlek minst lika stor.
Maximal storlek på nyttolasten (Bytes) (ServiceSettings.MaximumPayloadSizeBytes)Miljö › Web Server300 000: det största API-anropet förutom filuppladdningar
Tillåt fildelning (FileSettings.EnableFileAttachments)Site Configuration › File Sharing and Downloadspå
Tillåt filuppladdning på mobil, Tillåt nedladdning av filer på mobilSite Configuration › File Sharing and Downloadspå
Aktivera publika fil-länkar (FileSettings.EnablePublicLink)Site Configuration › Public Linksinaktiverat: när aktiverat kan personer dela en fil med en länk som fungerar utan inloggning
Aktivera SVGs (ServiceSettings.EnableSVGs)Site Configuration › Postsinaktiverat på en ny server: när aktiverat visas SVG-bilder inline

Antimatter skannar inte uppladdningar för skadlig programvara.

Integritetsinställningar

I Systemkonsol › Site-konfiguration › Användare och team:

InställningNyckelStandardVad den gör
Visa e-postadressPrivacySettings.ShowEmailAddresspåAv, medlemmars e-postadresser är dolda för alla utom administratörer. Stäng av på publika servrar.
Visa fullständigt namnPrivacySettings.ShowFullNamepåAv, fullständiga namn är dolda och användarnamn visas istället.
Aktivera ignorera, blockera och meddelandeförfrågningarPrivacySettings.EnableUserBlockingpåSe nedan.
Tillåt användare att öppna direktmeddelandekanaler medTeamSettings.RestrictDirectMessageAny user on the Antimatter serverEller Vilken teammedlem som helst: endast personer som delar en community.

Ignoring, blocking and message requests

Med Aktivera ignorera, blockera och meddelandeförfrågningar på (standardinställningen) kan personer ignorera och blockera varandra, och kan välja att ta emot direktmeddelanden från personer de inte känner som meddelandeförfrågningar, som inte avisera dem förrän de accepteras. Detta passar offentliga communityer. På en arbetsplats där kollegor alltid måste kunna nå varandra, stäng av det (AM_PRIVACYSETTINGS_ENABLEUSERBLOCKING=false): inget av detta är längre tillämpat, men listorna och valen som personer gjorde bevaras, och tillämpas igen om du aktiverar det på nytt.

Sessions and tokens

  • Session lengths and idle timeout: see Sign-in and accounts. Shorter sessions mean a lost laptop or phone stays signed in for less time.
  • Aktivera Personliga Access-tokens (ServiceSettings.EnableUserAccessTokens, av) låter användare skapa API-tokens; Maximal giltighetstid för personliga åtkomsttoken (dagar) sätter en övre gräns för dem. Båda finns i Systemkonsol › Integrationer › Hantera integrationer.
  • För att logga ut alla användare samtidigt, till exempel efter ett misstänkt intrång: Återkalla alla sessioner i Systemkonsol › Hantera användare › Användare.

Connections to outside services

Antimatter contacts no service run by Mattermost, Inc. It sends no telemetry, crash reports or security update checks, and fetches no product notices. A configuration brought over from Mattermost that still names one of Mattermost's services (its push services, its app marketplace, its notices or its STUN server for calls) doesn't make the server contact them: those addresses are ignored.

The server and the apps connect to other outside services only for the features that need them, and to the services you configure:

FunktionContactsBy default
Calls: finding public addresses with STUN. The server and each person joining a call send a request, which shows the STUN server their IP address and port.Cloudflare's public STUN server, stun.cloudflare.compå, när appen Samtal är aktiverad. För att ändra det, se Samtal.
Förhandsgranskning av länkar: servern hämtar sidorna som länkas till i meddelanden (Aktivera förhandsgranskning av webblänkar, ServiceSettings.EnableLinkPreviews)de webbplatser som folk länkar tillpå. Stäng av med AM_SERVICESETTINGS_ENABLELINKPREVIEWS=false.
Pushaviseringar till mobilappendin egen push-proxy (Push-aviseringar)av, tills du har angivit dess adress
den externa appmarknaden (PluginSettings.EnableRemoteMarketplace)den Marketplace URL du har angivitav, och ingen adress
E-postdin SMTP-serverstandardservern är localhost
Modellanslutningar (omskrivning, sammanfattningar, översättning, uppläsning och appar), communityadministratörers egna modellanslutningarde AI-leverantörer som har lagts till i Systemkonsol › AI › Modellanslutningar eller i en communitys inställningar (AI)inga, förrän någon lägger till en
Enkel inloggning, appen Agents AI-tjänster, tal-till-text och översättning, utgående webhooks, och appar som Mail, Kalender, GitHub, GitLab eller Jirade tjänster du konfigurerarav, tills du har konfigurerat dem

Som standard vägrar servern att ansluta till privata och loopback-adresser för dessa (länkförhandsvisningar, webhooks, appar, communitys modellanslutningar), så att ett meddelande eller en integration inte kan användas för att nå ditt interna nätverk. Ange de interna värdar den får nå i Tillåt osäkra interna anslutningar till (ServiceSettings.AllowedUntrustedInternalConnections, i Systemkonsol › Miljö › Utvecklare); webbplatsens compose-fil listar gifs där.

Rapportera en sårbarhet

Rapportera säkerhetsproblem privat, enligt beskrivningen i Antimatters säkerhetspolicy, inte i offentliga ärenden.