Как защитить только что установленную 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.
Похожие материалы
Создать карту в Google Sheets — руководство
Превратите эмоциональную тираду в инструмент продуктивности
Как деактивировать профиль Facebook
Групповые SMS на Android: как отправлять
Как закрепить пост в Facebook