July 14, 20262 мин. чтения

Практический чек-лист по настройке Ubuntu 24.04 LTS после чистой установки.

Ubuntu 24.04 LTS хорошо работает сразу после установки, однако для безопасной и удобной эксплуатации систему стоит обновить, защитить и подготовить к резервному копированию. Ниже — 25 действий, которые помогут превратить чистую Ubuntu в готовую рабочую систему.

Содержание

  1. Обновить систему
  2. Перезагрузить систему при необходимости
  3. Включить автоматические обновления безопасности
  4. Установить базовые утилиты
  5. Проверить имя сервера
  6. Настроить часовой пояс
  7. Проверить синхронизацию времени
  8. Создать обычного администратора
  9. Настроить SSH
  10. Перейти на вход по SSH-ключу
  11. Включить UFW
  12. Установить Fail2Ban
  13. Проверить открытые порты
  14. Проверить память и swap
  15. Проверить свободное место
  16. Проверить состояние диска
  17. Проверить ошибки загрузки
  18. Проверить службы
  19. Настроить журналирование
  20. Очистить ненужные пакеты
  21. Установить и настроить Git
  22. Установить Docker при необходимости
  23. Настроить резервное копирование
  24. Настроить мониторинг
  25. Создать контрольную точку восстановления

1. Обновить систему

Первым делом обновите сведения о пакетах и установите доступные обновления:

sudo apt update
sudo apt full-upgrade -y

Команда full-upgrade умеет корректно обрабатывать изменения зависимостей и при необходимости устанавливать или удалять связанные пакеты.

2. Перезагрузить систему при необходимости

Проверьте, требуется ли перезагрузка:

test -f /var/run/reboot-required \
  && cat /var/run/reboot-required \
  || echo "Перезагрузка не требуется"

Если она требуется:

sudo reboot

После перезагрузки снова подключитесь к серверу и проверьте версию ядра:

uname -r

3. Включить автоматические обновления безопасности

Установите механизм автоматической установки важных исправлений:

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

Проверить конфигурацию можно командой:

sudo unattended-upgrade --dry-run --debug

4. Установить базовые утилиты

Полезный набор для администрирования и диагностики:

sudo apt install -y \
  curl wget git unzip zip \
  htop btop iotop iftop ncdu \
  vim nano mc tree jq \
  net-tools lsof dnsutils \
  ca-certificates gnupg

Не обязательно устанавливать всё сразу. Например, для минимального VPS можно оставить только действительно нужные инструменты.

5. Проверить имя сервера

Посмотрите текущее имя:

hostnamectl

При необходимости задайте понятное имя:

sudo hostnamectl set-hostname my-server

После этого проверьте файл /etc/hosts, чтобы локальное имя корректно разрешалось.

6. Настроить часовой пояс

Проверьте текущие параметры:

timedatectl

Посмотреть доступные зоны:

timedatectl list-timezones

Пример установки часового пояса:

sudo timedatectl set-timezone Europe/Amsterdam

Укажите свою реальную часовую зону. Для серверов также часто выбирают UTC.

7. Проверить синхронизацию времени

Включите сетевую синхронизацию:

sudo timedatectl set-ntp true
timedatectl status

В строке System clock synchronized должно отображаться yes.

8. Создать обычного администратора

Постоянно работать под root не рекомендуется:

sudo adduser admin
sudo usermod -aG sudo admin

Проверьте группы пользователя:

groups admin

Не отключайте существующий root-доступ, пока не убедитесь, что новый пользователь успешно входит и может выполнять команды через sudo.

9. Настроить SSH

Установите SSH-сервер, если он ещё не установлен:

sudo apt install -y openssh-server
sudo systemctl enable --now ssh
sudo systemctl status ssh

Перед изменением конфигурации создайте резервную копию:

sudo cp -a /etc/ssh/sshd_config \
  /etc/ssh/sshd_config.backup-$(date +%F-%H-%M-%S)

После любых изменений проверяйте синтаксис:

sudo sshd -t

10. Перейти на вход по SSH-ключу

На своём компьютере создайте ключ Ed25519:

ssh-keygen -t ed25519 -a 100

Передайте публичный ключ на сервер:

ssh-copy-id admin@IP_СЕРВЕРА

Сначала откройте второе SSH-подключение и убедитесь, что вход по ключу работает. Только после этого можно отключать парольную авторизацию.

Рекомендуемые параметры SSH:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

После изменения:

