Ασφάλεια

Ένας κατάλογος ελέγχου για την ενίσχυση ενός server Antimatter: τι να εκτεθεί, τα όρια και οι ρυθμίσεις απορρήτου που πρέπει να ελεγχθούν, οι εξωτερικές υπηρεσίες με τις οποίες επικοινωνεί ο server και ο τρόπος αναφοράς ενός προβλήματος ασφαλείας.

Τι να εκτεθεί

ΘύραΥπηρεσίαΕκτέθεση
443/tcp, 443/udp, 80/tcpΤο HTTPS proxy (Caddy ή nginx)Δημόσια: αυτός είναι ο τρόπος με τον οποίο οι χρήστες φτάνουν στο Antimatter.
8443/udp και 8443/tcpΜέσα κλήσεωνΔημόσια, αν οι χρήστες κάνουν κλήσεις από εκτός δικτύου σας.
8065/tcpΟ web server του AntimatterΜόνο στο proxy: δημοσιεύστε το σε 127.0.0.1 (HTTP_PORT=127.0.0.1:8065).
8067/tcpΜετρικέςΜόνο σε ιδιωτικό δίκτυο, όταν είναι ενεργοποιημένο. Χωρίς σύνδεση.
8074/tcp και udpGossip συσσωρευτήΜόνο μεταξύ κόμβων συσσωρευτή.
5432, 9000, 8080, 8066PostgreSQL, αποθήκευση αρχείων, υπηρεσία GIF, proxy pushΠοτέ. Τα αρχεία compose τα διατηρούν σε εσωτερικά δίκτυα χωρίς δημοσιευμένη θύρα.

Το αρχείο compose του χώρου εκτέλεσης εκτελεί επίσης κάθε container με no-new-privileges, εκτελεί το Antimatter ως μη προνομιούχο χρήστη σε εικόνα distroless και εκτελεί την υπηρεσία GIF με μόνο-αναγνωση σύστημα αρχείων. Η βάση δεδομένων, η αποθήκευση και η υπηρεσία GIF βρίσκονται σε δίκτυο χωρίς πρόσβαση στο Internet.

Κατάλογος ελέγχου μετά την εγκατάσταση

  1. Δημιουργήστε τον πρώτο λογαριασμό διαχειριστή πριν ο server γίνει προσβάσιμος από άλλους (Εγκατάσταση).
  2. Παρέχετε το Antimatter μόνο μέσω HTTPS και ορίστε τη διεύθυνση χώρου στο https:// (Δομένιο και HTTPS).
  3. Διατηρήστε τα .env, config.json και τα κλειδιά TLS αναγνώσιμα μόνο από τον root (ή τον χρήστη του server): chmod 600 .env.
  4. Ορίστε ποιοι μπορούν να δημιουργήσουν λογαριασμούς, κρατήστε το Ενεργοποίηση ανοιχτού διακομιστή απενεργοποιημένο εκτός αν η κοινότητα είναι δημόσια, και ενεργοποιήστε το Απαιτείται επαλήθευση email μόλις λειτουργήσει το email (Σύνδεση και λογαριασμοί).
  5. Ενεργοποιήστε την αυθεντικοποίηση με πολλαπλούς παράγοντες και επιβάλετέ τουλάχιστον στους λογαριασμούς διαχειριστών, ή χρησιμοποιήστε την του πάροχου ταυτοποίησης σας.
  6. Ελέγξτε τις εξωτερικές συνδέσεις παρακάτω, ιδιαίτερα τον server STUN που χρησιμοποιούν οι κλήσεις από προεπιλογή.
  7. Πριν προσθέσετε συνδέσεις μοντέλων, ορίστε το κλειφρυπτογράφησης της Τέχνης (Τέχνη) (AM_AI_ENCRYPTION_KEY) και διατηρήστε ένα αντίγραφο χωριστά από τα αντίγραφα ασφαλείας της βάσης δεδομένων (Τέχνη).
  8. Κάντε αντίγραφα ασφαλείας και δοκιμάστε την αποκατάσταση (Αντίγραφα ασφαλείας και αναβαθμίσεις).
  9. Τηρείτε τις εικόνες ή τα πακέτα ενημερωμένα: οι διορθώσεις ασφαλείας φτάνουν με τις νέες εκδόσεις.

