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 port 6380 na port 6379 serwera 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ę?

  1. Szyfrowanie: Cały ruch między Tobą a Redisem jest szyfrowany przez SSH.
  2. Brak otwartych portów: Skanery portów nie wykryją Redisa na Twoim VPS.
  3. 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.