Zabezpečení

Seznam úkolů pro zpevnění serveru Antimatter: co vystavit, které limity a nastavení soukromí je třeba zkontrolovat, jaké externí služby server kontaktuje a jak nahlásit bezpečnostní problém.

Co vystavit

PortSlužbaVystavení
443/tcp, 443/udp, 80/tcpVáš HTTPS proxy (Caddy nebo nginx)Veřejné: takto se lidé dostanou k Antimatteru.
8443/udp a 8443/tcpMédia pro hovoryVeřejné, pokud lidé používají hovory zvenčí vaší sítě.
8065/tcpWebový server AntimatterPouze pro proxy: publikujte ho na 127.0.0.1 (HTTP_PORT=127.0.0.1:8065).
8067/tcpMetrikyPouze ve vnitřní síti, pokud je zapnuté. Bez přihlášení.
8074/tcp a udpGossip v klastruPouze mezi uzly klastru.
5432, 9000, 8080, 8066PostgreSQL, úložiště souborů, služba GIF, push proxyNikdy. Soubory compose je drží na vnitřních sítích bez publikovaného portu.

Soubor compose webu také spouští každý kontejner s no-new-privileges, spouští Antimatter jako neprivilegovaného uživatele na obrazu distroless a spouští službu GIF se souborovým systémem pouze pro čtení. Databáze, úložiště a služba GIF jsou na síti bez přístupu na Internet.

Seznam úkolů po instalaci

  1. Vytvořte první účet administrátora, než se k serveru může dostat kdokoli jiný (Instalace).
  2. Poskytujte Antimatter pouze přes HTTPS a nastavte adresu webu na adresu https:// (Doména a HTTPS).
  3. Nechte soubory .env, config.json a TLS klíče čitelné pouze rootem (nebo uživatelem serveru): chmod 600 .env.
  4. Rozhodněte, kdo může vytvářet účty, nechte Povolit otevřený server vypnuté, pokud komunita není veřejná, a zapněte Vyžadovat ověření e-mailu, jakmile bude e-mail fungovat (Přihlášení a účty).
  5. Zapněte vícefaktorové ověřování a vynuťte ho alespoň pro účty administrátorů, nebo použijte ověřování vašeho poskytovatele identit.
  6. Zkontrolujte níže uvedené externí připojení, zejména STUN server, který hovory používají ve výchozím nastavení.
  7. Před přidáním připojení k modelům nastavte šifrovací klíč pro AI (AM_AI_ENCRYPTION_KEY) a uložte jeho kopii odděleně od záloh databáze (AI).
  8. Vytvořte zálohu a otestujte obnovu (Zálohy a aktualizace).
  9. Udržujte obrazy nebo balíčky aktuální: bezpečnostní opravy přicházejí s novými verzemi.

Omezení rychlosti

Server může omezit počet požadavků na API, které každý klient provede. Ve výchozím nastavení je vypnuto. V Systémová konzole › Prostředí › Omezení frekvence:

NastaveníKlíčVýchozí
Povolit omezování rychlostiRateLimitSettings.EnableVypnuto
Maximální počet dotazů za sekunduRateLimitSettings.PerSec10
Maximální velikost závaluRateLimitSettings.MaxBurst100
Velikost úložiště v pamětiRateLimitSettings.MemoryStoreSize10 000 sledovaných klientů
Lišit omezování rychlosti podle vzdálené adresyRateLimitSettings.VaryByRemoteAddrzapnuto
Lišit omezování rychlosti podle uživateleRateLimitSettings.VaryByUserVypnuto
Lišit omezování rychlosti podle HTTP hlavičkyRateLimitSettings.VaryByHeaderprázdné

Za proxy serverem fungují omezení podle adresy pouze tehdy, když server zná adresu každého klienta (ServiceSettings.TrustedProxyIPHeader a ServiceSettings.TrustedProxyIPs, viz Adresy klientů za proxy). Jinak se zdá, že všechny požadavky pocházejí z proxy, a všichni sdílejí jedno omezení. To platí i pro filtrování IP adres a pro adresy v auditních záznamech.

Pokusy o přihlášení se omezují samostatně: Maximální počet pokusů o přihlášení (10) zablokuje účet po tolikrát neúspěšném zadání hesla.

Filtrovaní IP adres