Περιορισμός ρυθμού

Ο διακομιστής μπορεί να περιορίζει τον αριθμό των αιτήσεων API που κάνει κάθε πελάτης. Είναι απενεργοποιημένο από προεπιλογή. Στο Κονσόλα συστήματος › Περιβάλλον › Περιορισμός ρυθμού:

ΡύθμισηΚλειδίΠροεπιλογή
Ενεργοποίηση περιορισμού ρυθμούRateLimitSettings.Enableαπενεργοποιημένη
Μέγιστα ερωτήματα ανά δευτερόλεπτοRateLimitSettings.PerSec10
Μέγιστο μέγεθος burstRateLimitSettings.MaxBurst100
Μέγεθος αποθήκης μνήμηςRateLimitSettings.MemoryStoreSize10000 πελάτες παρακολουθούνται
Διαφοροποίηση ορίου ρυθμού ανά απομακρυσμένη διεύθυνσηRateLimitSettings.VaryByRemoteAddrενεργοποιημένο
Διαφοροποίηση ορίου ρυθμού ανά χρήστηRateLimitSettings.VaryByUserαπενεργοποιημένη
Διαφοροποίηση ορίου ρυθμού ανά κεφαλίδα HTTPRateLimitSettings.VaryByHeaderκενό

Πίσω από έναν proxy, οι περιορισμοί βάσει διεύθυνσης λειτουργούν μόνο αν ο διακομιστής γνωρίζει τη διεύθυνση κάθε πελάτη (ServiceSettings.TrustedProxyIPHeader και ServiceSettings.TrustedProxyIPs, δείτε Διευθύνσεις πελατών πίσω από proxy). Αλλιώς, κάθε αίτημα φαίνεται να προέρχεται από τον proxy και όλοι μοιράζονται έναν περιορισμό. Το ίδιο ισχύει για τη φιλτράρισμα IP και για τις διευθύνσεις στα αρχεία ελέγχου.

Οι προσπάθειες σύνδεσης περιορίζονται ξεχωριστά: το Μέγιστος αριθμός προσπαθειών σύνδεσης (10) κλειδώνει έναν λογαριασμό μετά από τόσες αποτυχημένες κωδικές.

Φιλτράρισμα IP

Το Κονσόλα συστήματος › Διαμόρφωση Ιστοτόπου › Φιλτράρισμα IP περιορίζει την πρόσβαση στον διακομιστή με βάση τη διεύθυνση IP, με κανόνες επιτρεπόμενης και απαγορευμένης πρόσβασης (κάθε κανόνας μπορεί να είναι μια διεύθυνση ή ένα εύρος CIDR). Όταν το Ενεργοποίηση φιλτραρίσματος IP είναι ενεργοποιημένο, οι χρήστες cuya διεύθυνση ταιριάζει με έναν κανόνα απαγόρευσης, ή δεν ταιριάζει με κανέναν κανόνα επιτρεπόμενης πρόσβασης (εφόσον υπάρχουν τέτοιοι κανόνες), δεν μπορούν να φτάσουν στον διακομιστή. Η σελίδα απορρίπτει κανόνες που θα μπλόκαραν τη δική σας διεύθυνση. Αν χρησιμοποιείτε proxy, ρυθμίστε πρώτα τις διευθύνσεις των πελατών (Διευθύνσεις πελατών πίσω από proxy): αλλιώς κάθε αίτημα φαίνεται να προέρχεται από το proxy.

Ανέβασματα και κοινή χρήση αρχείων

