Представь, что ты только что установил чистый Ubuntu Server 24.04. Экран мигает курсором в консоли, и ты понимаешь: теперь нужно превратить эту "голую" систему в надежный, безопасный и готовый к работе сервер. Давай разберем этот процесс шаг за шагом — от базовой настройки до продвинутых конфигураций.
Подготовка и начальная настройка Ubuntu Server 24.04
sudo перед каждой командой.
1. Обновление системы и установка базовых пакетов
Первое, что нужно сделать после установки Ubuntu Server 22.04 или 24.04 — обновить систему до актуального состояния:
# Обновление списка пакетов
sudo apt update
# Обновление установленных пакетов
sudo apt upgrade -y
# Установка полезных утилит
sudo apt install -y \
curl \
wget \
git \
htop \
net-tools \
software-properties-common \
ufw \
fail2ban \
vim
Настройка сети в Ubuntu Server 24.04
Конфигурация сети — фундаментальный этап настройки ubuntu server. В версиях 20.04, 22.04 и 24.04 используется Netplan, который заменил старый ifupdown.
Статический IP адрес в Ubuntu Server
# Просмотр текущих сетевых интерфейсов
ip a
# Редактирование конфигурации Netplan
sudo nano /etc/netplan/00-installer-config.yaml
Пример конфигурации для статического IP (адаптируй под свою сеть):
network:
version: 2
ethernets:
ens33: # имя интерфейса (узнай через ip a)
dhcp4: no
addresses:
- 192.168.1.100/24 # твой статический IP
routes:
- to: default
via: 192.168.1.1 # шлюз
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
- 1.1.1.1
# Применение конфигурации сети
sudo netplan apply
# Проверка конфигурации
sudo netplan --debug generate
Настройка SSH в Ubuntu Server 22.04 и 24.04
SSH — твой основной инструмент удаленного управления. Настройка ssh ubuntu server должна быть приоритетной задачей.
# Резервное копирование оригинального конфига
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
# Редактирование конфигурации SSH
sudo nano /etc/ssh/sshd_config
Рекомендуемые изменения в sshd_config:
# Изменить стандартный порт (опционально, но рекомендуется)
Port 2222 # вместо 22
# Запретить вход под root
PermitRootLogin no
# Разрешить только определенных пользователей
AllowUsers ваш_пользователь
# Включить аутентификацию по ключу
PubkeyAuthentication yes
# Отключить парольную аутентификацию (после настройки ключей)
PasswordAuthentication no
# Включить использование только протокола 2
Protocol 2
Генерация SSH ключей и настройка доступа
# На клиенте (не на сервере!): генерация ключа
ssh-keygen -t ed25519 -C "your_email@example.com"
# Копирование публичного ключа на сервер
ssh-copy-id -p 22 ваш_пользователь@ip_адрес_сервера
# Если изменили порт SSH:
ssh-copy-id -p 2222 ваш_пользователь@ip_адрес_сервера
# Перезагрузка SSH службы
sudo systemctl restart sshd
# Проверка статуса
sudo systemctl status sshd
Безопасность и брандмауэр
После настройки ssh ubuntu server, приступаем к укреплению безопасности.
Настройка UFW (Uncomplicated Firewall)
# Включение UFW
sudo ufw enable
# Разрешение SSH (если изменили порт, укажи свой)
sudo ufw allow 2222/tcp comment 'SSH access'
# Разрешение HTTP/HTTPS для веб-сервера
sudo ufw allow 80/tcp comment 'HTTP'
sudo ufw allow 443/tcp comment 'HTTPS'
# Просмотр правил
sudo ufw status verbose
# Отключение UFW (если нужно)
sudo ufw disable
Настройка Fail2Ban для защиты от bruteforce
# Создание локальной конфигурации для SSH
sudo nano /etc/fail2ban/jail.local
[sshd]
enabled = true
port = 2222 # укажи свой порт SSH
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
# Перезапуск Fail2Ban
sudo systemctl restart fail2ban
# Проверка статуса
sudo fail2ban-client status
sudo fail2ban-client status sshd
Оптимизация и настройка времени
# Установка и настройка NTP
sudo apt install -y chrony
# Проверка синхронизации времени
chronyc tracking
chronyc sources
# Настройка часового пояса
sudo timedatectl set-timezone Europe/Moscow # укажи свой пояс
# Просмотр текущих настроек времени
sudo timedatectl status
Автоматические обновления безопасности
# Установка unattended-upgrades
sudo apt install -y unattended-upgrades
# Настройка автоматических обновлений
sudo dpkg-reconfigure --priority=low unattended-upgrades
# Редактирование конфигурации
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Рекомендуемые настройки в 50unattended-upgrades:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
"${distro_id}:${distro_codename}-updates";
};
Unattended-Upgrade::AutoFixInterruptedDpkg "true";
Unattended-Upgrade::MinimalSteps "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "false"; # или true для авторебута
Сравнение настроек для разных версий Ubuntu Server
| Компонент | Ubuntu 20.04 | Ubuntu 22.04 | Ubuntu 24.04 |
|---|---|---|---|
| Настройка сети | Netplan (ранние версии) | Netplan (стабильный) | Netplan (оптимизированный) |
| SSH по умолчанию | OpenSSH 8.2 | OpenSSH 8.9 | OpenSSH 9.6+ |
| Ядро Linux | 5.4 LTS | 5.15 LTS | 6.8+ |
| Поддержка | До апреля 2025 | До апреля 2027 | До апреля 2029 |
Дополнительные настройки для production
Настройка мониторинга дискового пространства
# Установка утилит мониторинга
sudo apt install -y smartmontools ncdu
# Проверка здоровья дисков
sudo smartctl -a /dev/sda
# Мониторинг использования диска
sudo ncdu /
Настройка swap (если не настроено при установке)
# Создание swap-файла 4GB
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# Добавление в fstab
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# Настройка swappiness (рекомендуется 10 для серверов)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Чек-лист завершения настройки
- ✅ Система обновлена (
apt update && apt upgrade) - ✅ Настроена сеть Ubuntu Server (статический IP или DHCP)
- ✅ Настроен SSH с ключами и измененным портом
- ✅ Включен и настроен брандмауэр UFW
- ✅ Установлен и настроен Fail2Ban
- ✅ Настроено время и часовой пояс
- ✅ Настроены автоматические обновления безопасности
- ✅ Созданы резервные копии конфигов
- ✅ Настроен swap (при необходимости)
- ✅ Проверена работа всех сервисов
Часто задаваемые вопросы (FAQ)
Чем отличается настройка Ubuntu Server 24.04 от 22.04?
Основные отличия: более новая версия ядра (6.8+), обновленные пакеты, улучшенная производительность и безопасность. Процесс настройки сети, SSH и безопасности практически идентичен, что упрощает миграцию.
Как восстановить доступ к серверу, если я ошибся в настройке SSH?
Если у тебя есть физический доступ или консоль управления (KVM/IPMI):
1. Войди через консоль
2. Восстанови бэкап конфига: sudo cp /etc/ssh/sshd_config.backup /etc/ssh/sshd_config
3. Перезагрузи SSH: sudo systemctl restart sshd
Нужно ли настраивать swap на сервере с большим объемом RAM?
Да, даже с большим объемом RAM. Swap используется ядром для оптимизации памяти и как "страховка" на случай пиковой нагрузки. Рекомендуемый размер — 10-20% от объема RAM, но не менее 1GB.
Как автоматизировать настройку Ubuntu Server?
Используй инструменты Infrastructure as Code:
• Ansible для конфигурации
• Terraform для развертывания инфраструктуры
• Cloud-init для инициализации облачных инстансов
• Собственные bash-скрипты с шаблонами конфигов
Итог: Настройка Ubuntu Server 24.04 — это системный процесс, который превращает базовую установку в надежный production-сервер. Ключевые этапы: безопасность (SSH, UFW, Fail2Ban), стабильность (обновления, мониторинг) и оптимизация (сеть, время, ресурсы). Помни — хорошо настроенный сервер экономит время на troubleshooting и обеспечивает стабильную работу сервисов.