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