ΡύθμισηΠούΠροεπιλογή
Μέγιστο μέγεθος αρχείου (FileSettings.MaxFileSize)Περιβάλλον › Αποθήκευση αρχείων100 MB. Κρατήστε το όριο μεγέθους αιτήματος του proxy τουλάχιστον σε αυτή την τιμή.
Μέγιστο μέγεθος φορτίου (bytes) (ServiceSettings.MaximumPayloadSizeBytes)Περιβάλλον › Διακομιστής web300000: το μεγαλύτερο αίτημα API εκτός από τα ανέβασματα αρχείων
Επιτρεπόμενη κοινή χρήση αρχείων (FileSettings.EnableFileAttachments)Ρυθμίσεις τοποθεσίας › Κοινή χρήση και λήψη αρχείωνενεργοποιημένο
Επιτρέπει ανέβασμα αρχείων σε κινητές συσκευές, Επιτρεπόμενες λήψεις αρχείων σε κινητάΡυθμίσεις τοποθεσίας › Κοινή χρήση και λήψη αρχείωνενεργοποιημένο
Ενεργοποίηση δημόσιων συνδέσμων αρχείων (FileSettings.EnablePublicLink)Ρυθμίσεις τοποθεσίας › Δημόσιοι σύνδεσμοιαπενεργοποιημένο: όταν είναι ενεργοποιημένο, τα άτομα μπορούν να μοιραστούν ένα αρχείο με έναν σύνδεσμο που λειτουργεί χωρίς σύνδεση
Ενεργοποίηση SVG (ServiceSettings.EnableSVGs)Ρυθμίσεις τοποθεσίας › Δημοσιεύσειςαπενεργοποιημένο σε έναν νέο διακομιστή: όταν είναι ενεργοποιημένο, οι εικόνες SVG εμφανίζονται εντός της σελίδας
Ενεργοποίηση αναζήτησης αρχείων (ServiceSettings.EnableFileSearch)Ρυθμίσεις τοποθεσίας › Κοινή χρήση και λήψη αρχείωνΕνεργό: Απενεργοποιημένο αποκρύπτει την αναζήτηση αρχείων από την καρτέλα Αρχεία των αποτελεσμάτων αναζήτησης, τόσο στην κλασική εφαρμογή web όσο και στο Fusion
Ενεργοποίηση δεικτοδότησης αρχείων (ElasticsearchSettings.EnableFileIndexing)Περιβάλλον › Elasticsearch, με ρυθμισμένο Elasticsearch ή OpenSearchΕνεργό: Απενεργοποιημένο σταματά τη δεικτοδότηση νέων ή τροποποιημένων αρχείων, αλλά τα αρχεία που έχουν δεικτοδοτηθεί προηγουμένως παραμένουν αναζητήσιμα

Το Antimatter δεν σαρώνει τα ανέβασματα για κακόβουλο λογισμικό.

Ρυθμίσεις απορρήτου

Στη Κονσόλα συστήματος › Διαμόρφωση Ιστοτόπου › Χρήστες και ομάδες:

ΡύθμισηΚλειδίΠροεπιλογήΛειτουργία
Εμφάνιση διεύθυνσης emailPrivacySettings.ShowEmailAddressενεργοποιημένοΑν είναι απενεργοποιημένη, οι διευθύνσεις ηλεκτρονικού ταχυδρομείου των μελών είναι κρυφές από όλους εκτός από τους διαχειριστές. Απενεργοποιήστε την σε δημόσιους διακομιστές.
Εμφάνιση πλήρους ονόματοςPrivacySettings.ShowFullNameενεργοποιημένοΑν είναι απενεργοποιημένη, τα πλήρη ονόματα είναι κρυφά και εμφανίζονται αντί για αυτά τα ονόματα χρηστών.
Ενεργοποίηση αγνοήσεων, μπλοκ και αιτημάτων μηνύματοςPrivacySettings.EnableUserBlockingενεργοποιημένοΔείτε παρακάτω.
Ενεργοποίηση άνοιξης καναλιών άμεσων μηνυμάτων μεTeamSettings.RestrictDirectMessageΟποιονδήποτε χρήστη στον διακομιστή AntimatterΉ Οποιοδήποτε μέλος της ομάδας: μόνο άτομα που μοιράζονται μια κοινότητα.

Αγνοήσεις, αποκλεισμοί και αιτήσεις μηνυμάτων

