Гид по технологиям

Как защитить только что установленную Ubuntu: базовые настройки безопасности

7 min read Безопасность Обновлено 21 Oct 2025
Укрепление Ubuntu: быстрые настройки безопасности
Укрепление Ubuntu: быстрые настройки безопасности

TL;DR

Непосредственно после установки Ubuntu система удобна, но имеет слабые места по умолчанию. Сделайте несколько простых изменений: защитите домашнюю папку, ограничьте исполнение в разделах общей памяти, запретите вход под root по SSH и ограничьте доступ к программе su. Эти шаги быстро уменьшат атаки по распространённым векторам.


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

Важно: все изменения конфигурации требуют прав root. В примерах используется работа через терминал и sudoedit.

Быстрый обзор изменений

  • Защитить домашний каталог (права доступа).
  • Перемонтировать раздел общей памяти (/run/shm) с безопасными флагами.
  • Запретить доступ к su для гостей и неадминистраторов.
  • Отключить прямой root-вход по SSH.

Открытие конфигурационных файлов с правами root

Файлы конфигурации обычно редактируются от имени root. Три распространённых способа открыть файл (например, /file/config) — через терминал или быстрые команды GUI:

Открыть через терминал:

sudoedit /file/config

Если вы используете Gnome, нажмите Alt+F2 и выполните:

gksudo gedit /file/config

Если вы используете KDE, нажмите Alt+F2 и выполните:

kdesu kate /file/config

Изображение ниже показывает редактирование файла конфигурации в терминале с помощью sudoedit.

Редактирование файла конфигурации в терминале с sudoedit

Важно: в примерах и скриншотах ниже редактирование выполнено через терминал с sudoedit.


Базовые шаги (что и почему)

Начнём с простых, но важных вещей: пароль пользователя и управление учётными записями.

  • Установите надёжный пароль для вашей пользовательской учётной записи. Даже если вы — единственный пользователь, пароль защищает систему при физическом доступе.
  • Для посетителей создавайте отдельную гостевую учётную запись и выставляйте ей пароль. Linux изначально многопользовательский, и правильное разделение учётных записей снижает риски.

Также читайте: Что такое Log4Shell и как защитить Linux — это важная тема для приложений, но здесь мы фокусируемся на системных настройках.


Перемонтирование общей памяти (reconfigure shared memory)

Проблема: по умолчанию /run/shm монтируется с разрешением на запись и исполнение. Некоторые эксплойты используют этот раздел для загрузки или запуска вредоносного кода.

Решение: изменить строку в /etc/fstab, чтобы ограничить исполнение. Откройте файл:

sudoedit /etc/fstab

Добавьте в конец файла одну из следующих строк в зависимости от ваших потребностей:

  • Для большинства систем-десктопов и серверов, где не требуется исполняемый код в shm, можно сделать раздел только для чтения:
none /run/shm tmpfs defaults,ro 00
  • Если вы используете Google Chrome или другие приложения, которым нужен rw-доступ, используйте опцию, запрещающую исполнение и суиды:
none /run/shm tmpfs rw,noexec,nosuid,nodev 00

Изображение ниже показывает пример редактирования /etc/fstab.

Редактирование файла /etc/fstab для изменения параметров монтирования /run/shm

Почему это важно: запрет на исполнение (noexec) и суид (nosuid) уменьшает поверхность атаки для сервисов, которые могут записывать во временные разделы.

Когда это не сработает: некоторые приложения действительно требуют исполняемых файлов в shm; в таких случаях используйте вариант с rw,noexec,nosuid,nodev и следите за обновлениями приложений.

Критерии приёмки:

  • Выполните mount | grep /run/shm и убедитесь, что присутствует параметр noexec или ro по вашему выбору.

Запретить использование su неадминистраторами

Проблема: программа su позволяет запустить процесс от имени другого пользователя. На десктопе это удобно, но гостевая учётная запись может злоупотребить этим.

Решение: ограничить доступ к su группой sudo (администраторы). Выполните:

sudo dpkg-statoverride --update --add root sudo 4750 /bin/su

Эта команда установит для файла /bin/su владелец root, группа sudo и права 4750 (setuid, владелец rwx, группа r-x, остальные — нет).

Изображение ниже показывает консоль с примером выполнения команды.

Применение dpkg-statoverride для ограничения доступа к /bin/su

Проверка:

  • ls -l /bin/su должен показать права вида -rwsr-x--- и группу sudo.

Когда это не подходит: на системах без группы sudo (редко) или на специализированных серверах управление может потребовать другой подход — используйте ACL или PAM для тонкого контроля.


Защитите домашнюю директорию

По умолчанию домашние папки могут быть читаемы другими пользователями. Для десктопа это риск, если у вас есть гость или второй пользователь.

Чтобы сделать домашнюю папку недоступной для других пользователей, выполните (замените username на ваше имя):

chmod 0700 /home/username

Это даёт полные права владельцу и запрещает доступ всем остальным. Альтернатива — 0750, если вы хотите, чтобы пользователи вашей группы могли читать файлы:

chmod 0750 /home/username

Изображение ниже показывает изменение прав домашней директории в терминале.

Установка прав доступа 0700 для домашней папки пользователя в терминале

Проверка:

  • ls -ld /home/username должен показать drwx------ для 0700.

Когда это мешает: если вы используете сетевые службы, которые требуют совместного доступа к домашним папкам, настройте отдельный общий каталог с нужными правами вместо изменения домашней папки.


Отключить вход root по SSH

По умолчанию Ubuntu не разрешает прямой root-вход по SSH, но если вы установили пароль для root, это может стать рискованным.

