Чек-лист «Day 0»: 10 шагов, которые админ должен сделать с новым сервером до ввода в прод

«Пингуется» — не значит «Готов»

Самая распространенная ошибка системного администратора — считать, что развернутая виртуальная машина, которая отвечает на ping, готова к работе. Это не так.

«Чистый» сервер из шаблона — это «цифровой слепок» без иммуните(та. Он уязвим, анонимен, не настроен и, скорее всего, живет в неправильном часовом поясе. Отправка такого сервера в «прод» — это как отправить солдата на задание без оружия, карты и связи.

«Админ-пожарный» настраивает сервер «по ходу», когда уже что-то сломалось. «Архитектор будущего» проводит стандартизированный ввод в эксплуатацию (commissioning).

Этот чек-лист — ваш «Day 0», «нулевой день». Это 10 шагов, которые превращают уязвимый шаблон в готовый к бою, безопасный и управляемый юнит вашей инфраструктуры.


10 шагов к «Production-Ready»

Мы пройдем по 10 критическим точкам, разделив их на Linux (Lin) и Windows (Win) там, где это необходимо.

1. □ Имя (Hostname) и DNS: «Кто ты?»

Проблема: Сервер с именем ubuntu-2204-lt-01 или WIN-SDF876G5 бесполезен. Вы не знаете, кто это и за что он отвечает.

Решение: Сервер обязан иметь осмысленное имя, отражающее его роль и расположение (например, msk-web-prod-01). Сразу после этого его A (прямая) и PTR (обратная) записи должны быть внесены в DNS.

  • Lin (RHEL/CentOS):Bash # Устанавливаем "говорящее" имя hostnamectl set-hostname msk-web-prod-01
  • Lin (Debian/Ubuntu):Bash hostnamectl set-hostname msk-web-prod-01 # И не забываем про /etc/hosts, если DNS не сразу подхватит # 127.0.0.1 localhost # 127.0.1.1 msk-web-prod-01.yourdomain.com msk-web-prod-01
  • Win (PowerShell):PowerShell # Переименовываем и сразу перезагружаем Rename-Computer -NewName "MSK-WEB-PROD-01" -Restart

2. □ Сеть: Статический IP

Проблема: DHCP — для рабочих станций. Сервер, IP-адрес которого может измениться, — это катастрофа, ждущая своего часа.

Решение: Сервер всегда должен иметь статический IP, маску, шлюз и прописанные DNS-серверы.

  • Lin (Ubuntu, Netplan):YAML# /etc/netplan/01-netcfg.yaml network: version: 2 renderer: networkd ethernets: ens160: dhcp4: no addresses: - 192.168.1.10/24 gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] После этого: sudo netplan apply
  • Win (PowerShell):PowerShell # Получаем индекс нужного интерфейса Get-NetAdapter | Format-Table Name, InterfaceIndex, Status # Назначаем статический IP (например, для интерфейса 12) New-NetIPAddress -InterfaceIndex 12 -IPAddress 192.168.1.10 -PrefixLength 24 -DefaultGateway 192.168.1.1 Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses ("8.8.8.8", "1.1.1.1")

3. □ Часовой пояс и NTP: «Который час?»

Проблема: Серверы с рассинхронизированным временем — это ад для логов (невозможно сопоставить события) и смерть для Kerberos (Active Directory откажет в аутентификации при расхождении > 5 минут).

Решение: Установить правильный часовой пояс и принудительно включить синхронизацию времени (NTP).

  • Lin:Bash # Устанавливаем часовой пояс (пример для Москвы) timedatectl set-timezone Europe/Moscow # Включаем и запускаем NTP-клиент timedatectl set-ntp true systemctl restart systemd-timesyncd
  • Win: В домене это прилетит по GPO (Group Policy). Но если сервер в DMZ:PowerShell # Устанавливаем часовой пояс Set-TimeZone -Id "Russian Standard Time" # Настраиваем NTP-сервер w32tm /config /manualpeerlist:"pool.ntp.org,0x8" /syncfromflags:MANUAL Restart-Service w32time

4. □ Обновления безопасности: «Закрыть дыры»

Проблема: «Чистый» образ, который вы скачали, мог быть собран 6 месяцев назад. За это время в нем нашли десятки уязвимостей.

Решение: Первое, что нужно сделать после подключения к сети — установить все последние патчи безопасности.

  • Lin (Debian/Ubuntu):Bash apt update apt upgrade -y
  • Lin (RHEL/CentOS):Bash yum update -y
  • Win (PowerShell):PowerShell # Простой способ запустить проверку из консоли $updates = New-Object -ComObject "Microsoft.Update.Session" $searcher = $updates.CreateUpdateSearcher() $result = $searcher.Search("IsInstalled=0 and Type='Software'") # Этот код найдет, но для установки лучше использовать Sconfig или GUI Архитекторский путь: Install-Module PSWindowsUpdate и Install-WindowsUpdate

5. □ Удаленный доступ: «Стальная дверь»

Проблема: Стандартные ssh и RDP — главная цель для ботнетов.

Решение: Укрепить «входную дверь» немедленно.

  • Lin (SSH): Редактируем /etc/ssh/sshd_config и меняем два золотых правила:Ini, TOML# 1. Запрещаем вход под root. # Это заставляет использовать 'sudo', что оставляет аудитный след. PermitRootLogin no # 2. Запрещаем пароли, разрешаем только ключи. # Брутфорс становится невозможным. PasswordAuthentication no PubkeyAuthentication yes Не забудьте сначала скопировать свой ключ (ssh-copy-id)!
  • Win (RDP/WinRM):
    • RDP: Убедитесь, что он включен только для тех, кому нужен, и (в идеале) закрыт файрволом для всех, кроме Admin-VLAN.
    • WinRM (PowerShell Remoting): Это выбор «архитектора» для автоматизации.PowerShellEnable-PSRemoting -Force

6. □ Базовая безопасность: «Сигнализация»

Проблема: Одного ssh мало. Нужен базовый файрвол и защита от брутфорса.

Решение: Настроить ufw (простой) или firewalld (сложный) и обязательно fail2ban.

  • Lin (UFW + Fail2Ban):Bash# Устанавливаем apt install ufw fail2ban -y # Настраиваем UFW (Uncomplicated Firewall) ufw default deny incoming ufw default allow outgoing ufw allow ssh # (ИЛИ 22/tcp) ufw allow http ufw allow https ufw enable # Включаем fail2ban (он начнет защищать SSH "из коробки") systemctl enable fail2ban systemctl start fail2ban
  • Win:
    • Убедиться, что Windows Firewall включен (он включен по умолчанию, и он хорош).
    • Для домена: Убедиться, что LAPS (Local Administrator Password Solution) будет применен. Это ротирует локальные пароли админа, делая горизонтальное перемещение почти невозможным.

7. □ Мониторинг: «Что там происходит?»

Проблема: Сервер, который не мониторится, — не существует. Вы узнаете о проблеме от клиента, а это провал.

Решение: Установить агент вашей системы мониторинга (Zabbix, Grafana/Prometheus, Nagios).

  • Lin (Zabbix Agent):Bash # ...установка из репозитория... # Редактируем /etc/zabbix/zabbix_agentd.conf # Server=IP_ВАШЕГО_ZABBIX_СЕРВЕРА # ServerActive=IP_ВАШЕГО_ZABBIX_СЕРВЕРА # Hostname=msk-web-prod-01 systemctl restart zabbix-agent systemctl enable zabbix-agent
  • Lin (Node Exporter для Prometheus): Просто скачиваем бинарник, делаем systemd.service и запускаем на порту 9100.

8. □ Бэкап: «План Б»

Проблема: Данные, которые не бэкапятся, — это временные данные.

Решение: Установить и настроить агент вашей корпоративной системы бэкапирования (Veeam, Bacula, Acronis, etc.) до того, как на сервере появятся первые «боевые» данные.

9. □ Логирование: «Черный ящик»

Проблема: Если сервер взломают, первое, что сделает атакующий, — сотрет локальные логи (/var/log).

Решение: Настроить централизованную отправку логов в SIEM, ELK-стек или Graylog. Логи должны улетать с сервера в реальном времени.

  • Lin: Настроить rsyslog или journald-forwarder на отправку на ваш коллектор.
  • Win: Настроить WEF (Windows Event Forwarding). Это мощнейшая и недооцененная нативная технология, которая позволяет «подписываться» на события с рабочих станций и серверов.

10. □ Ввод в домен / CM: «Стать частью целого»

Проблема: Сервер «в вакууме» не управляется централизованно.

Решение: Это финальный шаг. Сервер готов, безопасен и теперь может стать частью «стада».

  • Win: Ввод в домен Active Directory.PowerShellAdd-Computer -DomainName "yourdomain.com" -Credential (Get-Credential) -Restart
  • Lin: Применение плейбука Ansible / манифеста Puppet / стейта Salt.

Взгляд «Архитектора»: Автоматизируй это!

Этот чек-лист — не для «ручной» работы. «Админ» потратит на эти 10 шагов час, отвлекаясь и рискуя что-то упустить.

«Архитектор» потратит день на то, чтобы превратить этот чек-лист в техническое задание (ТЗ) для своего скрипта автоматизации.

  • Для Windows: Это скрипт PowerShell DSC (Desired State Configuration) или просто «оркестратор» на PowerShell.
  • Для Linux: Это Ansible-плейбук.

Цель — чтобы «Шаг 10» (запуск Ansible) автоматически выполнял шаги 1-9 за 5 минут, без единой ошибки. Ваша работа — не «кликать», а «проектировать» систему, которая «кликает» за вас.


Теги: #чеклисты #sysadmin #automation #security #windows #linux #day0

Хотите стать архитектором будущего, а не просто админом? Эта статья — лишь верхушка айсберга. В нашем Telegram-канале «Admin Future» мы каждый день публикуем системные гайды, готовые скрипты, AI-лайфхаки и чеклисты, которые не найти в Google. Мы не просто постим команды — мы строим библиотеку знаний для тех, кто хочет расти от админа до архитектора. Подписывайтесь и становитесь экспертом: Admin Future

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх