Skip to content

Безопасность

Этот раздел посвящён вопросам информационной безопасности. Здесь можно узнать:

  • Зачем это может быть нужно;
  • Для кого это может быть нужно;
  • Как настроить систему безопаснее, чем в конфигурации по умолчанию;
  • Как проверить состояние безопасности в системе;
  • Какие риски могут возникать (или уже возникали, и про это известно) при повседневной эксплуатации системы;
  • Получить общие рекомендации по повышению безопасности системы;
  • Сопоставление настроек с некоторыми отечественными и международными стандартами в области информационной безопасности (для специалистов).

ВАЖНО!

Раздел находится в процессе наполнения. Страницы появляются по мере их написания и публикации. Как только все страницы будут опубликованы, это предупреждение исчезнет.

Зачем и кому нужно поддерживать систему в безопасном состоянии

Материалы этого раздела адресованы (помимо энтузиастов и специалистов в области информационной безопасности) обычным пользователям, которые используют операционную систему в повседневной работе. И если система используется только «для себя», возможно, нет смысла тратить время на повышение безопасности. Потеря информации, которая есть в системе чувствительна только для самого пользователя. И только он может определить степень её ценности. Но можно вспомнить ещё кое-что.

Пользователь может брать важную работу домой, не успев сделать её на основной работе или учёбе. И тогда у такого человека может появится на домашнем компьютере информация, которая имеет ценность для кого-то ещё. То есть, чужие данные. Важность чужих данных оценить человеку может быть довольно сложно. Он может считать их неважными, но на самом деле это может быть не так.

Кроме того, система может быть скомпрометирована, чтобы использовать её в дальнейшем как промежуточную площадку для взлома кого-то ещё. Иногда такое скрытое использование системы злоумышленником может продолжаться длительное время, а владелец системы об этом не подозревает. То есть, если халатно относиться к безопасности, то может быть нанесён вред другим людям. Да ещё и следы будет сложнее искать.

Нужно подумать об этих и подобных рисках, и о том, насколько важны данные. А потом принять решение, стоит ли повышать безопасность системы.

Если решение будет положительным, то нужно помнить главное:

  • Безопасность всегда требует комплексного подхода. Это значит, например, что недостаточно только установить сложный пароль, и успокоится на этом. Нет, так это не работает. Нужно предпринимать и другие меры. О них можно прочесть в материалах этого раздела;
  • Безопасность (если её рассматривать как постоянный процесс) всегда требует непрерывности. Нельзя, например, привести систему в относительно безопасное состояние и успокоится на 3 года. За это время может быть найдена уязвимость, которая перечеркнёт все усилия;
  • Обратной стороной безопасности является удобство. Система станет менее удобна в использовании. Информация, приводимая в этом разделе поможет найти разумный баланс, и сконфигурировать систему так, чтобы неудобство было как можно менее заметно;
  • Затраты (любые), направленные на повышение безопасности не должны превышать ценность защищаемой информации. Нет никакого смысла тратить усилия для того, чтобы, например, защитить старый не подключённый к сети компьютер, на котором дедушка играет в шахматы по воскресным вечерам (хотя у дедушки надо бы сперва спросить).

Некоторые советы общего характера приведены ниже.

1. С обновочкой

Обновления это простой, дешёвый и быстрый способ сделать систему безопаснее. Как правило, в новых версиях ядра и программ постоянно устраняют уязвимости. И ALT Linux здесь не исключение.

  • Регулярно обновляйте систему.

Подробнее об обновлении системы можно прочесть по ссылке: https://alt-gnome.wiki/quick-start.html#как-правильно-обновлять-систему

Подсказка:

К счастью, эта система базируется на репозитории «Сизиф» (Sisyphus), который использует «непрерывный цикл» обновлений. Это значит, что у системы нет отдельных версий, она не перестаёт получать обновления. Можно один раз поставить систему, и дальше только обновлять. Переставлять её, чтобы получить новую версию системы не потребуется (при условии, конечно, что она не будет испорчена в результате чего-то ещё).

