Jak ograniczyć rejestrację użytkowników na serwerze Matrix hostowanym samodzielnie

Na samodzielnie hostowanym serwerze Matrix „ograniczenie rejestracji” może oznaczać wszystko, od zablokowania wszystkich publicznych rejestracji po zezwolenie na rejestrację tylko osobom posiadającym kod zaproszenia. W przypadku Synapse najprostszym rozwiązaniem jest wyłączenie rejestracji publicznej. Jeśli nadal chcesz, aby nowe osoby dołączały, wymagaj tokenów rejestracyjnych i przydzielaj każdej osobie ograniczony, wygasający token. Te ustawienia wpływają na tworzenie nowych kont lokalnych; nie usuwają istniejących użytkowników ani nie wyłączają federacji Matrix.

Wybierz kontrolkę pasującą do Twojego serwera

BramkaPodejście synaptyczneGłówny kompromis
Tylko administrator tworzy kontaUstaw enable_registration: false; użyj interfejsu CLI administratora lub kontrolowanego przepływu pracy administratora.Użytkownicy nie mogą rejestrować się z poziomu klienta Matrix. Chroń wszelkie współdzielone tajne dane rejestracyjne.
Zaproś małą społecznośćWłącz rejestrację i wymagaj tokenów rejestracyjnych; wydawaj jednorazowe tokeny o krótkim okresie ważności.Administratorzy muszą rozprowadzać i zarządzać tokenami. Każdy, kto otrzyma ważny token, może z niego korzystać.
Zezwól na szeroką publiczną rejestracjęUtrzymaj rejestrację otwartą i dodaj odpowiednie zabezpieczenia przed nadużyciami, takie jak CAPTCHA lub tokeny, a także limity szybkości i monitorowanie.Więcej utrudnień dla prawowitych użytkowników i żadne pojedyncze sprawdzenie nie gwarantuje ochrony przed nadużyciami.
Użyj dostawcy tożsamościSkonfiguruj logowanie jednokrotne (SSO) i wyłącz automatyczne tworzenie kont w ustawieniach Synapse dostawcy, jeśli dostęp musi zostać wcześniej zatwierdzony.Wymaga administracji dostawcą tożsamości; prawidłowe logowanie SSO nie oznacza koniecznie istnienia konta Matrix.

Poniższe przykłady dotyczą Synapse. Dendrite, Conduit i inne implementacje serwerów domowych korzystają z różnych interfejsów konfiguracyjnych i administracyjnych. Przed zastosowaniem ustawień Synapse należy zapoznać się z dokumentacją serwera.

Opcja 1: Wyłącz rejestrację publiczną

W przypadku prywatnego serwera domowego, małej organizacji lub serwera, na którym administrator konfiguruje każde konto, należy wyłączyć rejestrację klienta w aktywnej konfiguracji Synapse:

enable_registration: false

Synapse dokumentuje to ustawienie jako domyślnie wyłączone. Edytuj plik konfiguracyjny, który faktycznie ładuje usługa lub kontener, sprawdź poprawność pliku YAML, a następnie uruchom ponownie Synapse, korzystając ze standardowego procesu zarządzania usługami. Wdrożenie Dockera może zamontować konfigurację ze ścieżki hosta, więc edycja pliku o podobnej nazwie w kontenerze może nie zmienić pliku używanego podczas uruchamiania.

Po wyłączeniu rejestracji użytkownicy nie mogą tworzyć nowych kont za pośrednictwem standardowego procesu rejestracji klienta. Administratorzy nadal mogą tworzyć konta za pomocą obsługiwanych metod administracyjnych. Synapse ostrzega, że ​​ustawienie registration_shared_secretzezwala na tworzenie kont przy użyciu tego klucza tajnego, nawet jeśli enable_registrationjest on fałszywy. Traktuj go jako poświadczenie o wysokim znaczeniu: nie używaj go w repozytoriach, na czacie ani w publicznych zrzutach danych środowiskowych; ogranicz dostęp i przechowuj go tylko wtedy, gdy jest wymagany w ramach przepływu pracy administratora. Każdy, kto zna ten klucz tajny, może tworzyć konta, w tym konta administratorów.

