REDIS TUNEL SSH
Na serwerze produkcyjnym użycie tunelu SSH to najbezpieczniejsza metoda, ponieważ pozwala całkowicie zamknąć port 6379 dla świata w firewallu. Redis „myśli”, że łączysz się lokalnie.
Oto jak to skonfigurować krok po kroku:
1. Przygotowanie serwera VPS
Wróć do pliku /etc/redis/redis.conf i upewnij się, że Redis słucha tylko na localhost:
text
bind 127.0.0.1
Używaj kodu z rozwagą.
Następnie zamknij port 6379 w firewallu (jeśli go wcześniej otwierałeś):
bash
sudo ufw delete allow 6379/tcp
Używaj kodu z rozwagą.
Teraz Redis jest całkowicie niedostępny z zewnątrz.
2. Tworzenie tunelu z Twojego komputera
Uruchom poniższą komendę na swoim lokalnym komputerze (nie na VPS):
bash
ssh -L 6380:127.0.0.1:6379 user@ip-twojego-vps -N
Używaj kodu z rozwagą.
Co robi ta komenda?
-L 6380:127.0.0.1:6379: Przekierowuje Twój lokalny port6380na port6379serwera VPS.user@ip-twojego-vps: Twoje dane logowania do serwera.-N: Mówi SSH, aby nie uruchamiało zdalnej powłoki (tylko tunelowanie).
3. Łączenie się z Redisem przez tunel
Teraz Twoja aplikacja lub narzędzie CLI może połączyć się z Redisem, celując w Twój własny komputer na port 6380:
bash
# Jeśli masz ustawione hasło w redis.conf:
redis-cli -p 6380 -a TwojeHaslo
Używaj kodu z rozwagą.
Dlaczego to jest lepsze na produkcję?
- Szyfrowanie: Cały ruch między Tobą a Redisem jest szyfrowany przez SSH.
- Brak otwartych portów: Skanery portów nie wykryją Redisa na Twoim VPS.
- Uwierzytelnianie kluczem: Możesz logować się do tunelu za pomocą bezpiecznych kluczy SSH zamiast hasła.
Pro-tip: Tunel w tle
Jeśli chcesz, aby tunel działał stale w tle, użyj flagi -f:
bash
ssh -fN -L 6380:127.0.0.1:6379 user@ip-twojego-vps
TESTOWANIE
Jeśli masz uruchomiony tunel SSH (zgodnie z poprzednim krokiem), Twój Windows „widzi” Redisa na porcie 6380. Możesz sprawdzić, czy port jest aktywny komendą:
powershell
Test-NetConnection -ComputerName 127.0.0.1 -Port 6380
Jeśli w linii TcpTestSucceeded zobaczysz True, oznacza to, że tunel działa i połączenie do serwera jest zestawione.