← Назад

ubuntu-setup

🔐 Войти для редактирования

🐧 Базовая настройка Ubuntu Server

Пошаговая инструкция для свежеустановленного Ubuntu Server 22.04/24.04 LTS.


Шаг 1. Первое обновление системы

apt update && apt upgrade -y

Шаг 2. Создание пользователя (если работаете под root)

adduser username
usermod -aG sudo username

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

su - username

Шаг 3. Настройка SSH

3.1. Отключение входа по паролю для root

sudo nano /etc/ssh/sshd_config

Изменить параметры:

PermitRootLogin prohibit-password
PasswordAuthentication no

⚠️ Сначала убедитесь, что SSH-ключ добавлен, иначе потеряете доступ!

3.2. Добавление SSH-ключа

На локальном компьютере:

ssh-keygen -t ed25519 -C "your_email@example.com"
ssh-copy-id username@server_ip

3.3. Перезапуск SSH

sudo systemctl restart sshd

Шаг 4. Файрвол (UFW)

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp        # SSH
sudo ufw allow 80/tcp        # HTTP (если нужен)
sudo ufw allow 443/tcp       # HTTPS (если нужен)
sudo ufw enable

Проверка:

sudo ufw status verbose

Шаг 5. Защита от брутфорс-атак (Fail2ban)

sudo apt install fail2ban -y

Настройка:

sudo nano /etc/fail2ban/jail.local
[sshd]
enabled = true
port = ssh
maxretry = 5
bantime = 3600
findtime = 600
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

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

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

Шаг 7. Синхронизация времени

sudo timedatectl set-timezone Europe/Kiev
sudo timedatectl set-ntp true

Проверка:

timedatectl status

Шаг 8. Swap-файл (если мало RAM)

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Добавить в /etc/fstab для постоянного эффекта:

/swapfile none swap sw 0 0

Проверка:

free -h

Шаг 9. Базовые утилиты

sudo apt install -y curl wget git htop nano vim unzip net-tools \
  apt-transport-https ca-certificates gnupg lsb-release software-properties-common

Шаг 10. Проверка системы

# Версия ОС
lsb_release -a

# Ресурсы
free -h
df -h
nproc

# Температура CPU (если есть sensors)
sudo apt install lm-sensors -y
sudo sensors-detect --auto
sensors

# Прослушиваемые порты
sudo ss -tlnp

Чеклист ✅


Полезные команды

Команда Описание
sudo ufw status Статус файрвола
sudo fail2ban-client status sshd Статус защиты SSH
sudo apt autoremove --purge Очистка старых пакетов
journalctl -u sshd --since "1 hour ago" Логи SSH за час
htop Мониторинг ресурсов
sudo ss -tlnp Открытые порты

Последнее обновление: 2026-07-18