Bądź na bieżąco - RSS

Jak używać SSH jako VPN: przewodnik po Shuttle

24 lutego, 2024 | Brak Komentarzy | Kategoria: Linux, MacOS, Porady
Suttle

Termin “Poor Man’s VPN” często odnosi się do prostych, niestandardowych rozwiązań służących do tworzenia wirtualnych sieci prywatnych (VPN), które nie wykorzystują dedykowanego oprogramowania VPN. Zamiast tego mogą używać innych technologii, takich jak SSH (Secure Shell), do tworzenia zabezpieczonych tuneli przez Internet.

SSH jest często wykorzystywane do tworzenia prostych VPNów, ponieważ umożliwia szyfrowane połączenie między dwoma punktami w sieci. Przykładowo, można przekierować ruch z lokalnego komputera przez zdalny serwer SSH, co zadziała podobnie jak VPN, dzięki tunelowaniu ruchu sieciowego i umożliwi bezpieczny dostęp do zasobów sieciowych.

Shuttle to narzędzie działające jako transparentny serwer proxy, służący jako prosty zamiennik VPN. Działa poprzez przekierowanie ruchu za pomocą SSH. Nie wymaga uprawnień administratora i jest kompatybilne z Linuxem i MacOS. Ponadto obsługuje tunelowanie DNS, co jest istotne w kontekście przekierowania całego ruchu przez łącze VPN. Można go zainstalować na wiele sposobów, w tym przez menedżery pakietów w różnych dystrybucjach Linuxa, PyPI, Homebrew, a także bezpośrednio z kodu źródłowego. Dokumentacja jest dostępna online, a sshuttle może być również konfigurowany jako usługa.

Przykład użycia komendy sshuttle do przekierowania całego ruchu z lokalnego komputera przez połączenie SSH wraz z przekazywaniem zapytań DNS wygląda następująco:

sshuttle -r username@remote_host 0/0 -vv --dns

W powyższym poleceniu:

  • -r username@remote_host określa zdalnego użytkownika i host, przez który ma być przekierowany ruch.
  • 0/0 oznacza, że cały ruch ma być przekierowany.
  • -vv włącza tryb szczegółowych informacji (verbose).
  • --dns oznacza, że zapytania DNS również będą przekierowywane przez połączenie SSH.

Więcej informacji i opcji konfiguracyjnych można znaleźć w dokumentacji sshuttle dostępnej na GitHubie.

G

Tagi: , , , ,

Jak ograniczyć liczbe równoczesnych połączeń z serwerem SSH

3 maja, 2013 | Brak Komentarzy | Kategoria: Linux, Porady, Windows

SSHObecnie sieci VPN są zagadnieniem powszechnie znanym, szeroko komentowanym i zalecanym we wdrożeniach biznesowych. Istnieje cała masa gotowych rozwiązań sprzętowych, na poziomie aplikacji itp. Praktycznie każdy administrator może sam, według uznania, wybrać wygodne narzędzie. Różnią się one algorytmami, wymaganiami oraz niestety ceną. Czy można zbudować skalowalny dostęp VPN do firmy, który nie będzie wymagał dużych środków finansowych? Jednym z szeroko ostatnio polecanych rozwiązań jest VPN z wykorzystaniem serwera SSH. Elementami tej techniki są m. in.: (a) serwer dostępowy, zrealizowany np. jako sewer Linux z demonem SSHD oraz (b) aplikacja kliencka, która potrafi zestawić szyfrowany tunel np. Bitwise Tunellier.

Jeden z problemów, związanych z opisywanym tunelem SSL polega na tym, że klient może kreować równocześnie wiele połączeń, korzystających w tym samym czasie, z tego samego konta dostępowego. Być może nie jest to rzecz dyskwalifikująca całość, jednak w codziennej praktyce administratorskiej może utrudniać życie. W końcu chcemy aby logi systemowe były jasne i przejrzyste – słowem czytelne. Najlepiej aby jedno połączenie, czyli wspomniany tunel SSL, było przypisane tylko i wyłączenie do jednego konta.

Przykładowe rozwiązanie dla systemu Linux, z serwerem dostępowym bazującym na dystrybucji Debian Squeeze, polega na odpowiedniej modyfikacji pliku ‘/etc/security/limits.conf‘. Zawiera on m. in. defincje dotycząca liczby równoczesnych sesji SSH dla jednego konta dostępowego. W opisywanym rozwiązaniu należy dodać następującą linie przed znacznikiem ‘# End of file‘:

@sshlimited     -       maxlogins       1

I to wszystko, jak zwykle w przypadku Linuxa, krótko i na temat 🙂

MG

Tagi: , , , , ,