Есть и другие системы, использующие такой непрерывный жизненный цикл. Наиболее популярными современными дистрибутивами Linux такого типа являются: Arch Linux, Debian testing\Debian unstable, Gentoo Linux, и некоторые другие.

2. Избавьтесь от лишнего

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

  • Удалите неиспользуемые программы;
  • Отключите неиспользуемые службы и сервисы;
  • Отключите те точки входа в систему, которыми никто не пользуется;
  • Отключите технологии, драйверы и протоколы, которыми никто не пользуется.

3. Запирайте этажи скоро будут грабежи

Пароли это первое, что нужно защищать. Именно пароль прежде всего стоит на страже безопасности и используется чаще всего.

  • Используйте только сложные и длинные пароли. Не используйте пароли, в которых есть имена, фамилии, даты рождения, простые слова, повторяемые комбинации символов, и т.п. Не стоит использовать пароли вроде Qwerty или P@ssw0rd. О всех этих вещах давно известно нехорошим людям, и они давно умеют подбирать такие пароли. Не записывайте пароли, не расклеивайте бумажки с ними. Используйте менеджеры паролей и генераторы паролей;
  • Дополнительно к паролю используйте что-нибудь ещё: одноразовый пароль (желательно действующий какое-то время), специальный аппаратный ключ (или токен), отпечаток пальца;
  • Не нужно постоянно работать от имени администратора root. Используйте sudo. Переключайтесь в контекст полномочий администратора root только тогда, когда без этого не обойтись. И всегда проверяйте то, что вы собираетесь выполнить от имени администратора. Иначе системе можно нанести непоправимый ущерб;
  • Отключите возможность прямого входа от имени администратора root, как для локального, так и для удалённого входа (напр. по SSH). Оставьте такую возможность только для случаев, когда система переключается в режим обслуживания;
  • Настройте синхронизацию времени с надёжными источниками, вызывающими доверие;
  • Ужесточите политики, влияющие на количество попыток ввода пароля, время поддержания сессии, количество одновременных соединений и т.п.;
  • Интерактивный сеанс работы в системе должен быть заблокирован, пока им никто не пользуется;
  • Используйте принцип <<минимизации привилегий>>. Если в систему добавляются пользователи, то нужно обеспечить им только минимально необходимые права для работы. Не больше, но и не меньше.

5. You shall not pass

Бывает так, что компьютер (особенно портативный) приходится подключать к неизвестным сетям в публичных местах, таких как: сети в транспорте, в аэропорту, в кафе и т.п. Разумно не проявлять особого доверия к таким сетям.

  • Используйте фильтр пакетов (iptables, nftables, ufw и т.п.);
  • Создайте политики противодействия наиболее популярным сетевым атакам, таким как Smurf, Syn Flood, Ping Of Death, навязывания маршрутов и др.;
  • Проведите ревизию, и разрешите только нужный обмен, остальное сетевое взаимодействие блокируйте;
  • Используйте программы вроде fail2ban для защиты сетевого взаимодействия и контроля сетевой активности;
  • Если нет возможности использовать средства усиления входа (когда система требует помимо пароля предоставить что-то ещё), то в крайнем случае можно настроить SSH для входа в систему по ключам (которые нужно защитить отдельным стойким паролем);
  • Применяйте только надёжные (для которых пока не опубликовано фактов компрометации) алгоритмы обмена SSH ключами, имитовставки и шифрования;
  • Когда есть возможность — перепроверяйте, что сетевой абонент, (с которым устанавливается соединение) действительно тот, за кого он себя выдаёт.

6. А я в домике

Данные пользователей и данные самой системы рекомендуется получше защитить.

  • Защищайте доступ к важным данным (файлам и папкам). Применяйте ограничительную маску прав по умолчанию (umask 027 или более строгую). Используйте sticky bit для всех каталогов где возможна публичная запись. Ужесточите политики работы со ссылками, специальными файлами и т.п;
  • Используйте безопасные ключи при монтировании файловых систем (nodev, noexec, nosuid), там где это возможно;
  • Сегментируйте дисковое пространство, чтобы сложнее было остановить работу системы атакой переполнения диска;
  • Используйте программы контролирующие целостность данных (osec, aide, fapolicyd или технологию IMA/EVM);
  • Зашифруйте хотя бы раздел с важными данными. Используйте LUKS1/LUKS2 для прозрачного шифрования дискового раздела. Или хотя бы зашифруйте папки с данными. Для этого можно применять veracrypt. В крайнем случае можно использовать архиватор, и установить пароль на архив;
  • Авторизуйте часто подключаемые к системе USB устройства (напр. используя usbguard). Незнакомые устройства USB лучше по умолчанию заблокировать.