Проверьте, установлен ли SSH-сервер:

ssh localhost

Если вы получите Connection refused, SSH-сервер не установлен и дальше можно не волноваться.

Если установлен, откройте конфигурацию сервера SSH:

sudoedit /etc/ssh/sshd_config

Найдите строку PermitRootLogin и установите значение no:

PermitRootLogin no

После изменения перезапустите службу:

sudo systemctl restart sshd

Проверка:

  • Попробуйте подключиться как root: ssh root@localhost — доступ должен быть запрещён.

Когда это не подходит: в исключительных ситуациях может потребоваться временный доступ root по SSH для восстановления — используйте временные ключи и быстро отключайте снова.


Альтернативные подходы и расширения

  1. SELinux/AppArmor: используйте профили безопасности на уровне ядра для ограничения поведения приложений.
  2. Firewall: настройте ufw/iptables для ограничения входящего трафика по сервисам.
  3. Аудит: включите аудит auditd для отслеживания изменений критичных файлов.
  4. Жёсткая база пакетов: удаляйте ненужные службы и пакеты с помощью apt remove --purge.

Контрпример: на специализированных рабочих станциях разработчиков инструментов виртуализации или графических браузеров строгие флаги для /run/shm могут нарушить работу. Всегда проверяйте конкретные приложения.


Проверки, критерии приёмки и тесты

Краткий набор команд для валидации конфигурации после изменений:

# Проверить параметры /run/shm
mount | grep /run/shm

# Проверить права на /bin/su
ls -l /bin/su

# Проверить права домашней директории
ls -ld /home/username

# Проверить настройку PermitRootLogin
grep -i PermitRootLogin /etc/ssh/sshd_config || true

# Проверить, слушает ли SSH
sudo systemctl status sshd

Критерии приёмки:

  • /run/shm смонтирован с noexec или ro (в зависимости от выбора).
  • /bin/su имеет права и группу, ограничивающие доступ неадминистраторам.
  • Домашняя папка пользователя не читаема другими (drwx------ или drwxr-x---).
  • PermitRootLogin в sshd_config установлен в no и SSH перезапущен.

Контрольные списки по ролям

  • Для десктоп-пользователя:

    • Установить пароль пользователя.
    • Защитить домашнюю папку chmod 0700.
    • Ограничить su и проверить sshd.
  • Для администратора сервера:

    • Жёстко настроить /run/shm и firewall.
    • Отключить root-пароль и запретить вход по SSH для root.
    • Включить централизованный аудит и резервное копирование изменений конфигураций.
  • Для инженера по безопасности:

    • Наладить AppArmor/SELinux-профили.
    • Регулярно сканировать систему на уязвимости и обновлять политики.
    • Автоматизировать проверки (CI/CD) и оповещения.

Матрица рисков и смягчения

РискВероятностьВлияниеСмягчение
Выполнение кода через /run/shmСредняяВысокоеУстановить noexec/nosuid, мониторинг изменений
Неавторизованный доступ к домашним файламВысокаяСреднееchmod 0700, использовать отдельные гостевые аккаунты
Прямой SSH-доступ rootНизкая при дефолте, но критична при наличии пароляВысокоеPermitRootLogin no, ключи SSH для админов
Злоупотребление su гостямиСредняяСреднееОграничить /bin/su через dpkg-statoverride, PAM

Краткий SOP: базовая политика жёсткой конфигурации Ubuntu

  1. Выполнить обновление системы: sudo apt update && sudo apt upgrade.
  2. Защитить домашние каталоги: chmod 0700 /home/username для каждого пользователя.
  3. Отредактировать /etc/fstab и применить выбранные параметры для /run/shm.
  4. Ограничить доступ к /bin/su: sudo dpkg-statoverride --update --add root sudo 4750 /bin/su.
  5. Проверить и установить PermitRootLogin no в /etc/ssh/sshd_config и перезапустить SSH.
  6. Настроить брандмауэр (ufw) и базовую политику AppArmor.
  7. Запланировать регулярные проверки конфигурации и отчётность.

Однострочный глоссарий

  • chmod — изменить права доступа к файлу или папке.
  • fstab — файл, определяющий параметры монтирования разделов при загрузке.
  • su — смена пользователя/выполнение команды от имени другого пользователя.
  • sshd — демон SSH, сервер для удалённых подключений.
  • noexec/nosuid/nodev — параметры монтирования, запрещающие исполнение, установки suid и использование устройств соответственно.

Заключение

Эти базовые изменения снижают риск успешной эксплуатации распространённых векторов атаки. Они просты в выполнении и не требуют сложных инструментов. После применения — регулярно проверяйте конфигурации и следите за обновлениями безопасности. Для углублённой защиты рассмотрите применение AppArmor/SELinux, централизованного мониторинга и политики управления уязвимостями.

Важно: тестируйте изменения в контролируемой среде перед применением на производственных хостах.

Для более подробной информации посетите Ubuntu Wiki и официальную документацию по безопасности Ubuntu.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как исправить VAC не смог подтвердить сессию в CS:GO
Игры

Как исправить VAC не смог подтвердить сессию в CS:GO

Как вернуть игру в Steam — пошаговое руководство
Игры

Как вернуть игру в Steam — пошаговое руководство

Покупка криптовалюты через Apple Pay
Криптовалюта

Покупка криптовалюты через Apple Pay

Как создать публичный профиль в Snapchat
Социальные сети

Как создать публичный профиль в Snapchat

Альтернативы приложениям при переходе на Linux
Linux

Альтернативы приложениям при переходе на Linux

Установка CyanogenMod на Lenovo P780
Android.

Установка CyanogenMod на Lenovo P780