Seguretat
Una llista de verificació per endurir un servidor d'Antimatter: què exposar, els límits i les configuracions de privadesa a revisar, els serveis externs amb els quals el servidor es comunica i com informar d'un problema de seguretat.
Què exposar
| Port | Servei | Exposició |
|---|---|---|
| 443/tcp, 443/udp, 80/tcp | El vostre proxy HTTPS (Caddy o nginx) | Públic: així és com la gent accedeix a Antimatter. |
| 8443/udp i 8443/tcp | Mèdia de trucades | Públic, si la gent utilitza trucades des de fora de la vostra xarxa. |
| 8065/tcp | El servidor web d'Antimatter | Només per al proxy: publiqueu-lo a 127.0.0.1 (HTTP_PORT=127.0.0.1:8065). |
| 8067/tcp | Mètriques | Només xarxa privada, quan està habilitat. Sense inici de sessió. |
| 8074/tcp i udp | Xerrada del clúster | Només entre els nodes del clúster. |
| 5432, 9000, 8080, 8066 | PostgreSQL, emmagatzematge de fitxers, servei de GIF, proxy de notificacions push | Mai. Els fitxers compose els mantenen en xarxes internes sense cap port publicat. |
El fitxer compose del lloc també executa cada contenidor amb no-new-privileges, executa Antimatter com a usuari no privilegiat en una imatge distroless i executa el servei de GIF amb un sistema de fitxers només de lectura. La base de dades, l'emmagatzematge i el servei de GIF es troben en una xarxa sense accés a Internet.
Llista de verificació després de la instal·lació
- Creeu el primer compte d'administrador abans que ningú altre pugui accedir al servidor (Instal·lació).
- Serveu Antimatter només per HTTPS i establiu l'URL del lloc a l'adreza
https://(Domini i HTTPS). - Mantingueu
.env,config.jsoni les claus TLS legibles només per root (o l'usuari del servidor):chmod 600 .env. - Decideu qui pot crear comptes, mantingueu Activa el servidor obert desactivat a menys que la comunitat sigui pública i activeu Requereix la verificació del correu electrònic un cop el correu funcioni (Inici de sessió i comptes).
- Activeu l'autenticació de factor múltiple i imposeu-la, com a mínim, per als comptes dels administradors, o utilitzeu la del vostre proveïdor d'identitat.
- Revisiu les connexions externes següents, en particular el servidor STUN que les Trucades utilitzen per defecte.
- Abans d'afegir connexions de models, establiu la clau de xifratge de la IA (
AM_AI_ENCRYPTION_KEY) i conserveu-ne una còpia separada de les còpies de seguretat de la base de dades (IA). - Feu còpies de seguretat i proveu una restauració (Còpies de seguretat i actualitzacions).
- Mantingueu les imatges o els paquets actualitzats: les correccions de seguretat arriben amb les noves versions.
Limitació de freqüència
El servidor pot limitar el nombre de sol·licituds d'API que fa cada client. Per defecte, està desactivat. A Consola del sistema › Entorn › Limitació de freqüència:
| Paràmetre | Clau | Valor per defecte |
|---|---|---|
| Activa la limitació de taxes | RateLimitSettings.Enable | desactivat |
| Consultes màximes per segon | RateLimitSettings.PerSec | 10 |
| Mida màxima de pic | RateLimitSettings.MaxBurst | 100 |
| Mida de l'emmagatzematge en memòria | RateLimitSettings.MemoryStoreSize | 10000 clients seguits |
| Varia el límit de freqüència segons l'adreça remota | RateLimitSettings.VaryByRemoteAddr | activat |
| Varia el límit de freqüència segons l'usuari | RateLimitSettings.VaryByUser | desactivat |
| Varia el límit de freqüència segons la capçalera HTTP | RateLimitSettings.VaryByHeader | buit |
Darrere d'un proxy, els límits per adreça només funcionen si el servidor coneix l'adreça de cada client (ServiceSettings.TrustedProxyIPHeader i ServiceSettings.TrustedProxyIPs, vegeu Adreces de clients darrere d'un proxy). En cas contrari, totes les sol·licituds semblen provenir del proxy, i tothom comparteix un sol límit. El mateix passa amb el filtratge per IP i amb les adreces als registres d'auditoria.
Els intents d'inici de sessió es limiten per separat: Intents d’inici de sessió màxims (10) bloqueja un compte després d'aquest nombre de contrasenyes incorrectes.
Filtratge per IP
Consola del sistema › Configuració del lloc › Filtratge per IP limita l'accés al servidor per adreça IP, amb regles de permís i de denegació (una adreça o un interval CIDR cadascuna). Amb Activa el filtratge IP activat, les persones la seva adreça coincideix amb una regla de denegació, o no coincideix amb cap regla de permís quan n'hi ha, no poden accedir al servidor. La pàgina rebutja les regles que bloquejarien la pròpia adreça. Darrere d'un proxy, configureu primer les adreces de clients (Adreces de clients darrere d'un proxy): en cas contrari, totes les sol·licituds semblen provenir del proxy.
Pujades i compartiment de fitxers
| Paràmetre | On | Valor per defecte |
|---|---|---|
Mida màxima del fitxer (FileSettings.MaxFileSize) | Entorn › Emmagatzematge de fitxers | 100 MB. Mantingueu el límit de mida de sol·licituds del proxy com a mínim en aquest valor. |
Mida màxima de la càrrega (bytes) (ServiceSettings.MaximumPayloadSizeBytes) | Entorn › Servidor web | 300000: la sol·licitud d'API més gran, excepte les pujades de fitxers |
Permet el compartiment de fitxers (FileSettings.EnableFileAttachments) | Configuració del lloc › Compartiment i baixada de fitxers | activat |
| Permet la pujada de fitxers des del mòbil, Permet la baixada de fitxers al mòbil | Configuració del lloc › Compartiment i baixada de fitxers | activat |
Activa els enllaços públics de fitxers (FileSettings.EnablePublicLink) | Configuració del lloc › Enllaços públics | desactivat: quan està activat, les persones poden compartir un fitxer amb un enllaç que funciona sense iniciar sessió |
Activa els SVG (ServiceSettings.EnableSVGs) | Configuració del lloc › Publicacions | desactivat en un servidor nou: quan està activat, les imatges SVG es mostren en línia |
Activa la cerca de fitxers (ServiceSettings.EnableFileSearch) | Configuració del lloc › Compartiment i baixada de fitxers | activat: desactivat amaga la cerca de fitxers de la pestanya Fitxers dels resultats de la cerca, tant a l'aplicació web clàssica com a Fusion |
Activa la indexació de fitxers (ElasticsearchSettings.EnableFileIndexing) | Entorn › Elasticsearch, amb Elasticsearch o OpenSearch configurats | activat: desactivat atura la indexació de fitxers nous o modificats, però els fitxers indexats anteriorment segueixen sent cercables |
Antimatter no escaneja les pujades en cerca de programari maliciós.
Configuracions de privadesa
A Consola del sistema › Configuració del lloc › Usuaris i equips:
| Paràmetre | Clau | Valor per defecte | Què fa |
|---|---|---|---|
| Mostra l'adreça de correu electrònic | PrivacySettings.ShowEmailAddress | activat | Desactivat, les adreces de correu electrònic dels membres són ocultes per a tothom, excepte pels administradors. Desactiva-ho en els servidors públics. |
| Mostra el nom complet | PrivacySettings.ShowFullName | activat | Desactivat, els noms complets són ocults i es mostren els noms d'usuari en el seu lloc. |
| Activa ignorar, bloquejar i sol·licituds de missatge | PrivacySettings.EnableUserBlocking | activat | Consulta més avall. |
| Permet als usuaris obrir canals de missatges directes amb | TeamSettings.RestrictDirectMessage | Qualsevol usuari del servidor d'Antimatter | O Qualsevol membre de l’equip: només les persones que comparteixen una comunitat. |
Ignorar, bloquejar i sol·licituds de missatge
Amb Activa ignorar, bloquejar i sol·licituds de missatge activat (el valor predeterminat), les persones es poden ignorar i bloquejar entre elles, i triar si els missatges directes de persones desconegudes arriben normalment, esperen com a sol·licituds de missatge o es rebutgen directament (una persona rebutjada no pot iniciar un missatge directe o de grup amb elles, ni escriure en un que encara no ha estat acceptat); cada opció pot variar segons la comunitat, i s'aplica la més restrictiva de les comunitats compartides. Això és adequat per a comunitats públiques. En un entorn laboral on els col·legues han de poder contactar sempre entre ells, desactiveu-ho (AM_PRIVACYSETTINGS_ENABLEUSERBLOCKING=false): ja no s'apliquen aquestes opcions de missatges directes, però les llistes i les opcions triades es conserven i tornen a aplicar-se si ho activeu de nou. Els detalls del perfil que veuen les persones de cada comunitat s'apliquen en qualsevol cas; els administradors del sistema i la persona mateixa sempre veuen tota la informació.
Sessions i tokens
- Durada de les sessions i temps d'inactivitat: consulta Inici de sessió i comptes. Sessions més curtes signifiquen que un portàtil o telèfon perdut romandrà iniciat durant menys temps.
- Habilita els tokens d’accés personals (
ServiceSettings.EnableUserAccessTokens, desactivat) permet a les persones crear tokens d'API; Durada màxima dels tokens d’accés personals (dies) els limita. Tots dos es troben a Consola del sistema › Integracions › Gestió d'integracions. - Per tancar la sessió de tothom alhora, per exemple després d'una possible violació de seguretat: Revoca totes les sessions a Consola del sistema › Gestió d'usuaris › Usuaris.
- A la interfície d'Antimatter, les persones reben un avís d'un nou inici de sessió al seu propi compte mentre estan connectades, i poden desconnectar-lo elles mateixes (vegeu On esteu connectat). Els administradors del sistema no reben avisos d'inicis de sessió d'altres persones.
Connexions amb serveis externs
Antimatter no contacta cap servei operat per Mattermost, Inc. No envia telemetria, informes d'errors ni comprovacions d'actualitzacions de seguretat, i no recupera avisos de producte. Una configuració portada des de Mattermost que encara nomena un dels serveis de Mattermost (els seus serveis de notificacions push, el seu mercat d'aplicacions, els seus avisos o el seu servidor STUN per a trucades) no fa que el servidor els contacti: aquestes adreces s'ignoren.
El servidor i les aplicacions es connecten a altres serveis externs només per a les funcions que els necessiten, i als serveis que configureu:
| Funció | Contactes | Per defecte |
|---|---|---|
| Trucades: trobar adreces públiques amb STUN. El servidor i cada persona que s'uneix a una trucada envien una sol·licitud, que mostra al servidor STUN la seva adreça IP i port. | El servidor STUN públic de Cloudflare, stun.cloudflare.com | activat, mentre l’aplicació de trucades estigui habilitada. Per canviar-ho, consulta Trucades. |
Vistes prèvies d’enllaços: el servidor obté les pàgines enllaçades als missatges (Activa les vistes prèvies d’enllaços de llocs web, ServiceSettings.EnableLinkPreviews) | els llocs web a què la gent enllaça | activat. Desactiva-ho amb AM_SERVICESETTINGS_ENABLELINKPREVIEWS=false. |
| Notificacions push a l'aplicació mòbil | el teu propi proxy de notificacions push (Notificacions push) | desactivat fins que n’configuris l’adreça |
el Marketplace d’aplicacions remotes (PluginSettings.EnableRemoteMarketplace) | l’URL del Marketplace que has configurat | desactivat, i sense adreça |
| Correu electrònic | el teu servidor SMTP | el servidor per defecte és localhost |
| Connexions de models (reescriptura, resums, traducció, lectura en veu alta, agents i aplicacions), les connexions de models dels administradors de la comunitat | els proveïdors d'IA afegits a Consola del sistema › IA › Connexions de models o a la configuració d'una comunitat (IA) | cap, fins que algú n'afegeixi un |
| Inici de sessió únic, els serveis d'IA de l'aplicació de xat amb IA, reconeixement de veu a text i traducció, webhooks sortents i aplicacions com ara Correu, Calendari, GitHub, GitLab o Jira | els serveis que configuris | desactivats fins que els configuris |
Per defecte, el servidor rebutja les connexions a adreces privades i de bucle per a aquests (previsualitzacions d'enllaços, webhooks, aplicacions, connexions de models de la comunitat), de manera que un missatge o una integració no es pugui utilitzar per accedir a la xarxa interna. Enumereu els amfitrions interns als quals pot accedir a Permet connexions internes no fiables a (ServiceSettings.AllowedUntrustedInternalConnections, a Consola del sistema › Entorn › Desenvolupador); el fitxer compose del lloc llista gifs allà.
Informar d’una vulnerabilitat
Informa dels problemes de seguretat de manera privada, com s’explica a la política de seguretat d’Antimatter, i no en problemes públics.