Systémová konzole › Konfigurace webu › Filtrování IP omezuje přístup ke serveru podle IP adresy pomocí pravidel pro povolení a zamítnutí (každé pravidlo obsahuje adresu nebo CIDR rozsah). Když je Zapnout filtrování IP adres zapnuté, nemohou se ke serveru dostat lidé, jejichž adresa odpovídá pravidlu pro zamítnutí, nebo nemají povolené pravidlo, pokud nějaká pravidla pro povolení existují. Stránka zamítá pravidla, která by zablokovala vaši vlastní adresu. Za proxy serverem nejdřív nastavte adresy klientů (Adresy klientů za proxy), jinak by se zdálo, že všechny požadavky přicházejí z proxy.

Nahrávání a sdílení souborů

NastaveníKdeVýchozí
Maximální velikost souboru (FileSettings.MaxFileSize)Prostředí › Úložiště souborů100 MB. Omezení velikosti požadavků proxy serveru nechte alespoň na této hodnotě.
Maximální velikost datového přenosu (bajty) (ServiceSettings.MaximumPayloadSizeBytes)Prostředí › Webový server300 000: největší požadavek na API kromě nahrávání souborů
Povolit sdílení souborů (FileSettings.EnableFileAttachments)Konfigurace webu › Sdílení a stahování souborůzapnuto
Povolit nahrávání souborů na mobilních zařízeních, Povolit stahování souborů na mobiluKonfigurace webu › Sdílení a stahování souborůzapnuto
Povolit veřejné odkazy na soubory (FileSettings.EnablePublicLink)Konfigurace webu › Veřejné odkazyvypnuto: když je zapnuto, lidé mohou soubor sdílet odkazem, který funguje bez přihlášení
Povolit SVG (ServiceSettings.EnableSVGs)Konfigurace webu › Příspěvkyna novém serveru vypnuto: když je zapnuto, SVG obrázky se zobrazují přímo v textu
Povolit vyhledávání souborů (ServiceSettings.EnableFileSearch)Konfigurace webu › Sdílení a stahování souborůzapnuto: vypnuto skryje vyhledávání souborů na kartě Soubory ve výsledcích hledání, a to jak ve starší verzi webové aplikace, tak ve Fusionu
Povolit indexování souborů (ElasticsearchSettings.EnableFileIndexing)Prostředí › Elasticsearch, při nastaveném Elasticsearchu nebo OpenSearchuzapnuto: vypnuto zastaví indexování nových nebo změněných souborů, ale dříve indexované soubory zůstanou dohledatelné

Antimatter nenaskenuje nahrávané soubory na malware.

Nastavení soukromí

V Systémová konzole › Konfigurace webu › Uživatelé a týmy:

NastaveníKlíčVýchozíCo dělá
Zobrazit e-mailovou adresuPrivacySettings.ShowEmailAddresszapnutoVypnuto, e-mailové adresy členů jsou skryté před všemi kromě administrátorů. Na veřejných serverech ji vypněte.
Zobrazit celé jménoPrivacySettings.ShowFullNamezapnutoVypnuto, celá jména jsou skrytá a místo nich se zobrazují uživatelská jména.
Povolit ignorování, blokování a žádosti o zprávyPrivacySettings.EnableUserBlockingzapnutoViz níže.
Povolit uživatelům otevírat kanály přímých zpráv sTeamSettings.RestrictDirectMessageLibovolným uživatelem na serveru Antimatternebo Libovolný člen týmu: pouze lidé, kteří sdílejí komunitu.

Ignorování, blokování a žádosti o zprávy

Při zapnuté možnosti Povolit ignorování, blokování a žádosti o zprávy (výchozí nastavení) mohou lidé navzájem ignorovat a blokovat a rozhodnout, zda přímé zprávy od lidí, které neznají, dorazí normálně, budou čekat jako žádosti o zprávy, nebo budou přímo odmítnuty (odmítnutá osoba nemůže s nimi zahájit přímou ani skupinovou zprávu, ani psát v té, která ještě nebyla přijata); každá volba se může lišit podle komunity a platí nejpřísnější pravidlo z komunit, které mají dané lidé společné. To vyhovuje veřejným komunitám. Na pracovišti, kde si kolegové musí být vždy dostupní, tuto možnost vypněte (AM_PRIVACYSETTINGS_ENABLEUSERBLOCKING=false): žádná z voleb pro přímé zprávy se již nevynucuje, ale seznamy a volby, které lidé provedli, jsou zachovány a znovu se uplatní, pokud funkci znovu zapnete. To, jaké detaily profilu lidé v dané komunitě vidí, je vynucováno v obou případech; systémoví administrátoři a daná osoba vždy vidí vše.

