Biztonság
Ellenőrzőlista az Antimatter-szerver megerősítéséhez: mit kell kitenni, mely korlátokat és magánéletvédelmi beállításokat érdemes átnézni, mely külső szolgáltatásokkal lép kapcsolatba a szerver, és hogyan lehet biztonsági problémát bejelenteni.
Mit kell kitenni
| Port | Szolgáltatás | Kitettség |
|---|---|---|
| 443/tcp, 443/udp, 80/tcp | HTTPS proxy (Caddy vagy nginx) | Nyilvános: ez a mód, ahogy az emberek eljutnak az Antimatterhez. |
| 8443/udp és 8443/tcp | Hívási média | Nyilvános, ha a hálózaton kívülről is használnak hívásokat. |
| 8065/tcp | Az Antimatter webes szervere | Csak a proxyhoz: kösse ki a 127.0.0.1 címen (HTTP_PORT=127.0.0.1:8065). |
| 8067/tcp | Metriki | Csak privát hálózaton, ha engedélyezve van. Nincs bejelentkezés. |
| 8074/tcp és udp | Klaszter-gossip | Csak klasztercsomópontok között. |
| 5432, 9000, 8080, 8066 | PostgreSQL, fájl-tárhely, GIF-szolgáltatás, push proxy | Soha. A compose-fájlok belső hálózaton tartják őket, ki nem publikált porttal. |
A weboldal compose-fájla minden konténert no-new-privileges opcióval futtat, az Antimattert nem jogosult felhasználóként futtatja egy distroless képen, a GIF-szolgáltatást pedig csak olvasható fájlrendszerrel. Az adatbázis, a tárhely és a GIF-szolgáltatás egy internet-hozzáférés nélküli hálózaton helyezkedik el.
Ellenőrzőlista telepítés után
- Létrehozza az első adminisztrátori fiókot, mielőtt bárki más elérné a szervert (Telepítés).
- Az Antimattert csak HTTPS-en keresztül szolgálja ki, és a weboldal URL-jét beállítja a
https://címre (Domen és HTTPS). - A
.env,config.jsonés a TLS-kulcsok csak root (vagy a szerver felhasználója) által olvashatók maradnak:chmod 600 .env. - Döntse el, hogy ki hozhat létre fiókot, és ne engedélyezze a Nyílt szerver engedélyezése beállítást, hacsak a közösség nem nyilvános. Amint az e-mail működik, kapcsolja be az E-mail ellenőrzés megkövetelése beállítást (Bejelentkezés és fiókok).
- Kapcsolja be a többfaktoros hitelesítést, és az adminisztrátori fiókoknál legalább kötelezővé tegye, vagy használja a hitelesítő szolgáltatóét.
- Nézze át az alábbi külső kapcsolatokat, különösen a Hívások alapértelmezett STUN-szerverét.
- Mielőtt modellkapcsolatokat adnád hozzá, állítsd be a AI titkosítási kulcsot (
AM_AI_ENCRYPTION_KEY), és őrizz meg egy másolatot külön a adatbázis mentésektől (AI). - Készítsen mentést, és tesztelje a visszaállítást (Mentések és frissítések).
- Tartsd naprakészen a képeket vagy a csomagokat: a biztonsági javítások az új verziókkal érkeznek.
Sebességkorlátozás
A szerver korlátozhatja, hogy egy-egy kliens hány API-lekérdezést küldhet. Ez alapértelmezetten kikapcsolva van. A Rendszerkonzol › Környezet › Sebességkorlátozás menüben:
| Beállítás | Kulcs | Alapérték |
|---|---|---|
| Sebességkorlátozás engedélyezése | RateLimitSettings.Enable | ki |
| Maximális lekérdezések másodpercenként | RateLimitSettings.PerSec | 10 |
| Maximális burst méret | RateLimitSettings.MaxBurst | 100 |
| Memória tároló méret | RateLimitSettings.MemoryStoreSize | 10 000 kliens követése |
| Távoli cím szerinti különböző sebességkorlátozás | RateLimitSettings.VaryByRemoteAddr | bekapcsolva |
| Különböző sebességkorlátozás felhasználónkként | RateLimitSettings.VaryByUser | ki |
| Különböző sebességkorlátozás a HTTP fejléc alapján | RateLimitSettings.VaryByHeader | üres |
Proxy mögött a cím szerinti korlátozás csak akkor működik, ha a szerver ismeri a kliensek címét (ServiceSettings.TrustedProxyIPHeader és ServiceSettings.TrustedProxyIPs, lásd: Klienscímek proxy mögött). Egyébként minden kérés a proxytól érkezik, és mindenki egy közös korlátot oszt meg. Ez ugyanígy vonatkozik az IP-szűrésekre és az ellenőrzési naplókban szereplő címekre is.
A bejelentkezési kísérletek külön korlátozva vannak: a Bejelentkezési kísérletek maximális száma (10) beállítás után, ha ennyi hibás jelszó következik egymás után, a fiók zárolva lesz.
IP-szűrés
A Rendszerkonzol › Oldal beállítások › IP-szűrés menüben IP-cím alapján korlátozható a szerverhez való hozzáférés, engedélyezési és tilalmi szabályokkal (mindegyik cím vagy CIDR-határolt tartomány). Ha a IP-szűrés engedélyezése be van kapcsolva, azok, akiknek a címe egy tilalmi szabályt illeszt, vagy akiknek nincs engedélyezési szabálya, ha vannak engedélyezési szabályok, nem férnek hozzá a szerverhez. Az oldal elutasítja azokat a szabályokat, amelyek a saját címét blokkolnák. Proxy mögött először állítsa be a kliens címeit (Kliens címek proxy mögött), különben minden kérés a proxytól érkezőnek tűnik.
Feltöltések és fájlmegosztás
| Beállítás | Hely | Alapérték |
|---|---|---|
Maximális fájl méret (FileSettings.MaxFileSize) | Környezet › Fájl tárolás | 100 MB. A proxy kérés méretének korlátja legalább ennyi legyen. |
Maximális terhelési méret (bájt) (ServiceSettings.MaximumPayloadSizeBytes) | Környezet › Web-szerver | 300 000: a legnagyobb API-kérés, kivéve a fájlfeltöltéseket |
Fájl megosztás engedélyezése (FileSettings.EnableFileAttachments) | Helyi beállítások › Fájlmegosztás és letöltés | bekapcsolva |
| Fájl feltöltés engedélyezése mobilon, Fájl letöltés engedélyezése mobilon | Helyi beállítások › Fájlmegosztás és letöltés | bekapcsolva |
Nyilvános fájl linkek engedélyezése (FileSettings.EnablePublicLink) | Helyi beállítások › Közös linkek | kikapcsolva: ha be van kapcsolva, a felhasználók olyan linkkel oszthatnak meg fájlt, amely bejelentkezés nélkül is működik |
SVG-k engedélyezése (ServiceSettings.EnableSVGs) | Helyi beállítások › Bejegyzések | új szerveren kikapcsolva: ha be van kapcsolva, az SVG-képek a szövegbe ágyazva jelennek meg |
Az Antimatter nem vizsgálja a feltöltött fájlokat kártevőprogramok szempontjából.
Adatvédelmi beállítások
A Rendszerkonzol › Oldal beállítások › Felhasználók és csapatok menüben:
| Beállítás | Kulcs | Alapérték | Mire szolgál |
|---|---|---|---|
| E-mail cím megjelenítése | PrivacySettings.ShowEmailAddress | bekapcsolva | Ki, a felhasználók e-mailcímei mindenki számára rejtve maradnak, kivéve az adminisztrátoroktól. Nyilvános szervereken állítsd ki. |
| Teljes név megjelenítése | PrivacySettings.ShowFullName | bekapcsolva | Ki, a teljes nevek rejtve maradnak, helyettük a felhasználónevek jelennek meg. |
| Ignorálás, blokkolás és üzenekérés engedélyezése | PrivacySettings.EnableUserBlocking | bekapcsolva | Lásd alább. |
| Engedélyezze a felhasználóknak, hogy a közvetlen csatornákat ezzel nyissák meg | TeamSettings.RestrictDirectMessage | Bármelyik felhasználó az Antimatter szerveren | Vagy A csapat bármely tagja: csak azok, akik ugyanahhoz a közösséghez tartoznak. |
Figyelmen kívül hagyás, blokkolás és üzenekérések
Ha az Ignorálás, blokkolás és üzenekérés engedélyezése be van kapcsolva (ez az alapértelmezés), a felhasználók ignorálhatják és blokkolhatják egymást, valamint választhatják, hogy ismeretlen személyektől érkező közvetlen üzeneteiket üzenekérésként kapják meg, amelyek nem küldenek értesítést, amíg nem fogadják el. Ez nyilvános közösségeknek illik. Munkahelyi környezetben, ahol a kollégáknak mindig elérhetőnek kell lenniük egymásnak, kapcsolja ki (AM_PRIVACYSETTINGS_ENABLEUSERBLOCKING=false): ekkor semmi sem lesz kikényszerítve, de a felhasználók által készített listák és beállítások megmaradnak, és újra érvénybe lépnek, ha visszakapcsolja.
Munkamenetek és tokenek
- Munkamenet-hosszok és tétlenségi időtúllépés: lásd Bejelentkezés és fiókok. A rövidebb munkamenetek azt jelentik, hogy egy elveszett laptop vagy telefon rövidebb ideig marad bejelentkezve.
- A(z) Személyes hozzáférési tokenek engedélyezése (
ServiceSettings.EnableUserAccessTokens, alapértelmezés szerint kikapcsolva) lehetővé teszi, hogy a felhasználók API-tokeneket hozzanak létre; a(z) Személyes hozzáférési token maximális élettartama (nap) korlátozza őket. Mindkettő a(z) Rendszerkonzol › Integrációk › Integrációkezelés alatt található. - Ha egyszerre mindenkit ki szeretnél jelenteni, például egy gyanús biztonsági incidens után: a(z) Összes munkamenet visszavonása a(z) Rendszerkonzol › Felhasználókezelés › Felhasználók alatt.
Kapcsolat külső szolgáltatásokkal
Az Antimatter nem létesít kapcsolatot a Mattermost, Inc. által üzemeltetett szolgáltatásokkal. Nem küld telemetria-adatokat, hibajelentéseket vagy biztonsági frissítések ellenőrzéseit, és nem kér le termékközleményeket. Ha egy Mattermost-ból átvitt konfiguráció még mindig hivatkozik valamelyik Mattermost-szolgáltatásra (push-szolgáltatásai, alkalmazáskereskedése, közleményei vagy hívásokhoz használt STUN-szervere), a szerver nem lép kapcsolatba velük: ezek a címek figyelmen kívül maradnak.
A szerver és az alkalmazások csak azokat a funkciókat használják, amelyekhez szükségesek, és csak az általad beállított szolgáltatásokkal létesítenek kapcsolatot:
| Funkció | Kapcsolat | Alapértelmezés szerint |
|---|---|---|
| Hívások: nyilvános címek megtalálása STUN-nal. A szerver és minden, aki csatlakozik a híváshoz, küld egy kérést, amely a STUN-szervernek megmutatja a felhasználó IP-címét és portját. | A Cloudflare nyilvános STUN-szervere, stun.cloudflare.com | be, amíg a Hívások app engedélyezve van. Módosításához lásd: Hívások. |
Link előnézetek: a szerver letölti az üzenetekben szereplő linkekre mutató oldalakat (Weboldal link előnézet engedélyezése, ServiceSettings.EnableLinkPreviews) | azok a weboldalak, amire mások hivatkoznak | be. Kikapcsolható a AM_SERVICESETTINGS_ENABLELINKPREVIEWS=false beállítással. |
| Push-értesítések a mobilalkalmazásba | saját push proxy (Push-értesítések) | ki, amíg be nem állítja a címét |
távoli app piactér (PluginSettings.EnableRemoteMarketplace) | a beállított Piactér URL | ki, és nincs beállított cím |
| SMTP-szerver | az alapértelmezett szerver a localhost | |
| Modellkapcsolatok (újraírás, összefoglalók, fordítás, felolvasás és alkalmazások), a közösségi adminok saját modellkapcsolatai | az AI szolgáltatók, amelyeket a Rendszerkonzol › AI › Modellkapcsolatok menüben vagy a közösség beállításaiban adtak hozzá (AI) | nincs, amíg valaki nem ad hozzá egyet |
| Egyszeri bejelentkezés, az Agents alkalmazás AI szolgáltatásai, beszéd-főszövé és fordítás, kimenő webhookok, valamint olyan alkalmazások, mint a Mail, Calendar, GitHub, GitLab vagy Jira | azok a szolgáltatások, amelyeket beállít | ki, amíg be nem állítja őket |
Alapértelmezés szerint a szerver megtagadja a privát és loopback címekhez való kapcsolódást ezekhez (link-előnézetek, webhookok, alkalmazások, közösségi modellkapcsolatok), így egy üzenet vagy integráció nem használható a belső hálózathoz való elérésre. A Nem megbízható belső kapcsolatok engedélyezése ide mezőben (ServiceSettings.AllowedUntrustedInternalConnections, a Rendszerkonzol › Környezet › Fejlesztő menüben) sorold fel a belső hostokat, amelyekhez kapcsolódhat; a webhely compose fájlja a gifs nevű hostot tartalmazza itt.
Sebezhetőség bejelentése
Biztonsági problémákat privát módon jelentse be, ahogy a(z) Antimatter biztonsági irányelv ismerteti, ne nyilvános issues-ban.