Mam komputer z uruchomionym protokołem SSH, do którego chciałbym dać swoim znajomym dostęp, ale nie chcę, aby korzystali z mojego połączenia internetowego przez tunelowanie SSH (chociaż sam chciałbym to zrobić). Czy istnieje sposób, aby mieć dziennik, kiedy tworzone są tunele SSH i za pomocą których (lokalnych) użytkowników, a jeśli nie jest to możliwe, zezwalają na to tylko niektórym użytkownikom?
13
Odpowiedzi:
Jeśli Twoi znajomi są w stanie SSH na twoim komputerze, wykorzystują część twojej przepustowości i dlatego niemożliwe jest całkowite zablokowanie im dostępu do twojego połączenia internetowego.
Biorąc to pod uwagę, jednym rozwiązaniem byłoby ograniczenie tego, co twoi znajomi mogą zrobić z twoim połączeniem. Możesz skonfigurować zaporę ogniową, która umieszcza na białej liście adresy IP twojego znajomego i umieszcza na czarnej liście wszystko inne. W ten sposób Twoi znajomi mogą SSH na twoim komputerze, ale stamtąd nie będą mogli uzyskać żadnego innego adresu IP niż własny.
Nigdy sam nie konfigurowałem zapory ogniowej dla konkretnego użytkownika , ale wierzę, że można to osiągnąć dzięki IPTables . Pamiętaj również, że użytkownicy mogą nadal pochłaniać dużą część przepustowości, przesyłając duże pliki na serwer. Jeśli chcesz temu zapobiec, musisz ograniczyć przepustowość na użytkownika .
źródło
Chcesz się upewnić, że plik / etc / ssh / sshd_config zawiera
a następnie na końcu umieszczenia pliku
To pozwoli Tobie i tylko Tobie na przesłanie zawartości do twojego serca, ale jak powiedział João, nie będziesz w stanie uniemożliwić im uruchamiania własnych programów, chyba że wyłączysz również dostęp do powłoki.
źródło
Pamiętaj, że chociaż możesz wyłączyć przekazywanie TCP przez sshd, musisz pójść o wiele dalej, aby ograniczyć aktywność wychodzącą użytkowników. Dawanie im muszli oznacza dawanie im dużej mocy.
Na przykład, jeśli potrafią scpować pliki na serwer i wykonywać pliki w / home, mogą po prostu przesłać plik binarny pppd i użyć go do uruchomienia PPP przez SSH. Jeśli zezwolisz na połączenia przychodzące, mogą one po prostu uruchomić
/usr/sbin/sshd -p 9999 -f special_sshd_config
serwer i korzystać z niego za pośrednictwem tego sshd.Możesz zajrzeć do modułu właściciela iptables (man iptables, szukaj właściciela) i więzień chroot, ale jest to naprawdę trudne do rozwiązania bez zniszczenia ich doświadczenia z powłoką.
źródło
Jedyną opcją, którą mam, jest wyłączenie tunelowania na poziomie systemu.
Edytuj / etc / ssh / sshd_config i zmień / dodaj
Pamiętaj, że mając dostęp do powłoki, nie ma sposobu, aby uniemożliwić użytkownikom używanie własnych plików binarnych do przekazywania połączeń.
źródło
Ten został poproszony o ServerFault też /server/181660/how-do-i-log-ssh-port-forwards i tam patch: http://blog.rootshell.be/2009/ 03/01 / keep-an-eye-on-ssh-forwarding /
źródło
Pierwsza iteracja:
Wyłącz dla nich przekazywanie ssh. w ssh
Państwo włączyć IPSec VPN dla siebie i dla swojego serwera. IPSec jest na poziomie sieci, więc ustawienia aplikacji SSH nie mają na niego wpływu.
źródło