Как обезопасить Ubuntu для нетехнического пользователя? (твоя мама)

12

Моя мама будет путешествовать некоторое время, и я должен предоставить ей безопасный ноутбук, чтобы она могла работать. О ноутбуке Windows не может быть и речи, потому что:

  • она будет входить в беспроводные сети и конференц-сети

  • цена лицензии windows для установки на нетбук

Я установил libreoffice, медиаплееры и Skype. Также включен SSH, поэтому я могу вмешаться, но я боюсь, что не смогу сделать это.

Возможные угрозы:

  • просмотр веб-страниц

  • Флешки

  • небезопасные сети, подверженные вторжениям

  • вредоносные программы

  • Уязвимости SSH / VNC

  • Уязвимости в Skype

Все руководства по защите Ubuntu предполагают, что пользователь обладает определенным уровнем технических знаний, но это не относится к мамам в целом. Если вредоносная программа может получить доступ даже на уровне пользователя, это может поставить под угрозу ее файлы.

Гил
источник

Ответы:

10

Первое, что вы можете сделать, чтобы обеспечить безопасность этого компьютера, - это регулярно обновлять пакеты. Я бы включил полностью автоматические обновления (https://help.ubuntu.com/community/AutomaticSecurityUpdates) до тех пор, пока потенциальная возможность разрыва сетевого использования при подключении к Wi-Fi в изворотливом отеле не является серьезной проблемой.

После этого, я думаю, единственной большой проблемой является VNC. Если VNC-сервер работает постоянно, это, вероятно, самая большая потенциальная проблема безопасности в системе (SSH аналогичен по объему, но по умолчанию считается более безопасным). Если вам нужен установленный VNC и он должен работать постоянно, то, вероятно, вы ничего не можете с этим поделать - он либо запущен, либо нет, и вы мало что можете сделать, чтобы обезопасить процесс, который контролирует ввод / вывод, как VNC. Но если вам не нужно, чтобы он был включен постоянно, просто отключите его. Вы можете запустить его вручную через SSH, если вам нужно.

Пока ваши пакеты обновлены, я не буду беспокоиться о просмотре веб-страниц, USB-флешках, вредоносных программах или уязвимостях SSH. Настольные компьютеры / ноутбуки Linux не являются для них обычной целью, и Ubuntu довольно хорошо защищена своим дизайном. Даже если вы не сделаете ничего особенного, чтобы обезопасить себя от этих уязвимостей, система Ubuntu будет менее подвержена риску, чем машина Windows, на которой запущено даже довольно хорошее программное обеспечение безопасности.

Skype не обязательно является безопасным, но он не работает с повышенными привилегиями, и вы не можете многое сделать для его обеспечения, учитывая состояние версии Linux linux. Просто имейте в виду, что Skype для Linux не очень стабилен и не функционирует, и над ним давно не работали. Тем не менее, я все время использую его в деловых целях, и после того, как привык к его причудам, это было достаточно.

Андрей Григорьевич
источник
2
я думаю, что зритель команды лучше, чем vnc
One Zero
1
SSH не будет работать, если она находится в гостиничной (или любой другой) локальной сети, потому что не будет возможности связаться с ней без управления маршрутизатором ...
Laurent
@laurent будет ли это ставить под угрозу безопасность SSH?
Гил
@Gil Открытие порта SSH в Интернете - всегда проблема, и если ваша мама находится в локальной сети (в отеле или в конференц-зале), даже если порт открыт, вы не сможете получить доступ к ее компьютеру из-за IP (если вы его знаете). например, от Team Viewer) будет связан с маршрутизатором локальной сети и не будет пересылаться на компьютер вашей мамы. Таким образом, вы не сможете подключиться к ее компьютеру таким образом (но другие в локальной сети отеля будут). Поэтому я думаю, что это не рабочее решение и это опасно. Я думаю, что ответ на вопрос с помощью VPN - это единственный простой способ связаться с ее компьютером всегда и без высокого риска.
Лоран
Существует такая вещь, как «обратный ssh», когда соединение инициируется хостом - в данном случае вашей матерью - и это может быть упаковано в сценарий и помещено на рабочий стол для использования пользователем в чрезвычайных ситуациях. , Я не знаю никаких деталей об этом подходе, так как мне никогда не приходилось использовать его самому.
Эндрю Г.
3

Самая важная угроза безопасности для дорожных воинов - это незащищенное сетевое соединение (общедоступный WiFi), которое позволяет незашифрованному трафику читать третьи стороны или атаке посредника на зашифрованный трафик.

Единственный способ обойти это - использовать VPN. Если у вас есть сервер, просто настройте VPN на нем. PPTP или OpenVPN легко настраиваются, и, по крайней мере, первый поддерживается практически всеми (Linux, Mac, Win, iPhone, Android, как вы это называете).