Jeśli korzystasz z integracji OIDC, CAS lub innej integracji SSO, sprawdź również ustawienia automatycznej rejestracji u tego dostawcy. Synapse dokumentuje zmiany rejestracji na poziomie dostawcy, ponieważ w przeciwnym razie użytkownik mógłby zostać utworzony automatycznie po pierwszym pomyślnym logowaniu SSO. W przypadku OIDC sprawdź oidc_providers[].enable_registrationrównież ogólne ustawienia rejestracji.

Opcja 2: Zezwól na rejestrację tylko za pomocą tokenów

Użyj tokenów rejestracyjnych, gdy członkowie powinni móc tworzyć własne konta, ale rejestracje powinny być zatwierdzane lub dystrybuowane przez administratora. W konfiguracji Synapse ustaw obie wartości:

enable_registration: true
registration_requires_token: true

Wymagane są oba: ustawienie tokena wymaga użycia tokena podczas rejestracji, a sama rejestracja również musi być włączona. Zastosuj zmianę i uruchom ponownie Synapse. Istniejące konta i wcześniej utworzone tokeny nie zostaną usunięte po zmianie tego ustawienia.

Utwórz token o ograniczonym użyciu

Synapse udostępnia interfejs API administratora z tokenem rejestracyjnym. Żądania wymagają tokena dostępu administratora. Na przykład, to żądanie tworzy token, który może dokończyć jedną rejestrację:

curl -sS -X POST "$SYNAPSE_URL/_synapse/admin/v1/registration_tokens/new" \
  -H "Authorization: Bearer $ADMIN_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"uses_allowed": 1}'

Zastąp zmienne środowiskowe bazowym adresem URL serwera domowego i tokenem dostępu administratora. Zachowaj token administratora w tajemnicy i unikaj wklejania poleceń zawierających prawdziwe dane uwierzytelniające do współdzielonych logów lub postów pomocy technicznej. API może również akceptować czas wygaśnięcia w milisekundach od epoki Unix. Użyj tokena jednorazowego użytku dla indywidualnego zaproszenia i ustaw czas wygaśnięcia, po którym Twój przepływ pracy będzie mógł go niezawodnie obliczyć i obsługiwać. Token z pominiętymi limitami może mieć nieograniczoną liczbę użyć i nie mieć terminu ważności, dlatego sprawdź zwrócone pola przed jego dystrybucją.

Aby sprawdzić tokeny, administrator może wywołać GET /_synapse/admin/v1/registration_tokens. Odpowiedź obejmuje dozwolone użycia, oczekujące rejestracje, zakończone rejestracje i daty wygaśnięcia. W przypadku wycieku tokena, należy zaktualizować jego dozwolone użycia do zera lub usunąć go za pomocą udokumentowanego interfejsu API administratora. Token to dane uwierzytelniające do rejestracji, a nie zaproszenie do pokoju Matrix; nie powoduje on automatycznego dołączenia nowego konta do pokoju.

Ważna informacja o zgodności: Interfejs API administratora tokenów rejestracyjnych Synapse jest wyłączony, gdy włączona jest integracja z usługą uwierzytelniania Matrix (MAS). W takiej konfiguracji należy użyć interfejsu API administratora MAS lub interfejsu wiersza poleceń MAS, zgodnie z dokumentacją wdrożenia. Nie należy zakładać, że polecenie tokena Synapse będzie działać bez zmian w MAS.

Opcja 3: Dodaj czeki do rejestracji publicznej

Jeśli Twoim celem jest umożliwienie każdemu wnioskowania o konto, wymaganie tokenów może być zbyt restrykcyjne. Konfiguracja Synapse dokumentuje również wymagania dotyczące CAPTCHA i identyfikatorów zewnętrznych jako możliwe metody weryfikacji. CAPTCHA zależy od poprawnie skonfigurowanego dostawcy i może generować koszty związane z dostępnością i prywatnością. Wymaganie podania adresu e-mail lub numeru telefonu może powodować dodatkowe zależności konfiguracyjne i weryfikacyjne; nie jest to to samo, co zatwierdzanie każdego konta. Przed wprowadzeniem wymogu 3PID jako bramki upewnij się, które usługi weryfikacyjne obsługuje Twoja wersja i przepływ klienta.