7. Большой брат видит

Следите за состоянием системы.

  • Используйте программы контроля активности системы и мониторинга её состояния (напр. sysstat, acct, logwatch и др.);
  • Настройте сбор сообщений и ротацию данных аудита (напр. с помощью auditd, syslog-ng и journald);
  • Если есть возможность, то отправляйте логи на удалённый сервер сбора аудита, вызывающий доверие;
  • Установите антивирус или программы поиска руткитов (clamav, rkhunter, chkrootkit и т.п.) и настройте регулярный их поиск в системе и сбор отчётов.

8. Береги руку, Сеня

Сделайте так, чтобы защиту было сложно преодолеть.

  • Установите пароль на BIOS или UEFI;
  • Если позволяют возможности оборудования, то активизируйте Secure Boot;
  • Если позволяют возможности оборудования, то активизируйте биты процессора NX или XD;
  • Установите пароль на загрузчик;
  • Установите переменные sysctl, способствующие защите ядра, памяти, процессов и сетевых соединений;
  • Применяйте Linux Security Modules (напр. Lockdown, Landlock) и некоторые другие, которые будут препятствовать компрометации системы, выполняющегося ядра и приложений;
  • Активизируйте проверку подписи модулей ядра.

9. Минуточку, я записываю...

Приложения могут некорректно обрабатывать данные, или могут делать не только то, что заявлено.

  • Постарайтесь не использовать Xorg (X11), предпочитайте Wayland;
  • Постарайтесь не использовать PulseAudio, предпочитайте PipeWire;
  • Используете контейнеры или изоляцию приложений там, где это возможно. Если возможно, то применяйте только т.н. rootless контейнеры;
  • Постарайтесь использовать только программы из официальных репозиториев;
  • Если нет необходимости в разработке программ, то отключите возможности отладки приложений и избавьтесь от средств разработки;
  • Используйте более строгую политику просмотра страниц в браузерах, и следите за данными геолокации;
  • Используйте фильтры спама, там, где это возможно, подписывайте (или даже шифруйте) важные письма. Используете GPG или S\MIME сертификаты;
  • Если позволяет графическая среда, браузер или приложение — настройте индикацию того, что используется камера или микрофон.

10. Скажите, доктор, есть ли пульс

Состояние защиты нужно постоянно отслеживать, и поддерживать систему в безопасном состоянии.

  • Используйте сканеры уязвимостей, которые анализируют программы и пакеты, чтобы своевременно узнавать о недостатках в них (напр. trivy);
  • Проводите регулярный аудит безопасности. Используйте сканеры, которые могут показать текущее состояние безопасности системы (например, lynis) и настройте регулярные проверки c получением отчётов;
  • Следите за состоянием безопасности служб и сервисов (для этого, например, можно использовать systemd analyze-security).

11. Спасение утопающих — дело рук самих утопающих

Лучше заранее подготовиться к неприятностям. Делайте резервные копии. Имеет смысл начинать делать их самостоятельно и прямо сейчас.

  • Регулярно делайте резервные копии важных данных или системы целиком (используйте deja-dup, kde5-kup, bacula или другие программы резервного копирования);
  • Держите резервные копии там, где их сложно повредить или украсть;
  • Шифруйте носители с резервными копиями или хотя бы сами копии. Поставьте себя на место нехорошего человека: какой смысл залезать в компьютер и преодолевать защиту, если проще украсть копию?;
  • Регулярно проверяйте резервные копии и проверяйте их целостность. Настройте их ротацию.

Авторы

История изменений