Wybierz model udostępniania
Preferuj najwęższy model spełniający wymagania przepływu pracy.
Unikaj bezpośredniego publicznego przekierowania portów do Gateway. Jeśli dostęp publiczny jest
wymagany, umieść przed nim proxy rozpoznające tożsamość i spraw, aby proxy było
jedyną ścieżką sieciową do Gateway.
Inwentaryzacja przed wdrożeniem
Przed zmianą zasad powiązania, proxy, Tailscale lub kanału zapisz:- Host Gateway, użytkownika systemu operacyjnego i katalog stanu (domyślnie
~/.openclaw). - Adres URL Gateway i tryb powiązania (
gateway.bind; domyślny port18789). - Tryb uwierzytelniania, źródło tokenu/hasła lub źródło tożsamości zaufanego proxy.
- Każdy włączony kanał oraz informację, czy przyjmuje wiadomości prywatne, grupy lub elementy Webhook.
- Agentów dostępnych dla nadawców spoza hosta lokalnego.
- Profil narzędzi, tryb izolacji i zasady narzędzi z podwyższonymi uprawnieniami dla każdego dostępnego agenta.
- Zewnętrzne dane uwierzytelniające dostępne dla tych agentów.
- Lokalizację kopii zapasowej
~/.openclaw/openclaw.jsoni danych uwierzytelniających.
Kontrole bazowe
Uruchom przed udostępnieniem dostępu:checkId i odpowiadającego mu klucza naprawy opisano w
Kontrolach audytu bezpieczeństwa.
W celu zdalnej weryfikacji przez CLI przekaż jawnie dane uwierzytelniające:
Minimalna bezpieczna konfiguracja bazowa
Użyj tej konfiguracji jako punktu wyjścia dla udostępnianych wdrożeń:tools.exec.security: "deny" blokuje wszystkie wywołania exec, w tym nieszkodliwą
diagnostykę. Jeśli diagnostyka lub polecenia niskiego ryzyka są wymagane, złagodź to ustawienie dopiero
po wybraniu konkretnych nadawców, agentów, poleceń i trybu zatwierdzania zgodnych
z modelem zagrożeń.
Udostępnianie wiadomości prywatnych i grup
Kanały komunikacyjne są powierzchniami przyjmującymi niezaufane dane wejściowe. Przed zezwoleniem na wiadomości prywatne lub grupy:- Preferuj
dmPolicy: "pairing"lub ścisłą listęallowFromzamiastdmPolicy: "open". - Nie łącz list dozwolonych zawierających
"*"z szerokim dostępem do narzędzi. - Wymagaj wzmianek w grupach, chyba że pokój jest ściśle kontrolowany.
- Ustaw
session.dmScope: "per-channel-peer"(lub"per-account-channel-peer"dla kanałów z wieloma kontami), gdy wiele osób może wysyłać botowi wiadomości prywatne, aby sesje wiadomości prywatnych nie współdzieliły kontekstu. - Kieruj współdzielone kanały do agentów z minimalnym zestawem narzędzi i bez osobistych danych uwierzytelniających.
Kontrole odwrotnego proxy
W przypadku proxy rozpoznających tożsamość:- Proxy musi uwierzytelniać użytkowników przed przekazaniem ruchu do Gateway.
- Zapora lub zasady sieciowe muszą blokować bezpośredni dostęp do portu Gateway.
gateway.trustedProxiesmusi zawierać wyłącznie źródłowe adresy IP proxy.- Proxy musi usuwać lub zastępować dostarczone przez klienta nagłówki tożsamości i przekazywania.
- Ustaw
gateway.auth.trustedProxy.allowUsers, gdy proxy obsługuje więcej niż jedną grupę odbiorców. - Używaj
gateway.auth.trustedProxy.allowLoopbacktylko w przypadku proxy działającego na tym samym hoście, gdy procesy lokalne są zaufane, a proxy kontroluje nagłówki tożsamości.
openclaw security audit --deep. Ustalenia dotyczące
zaufanego proxy mają dużą wartość diagnostyczną, ponieważ proxy staje się granicą
uwierzytelniania.
Przegląd narzędzi i izolacji
Przed udostępnieniem agenta zdalnym nadawcom:- Sprawdź, które sesje działają na hoście, a które w izolacji.
- Zabroń wykonywania poleceń na hoście lub wymagaj ich zatwierdzania.
- Pozostaw narzędzia z podwyższonymi uprawnieniami wyłączone, chyba że potrzebuje ich konkretny, zaufany nadawca.
- Unikaj narzędzi przeglądarki, canvas, node, cron, gateway i tworzenia sesji na otwartych lub częściowo otwartych powierzchniach komunikacyjnych.
- Ogranicz punkty montowania; unikaj ścieżek do danych uwierzytelniających, katalogu domowego, gniazda Docker i ścieżek systemowych.
- Używaj oddzielnych instancji Gateway, użytkowników systemu operacyjnego lub hostów dla istotnie różnych granic zaufania.
Weryfikacja po zmianach
Po każdej zmianie udostępniania:- Ponownie uruchom
openclaw security audit --deep. - Potwierdź, że autoryzowane połączenie zostaje pomyślnie nawiązane.
- Potwierdź, że nieautoryzowany nadawca lub sesja przeglądarki zostaje odrzucona.
- Potwierdź, że dzienniki ukrywają dane poufne.
- Potwierdź, że routing wiadomości prywatnych/grup kieruje je wyłącznie do zamierzonego agenta.
- Potwierdź, że narzędzia o dużym wpływie wymagają zatwierdzenia lub są blokowane.
- Udokumentuj zaakceptowane ostrzeżenia dotyczące ryzyka rezydualnego.
Plan wycofania zmian
Jeśli Gateway może być nadmiernie udostępniony:- Zatrzymaj publiczne przekierowanie, Tailscale Funnel lub trasy odwrotnego proxy.
- Zmień tokeny/hasła Gateway oraz dane uwierzytelniające powiązanych integracji.
- Usuń
"*"i nieoczekiwanych nadawców z list dozwolonych. - Przejrzyj ostatnie dzienniki audytu, historię uruchomień, wywołania narzędzi i zmiany konfiguracji.
- Ponownie uruchom
openclaw security audit --deep. - Ponownie włącz dostęp przy użyciu najwęższego modelu spełniającego wymagania przepływu pracy.
Lista kontrolna przeglądu
- Gateway pozostaje dostępny wyłącznie przez local loopback, chyba że istnieje udokumentowany powód zmiany.
- Dostęp spoza local loopback ma uwierzytelnianie, zabezpieczenie zaporą i nie ma bezpośredniej trasy publicznej.
- Wdrożenia z zaufanym proxy mają ściśle określone adresy IP proxy i kontrolę nagłówków.
- Wiadomości prywatne domyślnie używają parowania lub list dozwolonych, a nie otwartego dostępu.
- Grupy wymagają wzmianek lub jawnych list dozwolonych.
- Współdzielone kanały nie mają dostępu do osobistych danych uwierzytelniających.
- Sesje inne niż główna działają w trybie izolacji.
- Wykonywanie poleceń na hoście i narzędzia z podwyższonymi uprawnieniami są zabronione lub wymagają zatwierdzenia.
- Dzienniki ukrywają dane poufne.
- Krytyczne ustalenia audytu zostały usunięte.
- Kroki wycofania zmian zostały przetestowane i udokumentowane.