Linux

hardening Ubuntu: пошаговое усиление безопасности системы

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

Обновлено 24 июля 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04 LTSUbuntu 20.04 LTSUbuntu 23.10

Введение / Зачем это нужно

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

Требования / Подготовка

  • Ubuntu 20.04 LTS, 22.04 LTS или 23.10.
  • Права администратора (sudo).
  • Доступ в интернет для обновления пакетов.
  • Базовый набор инструментов (curl, git и т.д.) может потребоваться для дальнейшего администрирования.

Пошаговая инструкция

Шаг 1: Включение брандмауэра Ubuntu

Брандмауэр UFW (Uncomplicated Firewall) позволяет быстро контролировать входящие и исходящие соединения.

  1. Установите ufw, если он ещё не установлен:
    sudo apt install ufw
    
  2. Включите брандмауэр:
    sudo ufw enable
    
    Подтвердите запрос.
  3. Разрешите необходимые порты (например, SSH):
    sudo ufw allow 22/tcp
    
  4. Проверьте статус брандмауэра:
    sudo ufw status verbose
    

💡 Совет: Если вам нужен веб-доступ, разрешите порт 80 и 443 перед включением брандмауэра.

Шаг 2: Настройка sudo для ограниченных привилегий

Сильные права sudo предотвращают злоупотребления даже в случае компрометации пользователя.

  1. Откройте файл /etc/sudoers в безопасном редакторе:
    sudo visudo
    
  2. Найдите строку %admin ALL=(ALL) ALL и убедитесь, что она соответствует вашим группам администраторов. Если группа не существует, создайте её:
    sudo usermod -aG admin your_username
    
  3. Удалите или закомментируйте строки, которые granting все привилегии всем пользователям (ALL=(ALL) ALL). Сохраните изменения.

⚠️ Важно: Неправильное редактирование /etc/sudoers может заблокировать доступ к системе. Создайте резервную копию перед изменением (sudo cp /etc/sudoers /etc/sudoers.bak).

Шаг 3: Обновление системы и установленных пакетов

Регулярные обновления устраняют известные уязвимости.

  1. Обновите индекс пакетов:
    sudo apt update
    
  2. Примените обновления и установите обновления:
    sudo apt upgrade -y
    
  3. Перезагрузите систему для применения kritisых обновлений ядра:
    sudo reboot
    

Шаг 4: Отключение ненужных служб

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

  1. Составьте список всех служб:
    sudo systemctl list-unit-files --type=service
    
  2. Отключите неиспользуемые службы (пример для принтера и Bluetooth):
    sudo systemctl disable cups.service
    sudo systemctl mask bluetooth.service
    
  3. Проверьте статус:
    sudo systemctl status cups.service bluetooth.service
    

Шаг 5: Настройка SSH для безопасного доступа

SSH — это часто используемый вектор атаки; укрепление его конфигурации значительно повышает безопасность.

  1. Откройте конфигурационный файл /etc/ssh/sshd_config для редактирования:
    sudo nano /etc/ssh/sshd_config
    
  2. Установите следующие параметры (если они отсутствуют):
    PasswordAuthentication no
    PermitRootLogin no
    PubkeyAuthentication yes
    PermitEmptyPasswords no
    MaxAuthTries 3
    
  3. Сохраните изменения и перезапустите SSH:
    sudo systemctl restart sshd
    

Шаг 6: Включение AppArmor/системы предотвращения несанкционированного доступа

AppArmor ограничивает действия программ в соответствии с профилями, что предотвращает эксплуатацию уязвимостей.

  1. Проверьте активные профили:
    sudo aa-status
    
  2. Включите AppArmor для всех режимов (если ещё не включён):
    sudo systemctl enable apparmor
    sudo systemctl start apparmor
    
  3. Перезагрузите систему, чтобы профили применились:
    sudo reboot
    

Проверка результата

После выполнения всех шагов убедитесь, что hardening выполнено правильно:

  • Брандмауэр: sudo ufw status verbose должен показать Status: active с разрешёнными правилами.
  • Sudo: sudo -l для текущего пользователя должен показать разрешённые команды.
  • Обновления: sudo apt list --upgradable должно показать пустой список или только необязательные обновления.
  • Службы: systemctl list-unit-files --type=service | grep enabled должен показать только необходимые службы.
  • SSH: sshd -t должен подтвердить корректность конфигурации.
  • AppArmor: aa-status должен показать AppArmor status: enabled.

Возможные проблемы

  • Брандмауэр блокирует доступ: Если после включения UFW вы не можете подключиться по SSH, временно отключите его (sudo ufw disable), добавьте правило для нужного порта, затем включите обратно (sudo ufw enable).
  • Sudo не работает после изменений: Если вы заблокировали себя, загрузитесь в режиме восстановления и отредактируйте /etc/sudoers (sudo nano /etc/sudoers), восстановите резервную копию или вручную добавьте свою учетную запись в группу admin.
  • Приложение не запускается после включения AppArmor: Проверьте журналы в /var/log/apparmor/*.log, отключите профиль для данного приложения (sudo aa-disable /path/to/profile), отредактируйте или создайте новый профиль.

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

Часто задаваемые вопросы

Как начать процесс усиления безопасности Ubuntu?
Зачем включать брандмауэр и как это влияет на работу системы?
Что делать, если sudo требует пароль при использовании sudoers?
Как проверить, что hardening выполнен правильно?

Полезное

Включение брандмауэра Ubuntu
Настройка sudo для ограниченных привилегий
Обновление системы и установленных пакетов
Отключение ненужных служб
Настройка SSH для безопасного доступа
Включение AppArmor/системы предотвращения несанкционированного доступа

Эта статья помогла вам решить проблему?