Dostęp do lokalnego środowiska ServBay w sieci LAN
Dla małych zespołów deweloperskich lub indywidualnych programistów testujących projekty na różnych urządzeniach, możliwość dostępu do lokalnego środowiska ServBay przez sieć LAN jest typową i niezwykle ważną potrzebą. ServBay został zaprojektowany tak, by obsługiwać dostęp przez LAN dla większości kluczowych usług, choć niektóre wymagają dodatkowej konfiguracji dla zachowania bezpieczeństwa i dostępności.
W tym poradniku krok po kroku pokażemy, jak skonfigurować i uzyskać dostęp do stron oraz baz danych uruchomionych w ServBay z poziomu sieci lokalnej.
Wymagania wstępne
Przed podjęciem próby połączenia się z usługami ServBay w sieci LAN, upewnij się, że spełniasz poniższe warunki:
- Połączenie sieciowe: Komputer, na którym działa ServBay („host”), oraz komputer kliencki, który ma uzyskać dostęp, muszą być połączone z tą samą siecią LAN.
- Adres IP hosta: Znajdź wewnętrzny adres IP hosta w sieci lokalnej. Informację tę znajdziesz w ustawieniach sieciowych hosta.
- Konfiguracja zapory sieciowej: Jeżeli na hoście działa zapora (firewall), musisz umożliwić zewnętrzne połączenia do kluczowych portów używanych przez ServBay (np. HTTP - 80, HTTPS - 443, MySQL - 3306, PostgreSQL - 5432, Redis - 6379 itd.). W zależności od potrzebnych usług, otwórz odpowiednie porty i – jeśli to konieczne – ogranicz listę dozwolonych adresów IP (ACL).
Strony internetowe (Website)
Strony konfigurowane w ServBay domyślnie nasłuchują na wszystkich interfejsach sieciowych hosta (tj. 0.0.0.0
lub *
), co oznacza, że mogą być od razu dostępne dla innych urządzeń w sieci LAN. ServBay korzysta z serwerów Caddy lub Nginx, których domyślna konfiguracja zazwyczaj na to pozwala.
Aby jednak uzyskać dostęp do tych stron po domenie z poziomu przeglądarki na komputerze-kliencie, należy właściwie skonfigurować rozwiązywanie DNS dla danej domeny. Dodatkowo, jeśli lokalna strona korzysta z certyfikatu SSL wygenerowanego przez ServBay (co jest zalecane), odwiedzający muszą zainstalować główny certyfikat ServBay, aby uniknąć ostrzeżeń w przeglądarce.
Poniżej przedstawiono przykładową konfigurację:
- Adres IP hosta w sieci LAN:
10.0.0.3
- Domena strony ServBay:
servbay.demo
- Katalog główny strony:
/Applications/ServBay/www/servbay.demo
Konfiguracja rozwiązywania domeny (DNS)
Komputer kliencki musi wiedzieć, że domena servbay.demo
odpowiada adresowi IP hosta: 10.0.0.3
. Istnieją dwa popularne sposoby konfiguracji:
Edycja pliku hosts na komputerze-kliencie: Najprostszy sposób, idealny dla niewielkiej liczby urządzeń.
- Odszukaj plik hosts na komputerze klienckim:
- macOS/Linux:
/etc/hosts
- Windows:
C:\Windows\System32\drivers\etc\hosts
- macOS/Linux:
- Otwórz plik jako administrator i dodaj na końcu linię:
10.0.0.3 servbay.demo
1 - Zapisz plik. Od teraz wpisanie
servbay.demo
w przeglądarce na komputerze-kliencie przekieruje żądania na adres IP hosta.
- Odszukaj plik hosts na komputerze klienckim:
Konfiguracja serwera DNS w sieci LAN: Jeśli Twoja sieć korzysta z własnego serwera DNS (np. DNS w routerze lub dedykowany serwer), możesz dodać rekord typu A dla domeny
servbay.demo
, kierujący na adres IP hosta10.0.0.3
. Dzięki temu wszystkie urządzenia korzystające z tego serwera DNS będą rozpoznawać domenę.
Dystrybucja i instalacja głównego certyfikatu ServBay (SSL)
ServBay wyposażony jest w rozbudowane funkcje PKI, tworząc własny główny certyfikat (ServBay User CA), który podpisuje certyfikaty SSL dla lokalnych stron. Komputer kliencki, uzyskując dostęp do stron HTTPS korzystających z tych certyfikatów, musi zaufać ServBay User CA, by uniknąć komunikatów o braku bezpieczeństwa.
Należy wyeksportować główny certyfikat ServBay User CA, przekazać go użytkownikom w sieci LAN i poinstruować ich, jak zainstalować oraz zaufać temu certyfikatowi w swoim systemie operacyjnym lub przeglądarce.
Szczegółowe instrukcje eksportu i instalacji certyfikatu znajdziesz w dokumentacji ServBay w rozdziale dotyczącym zarządzania certyfikatami SSL – szczególnie w sekcjach eksport certyfikatu i instalacja w systemie/przeglądarce.
Bazy danych
ServBay obsługuje wiele usług bazodanowych, takich jak MySQL, MariaDB, PostgreSQL i MongoDB, a także pamięci w RAM: Redis oraz Memcached. Domyślne ustawienia sieciowe i model uprawnień różnią się w zależności od bazy.
MySQL / MariaDB
W ServBay usługi MySQL i MariaDB domyślnie nasłuchują na wszystkich interfejsach (0.0.0.0
), co pozwala na połączenie z innych komputerów w tej samej sieci LAN.
MySQL/MariaDB mają jednak rygorystyczną kontrolę uprawnień użytkownika. Oprócz konfiguracji sieciowej użytkownik musi posiadać login i hasło oraz uprawnienia do łączenia się z danego adresu IP.
Domyślnie konto root
ma dostęp wyłącznie lokalny (np. z 127.0.0.1
lub localhost
). Aby umożliwić dostęp przez LAN, należy utworzyć nowego użytkownika bazy danych lub zmienić uprawnienia istniejącego tak, by pozwalały na autoryzację z wybranych adresów IP lub dowolnego (przy użyciu %
).
Przykład tworzenia użytkownika servbay-demo
z możliwością łączenia się z dowolnego IP w LAN oraz pełnymi uprawnieniami do wybranej bazy:
sql
-- Załóżmy, że jesteś zalogowany jako root lub użytkownik z odpowiednimi uprawnieniami
CREATE USER 'servbay-demo'@'%' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON `your_database_name`.* TO 'servbay-demo'@'%';
FLUSH PRIVILEGES;
1
2
3
4
2
3
4
Zastąp 'your_strong_password'
i your_database_name
odpowiednimi wartościami.
Ważne: Przyznanie użytkownikowi uprawnień do łączenia się z dowolnego IP (%
) i szerokiego zakresu uprawnień to potencjalne ryzyko bezpieczeństwa. W środowiskach produkcyjnych lub mniej zaufanych sieciach LAN zaleca się ograniczyć adresy IP ('servbay-demo'@'10.0.0.5'
) bądź stosować bezpieczniejsze połączenia (np. VPN).
ServBay umożliwia resetowanie hasła roota MySQL/MariaDB; zarządzanie użytkownikami można wykonać w tym miejscu lub przy pomocy narzędzi klienckich.
Redis
Redis w ServBay domyślnie nasłuchuje wyłącznie na adresie lokalnym (127.0.0.1
), przez co nie jest dostępny w sieci LAN. Jest to zgodne z polityką bezpieczeństwa, ponieważ domyślnie Redis nie wymaga autoryzacji hasłem.
Aby uczynić Redis dostępnym w sieci LAN, należy zmodyfikować plik konfiguracyjny redis.conf
.
Są dwie metody:
1. Przez interfejs ServBay
- Otwórz ServBay, w lewym menu wybierz
Bazy danych
-Redis
- W oknie konfiguracji zaznacz
Require Password
i wprowadź mocne hasło - Kliknij
Zapisz
2. Ręczna edycja pliku redis.conf
(niezalecane)
- Odszukaj ścieżkę do pliku konfiguracyjnego Redis w katalogu ServBay (np.
/Applications/ServBay/etc/redis/redis.conf
). - Otwórz plik tekstowym edytorem.
- Znajdź linię
bind 127.0.0.1
. - Zmień na
bind 0.0.0.0
lub skomentuj (# bind 127.0.0.1
), by Redis nasłuchiwał na wszystkich interfejsach. - [Bardzo ważne] Znajdź linię
requirepass
(być może zakomentowaną), odkomentuj i ustaw mocne hasło:Nigdy nie udostępniaj Redisa w sieci LAN czy Internecie bez skonfigurowania silnego hasła!requirepass your_very_strong_redis_password
1 - Zapisz zmiany w
redis.conf
. - Zrestartuj usługę Redis w ServBay, by wczytać nowe ustawienia.
Klient może teraz połączyć się z Redis używając IP hosta i podanego hasła.
PostgreSQL
Podobnie jak Redis, PostgreSQL w ServBay domyślnie nasłuchuje tylko na adresie lokalnym (127.0.0.1
) i nie akceptuje połączeń z innych urządzeń w sieci LAN.
Aby to zmienić, należy edytować dwa pliki konfiguracyjne: postgresql.conf
i pg_hba.conf
.
Odszukaj pliki (
/Applications/ServBay/etc/postgresql/postgresql.conf
i/Applications/ServBay/etc/postgresql/pg_hba.conf
).Edycja
postgresql.conf
:- Otwórz plik edytorem tekstowym.
- Znajdź linię
listen_addresses
(może być zakomentowana), odkomentuj i ustaw wartość na'*'
:listen_addresses = '*'
1 - Zapisz plik.
Edycja
pg_hba.conf
:- Otwórz plik edytorem.
- Dodaj linię dopuszczającą połączenia z wybranej podsieci (przykład dla
10.0.0.0/24
):# TYPE DATABASE USER ADDRESS METHOD host all all 10.0.0.0/24 md5
1
2TYPE
:host
to połączenie przez TCP/IP.DATABASE
:all
– pozwala na połączenia z wszystkimi bazami (można ograniczyć).USER
:all
– pozwala na połączenia wszystkim użytkownikom (można ograniczyć).ADDRESS
:10.0.0.0/24
– wybrany zakres IP w LAN (możesz ograniczyć do pojedynczego IP lub rozszerzyć, np.0.0.0.0/0
– niezalecane).METHOD
:md5
wymusza hasło w formie hashu MD5 (zalecane dla połączeń zdalnych).
- Zapisz plik.
Zrestartuj usługę PostgreSQL w ServBay, by wczytać nowe ustawienia.
Teraz klienci mogą łączyć się z bazą na hoście przez adres IP w LAN i autoryzowany login + hasło.
ServBay umożliwia reset hasła do konta root
(postgres); zarządzanie użytkownikami można również prowadzić narzędziami klienckimi.
Memcached
Memcached to szybki, rozproszony system pamięci podręcznej działający w RAM, zaprojektowany bardzo minimalistycznie i nieposiadający wbudowanego uwierzytelniania czy autoryzacji.
Zdecydowanie odradzamy wystawianie Memcached na sieć LAN czy, tym bardziej, na Internet, o ile nie są stosowane inne środki ochronne (np. segmentacja sieci, ograniczenia w firewallu).
W ServBay można skonfigurować nasłuchiwanie na adres LAN, jednak należy świadomie zaakceptować wszystkie wiążące się z tym zagrożenia, ponieważ Memcached nie umożliwia ochrony hasłem.
Wskazówki bezpieczeństwa
Udostępnienie środowiska developera w sieci LAN ułatwia współpracę zespołową i testy na różnych urządzeniach, ale wiąże się z ryzykiem bezpieczeństwa. Pamiętaj o następujących zasadach:
- Firewall: Zawsze stosuj firewall do ograniczenia dostępu do otwartych portów ServBay. Zezwalaj tylko wybranym, zaufanym adresom IP w sieci LAN.
- Silne hasła: Ustawiaj silne, trudne do odgadnięcia hasła dla MySQL/MariaDB/PostgreSQL i Redis. Regularnie je zmieniaj.
- Zasada najmniejszych uprawnień: Przydzielaj użytkownikom baz danych tylko niezbędne do pracy uprawnienia. Unikaj używania kont
root
czypostgres
do codziennych połączeń zdalnych. - Bezpieczeństwo Memcached: Powtórzmy – nie wystawiaj Memcached bez odpowiednich zabezpieczeń. Rozważ stosowanie tunelowania SSH lub innych bezpiecznych metod łączności.
- Aktualizacje: Dbaj o aktualność systemu operacyjnego hosta, samego ServBay i wszystkich pakietów – zyskasz aktualizacje i łatki bezpieczeństwa.
Stosując powyższe instrukcje i rekomendacje, możesz bezpiecznie oraz skutecznie udostępniać i wykorzystywać środowisko ServBay w swojej sieci LAN.