Шаг 1: Первое подключение и обновление системы.
После покупки VPS у хостинг-провайдера (Selectel, Timeweb, Reg.ru и др.) вы получите IP-адрес, имя пользователя (часто `root`) и пароль или SSH-ключ. Подключитесь с локальной машины через терминал (Linux/macOS) или PuTTY (Windows): `ssh root@ваш_ip`. При первом подключении вы примете fingerprint ключа сервера.
Сразу же смените пароль root, если он был задан провайдером, командой `passwd`. Затем обновите списки пакетов и установленные программы до последних версий, чтобы получить исправления безопасности: `apt update && apt upgrade -y`. После обновления может потребоваться перезагрузка: `reboot`.
Шаг 2: Создание нового пользователя и настройка SSH.
Работать от root постоянно — плохая практика безопасности. Создадим нового пользователя с привилегиями администратора: `adduser ваш_логин`. Добавим его в группу sudo, чтобы он мог выполнять команды с правами суперпользователя: `usermod -aG sudo ваш_логин`.
Теперь критически важно настроить безопасный доступ по SSH. Отредактируем конфигурационный файл: `nano /etc/ssh/sshd_config`. Найдите и измените следующие директивы:
- `Port 22` -> измените на другой порт, например, `Port 2222`. Это снизит количество автоматических атак.
- `PermitRootLogin yes` -> `PermitRootLogin no`. Запрещает прямое подключение под root.
- `PasswordAuthentication yes` -> `PasswordAuthentication no`. Отключает аутентификацию по паролю в пользу более безопасных ключей.
Шаг 3: Базовая настройка брандмауэра.
Ubuntu поставляется с `ufw` (Uncomplicated Firewall) — простым фронтендом для iptables. Включим его и настроим правила:
- `sudo ufw default deny incoming` (запретить все входящие подключения по умолчанию).
- `sudo ufw default allow outgoing` (разрешить все исходящие).
- `sudo ufw allow 2222/tcp` (разрешить наш новый SSH-порт).
- Если планируете веб-сервер, позже добавите `sudo ufw allow 80/tcp` и `sudo ufw allow 443/tcp`.
Шаг 4: Настройка часового пояса и NTP.
Для корректного времени логов и планировщиков задайте часовой пояс: `sudo timedatectl set-timezone Europe/Moscow`. Убедитесь, что служба синхронизации времени (systemd-timesyncd) активна: `sudo timedatectl status`.
Шаг 5: Установка базового полезного софта.
Установите набор инструментов, которые пригодятся в ежедневной работе:
- `sudo apt install -y curl wget git htop nano mc tmux`. Это набор для загрузки файлов, работы с репозиториями, мониторинга ресурсов и удобного редактирования.
- Для анализа логов: `sudo apt install -y logrotate`.
- Для мониторинка сетевых соединений: `sudo apt install -y net-tools` (старый добрый netstat) или более современный `iproute2` (уже предустановлен).
Если нужна русская локаль для системных сообщений, установите: `sudo apt install -y language-pack-ru` и настройте: `sudo update-locale LANG=ru_RU.UTF-8`. Для серверов с малым объемом оперативной памяти полезно создать файл подкачки (SWAP). Например, на 2 ГБ: `sudo fallocate -l 2G /swapfile`, `sudo chmod 600 /swapfile`, `sudo mkswap /swapfile`, `sudo swapon /swapfile`. Чтобы монтировать SWAP при загрузке, добавьте запись в `/etc/fstab`.
Шаг 7: Планирование задач и мониторинг.
Настройте автоматическое обновление безопасности. Установите пакет `unattended-upgrades`: `sudo apt install -y unattended-upgrades`. Активируйте его: `sudo dpkg-reconfigure --priority=low unattended-upgrades`. Для мониторинга состояния сервера в реальном времени используйте `htop` (запуск в терминале) или установите более продвинутые инструменты, такие как Netdata (`bash
Комментарии (11)