Relace a tokeny

  • Délka relací a časový limit nečinnosti: viz Přihlášení a účty. Kratší relace znamenají, že ztracený notebook nebo telefon zůstane přihlášen po kratší dobu.
  • Povolit osobní přístupové tokeny (ServiceSettings.EnableUserAccessTokens, vypnuto) umožňuje lidem vytvářet API tokeny; Maximální platnost osobního přístupového tokenu (dny) je omezuje. Oba se nacházejí v Systémová konzole › Integrace › Správa integrací.
  • Chcete-li všechny najednou odhlásit, například po podezření na kompromitaci: Zrušit všechny relace v Systémová konzole › Správa uživatelů › Uživatelé.
  • V rozhraní Antimatteru jsou lidé upozorněni na nové přihlášení ke svému účtu, zatímco jsou připojeni, a mohou se sami odhlásit (viz Kde jste přihlášeni). Systémoví administrátoři nejsou informováni o přihlášeních ostatních lidí.

Připojení k externím službám

Antimatter nekontaktuje žádnou službu provozovanou společností Mattermost, Inc. Neodesílá žádnou telemetrii, hlášení o pádech ani kontroly bezpečnostních aktualizací a nezískává žádná produktová oznámení. Konfigurace přenesená z Mattermostu, která stále uvádí jednu ze služeb Mattermost (její push služby, její tržiště aplikací, její oznámení nebo její STUN server pro hovory), nedělá server kontaktující: tyto adresy se ignorují.

Server a aplikace se připojují k jiným externím službám pouze pro funkce, které je potřebují, a ke službám, které vy nastavíte:

FunkceKontaktyVe výchozím nastavení
Hovory: hledání veřejných adres pomocí STUN. Server a každý, kdo se připojí k hovoru, pošle požadavek, který STUN serveru zobrazí jeho IP adresu a port.Veřejný STUN server Cloudflare, stun.cloudflare.comzapnuto, pokud je aplikace Hovory povolená. Změnit to můžete v části Hovory.
Náhledy odkazů: server načítá stránky, na které odkazují zprávy (Povolit náhledy odkazů na weby, ServiceSettings.EnableLinkPreviews)weby, na které lidé odkazujízapnuto. Vypnout pomocí AM_SERVICESETTINGS_ENABLELINKPREVIEWS=false.
Push oznámení do mobilní aplikacevlastní push proxy (Push oznámení)vypnuto, dokud nenastavíte její adresu
Trh s aplikacemi (PluginSettings.EnableRemoteMarketplace)nastavená URL tržištěvypnuto, adresa nenastavena
E-mailváš SMTP servervýchozí server je localhost
Připojení k modelům (přepis, shrnutí, překlad, čtení nahlas, agenti a aplikace), vlastní připojení k modelům administrátorů komunityposkytovatelé AI přidaní v Systémová konzole › AI › Připojení k modelům nebo v nastavení komunity (AI)Žádné, dokud je někdo nepřidá
Jedno přihlášení (SSO), služby AI aplikace pro chat, převod řeči na text a překlad, odchozí webhooky a aplikace, jako je Pošta, Kalendář, GitHub, GitLab nebo Jiraslužby, které nastavítevypnuto, dokud je nenastavíte

Ve výchozím nastavení server odmítá připojení k privátním a smyčkovým adresám pro tyto služby (náhledy odkazů, webhooks, aplikace, připojení k modelům komunit), takže zpráva nebo integrace nemůže být využita k dosažení vašeho interního sítě. Interní hostitele, ke kterým je připojení povoleno, vyjmenujte v Povolit nespolehlivé interní připojení k (ServiceSettings.AllowedUntrustedInternalConnections, v Systémová konzole › Prostředí › Vývojář); v compose souboru webu je zde uveden gifs.

Nahlášení zranitelnosti

Bezpečnostní problémy nahlázejte soukromě, jak je popsáno v bezpečnostní politice Antimatter, nikoli ve veřejných problémech.