Для удаленной поддержки я бы порекомендовал Teamviewer. Работает везде и за каждым брандмауэром.

mniess
источник
2
Это моя мама. Нет никакого способа, которым она собирается устанавливать vpn каждый раз, когда она соединяется.
Гил
3
@Gil: Ubuntu позволяет автоматизировать этот процесс, если у вас есть «фиксированный» внешний поставщик для VPN. Например, вы можете настроить правило для подключения к VPN при использовании WLAN, тогда как обычная проводная локальная сеть не будет запускать такое поведение. +1 за ответ, кстати.
0xC0000022L
2

А как насчет доступа UMTS / LTE? Это защитит от нюхания и позволит SSH. Это стало действительно легко настроить. Вы должны научить свою маму, как получить ее IP или получить решение, похожее на dyndns. Это вопрос цены и покрытия, конечно.

user35538
источник
1

Вы должны запустить брандмауэр (UFW) и разрешить только порты, которые должны быть открыты (22 SSH). https://help.ubuntu.com/community/UFW Если вам нужен графический интерфейс с UFW, есть GUFW. https://help.ubuntu.com/community/Gufw

Вы также должны использовать что-то вроде sshguard, чтобы гарантировать, что автоматические боты и т. Д. Не смогут войти в систему. http://www.sshguard.net/ SSHGuard запретит одну неудачную попытку входа в систему до 5 или 15 (я не помню, какой) минут вначале и будет увеличиваться экспоненциально после новых неудачных попыток входа. У меня есть псевдонимы, чтобы помочь в этом случае.

alias ssh-add='\ssh-add -D && \ssh-add '

(Таким образом, ssh-agent не будет содержать слишком много ключей и не сможет работать из-за этого)

alias sshguard-show-bans='sudo iptables -L sshguard --line-numbers'

(Чтобы увидеть запреты, которые добавил sshguard)

alias sshguard-unban='sudo iptables -D sshguard '

(Чтобы легко разблокировать IP-адрес. Использование sshguard-unban number_from_sshguard_show_bans)

Вы также должны указать SSHd не разрешать вход с паролем (необязательно, но рекомендуется. Если вы этого не сделаете, используйте хотя бы sshguard или альтернативу ему) https://help.ubuntu.com/11.10/serverguide/C/ OpenSSH-server.html

VNC может быть туннелирован с SSH. В ~ / .ssh / config это примерно так:

Host lan-weibef   
    Port 8090                                                                                                                                                     
    User mkaysi                                                                                                                                      
    hostname compaq-mini.local                                                                                                                      
    LocalForward 127.0.0.1:8090 127.0.0.1:5900

В последней строке порт 5900 (VNC) перенаправляется на порт 8090 локального хоста, поэтому для подключения к удаленному серверу скажите клиенту VNC подключиться к локальному хосту 8090. (Перед "Порт", "Пользователь", "имя хоста" и "LocalForward" есть 4 пробела).

Микаэла
источник
1

Держите его в курсе (автоматически).

Если вам нужно использовать ssh (я думаю, вам нужно что-то исправить ... :)), установите сервер openVPN на свою машину и клиент на ней (и автоматическое / постоянное соединение). Если ваш IP динамический, вам понадобится динамический DNS (например, dnsexit.com). Таким образом, вы сможете добраться до ее машины повсюду, используя туннель (даже если в локальной сети отеля, где вы не сможете использовать SSH, как правило, потому что вы не контролируете маршрутизатор, к которому она подключена, только VNC или команда просмотра, и это означает, что сервер VNC всегда онлайн ...). Разрешить SSH и VNC (или аналогичные) подключения только в подсети openvpn (и только вы сможете подключиться к ним).

Не забудьте настроить iptables, чтобы блокировать все снаружи, включая все подсети локальных сетей (для небезопасных гостиничных локальных сетей), кроме подсети openvpn (и не используйте стандартную подсеть :)).

Используйте туннель VNC или любой другой удаленный рабочий стол, и вы должны быть в безопасности.

ОБНОВЛЕНИЕ после того, как я увидел ваш комментарий о настройке VPN каждый раз: Вы можете запустить VPN при загрузке и разрешить это. Когда ваш компьютер не подключен к сети или ваша мать не подключена к Интернету, подключение не будет установлено и повторяется каждые x минут (вы установили его). Когда обе машины в порядке, соединение будет успешным, поэтому она будет иметь постоянное соединение, ничего не делая (например, 2 филиала). Другим способом может быть создание небольшого сценария, запускающего openvpn, и размещение значка на ее рабочем столе, но она должна быть в sudoers, чтобы выполнить сценарий, в который я верю, и ей нужно будет не забыть нажать на значок. По этой причине я бы предпочел 1-й способ с постоянным подключением. Вам нужно только обратить внимание, чтобы не перенаправлять весь ее трафик через VPN в конфиге.

Laurent
источник