Как защитить только что установленную 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
.
Базовые шаги (что и почему)
Начнём с простых, но важных вещей: пароль пользователя и управление учётными записями.
- Установите надёжный пароль для вашей пользовательской учётной записи. Даже если вы — единственный пользователь, пароль защищает систему при физическом доступе.
- Для посетителей создавайте отдельную гостевую учётную запись и выставляйте ей пароль. 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
.
Почему это важно: запрет на исполнение (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, остальные — нет).
Изображение ниже показывает консоль с примером выполнения команды.
Проверка:
ls -l /bin/su
должен показать права вида-rwsr-x---
и группуsudo
.
Когда это не подходит: на системах без группы sudo
(редко) или на специализированных серверах управление может потребовать другой подход — используйте ACL или PAM для тонкого контроля.
Защитите домашнюю директорию
По умолчанию домашние папки могут быть читаемы другими пользователями. Для десктопа это риск, если у вас есть гость или второй пользователь.
Чтобы сделать домашнюю папку недоступной для других пользователей, выполните (замените username
на ваше имя):
chmod 0700 /home/username
Это даёт полные права владельцу и запрещает доступ всем остальным. Альтернатива — 0750
, если вы хотите, чтобы пользователи вашей группы могли читать файлы:
chmod 0750 /home/username
Изображение ниже показывает изменение прав домашней директории в терминале.
Проверка:
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 для восстановления — используйте временные ключи и быстро отключайте снова.
Альтернативные подходы и расширения
- SELinux/AppArmor: используйте профили безопасности на уровне ядра для ограничения поведения приложений.
- Firewall: настройте ufw/iptables для ограничения входящего трафика по сервисам.
- Аудит: включите аудит
auditd
для отслеживания изменений критичных файлов. - Жёсткая база пакетов: удаляйте ненужные службы и пакеты с помощью
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
- Выполнить обновление системы:
sudo apt update && sudo apt upgrade
. - Защитить домашние каталоги:
chmod 0700 /home/username
для каждого пользователя. - Отредактировать
/etc/fstab
и применить выбранные параметры для/run/shm
. - Ограничить доступ к
/bin/su
:sudo dpkg-statoverride --update --add root sudo 4750 /bin/su
. - Проверить и установить
PermitRootLogin no
в/etc/ssh/sshd_config
и перезапустить SSH. - Настроить брандмауэр (ufw) и базовую политику AppArmor.
- Запланировать регулярные проверки конфигурации и отчётность.
Однострочный глоссарий
- chmod — изменить права доступа к файлу или папке.
- fstab — файл, определяющий параметры монтирования разделов при загрузке.
- su — смена пользователя/выполнение команды от имени другого пользователя.
- sshd — демон SSH, сервер для удалённых подключений.
- noexec/nosuid/nodev — параметры монтирования, запрещающие исполнение, установки suid и использование устройств соответственно.
Заключение
Эти базовые изменения снижают риск успешной эксплуатации распространённых векторов атаки. Они просты в выполнении и не требуют сложных инструментов. После применения — регулярно проверяйте конфигурации и следите за обновлениями безопасности. Для углублённой защиты рассмотрите применение AppArmor/SELinux, централизованного мониторинга и политики управления уязвимостями.
Важно: тестируйте изменения в контролируемой среде перед применением на производственных хостах.
Для более подробной информации посетите Ubuntu Wiki и официальную документацию по безопасности Ubuntu.
Похожие материалы

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

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

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

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

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