Ograniczanie przepustowości jest przydatne w połączeniu z tymi funkcjami, ponieważ zmniejsza liczbę powtarzających się żądań, ale nie decyduje o tym, kto może się zarejestrować. Monitoruj próby rejestracji i logi serwera oraz dostosuj limity do ruchu i wdrożenia. Unikaj kopiowania starych fragmentów konfiguracji bez sprawdzenia zainstalowanej wersji Synapse: opcje rejestracji i usługi tożsamości uległy zmianie z biegiem czasu.

Co zmienia, a czego nie zmienia zamknięcie rejestracji

  • Kontroluje nowe konta lokalne. Wyłączenie rejestracji blokuje normalny proces tworzenia kont na serwerze domowym.
  • Nie usuwa kont. Istniejący użytkownicy zachowują swoje konta, chyba że zawiesisz je lub dezaktywujesz osobno.
  • Nie wyłącza federacji. Użytkownicy na innych serwerach domowych mogą nadal komunikować się z użytkownikami lokalnymi i pokojami, z zastrzeżeniem członkostwa w pokoju i ustawień federacji.
  • Nie oznacza to, że do pokoju można dołączyć tylko za zaproszeniem. Zasady dołączania do pokoju to osobne ustawienie; tokeny rejestracyjne nie zastępują zaproszeń do pokoju.
  • Nie blokuje to koniecznie każdej ścieżki provisioningu. Interfejsy API administratora, skonfigurowany współdzielony klucz tajny, usługi aplikacji i ustawienia tworzenia kont SSO wymagają osobnej analizy.

Reguła odwrotnego proxy, która ukrywa adres URL rejestracji, może stanowić dodatkową kontrolę warstwy sieciowej, ale łatwo zakłócić przepływy klientów i nie zastępuje konfiguracji serwera domowego. Użyj ustawienia na poziomie aplikacji jako głównej kontroli i przetestuj rzeczywiste wdrożenie po każdej zmianie proxy.

Sprawdź wynik

  1. Sprawdź efektywne źródło konfiguracji, w tym wszelkie zamontowane kontenery lub wygenerowaną konfigurację, pod kątem zamierzonych wartości rejestracji.
  2. Uruchom ponownie Synapse i sprawdź dzienniki uruchamiania w poszukiwaniu błędów YAML lub nieobsługiwanych ustawień.
  3. Z poziomu wylogowanego klienta Matrix spróbuj rozpocząć nową rejestrację. Po wyłączeniu rejestracji przepływ nie powinien oferować użytecznej publicznej rejestracji. Po włączeniu rejestracji wymagającej użycia tokena, żądanie bez ważnego tokena nie powinno zostać zrealizowane.
  4. W przypadku rejestracji tokena przetestuj go za pomocą tymczasowego tokena jednorazowego użytku i upewnij się, że wystarcza on tylko do utworzenia jednego konta. Sprawdź odpowiedź interfejsu API administratora pod kątem informacji o completed, pendingi wygaśnięciu.
  5. Przetestuj oddzielnie skonfigurowaną ścieżkę SSO i wszelkie skrypty aprowizacji kont. Sprawdź, czy działają zgodnie z Twoją polityką dostępu.

Nie używaj prawdziwego tokena zaproszeniowego dla konta testowego, chyba że zamierzasz go wykorzystać. Jeśli ustawienie wydaje się nieskuteczne, najpierw sprawdź, czy zmieniłeś plik, który Synapse faktycznie wczytuje, i czy usługa została ponownie uruchomiona. Następnie sprawdź, czy istnieje współdzielony klucz rejestracyjny, automatyczna rejestracja SSO lub inny zaufany mechanizm provisioningu.

Oficjalne referencje

Wersjonowana konfiguracja Synapse i dokumentacja API administratora stanowią wiarygodne źródło nazw opcji i pól żądań. Powyższe instrukcje nie zakładają konkretnego systemu operacyjnego, obrazu kontenera, odwrotnego proxy ani klienta Matrix; przed zastosowaniem zmian należy potwierdzić szczegóły dotyczące konkretnego wdrożenia.

Zostaw komentarz

Jak ograniczyć daty wygaśnięcia łączy publicznych na serwerze ownCloud

Jak ograniczyć daty wygaśnięcia łączy publicznych na serwerze ownCloud

Ustaw maksymalną datę wygaśnięcia łączy publicznych na serwerze ownCloud, sprawdź, których udostępnień ona dotyczy i zweryfikuj zasady, nie pomijając starszych łączy.

