Вы установили Linux (например, Ubuntu Server, CentOS или Astra Linux) на физический сервер или виртуальную машину. Перед вами консоль, и вы понимаете, что это не просто «компьютер с Linux», а теперь это сервер, который должен выполнять конкретные задачи: отдавать веб-сайты, хранить файлы, работать с базой данных. С чего начать? Как защитить его от внешних угроз? Как настроить сеть, обновления, брандмауэр и другие базовые элементы?
Многие новички, установив систему, сразу начинают ставить нужный софт, забывая о базовой настройке. В результате сервер работает, но медленно, небезопасно, а при первом же сбое восстановить его сложно. Нужен чёткий план начальной конфигурации, который превратит чистую установку в надёжную, защищённую платформу для дальнейшего развёртывания сервисов.
Основа настройки
Процесс настройки сервера Linux стандартизирован и состоит из нескольких обязательных этапов: обновление системы, настройка сети (статический IP), создание пользователя с правами sudo, настройка SSH для безопасного доступа, конфигурация брандмауэра (iptables или nftables), синхронизация времени (NTP) и, при необходимости, настройка мониторинга. Выполнив эти шаги один раз, вы получите сервер, который готов к установке любого приложения и устойчив к большинству стандартных угроз.
Мы пройдём по всем этапам на примере Ubuntu Server 22.04 LTS (инструкции для CentOS/RHEL и Astra Linux будут отмечены отдельно). После прочтения вы сможете самостоятельно подготовить сервер к работе.
Шаг 1. Первый вход и обновление системы
После установки вы попадёте в консоль с приглашением входа. Введите логин (обычно root или созданный при установке пользователь) и пароль.
Если вы зашли под root, создайте обычного пользователя для повседневной работы (безопаснее). Если под обычным пользователем переходите к обновлению.
Обновление системы (Ubuntu/Debian):
Ведите или скопируйте по очередно текст ниже и вставьте его в ликсовый терминал.
sudo apt update # обновить список пакетов
sudo apt upgrade -y # установить обновления
sudo apt dist-upgrade -y # обновить ядро и зависимости
Для CentOS/RHEL:
sudo yum update -y
После обновления перезагрузите сервер, если обновилось ядро:
sudo reboot
Шаг 2. Настройка сетевого интерфейса со статическим IP)
Сервер должен иметь постоянный IP-адрес. В Ubuntu 22.04 используется Netplan.
- Найдите файл конфигурации:
ls /etc/netplan/Обычно это00-installer-config.yamlили01-netcfg.yaml. - Отредактируйте его:
sudo nano /etc/netplan/00-installer-config.yaml - Приведите к виду:
network:
version: 2
ethernets:
ens18: # имя интерфейса (проверьте через ip a)
dhcp4: false
addresses:
- 192.168.1.100/24 # статический IP
gateway4: 192.168.1.1 # шлюз
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
4. Примените настройки: sudo netplan apply
Для CentOS/RHEL — файл в /etc/sysconfig/network-scripts/ifcfg-eth0, параметры BOOTPROTO=static, IPADDR, GATEWAY, NETMASK.
Шаг 3. Создание пользователя и настройка sudo
Если вы работаете под root, создайте обычного пользователя:
useradd -m -s /bin/bash andrey
passwd andrey
-m — создаёт домашнюю директорию, -s — указывает оболочку.
Добавьте пользователя в группу sudo (для Ubuntu):
usermod -aG sudo andrey
Для CentOS — группа wheel.
Проверьте:
su - andrey
sudo whoami
Если выводит root, значит sudo работает.
Шаг 4. Настройка SSH для безопасного доступа
По умолчанию SSH разрешает вход под root и по паролю. Это небезопасно. Отредактируйте конфигурацию:
sudo nano /etc/ssh/sshd_config
Найдите и измените/добавьте:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
После изменений перезапустите SSH:
sudo systemctl restart sshd
Важно: прежде чем отключать парольную аутентификацию, убедитесь, что у вас настроен ключевой доступ. Если нет — сначала создайте ключ.
Создание SSH-ключа на клиенте (не на сервере):
ssh-keygen -t ed25519 -C "your_email@example.com"
Затем скопируйте публичный ключ на сервер:
ssh-copy-id andrey@192.168.1.100
Только после этого отключайте пароли.
Шаг 5. Настройка брандмауэра (ufw для Ubuntu)
В Ubuntu удобно использовать ufw (Uncomplicated Firewall). По умолчанию он отключён.
Разрешаем SSH (чтобы не потерять доступ):
sudo ufw allow ssh
Если вы изменили порт SSH, укажите порт: sudo ufw allow 2222/tcp.
Разрешаем другие необходимые порты (например, для веб-сервера):
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Включаем брандмауэр:
sudo ufw enable
Проверяем статус:
sudo ufw status verbose
Для CentOS/RHEL используется firewalld:
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
Шаг 6. Настройка времени (NTP)
Сервер должен иметь точное время. Установите и включите службу синхронизации.
Ubuntu/Debian (chrony):
sudo apt install chrony -y
sudo systemctl enable chrony
sudo systemctl start chrony
Проверьте:
timedatectl status
Должно быть NTP service: active.
CentOS/RHEL:
sudo yum install chrony -y
sudo systemctl enable chronyd
sudo systemctl start chronyd
Шаг 7. Настройка автоматических обновлений безопасности
Чтобы сервер не пропускал критические обновления, настроим автоматическую установку.
Ubuntu/Debian:
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades
В появившемся окне выберите Yes.
Проверьте, что служба включена:
sudo systemctl status unattended-upgrades
CentOS/RHEL — используется dnf-automatic:
sudo yum install dnf-automatic -y
sudo systemctl enable --now dnf-automatic.timer
Шаг 8. Настройка базового мониторинга
Хорошо бы видеть, что происходит с сервером. Установите простые утилиты:
sudo apt install htop iotop nethogs -y # Ubuntu
-
htop— интерактивный просмотр процессов. -
iotop— нагрузка на диск. -
nethogs— сетевой трафик по процессам.
Также полезно настроить отправку системных логов на внешний сервер или хотя бы настроить уведомления о перезагрузках.
Шаг 9. Изменение hostname
Дайте серверу понятное имя:
sudo hostnamectl set-hostname myserver
Проверьте:
hostname
Пропишите его в /etc/hosts, чтобы не было ошибок:
sudo nano /etc/hosts
Добавьте строку:
127.0.0.1 localhost myserver
Шаг 10. Проверка базовой безопасности
Выполните несколько быстрых проверок:
-
Не запущены ли лишние службы?
sudo ss -tulpn - Посмотрите, какие порты слушаются. Если есть что-то лишнее отключите.
-
Нет ли неудачных попыток входа?
sudo lastb | head - Если много записей — возможно, на сервер пытаются подобраться. Усильте защиту (например, установите Fail2Ban).
- Проверьте права на файлы конфигураций они не должны быть доступны всем.
Шпаргалка: основные команды после установки
| Действие | Команда |
|---|---|
| Обновить систему (Ubuntu) | sudo apt update && sudo apt upgrade -y |
| Назначить статический IP (Ubuntu) | Редактировать /etc/netplan/*.yaml, затем sudo netplan apply |
| Создать пользователя | sudo useradd -m -s /bin/bash имя |
| Добавить в sudo | sudo usermod -aG sudo имя |
| Настроить SSH | Редактировать /etc/ssh/sshd_config, затем sudo systemctl restart sshd |
| Включить брандмауэр (ufw) | sudo ufw allow ssh && sudo ufw enable |
| Включить NTP | sudo timedatectl set-ntp true |
| Изменить hostname | sudo hostnamectl set-hostname новое_имя |
Правильная начальная настройка сервера Linux это фундамент, на котором будет строиться вся последующая работа. Потратив 20-30 минут на выполнение описанных шагов, вы получите систему, которая:
- имеет статический IP и правильное имя;
- обновлена и автоматически получает патчи безопасности;
- защищена брандмауэром и имеет безопасную конфигурацию SSH;
- синхронизирует время;
- готова к установке любого приложения.
Теперь можно переходить к установке конкретных сервисов: веб-сервера, базы данных, файлового хранилища в зависимости от ваших задач.