Με ενεργοποιημένη την επιλογή Ενεργοποίηση αγνοήσεων, μπλοκ και αιτημάτων μηνύματος (η προεπιλογή), οι χρήστες μπορούν να αγνοούν και να μπλοκάρουν ο ένας τον άλλον, και να επιλέγουν εάν τα άμεσα μηνύματα από αγνώστους θα φτάνουν κανονικά, θα περιμένουν ως αιτήματα μηνύματος ή θα απορρίπτονται outright (κάποιος που έχει απορριφθεί δεν μπορεί να ξεκινήσει άμεσο ή ομαδικό μήνυμα μαζί τους, ούτε να γράψει σε ένα που δεν έχει γίνει ακόμα δεκτό). Κάθε επιλογή μπορεί να διαφέρει ανά κοινότητα και ισχύει η πιο αυστηρή από τις κοινότητες που μοιράζονται οι χρήστες. Αυτό ταιριάζει σε δημόσιες κοινότητες. Σε έναν χώρο εργασίας όπου οι συνάδελφοι πρέπει πάντα να μπορούν να επικοινωνούν μεταξύ τους, απενεργοποιήστε το (AM_PRIVACYSETTINGS_ENABLEUSERBLOCKING=false): καμία από αυτές τις επιλογές για άμεσα μηνύματα δεν εφαρμόζεται πλέον, αλλά οι λίστες και οι επιλογές που έχουν κάνει οι χρήστες διατηρούνται και εφαρμόζονται ξανά αν το ενεργοποιήσετε εκ νέου. Τα στοιχεία προφίλ που βλέπουν οι χρήστες κάθε κοινότητας εφαρμόζονται και στις δύο περιπτώσεις. Οι διαχειριστές συστήματος και ο ίδιος ο χρήστης βλέπουν πάντα τα πάντα.

Συνεδρίες και διακρίβια

  • Διάρκεια συνεδριών και χρονικό όριο αδράνειας: δείτε Σύνδεση και λογαριασμοί. Μικρότερες συνεδρίες σημαίνουν ότι ένα χαμένο φορητό υπολογιστή ή κινητό παραμένει συνδεδεμένο για λιγότερο χρόνο.
  • Το Ενεργοποίηση προσωπικών διαπιστευτηρίων πρόσβασης (ServiceSettings.EnableUserAccessTokens, απενεργοποιημένο) επιτρέπει στους χρήστες να δημιουργούν tokens API· το Μέγιστη διάρκεια ζωής προσωπικού token πρόσβασης (ημέρες) τα περιορίζει. Και τα δύο βρίσκονται στη Κονσόλα συστήματος › Ολοκληρώσεις › Διαχείριση ολοκληρώσεων.
  • Για να αποσυνδέσετε όλους ταυτόχρονα, για παράδειγμα μετά από υποψία παραβίασης: Ανακάλωση όλων των συνεδριών στο Κονσόλα συστήματος › Διαχείριση χρηστών › Χρήστες.
  • Στο περιβάλλον του Antimatter, οι χρήστες λαμβάνουν προειδοποίηση για νέα σύνδεση στον λογαριασμό τους ενώ είναι συνδεδεμένοι και μπορούν να την αποσυνδέσουν μόνοι τους (δείτε Πού είστε συνδεδεμένοι). Οι διαχειριστές συστήματος δεν ειδοποιούνται για τις συνδέσεις άλλων χρηστών.

Συνδέσεις με εξωτερικές υπηρεσίες

Το Antimatter δεν επικοινωνεί με καμία υπηρεσία που εκτελείται από τη Mattermost, Inc. Δεν στέλνει telemetria, αναφορές σφαλμάτων ή ελέγχους ασφαλείας ενημερώσεων, και δεν ανακτήει ειδοποιήσεις προϊόντος. Μια ρύθμιση που μεταφέρθηκε από το Mattermost και αναφέρει ακόμα μία από τις υπηρεσίες της Mattermost (τις υπηρεσίες push, την αγορά εφαρμογών, τις ειδοποιήσεις ή τον διακομιστή STUN για κλήσεις) δεν κάνει τον διακομιστή να επικοινωνήσει με αυτές: οι διευθύνσεις αυτές αγνοούνται.

