Здравствуйте.Поставил на компьютер Lubuntu 18.04. К интернету подключается через PPPoE (роутера у меня нет, т.к. единственный компьютер + на телефоне интернетом практически не пользуюсь, потому не нужен).
Вопрос. Что нужно настроить для безопасности после установки (и нужно ли)? Никаких фтп и прочих серверов не устанавливал. Использую в основном офисные приложения, браузер, почтовый клиент, аудио и видео плееры.
Если быть очень кратким:Настроить автообновление. Уязвимость может быть в любой части, связана как-то с обработкой/парсингом материалов из сети. Поэтому обновление всех компонент.
Работать под учёткой, у которой нет sudo.
Вероятно, выключить Snap. Деинсталлировать snapd. Связано с возможностью приноса неизвестных зависимостей третьей стороны через Snap. Он так устроен. Спекулятивное утверждение, но этот вектор атаки существует. В 20-й версии придётся уйти на Linux Mint, если жить без Snap.
Пристально относиться к установкам из сети. Предпочитать репозитории операционной системы. В браузере ограничивать скрипты, использовать adblockers, из числа доверенных.
Настроить: sudo ufw enable
В случае установки серверных сервисов читать про защиту каждого сервиса. Т.к. роутера нет, то фаервол отсутствует, а комьютер подключён прямо в интернет.
Посмотреть
sudo netstat -antpu | grep LISTEN
Проанализировать. Ненужное выкинуть. Нужное защитить.
$ sudo netstat -antpu | grep LISTEN
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 995/systemd-resolve
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1021/cupsd
tcp6 0 0 ::1:631 :::* LISTEN 1021/cupsd
Была тут новость про уязвимость в transmission с поочерёдной отдачей двух IP‑адресов: на первый запрос отдаётся реальный IP‑адрес сервера со страницей, а затем возвращается 127.0.0.1. Получается systemd‑resolve и cupsd тоже могут быть подвержены этой уязвимости, ну, и вообще всё, что принимает соединения, пусть даже только с локальных адресов?
Уязвимость может быть другая. Но ход мысли верный.Из браузера с веб страницы можно было получить доступность локальных сетевых портов. Например. В последние пару лет.
Дальше - смотря для чего всё это настраивать. Читать, думать.
Эти слушают только локалхост - неплохо. Когда слушают 0.0.0.0 - гораздо хуже.
> Работать под учёткой, у которой нет sudo.а когда требуются права суперпользователя использовать su или переключаться, например, по Ctrl+Alt+F2 и заходить под рутом?
Зачем под рутом. Под учёткой, у которой есть sudo
Почему в советах нет:1. Шифрование всего если есть дуалбут.
2. Настройки сетевого экрана.
3. Настройки Integrity для системы, хотя бы по запросу: AIDE, Tripwire, ...
4. Настройки антивирусника: обновление баз; сканирование при доступе /home, /tmp, /var/tmp; желательно расшифровывать и сканировать весь входящий трафик с интернетом.
Пункт второй в советах есть.Шифрование... Не совсем оно шифрование всего. Но /boot можно настроить шифрованным, но это требует до установки и во время установки врупашную плотно поработать. Убунта в этом месте слаба.
Интегрити, антивирус - не совсем настройки само
й системы. Имеют смысл.
Itegrity при доступе это системные настройки. Делаются руками во время установки или инсталером если он умеет.
> Работать под учёткой, у которой нет sudo.Поясните для чайника чем опасно работать под учеткой с sudo? ведь чтобы совершить действие надо все-равно ввести пароль. в чем разница между этим и тем чтобы перейти в другую учетку и там ввести пароль? Неужели админы, у которых основная работа связана с настройкой компов/серверов работают под учеткой без sudo?
> Поясните для чайника чем опасно работать под учеткой с sudo? ведь чтобы
> совершить действие надо все-равно ввести пароль. в чем разница между этим
> и тем чтобы перейти в другую учетку и там ввести пароль?Посмотрите про ключ -K у sudo.
sudo помнит кеширует данное разрешение на некоторое время.Можно сделать в скрипте sudo /bin/true первый раз и затем некоторое время любое sudo не попросит пароля. Дальше вопрос того что делают на этой машине или чего не делают. Например, запущенная сборка какого-либо пакета от имени рута может навести порядок в системе так, как не хотелось бы.
Могут быть нюансы работы под камерами, нюансы ввода паролей "не туда". Нюансы поведения.
В соседнем постинге верно указали - сначала надо определять от чего защищаться. А так если, без конкретики, то общие неконкретные рекомендации.
> Неужели админы, у которых основная работа связана с настройкой компов/серверов работают
> под учеткой без sudo?Смотря какие и на каких рабочих станциях. Шуточное прозвище "админ локалхоста" в том, что рабочих станций (компьютеров) может быть несколько, у каждой разное назначений. Зависит от работы и окружения. Разгильдяев тоже много, спасает принцип Неуловимого Джо - кому он нужен.
Для домашних применений можно освоить Vagrant (или попророще VirtualBox) и браузер в докере от имени ограниченной учётки. Это позволяет избегать запуска напрямую, изолировать какие-то одноразовые эксперименты или ненужный софт/сайты. Запускать пинесённое снаружи внутри изоляции.
> Можно сделать в скрипте sudo /bin/true первый раз и затем некоторое время любое sudo не попросит пароля.здесь надо сделать оговорку, что любое sudo в контексте того терминала (и даже конкретной вкладки терминала), в котором был запущен этот скрипт, но в чём проблема-то? В том, что я могу, например, выполнить "sudo apt-get update" и тут же в этом же терминале случайно или намеренно запустить некий скрипт или программу, которые смогут выполнить что-нибудь с повышенными привилегиями?
Да, например. После правки какой-то системной информации, переключиться на другое и запустить совсем др. вещь, но в контексте с sudo доступным без пароля. Изредка встречаются нестандартные, непрофессиональные подходы в скриптах. Редко бывает, но это возможный вектор. Трудно предсказать мысли, реализованные в пакетах из Pip от модностриженного слишком молодого питониста-бигдатиста с свежевыжатым соком. А там бывает и компиляция кода - т.е. что угодно может оказаться.
в выводе "sudo ss -tunap" постоянно присутствует эта запись:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:* users:(("dhclient",pid=8365,fd=6))
требуются ли ограничения в фаерволе для dhclient (клиент используется)?
Нужно держать свою систему постоянно обновлённой и в самом актуальном состоянии (Lubuntu 20.10).
> Нужно держать свою систему постоянно обновлённой и в самом актуальном состоянии (Lubuntu
> 20.10).Только важно не впадать в крайность, не попасть в зависимость от сроков поддержки и экспериментальных фич. 20.10 - релиз с коротким сроком поддержки, в таких внедряют новое. А вот 20.04 - LTS - Long Term Support - долгая поддержка. Для не айтишника LTS удобнее.
Без формулирования модели угроз слово "безопасность" не имеет смысла.
> Без формулирования модели угроз слово "безопасность" не имеет смысла.В данном случае угроза находится между клавиатурой и стулом )
> Без формулирования модели угроз слово "безопасность" не имеет смысла.Термин "модель угроз" придумали маркетологи, чтобы впаривать лохам не сертифицированный продукт.
Нормальный термин.
Надо понимать, к чему есть смысл готовиться, а к чему нет, чтобы не тратить время и ресурсы впустую.
> чтобы не тратить время и ресурсы впустую.ИТ безопасность честнее и правильнее характеризовать "прейскурантом цен". Список угроз с ценной защиты. Так покупатель не обманут и купит, то что считает ему надо.
Вы вообще можете без перевода темы к подсчету чужих денег? Откуда эта меркантильность? Отчаянная, унизительная нищета постоянно давит на мозг?Термин имеет смысл даже если вы всё сами делаете для себя и никаких денег не платите.
У вас есть ограниченный ресурс - ваше время.
Нужно выстроить приоритеты, то есть понять, где скорее всего будут ломать и прикрывать прежде всего это. В силу сложности систем вы не можете сделать систему полностью неуязвимой (не факт, что это возможно даже за бесконечное время).Вот эта система приоритетов - это и есть модель угроз.
поменять права доступа к домашним каталогам на 750 или даже 700, с Ubuntu 21.04 для новых каталогов будет выставляться 750 (https://opennet.ru/54401-ubuntu )
Есть вот такой ответ - https://www.cisecurity.org/cis-benchmarks/
Но умоешься пОтом. :)Совет - если делать, то россыпью скриптов. Один скрипт на один пункт документа, по папочкам разложить по главам. Учесть, что пока все скрипты пробегут в системе, другие механизмы могут начать дёргать настраиваемую функциональность.
Применять Дебиан рекомендацию скриптования: использовать в заголовке скрипта 'set -xe'
Без авто-тестов проделанная работа не имеет очень большого смысла. Документ меняется, работа устаревает со временем, без тестов поддерживать нереально.
Прикинуть применимость idempotent - скрипты не должны второй раз настраивать уже настроенное. Это сложно. Не всегда уместно. Поднимет выше уровень скриптов. Но тесты важнее.
Можно для последователей закоммитить в публичный Гит.