sudo sshd -t
sudo systemctl reload ssh

Важно: не закрывайте текущую SSH-сессию, пока не проверите вход в новой сессии. Ошибка в настройке может лишить вас доступа к VPS.

11. Включить UFW

Сначала разрешите SSH, затем включайте firewall:

sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

Для веб-сервера дополнительно разрешите HTTP и HTTPS:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

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

12. Установить Fail2Ban

sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status

Не редактируйте поставляемый файл jail.conf напрямую. Собственные настройки лучше хранить в /etc/fail2ban/jail.local или в каталоге jail.d.

13. Проверить открытые порты

sudo ss -tulpn

Альтернативная проверка:

sudo lsof -i -P -n

Если неизвестная служба слушает внешний интерфейс, выясните её назначение и при необходимости отключите.

14. Проверить память и swap

free -h
swapon --show

На небольшом VPS swap помогает избежать аварийного завершения процессов при кратковременной нехватке RAM. Он не заменяет оперативную память и не должен постоянно использоваться под высокой нагрузкой.

Посмотреть агрессивность использования swap:

sysctl vm.swappiness

15. Проверить свободное место

df -hT

Найти наиболее объёмные каталоги:

sudo du -xhd1 / | sort -h

Для интерактивного анализа удобно использовать:

sudo ncdu /

16. Проверить состояние диска

Для физического сервера установите SMART-инструменты:

sudo apt install -y smartmontools
sudo smartctl --scan

На многих виртуальных серверах SMART недоступен, поскольку физическими дисками управляет провайдер.

17. Проверить ошибки текущей загрузки

sudo journalctl -p err -b

Ошибки ядра:

sudo dmesg --level=err,warn

Не каждая запись уровня warning означает реальную проблему. Оценивайте её с учётом оборудования и используемых служб.

18. Проверить состояние служб

systemctl --failed

Посмотреть запущенные службы:

systemctl --type=service --state=running

Отключайте только те службы, назначение которых точно понимаете.

19. Проверить журналирование и ротацию логов

Проверьте объём журнала systemd:

journalctl --disk-usage

Проверить конфигурацию ротации:

sudo logrotate -d /etc/logrotate.conf

Для веб-сервера, базы данных и приложений должны быть настроены собственные правила ротации, чтобы логи не заполнили диск.

20. Очистить ненужные пакеты

sudo apt autoremove --purge -y
sudo apt autoclean

Перед удалением внимательно просмотрите список пакетов, особенно на production-сервере.

21. Создать контрольную точку восстановления

После завершения настройки:

  • создайте snapshot VPS у провайдера;
  • сделайте резервную копию конфигурации;
  • сохраните список установленных пакетов;
  • зафиксируйте открытые порты;
  • запишите команды восстановления;
  • проверьте права доступа к секретам.

Список установленных пакетов можно сохранить так:

dpkg-query -W -f='${binary:Package}\t${Version}\n' \
  | sort \
  | sudo tee /root/installed-packages.txt > /dev/null

Основную информацию о системе:

{
  date
  hostnamectl
  uname -a
  free -h
  df -hT
  swapon --show
  systemctl --failed
  sudo ufw status verbose
  sudo ss -tulpn
} | sudo tee /root/system-baseline.txt

Итоговый чек-лист

  • ☐ Система обновлена.
  • ☐ Перезагрузка выполнена.
  • ☐ Автоматические обновления безопасности включены.
  • ☐ Создан обычный пользователь с sudo.
  • ☐ Вход по SSH-ключу проверен.
  • ☐ Парольный вход отключён только после проверки ключа.
  • ☐ UFW включён.
  • ☐ Fail2Ban работает.
  • ☐ Открытые порты проверены.
  • ☐ Память, swap и диск проверены.
  • ☐ Ошибки загрузки изучены.
  • ☐ Неисправных служб нет.
  • ☐ Ротация логов настроена.
  • ☐ Резервное копирование проверено восстановлением.
  • ☐ Мониторинг и уведомления настроены.
  • ☐ Создан snapshot или контрольная точка.

Заключение

После выполнения этих шагов Ubuntu 24.04 превращается из только что установленной системы в подготовленную платформу для разработки, домашнего сервера или production-проекта.

Не все пункты обязательны в каждой ситуации. Для домашнего компьютера, VPS и физического сервера набор действий будет отличаться. Главное — понимать назначение каждой настройки, не открывать лишние сервисы и заранее подготовить путь восстановления.