Ο διακομιστής και οι εφαρμογές συνδέονται με άλλες εξωτερικές υπηρεσίες μόνο για τις λειτουργίες που τις απαιτούν, και με τις υπηρεσίες που ρυθμίζετε:

ΧαρακτηριστικόΕπικοινωνίεςΚατά προεπιλογή
Κλήσεις: εύρεση δημόσιων διευθύνσεων με STUN. Ο διακομιστής και κάθε άτομο που συμμετέχει σε μια κλήση στέλνουν ένα αίτημα, το οποίο δείχνει στον διακομιστή STUN τη διεύθυνση IP και την θύρα του.Ο δημόσιος διακομιστής STUN της Cloudflare, stun.cloudflare.comενεργή, εφόσον η εφαρμογή Κλήσεων είναι ενεργοποιημένη. Για να το αλλάξετε, δείτε Κλήσεις.
Προεπισκοπήσεις συνδέσμων: ο διακομιστής ανακτά τις σελίδες που συνδέονται στα μηνύματα (Ενεργοποίηση προεπισκοπήσεων συνδέσμων ιστοτόπων, ServiceSettings.EnableLinkPreviews)τις ιστοσελίδες στις οποίες συνδέονται οι χρήστεςενεργή. Απενεργοποιήστε με AM_SERVICESETTINGS_ENABLELINKPREVIEWS=false.
Ειδοποιήσεις push στην κινητή εφαρμογήτο δικό σας proxy push (Ειδοποιήσεις push)ανενεργή, έως ότου ορίσετε τη διεύθυνσή της
Η απομακρυσμένη αγορά εφαρμογών (PluginSettings.EnableRemoteMarketplace)τη Διεύθυνση Marketplace που ορίζετεανενεργή, και χωρίς διεύθυνση
Ηλεκτρονικό ταχυδρομείοτον SMTP διακομιστή σαςο προεπιλεγμένος διακομιστής είναι localhost
Συνδέσεις μοντέλων (αναδιατύπωση, περίληψη, μετάφραση, εκφώνηση, πράκτορες και εφαρμογές), οι δικές τους συνδέσεις μοντέλων των διαχειριστών κοινότηταςοι πάροχοι AI που προστέθηκαν στο Κονσόλα συστήματος › AI › Συνδέσεις μοντέλων ή στις ρυθμίσεις μιας κοινότητας (AI)κανένα, μέχρι κάποιος να προσθέσει ένα
Ενιαία σύνδεση (Single sign-on), οι υπηρεσίες AI της εφαρμογής συνομιλίας AI, μετατροπή ομιλίας σε κείμενο και μετάφραση, εξερχόμενα webhooks και εφαρμογές όπως Mail, Ημερολόγιο, GitHub, GitLab ή Jiraτις υπηρεσίες που διαμορφώνετεανενεργές, έως ότου τις διαμορφώσετε

Εξ ορισμού, ο διακομιστής αρνείται να συνδέεται με ιδιωτικές και loopback διευθύνσεις για αυτά (προεπισκόπησης συνδέσμων, webhooks, εφαρμογές, συνδέσεις μοντέλων κοινότητας), ώστε ένα μήνυμα ή μια ολοκλήρωση να μην μπορεί να χρησιμοποιηθεί για να φτάσει στο εσωτερικό σας δίκτυο. Καταγράψτε τους εσωτερικούς υπολογιστές στους οποίους επιτρέπεται να φτάσει στο Επιτρέπει μη αξιόπιστες εσωτερικές συνδέσεις προς (ServiceSettings.AllowedUntrustedInternalConnections, στο Κονσόλα συστήματος › Περιβάλλον › Ανάπτυξη); το αρχείο compose του χώρου εργασίας καταγράφει το gifs εκεί.

Αναφορά ευπάθειας

Αναφέρετε τα προβλήματα ασφαλείας ιδιωτικά, όπως εξηγείται στην πολιτική ασφαλείας του Antimatter, και όχι σε δημόσια θέματα.