Jak zabezpieczyć Ubuntu dla nietechnicznego użytkownika? (Twoja mama)
12
Moja mama będzie podróżować przez jakiś czas i muszę zapewnić jej bezpieczny laptop, aby mogła pracować. Laptop z systemem Windows nie wchodzi w rachubę, ponieważ:
zaloguje się do podejrzanych hotelowych sieci bezprzewodowych i sieci konferencyjnych
cena licencji systemu Windows na instalację na netbooku
Zainstalowałem na nim libreoffice, odtwarzacze multimedialne i Skype. Włączyłem także SSH, abym mógł interweniować, ale martwię się, że nie będę w stanie tego zrobić.
Możliwe zagrożenia:
przeglądanie stron internetowych
Pamięci USB
niepewne sieci podatne na włamania
złośliwe oprogramowanie
Słabości SSH / VNC
Luki w Skype
Wszystkie przewodniki dotyczące „ zabezpieczania Ubuntu” zakładają, że użytkownik ma pewien poziom wiedzy technicznej, ale ogólnie nie dotyczy to matek. Jeśli złośliwe oprogramowanie może uzyskać dostęp nawet na poziomie użytkownika, może zagrozić jego plikom.
Najważniejszą rzeczą, którą możesz zrobić, aby zabezpieczyć ten komputer, jest regularne aktualizowanie pakietów. Chciałbym włączyć w pełni automatyczne aktualizacje (https://help.ubuntu.com/community/AutomaticSecurityUpdates), o ile potencjał gwałtownego wykorzystania sieci podczas połączenia z podejrzanym hotelowym WiFi nie stanowi poważnego problemu.
Po tym myślę, że jedynym dużym problemem jest VNC. Jeśli serwer VNC działa stale, jest to prawdopodobnie największy potencjalny problem bezpieczeństwa w systemie (SSH ma podobny zakres, ale domyślnie jest uważany za bezpieczniejszy). Jeśli potrzebujesz zainstalowanego VNC i chcesz, aby działał cały czas, prawdopodobnie nie możesz nic z tym zrobić - działa albo nie, i nie możesz wiele zrobić, aby zabezpieczyć proces, który kontroluje dane wejściowe / wyjście jak robi VNC. Ale jeśli nie potrzebujesz go cały czas włączać, po prostu wyłącz go. W razie potrzeby możesz uruchomić go ręcznie za pośrednictwem SSH.
Tak długo, jak wasze pakiety są aktualne, nie martwiłbym się przeglądaniem stron internetowych, pamięciami USB, złośliwym oprogramowaniem lub lukami SSH. Komputery stacjonarne / notebooki z systemem Linux nie są dla nich częstym celem, a Ubuntu jest dość dobrze zahartowane z założenia. Nawet jeśli nie zrobisz nic specjalnego, aby zabezpieczyć się przed tymi lukami, system Ubuntu będzie mniej narażony na atak niż komputer z systemem Windows, na którym działa nawet całkiem dobre oprogramowanie zabezpieczające.
Skype niekoniecznie jest bezpieczny, ale nie działa z podwyższonymi uprawnieniami i niewiele można zrobić, aby go zabezpieczyć, biorąc pod uwagę stan wersji Linux Linux. Pamiętaj tylko, że Skype dla systemu Linux nie jest zbyt stabilny ani funkcjonalny i nie był używany od dłuższego czasu. To powiedziawszy, używam go przez cały czas w celach biznesowych, a po przyzwyczajeniu się do jego dziwactw było to wystarczające.
SSH nie będzie działać, jeśli będzie w hotelowej (lub innej) sieci LAN, ponieważ nie będzie sposobu, aby dotrzeć do swojej maszyny bez kontrolowania routera ...
laurent
@laurent czy to zagrozi bezpieczeństwu SSH?
Gil
@Gil Otwarcie portu SSH w Internecie jest zawsze problemem, a jeśli twoja mama jest w sieci LAN (pokoje hotelowe lub konferencyjne), nawet przy otwartym porcie nie będziesz w stanie uzyskać dostępu do jej komputera, ponieważ adres IP (jeśli go znasz) na przykład z przeglądarki zespołu) zostaną powiązane z routerem LAN i nie będą przekazywane do komputera mamy. Więc nie będziesz w stanie połączyć się z jej komputerem w ten sposób (ale zrobią to inni w hotelowej sieci LAN). Myślę więc, że nie jest to działające rozwiązanie i jest niebezpieczne. Myślę, że sposób, w jaki odpowiedziałem za pomocą VPN, to jedyny prosty sposób, aby zawsze i bez wysokiego ryzyka dotrzeć do jej komputera.
laurent
Istnieje coś takiego jak „reverse ssh”, w którym połączenie jest inicjowane przez hosta - w tym przypadku twoją matkę - i może być spakowane w skrypcie i umieszczone na pulpicie, aby użytkownik mógł z niego korzystać w sytuacjach awaryjnych . Nie znam jednak szczegółów tego podejścia, ponieważ sam nigdy nie musiałem go stosować.
Andrew G.
3
Najważniejszym zagrożeniem bezpieczeństwa dla wojowników drogowych jest niezabezpieczone połączenie sieciowe (publiczne Wi-Fi), które umożliwia odczytanie niezaszyfrowanego ruchu przez osoby trzecie lub ataki typu man-in-the-middle na zaszyfrowany ruch.
Jedynym sposobem na obejście tego jest użycie VPN. Jeśli posiadasz serwer, po prostu skonfiguruj na nim VPN. PPTP lub OpenVPN są łatwe do skonfigurowania, a przynajmniej ten pierwszy jest obsługiwany od razu po wyjęciu z pudełka przez prawie wszystko (Linux, Mac, Win, iPhone, Android, jak to nazywasz).
Do zdalnej pomocy polecam Teamviewer. Działa z każdego miejsca i za każdą zaporą ogniową.
To moja matka. Nie ma mowy, żeby za każdym razem łączyła się z VPN.
Gil
3
@Gil: Ubuntu pozwala zautomatyzować ten proces, o ile masz „stałego” zewnętrznego dostawcę VPN. Na przykład możesz ustawić regułę łączenia się z VPN za każdym razem, gdy używana jest sieć WLAN, podczas gdy normalna przewodowa sieć LAN nie wyzwala takiego zachowania. +1 za odpowiedź, btw.
0xC0000022L
2
Co z dostępem do UMTS / LTE? Chroniłby przed wąchaniem i pozwolił SSH. Jest bardzo łatwy w konfiguracji. Będziesz musiał nauczyć mamę, jak zdobyć jej adres IP lub uzyskać podobne do dyndns rozwiązanie. To oczywiście kwestia ceny i zasięgu.
Powinieneś także użyć czegoś takiego jak sshguard, aby upewnić się, że automatyczne boty itp. Nie będą mogły się zalogować.
http://www.sshguard.net/
SSHGuard zablokuje jedną nieudaną próbę logowania do 5 lub 15 (nie pamiętam, która) minut na początku i wzrośnie wykładniczo po kolejnych nieudanych próbach logowania. Mam w tym przypadku pseudonimy.
alias ssh-add='\ssh-add -D && \ssh-add '
(Więc ssh-agent nie będzie zawierał zbyt wielu kluczy i z tego powodu zawiedzie)
alias sshguard-show-bans='sudo iptables -L sshguard --line-numbers'
(Aby zobaczyć zakazy dodane przez sshguarda)
alias sshguard-unban='sudo iptables -D sshguard '
(Aby łatwo odblokować adres IP. Użyj sshguard-unban number_from_sshguard_show_bans)
VNC można tunelować za pomocą SSH. W ~ / .ssh / config jest to mniej więcej tak:
Host lan-weibef
Port 8090
User mkaysi
hostname compaq-mini.local
LocalForward 127.0.0.1:8090 127.0.0.1:5900
Ostatnia linia przekazuje port 5900 (VNC) do portu hosta lokalnego 8090, aby więc połączyć się ze zdalnym serwerem, powiedz klientowi VNC, aby nawiązał połączenie z hostem lokalnym 8090. (Przed „Portem” „Użytkownik” „nazwa hosta” i „LocalForward” są 4 spacje
Jeśli potrzebujesz użyć ssh (myślę, że musisz to naprawić ... :)) zainstaluj serwer openVPN na swoim komputerze, a na nim klienta (i automatyczne / stałe połączenie). Jeśli twoje IP jest dynamiczne, potrzebujesz dynamicznego DNS (na przykład dnsexit.com). W ten sposób będziesz w stanie dotrzeć do jej maszyny wszędzie za pomocą tunelu (nawet jeśli jesteś w sieci LAN w hotelu, w którym nie będziesz mógł korzystać z SSH w inny sposób, zwykle ponieważ nie kontrolujesz routera, do którego jest podłączony, tylko VNC lub przeglądarka zespołu, a to oznacza, że serwer VNC jest zawsze online ...). Zezwalaj na połączenia SSH i VNC (lub podobne) tylko w podsieci openvpn (i tylko Ty będziesz mógł się z nimi połączyć).
Nie zapomnij skonfigurować iptables do blokowania wszystkiego z zewnątrz, w tym wszystkich podsieci sieci lokalnych (dla niepewnych hotelowych sieci LAN) z wyjątkiem podsieci openvpn (i nie używaj domyślnej :)).
Użyj VNC lub dowolnego zdalnego pulpitu, który chcesz przez tunel, i powinieneś być bezpieczny.
AKTUALIZACJA po tym, jak zobaczyłem twój komentarz na temat ustawiania VPN za każdym razem: Możesz uruchomić VPN przy rozruchu i pozwolić mu w ten sposób. Kiedy twoje urządzenie nie jest w trybie online lub twoja matka nie ma połączenia z Internetem, połączenie nie powiedzie się i będzie próbować co x minut (ustawiłeś). Kiedy oba komputery będą w porządku, połączenie się powiedzie, więc będzie miała stałe połączenie bez robienia czegokolwiek (na przykład 2 oddziały). Innym sposobem może być utworzenie małego skryptu uruchamiającego openvpn i umieszczenie ikony na pulpicie, ale ona musi być w sudoers, aby wykonać skrypt, który moim zdaniem, i musi pamiętać, aby kliknąć ikonę. Z tego powodu wolałbym pierwszy sposób ze stałym połączeniem. Trzeba tylko zwrócić uwagę, aby nie przekierowywać całego jej ruchu przez VPN w konfiguracji.
Najważniejszym zagrożeniem bezpieczeństwa dla wojowników drogowych jest niezabezpieczone połączenie sieciowe (publiczne Wi-Fi), które umożliwia odczytanie niezaszyfrowanego ruchu przez osoby trzecie lub ataki typu man-in-the-middle na zaszyfrowany ruch.
Jedynym sposobem na obejście tego jest użycie VPN. Jeśli posiadasz serwer, po prostu skonfiguruj na nim VPN. PPTP lub OpenVPN są łatwe do skonfigurowania, a przynajmniej ten pierwszy jest obsługiwany od razu po wyjęciu z pudełka przez prawie wszystko (Linux, Mac, Win, iPhone, Android, jak to nazywasz).
Do zdalnej pomocy polecam Teamviewer. Działa z każdego miejsca i za każdą zaporą ogniową.
źródło
Co z dostępem do UMTS / LTE? Chroniłby przed wąchaniem i pozwolił SSH. Jest bardzo łatwy w konfiguracji. Będziesz musiał nauczyć mamę, jak zdobyć jej adres IP lub uzyskać podobne do dyndns rozwiązanie. To oczywiście kwestia ceny i zasięgu.
źródło
Powinieneś uruchomić firewall (ufw) i zezwolić tylko na porty, które są otwarte (22 SSH). https://help.ubuntu.com/community/UFW Jeśli potrzebujesz GUI z ufw, jest GUFW. https://help.ubuntu.com/community/Gufw
Powinieneś także użyć czegoś takiego jak sshguard, aby upewnić się, że automatyczne boty itp. Nie będą mogły się zalogować. http://www.sshguard.net/ SSHGuard zablokuje jedną nieudaną próbę logowania do 5 lub 15 (nie pamiętam, która) minut na początku i wzrośnie wykładniczo po kolejnych nieudanych próbach logowania. Mam w tym przypadku pseudonimy.
(Więc ssh-agent nie będzie zawierał zbyt wielu kluczy i z tego powodu zawiedzie)
(Aby zobaczyć zakazy dodane przez sshguarda)
(Aby łatwo odblokować adres IP. Użyj sshguard-unban number_from_sshguard_show_bans)
Powinieneś również powiedzieć SSHd, aby nie zezwalał na logowanie za pomocą hasła (opcjonalne, ale zalecane. Jeśli tego nie zrobisz, użyj przynajmniej sshguard lub alternatywy dla niego) https://help.ubuntu.com/11.10/serverguide/C/ openssh-server.html
VNC można tunelować za pomocą SSH. W ~ / .ssh / config jest to mniej więcej tak:
Ostatnia linia przekazuje port 5900 (VNC) do portu hosta lokalnego 8090, aby więc połączyć się ze zdalnym serwerem, powiedz klientowi VNC, aby nawiązał połączenie z hostem lokalnym 8090. (Przed „Portem” „Użytkownik” „nazwa hosta” i „LocalForward” są 4 spacje
źródło
Bądź na bieżąco (automatycznie).
Jeśli potrzebujesz użyć ssh (myślę, że musisz to naprawić ... :)) zainstaluj serwer openVPN na swoim komputerze, a na nim klienta (i automatyczne / stałe połączenie). Jeśli twoje IP jest dynamiczne, potrzebujesz dynamicznego DNS (na przykład dnsexit.com). W ten sposób będziesz w stanie dotrzeć do jej maszyny wszędzie za pomocą tunelu (nawet jeśli jesteś w sieci LAN w hotelu, w którym nie będziesz mógł korzystać z SSH w inny sposób, zwykle ponieważ nie kontrolujesz routera, do którego jest podłączony, tylko VNC lub przeglądarka zespołu, a to oznacza, że serwer VNC jest zawsze online ...). Zezwalaj na połączenia SSH i VNC (lub podobne) tylko w podsieci openvpn (i tylko Ty będziesz mógł się z nimi połączyć).
Nie zapomnij skonfigurować iptables do blokowania wszystkiego z zewnątrz, w tym wszystkich podsieci sieci lokalnych (dla niepewnych hotelowych sieci LAN) z wyjątkiem podsieci openvpn (i nie używaj domyślnej :)).
Użyj VNC lub dowolnego zdalnego pulpitu, który chcesz przez tunel, i powinieneś być bezpieczny.
AKTUALIZACJA po tym, jak zobaczyłem twój komentarz na temat ustawiania VPN za każdym razem: Możesz uruchomić VPN przy rozruchu i pozwolić mu w ten sposób. Kiedy twoje urządzenie nie jest w trybie online lub twoja matka nie ma połączenia z Internetem, połączenie nie powiedzie się i będzie próbować co x minut (ustawiłeś). Kiedy oba komputery będą w porządku, połączenie się powiedzie, więc będzie miała stałe połączenie bez robienia czegokolwiek (na przykład 2 oddziały). Innym sposobem może być utworzenie małego skryptu uruchamiającego openvpn i umieszczenie ikony na pulpicie, ale ona musi być w sudoers, aby wykonać skrypt, który moim zdaniem, i musi pamiętać, aby kliknąć ikonę. Z tego powodu wolałbym pierwszy sposób ze stałym połączeniem. Trzeba tylko zwrócić uwagę, aby nie przekierowywać całego jej ruchu przez VPN w konfiguracji.
źródło