Ubuntu 24.04 LTS хорошо работает сразу после установки, однако для безопасной и удобной эксплуатации систему стоит обновить, защитить и подготовить к резервному копированию. Ниже — 25 действий, которые помогут превратить чистую Ubuntu в готовую рабочую систему.
Содержание
- Обновить систему
- Перезагрузить систему при необходимости
- Включить автоматические обновления безопасности
- Установить базовые утилиты
- Проверить имя сервера
- Настроить часовой пояс
- Проверить синхронизацию времени
- Создать обычного администратора
- Настроить SSH
- Перейти на вход по SSH-ключу
- Включить UFW
- Установить Fail2Ban
- Проверить открытые порты
- Проверить память и swap
- Проверить свободное место
- Проверить состояние диска
- Проверить ошибки загрузки
- Проверить службы
- Настроить журналирование
- Очистить ненужные пакеты
- Установить и настроить Git
- Установить Docker при необходимости
- Настроить резервное копирование
- Настроить мониторинг
- Создать контрольную точку восстановления
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 и физического сервера набор действий будет отличаться. Главное — понимать назначение каждой настройки, не открывать лишние сервисы и заранее подготовить путь восстановления.