Jak skonfigurować automatyczną synchronizację Zimbra GAL i sprawdzić, czy działa

Jak skonfigurować automatyczną synchronizację Zimbra GAL i sprawdzić, czy działa

Skonfiguruj automatyczną synchronizację Zimbra GAL, ustaw interwał sondowania, wymuś synchronizację testową, zweryfikuj znaczniki czasu i rozwiąż problemy ze starymi wewnętrznymi lub zewnętrznymi kontaktami LDAP.

Jak skonfigurować uwierzytelnianie LDAP w usłudze ownCloud Infinite Scale

Jak skonfigurować uwierzytelnianie LDAP w usłudze ownCloud Infinite Scale

Skonfiguruj logowanie oparte na protokole LDAP dla ownCloud Infinite Scale, mapuj użytkowników i grupy, wybierz wbudowany lub zewnętrzny OIDC, chroń dane uwierzytelniające i bezpiecznie weryfikuj uwierzytelnianie.

Jak przeprowadzić migrację z ownCloud 10 Classic do ownCloud Infinite Scale

Jak przeprowadzić migrację z ownCloud 10 Classic do ownCloud Infinite Scale

Zaplanuj migrację z ownCloud Classic 10 do Infinite Scale z obsługiwaną aplikacją migrate-to-ocis. Dowiedz się, co podlega transferowi, a co nie, jakie są wymagania wstępne LDAP, polecenia i kontrole przełączenia.

Jak skonfigurować niestandardowe reguły SpamAssassin w Zimbra (bezpiecznie)

Jak skonfigurować niestandardowe reguły SpamAssassin w Zimbra (bezpiecznie)

Dowiedz się, gdzie Zimbra ładuje niestandardowe reguły SpamAssassin, jak pisać i weryfikować reguły .cf, ponownie uruchamiać Amavis, testować nagłówki wiadomości i bezpiecznie przywracać poprzednią wersję.

Jak tworzyć kopie zapasowe i przywracać poszczególne skrzynki pocztowe w Zimbra CE

Jak tworzyć kopie zapasowe i przywracać poszczególne skrzynki pocztowe w Zimbra CE

Twórz kopie zapasowe i przywracaj pojedyncze skrzynki pocztowe Zimbra CE za pomocą zmmailbox. Wyeksportuj archiwum ZIP z metadanymi, zweryfikuj je i przetestuj odzyskiwanie bezpiecznie na koncie testowym.

Jak skonfigurować limity pamięci masowej dla użytkowników w oCIS ownCloud

Jak skonfigurować limity pamięci masowej dla użytkowników w oCIS ownCloud

Dowiedz się, jak ustawić limit przestrzeni osobistej dla użytkownika ownCloud Infinite Scale, odróżnić go od limitów przestrzeni projektu i limitów globalnych oraz przypisać wartości domyślne nowym użytkownikom według roli.

Naprawa przekroczeń limitu czasu rejestracji SIP w BigBlueButton FreeSWITCH: praktyczny przewodnik diagnostyczny

Naprawa przekroczeń limitu czasu rejestracji SIP w BigBlueButton FreeSWITCH: praktyczny przewodnik diagnostyczny

Diagnozuj przekroczenia limitu czasu rejestracji SIP w urządzeniu BigBlueButton FreeSWITCH, sprawdzając stan usługi, odbiorniki SIP i ESL, adresy NAT, reguły zapory sieciowej i dzienniki.

Jak naprawić błąd „Odmowa połączenia” w aplikacji mobilnej ownCloud

Jak naprawić błąd „Odmowa połączenia” w aplikacji mobilnej ownCloud

Napraw błędy odrzucenia połączenia z aplikacją mobilną ownCloud, sprawdzając adres URL serwera, port HTTPS, serwer WWW, zaporę sieciową, serwer proxy, protokół TLS i zaufane domeny.

Jak ograniczyć rejestrację użytkowników na serwerze Matrix hostowanym samodzielnie

Jak ograniczyć rejestrację użytkowników na serwerze Matrix hostowanym samodzielnie

Porównaj sposoby kontrolowania nowych kont Matrix w Synapse, od wyłączania rejestracji publicznej po wydawanie tokenów o ograniczonym zastosowaniu, z przykładami konfiguracji i sprawdzeniami.