Czy bezpieczniej jest używać więzienia chroot, osłony więzienia lub kombinacji?

9

Moja przyjaciółka ma netbooka Acer opartego na xandrosie i szukała ode mnie trochę zdalnej administracji i pomocy podczas podróży dookoła świata.
Założyłem konto na jej netbooku, w którym mam ssh, i skonfigurowałem skrypt do odwrotnego tunelowania ssh z jej netbooka na mój serwer - to pozwala mi obejść problemy z zaporami ogniowymi itp. W różnych hostelach i hotelach. Kiedy już ssh'uje się na mój serwer, mogę ssh razem z jej netbookiem.

Mam skrypt bash, który jest uruchamiany jako jej powłoka, gdy ssh'es na mój serwer, co po prostu daje jej ekran typu „proszę czekać”, a jedyną opcją jest wyjście ze skryptu, a tym samym uruchomienie z serwera.

Użytkownik, który stworzyłem dla niej na moim serwerze, ma niskie prawa, ale na pewno będzie jakiś exploit, który oznaczałby, że miałaby dostęp ssh do mojego serwera.

Zastanawiam się również nad skorzystaniem z więzienia chroot, więc jeśli ucieknie, będzie miała dostęp tylko do swojego katalogu domowego.
Czy to dobry pomysł i czy są jakieś inne wskazówki bezpieczeństwa, których mogłem przeoczyć, aby zabezpieczyć mój serwer, a jednocześnie umożliwić mi zdalny dostęp do jej netbooka?

Aby to wyjaśnić, nie sądzę, by próbowała uciec z więzienia lub chroota, ale chciałbym wiedzieć, jak mogę temu zapobiec na wszelki wypadek.

Aktualizacja:
Czy masz jakieś sugestie dotyczące sposobu dostępu do netbooka lub innych warstw, które można umieścić między użytkownikiem a moim sprzętem?

Andy
źródło

Odpowiedzi:

3

Czy zastanawiałeś się nad skonfigurowaniem VNC lub innej aplikacji do zdalnego sterowania na porcie, który zwykle nie jest filtrowany przez zaporę ogniową według reguł?

Przykładowa konfiguracja tego spowoduje załadowanie VNC (lub innej podobnej aplikacji) na notebooku. Następnie uruchom skrypt po stronie notebooka, aby dotrzeć do serwera przez określony port, który nie będzie filtrowany przez zaporę ogniową w celu ustalenia ścieżki powrotu do systemu. 443 jest prawdopodobnie najlepszym portem do tego celu, ale inne są również odpowiednie. Następnie ze swojego systemu po prostu łączysz się z VNC albo bezpośrednio, albo replikujesz port na serwerze na inny numer portu i po prostu łączysz się z interfejsem na porcie lokalnym, a przekierowanie portu zajmie się przeniesieniem Cię do innego systemu na zdalnym końcu.

Mam nadzieję że to pomoże.

Axxmasterr
źródło
Dzieki za sugestie. Nie zastanawiałem się nad tym, ponieważ tak naprawdę nie widziałem wielu klientów VNC w systemie Linux, które sprawiają, że odwrotne połączenie jest oczywiste w systemie Linux. Wiesz coś o jakimś?
Andy,
Jednym ze sposobów na to jest użycie programu TCP / IP, który jest w stanie ustalić port w jedną stronę. Zautomatyzowanie tego za pomocą połączenia telnet ze skryptu powłoki przydałoby się. Większość implementacji usługi Telnet pozwala określić port, z którym próbujesz się połączyć.
Axxmasterr
2

Więzienie chroot pomoże, ale dzięki exploitowi, który wpuściłby kogoś do powłoki, nadal mogliby zobaczyć tabelę procesów i takie, i uruchamiać programy, prawdopodobnie dalsze exploity. Jeśli chcesz być naprawdę agresywny w izolowaniu zewnętrznego użytkownika, to rodzaj haubicy na mrówce, ale możesz skonfigurować wirtualny prywatny serwer dla całego mechanizmu tunelu ssh. Najgorsze, co mogą zrobić, to zniszczyć VPS, wykluczając możliwość wyrwania się z jednego, co jest dość wysokim paskiem.

chaos
źródło
Podoba mi się ten pomysł, ale tak, walec parowy do zgryzienia orzecha włoskiego :) Z drugiej strony, jeśli uruchomię coś naprawdę małego, jak na przykład Linux-Linuks, jak serwer, to nie byłby tak duży walec parowy.
Andy,
2

Jestem fanem dobrej strategii głębokiej obrony , jeśli chodzi o zabezpieczanie systemu komputerowego, dlatego polecam korzystanie z konta o niskich uprawnieniach w chrootowanym systemie plików, a nawet wtedy nie ma gwarancji, wystarczy spojrzeć na iPhone'a, robi obie te rzeczy i nadal nie pomaga.

Bruce McLeod
źródło
2

Innym sposobem na skórowanie tego zwierzęcia teraz, gdy o nim myślę, jest tunelowanie ruchu sesji x wewnątrz tunelu SSH jako alternatywa dla używania VNC. Jesteś już w połowie drogi z obecną konfiguracją.

Ustaw zdolność X na określonym porcie lokalnie na tym komputerze, a następnie przekieruj ten port do siebie przez tunel, a następnie zreplikuj go do portu po swojej stronie, abyś mógł połączyć się z sesją na porcie lokalnym na serwerze.

Kolejną rzeczą, którą znalazłem, która jest całkowicie przydatna w tego rodzaju sprawach, jest dynamiczny DNS. Umożliwi to ustawienie rozpoznawalnej nazwy FQDN, do której można wysyłać zapytania, gdy zajdzie taka potrzeba. DyDns działa jako lekka usługa w systemie, w którym jest zainstalowany, i aktualizuje rekord przy każdej zmianie informacji o adresie IP.

Axxmasterr
źródło