Настройка Ubuntu Server 24.04: сеть, SSH, безопасность | Руководство | AdminWiki

Полное руководство по настройке Ubuntu Server 24.04: от установки до production

17 декабря 2025 8 мин. чтения #devops #ssh настройка ubuntu #ubuntu server 24.04 #ubuntu server настройка сети #настройка ubuntu server #сервер linux
Содержание статьи

Представь, что ты только что установил чистый Ubuntu Server 24.04. Экран мигает курсором в консоли, и ты понимаешь: теперь нужно превратить эту "голую" систему в надежный, безопасный и готовый к работе сервер. Давай разберем этот процесс шаг за шагом — от базовой настройки до продвинутых конфигураций.

Подготовка и начальная настройка Ubuntu Server 24.04

Важно: Все команды выполняются от имени суперпользователя или с использованием sudo. Если ты вошел как обычный пользователь, добавляй sudo перед каждой командой.

1. Обновление системы и установка базовых пакетов

Первое, что нужно сделать после установки Ubuntu Server 22.04 или 24.04 — обновить систему до актуального состояния:

bash
# Обновление списка пакетов
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

bash
# Просмотр текущих сетевых интерфейсов
ip a

# Редактирование конфигурации Netplan
sudo nano /etc/netplan/00-installer-config.yaml

Пример конфигурации для статического IP (адаптируй под свою сеть):

yaml
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
bash
# Применение конфигурации сети
sudo netplan apply

# Проверка конфигурации
sudo netplan --debug generate
Внимание: Неправильная настройка сети ubuntu server может привести к потере доступа к серверу. Если работаешь удаленно, имей под рукой консоль управления (KVM/IPMI) или выполняй изменения в рабочее время.

Настройка SSH в Ubuntu Server 22.04 и 24.04

SSH — твой основной инструмент удаленного управления. Настройка ssh ubuntu server должна быть приоритетной задачей.

bash
# Резервное копирование оригинального конфига
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

# Редактирование конфигурации SSH
sudo nano /etc/ssh/sshd_config

Рекомендуемые изменения в sshd_config:

config
# Изменить стандартный порт (опционально, но рекомендуется)
Port 2222  # вместо 22

# Запретить вход под root
PermitRootLogin no

# Разрешить только определенных пользователей
AllowUsers ваш_пользователь

# Включить аутентификацию по ключу
PubkeyAuthentication yes

# Отключить парольную аутентификацию (после настройки ключей)
PasswordAuthentication no

# Включить использование только протокола 2
Protocol 2

Генерация SSH ключей и настройка доступа

bash
# На клиенте (не на сервере!): генерация ключа
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)

bash
# Включение 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

bash
# Создание локальной конфигурации для SSH
sudo nano /etc/fail2ban/jail.local
config
[sshd]
enabled = true
port = 2222  # укажи свой порт SSH
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
bash
# Перезапуск Fail2Ban
sudo systemctl restart fail2ban

# Проверка статуса
sudo fail2ban-client status
sudo fail2ban-client status sshd

Оптимизация и настройка времени

bash
# Установка и настройка NTP
sudo apt install -y chrony

# Проверка синхронизации времени
chronyc tracking
chronyc sources

# Настройка часового пояса
sudo timedatectl set-timezone Europe/Moscow  # укажи свой пояс

# Просмотр текущих настроек времени
sudo timedatectl status

Автоматические обновления безопасности

bash
# Установка 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:

config
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

Настройка мониторинга дискового пространства

bash
# Установка утилит мониторинга
sudo apt install -y smartmontools ncdu

# Проверка здоровья дисков
sudo smartctl -a /dev/sda

# Мониторинг использования диска
sudo ncdu /

Настройка swap (если не настроено при установке)

bash
# Создание 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 (при необходимости)
  • ✅ Проверена работа всех сервисов
Профессиональный совет: После завершения настройки ubuntu server 24.04 создай полный бэкап системы или образ виртуальной машины. Это сэкономит часы работы при развертывании новых серверов.

Часто задаваемые вопросы (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 и обеспечивает стабильную работу сервисов.

Поделиться:
Сохранить гайд? В закладки браузера