VPSРейтинг
Администрирование1 сентября 2026 · 12 мин

Windows VPS: что настроить в первые полчаса после аренды

Провайдер присылает адрес, имя пользователя и пароль — и на этом почти все инструкции заканчиваются. А дальше сервер с открытым портом 3389 и учётной записью «Администратор» живёт до первого подбора пароля. Разбираем, что сделать сразу, — по шагам и с готовыми командами.

Сначала честно: нужен ли вам Windows

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

ЗадачаWindows действительно нужен?
Сайт, магазин, почта, файловое хранилищеНет. Всё это на Linux работает и лицензии не требует
VPN, телеграм-бот, контейнеры Docker, база данныхНет. Это классические задачи для Linux
1С с работой нескольких человек через рабочий столДа — либо связка Linux и PostgreSQL, но её сложнее настроить
Торговый терминал, отраслевая программа, приложение .NET FrameworkДа. Версии под Linux у таких программ обычно нет

Если в вашем случае ответ «нет», статья дальше не нужна, а нужна настройка Linux-сервера. Если «да» — читайте дальше: Windows требует другого набора действий, и совпадает из них немногое.

Сколько памяти и диска нужно самой системе

Это стоит посчитать до оплаты: доплатить за память потом можно, а вот переносить настроенный сервер на другой тариф — работа на полдня. Официальные минимумы Microsoft:

  • Windows Server 2022 — 1 ГБ памяти для варианта Server Core (управление только из командной строки) и 2 ГБ для «сервера с рабочим столом».
  • Windows Server 2025 — 2 ГБ в обоих вариантах, рекомендуется 4 ГБ.
  • Диск — не меньше 32 ГБ под систему. Microsoft называет это абсолютным минимумом для установки: место под обновления, файл подкачки и ваши программы считается сверх него.

Практический вывод простой. Тарифы на 1–2 ГБ у провайдеров есть, и Windows на них загрузится, но свободного места под задачу останется мало. Если через удалённый рабочий стол работает больше одного человека или на сервере крутится что-то кроме одной небольшой программы, берите от 4 ГБ памяти и от 50 ГБ диска. И только SSD или NVMe: на обычном жёстком диске графическая оболочка Windows заметно подтормаживает.

Если сервера ещё нет

4 ГБ RAM · 50 ГБ диска · Windows · Россия

Числа — из абзаца выше: 4 ГБ памяти закрывают систему и рабочую программу, 50 ГБ диска — систему, обновления и файл подкачки с запасом. Локация — Россия: удалённый рабочий стол чувствителен к задержке, курсор и ввод отзываются тем хуже, чем дальше сервер от того, кто за ним работает.

В каталоге под эти требования подходит 38 тарифов, самый дешёвый — 720 ₽/мес (HostKey, 4 ГБ, 60 ГБ NVMe).

Открыть каталог с этими фильтрами →

Шаг 1. Первое подключение

В письме от провайдера есть три вещи: адрес сервера, имя пользователя и пароль. Дальше в статье адрес сервера — 203.0.113.10, подставляйте свой.

  • С Windows. Ничего ставить не нужно: нажмите Win + R, введите mstsc — откроется «Подключение к удалённому рабочему столу». В поле «Компьютер» — адрес сервера.
  • С macOS, Android и iPhone. Официальное приложение называется Windows App — раньше оно называлось Microsoft Remote Desktop и было переименовано в 2024 году.
  • С Linux. Remmina — она есть в репозиториях всех популярных дистрибутивов.

Имя пользователя вводите с точкой и обратной косой чертой: .\Administrator — а если провайдер прислал русское имя, то .\Администратор. Точка означает «учётная запись этого сервера». Без неё клиент иногда пытается войти под учётной записью вашего рабочего компьютера, и вы получаете ошибку подлинности на ровном месте.

Первое, что стоит сделать внутри, — посмотреть версию системы и точное имя встроенной учётной записи администратора: на русских образах она называется «Администратор», на английских — Administrator, и дальше это имя понадобится. Откройте PowerShell от имени администратора: правая кнопка по «Пуску», дальше пункт Windows PowerShell (администратор) — в новых версиях он может называться Терминал (администратор). Приписка «(администратор)» обязательна: без неё половина команд ниже откажет. Выполните:

PowerShell от имени администратора
(Get-CimInstance Win32_OperatingSystem).Caption

Get-LocalUser | Where-Object { $_.SID -like '*-500' } | Select-Object Name, Enabled

Первая команда напечатает название версии, вторая — имя встроенного администратора. Признак -500 — это внутренний номер, который у встроенной учётной записи один и тот же на любом языке, поэтому команда работает и на русской, и на английской системе.

Шаг 2. Пароль, имя администратора, блокировка перебора

Пароль от провайдера знаете не только вы: он лежал в письме и в панели управления. Меняем его на свой, длиной от 16 символов, с буквами в двух регистрах и цифрами. Рассчитывать тут не на что: на отдельно стоящем сервере проверка сложности пароля по умолчанию выключена, и Windows молча примет любой. Команда ниже спросит пароль отдельно, поэтому он не останется в истории команд.

PowerShell от имени администратора
$admin = Get-LocalUser | Where-Object { $_.SID -like '*-500' }

Set-LocalUser -Name $admin.Name -Password (Read-Host 'Новый пароль' -AsSecureString)

Теперь имя. Боты, которые круглосуточно перебирают пароли, пробуют два имени: Administrator и Администратор. Переименование не делает сервер неприступным, но обесценивает почти весь автоматический перебор — подбирать приходится уже две вещи вместо одной.

PowerShell от имени администратора
$admin = Get-LocalUser | Where-Object { $_.SID -like '*-500' }

Rename-LocalUser -Name $admin.Name -NewName 'winadmin'

Текущий сеанс не оборвётся, но следующий вход будет уже под .\winadmin. Одна оговорка: если в панели провайдера есть кнопка «сбросить пароль администратора», после переименования она может перестать находить учётную запись. Убедитесь, что новый пароль записан в надёжном месте, — например, в своём менеджере паролей.

Третье действие — блокировка после неудачных попыток входа. Десять ошибок подряд — учётная запись закрывается на полчаса, и перебор паролей теряет смысл. Команды выполняются по одной и именно в этом порядке: пока порог не задан, Windows отказывается менять время блокировки и отвечает «Системная ошибка 87».

Командная строка или PowerShell от имени администратора
net accounts /lockoutthreshold:10
net accounts /lockoutduration:30 /lockoutwindow:30

net accounts

Третья команда покажет, что получилось: строка «Порог блокировки» должна показывать 10, а не «Никогда».

Встроенный администратор — исключение. На обычные учётные записи блокировка действует сразу, а встроенная учётная запись попадает под неё, только если включена отдельная политика «Разрешить блокировку учётной записи администратора». Возможность появилась в обновлениях от октября 2022 года и включена изначально лишь там, где установочный образ уже содержал эти обновления, — у готовых образов провайдеров это далеко не всегда так. Проверить и включить: secpol.msc → «Политики учётных записей» → «Политика блокировки учётной записи». Блокировка касается только сетевых входов, поэтому вход через консоль в панели провайдера продолжит работать даже тогда, когда RDP закрыт.

Шаг 3. Меняем порт удалённого рабочего стола

Стандартный порт 3389 сканируют непрерывно, и начинается это в первые часы после запуска сервера — независимо от того, интересны ли кому-то вы лично. Это фоновый шум интернета. Смена порта его почти полностью убирает: массовый перебор идёт по стандартному порту. Неприступным сервер от этого не становится — целенаправленное сканирование найдёт и нестандартный порт, — но поток попыток входа исчезает, а вместе с ним и риск, что кто-то однажды угадает пароль.

Выберите число от 10000 до 49000: всё, что выше 49152, Windows раздаёт своим программам сама, и однажды кто-то может занять ваш порт раньше службы удалённого рабочего стола. Дальше в примерах — 48200.

Порядок важен. Сначала открываем новый порт в брандмауэре и только потом переключаем на него службу. Если сделать наоборот, вы отключитесь от сервера, а войти на новый порт ещё не сможете.

PowerShell от имени администратора
$port = 48200

New-NetFirewallRule -DisplayName 'RDP-custom-TCP' -Profile Any `
  -Direction Inbound -Action Allow -Protocol TCP -LocalPort $port
New-NetFirewallRule -DisplayName 'RDP-custom-UDP' -Profile Any `
  -Direction Inbound -Action Allow -Protocol UDP -LocalPort $port

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' `
  -Name 'PortNumber' -Value $port -Type DWord

Restart-Computer -Force

После перезагрузки подключайтесь по адресу с портом через двоеточие: 203.0.113.10:48200. Старые правила для 3389 можно не трогать — на этом порту больше никто не слушает, и открытое правило ни к чему не ведёт. А вот если у провайдера в панели управления есть собственный сетевой экран, новый порт нужно открыть и там: правило внутри Windows на него не распространяется.

Ограничение по адресу — если ваш адрес постоянный

Это самая надёжная мера из всех и одновременно самая опасная: сервер перестанет принимать подключения откуда бы то ни было, кроме указанного адреса. Свой адрес можно узнать прямо на сервере, не выходя из сеанса, — команда покажет, откуда пришло текущее подключение:

PowerShell от имени администратора
Get-NetTCPConnection -LocalPort 48200 -State Established |
  Select-Object RemoteAddress

Прежде чем ограничивать, убедитесь, что адрес и правда постоянный. Домашний интернет чаще всего выдаёт его на время, и завтра он будет другим: посмотрите свой адрес сегодня и через день. Если он изменился, ограничение не ставьте — вместо защиты получится закрытая дверь. И заранее найдите в панели провайдера доступ к консоли сервера: это путь назад, если адрес всё-таки сменится.

Только при постоянном адресе — подставьте свой
Set-NetFirewallRule -DisplayName 'RDP-custom-TCP' -RemoteAddress '198.51.100.25'
Set-NetFirewallRule -DisplayName 'RDP-custom-UDP' -RemoteAddress '198.51.100.25'

Чего делать не нужно: отключать проверку подлинности на уровне сети (NLA). Она включена по умолчанию и требует пароль до того, как сервер начнёт выделять ресурсы под сеанс. Её отключение иногда советуют как способ решить проблемы с подключением — это ровно тот совет, который стоит пропустить.

Шаг 4. Закрываем всё остальное

Кроме удалённого рабочего стола наружу могут отвечать ещё две службы Windows. Первая — общий доступ к файлам и принтерам, протокол SMB (порт 445): через него расходились самые известные сетевые заражения, и в интернет его не открывают. Вторая — удалённое управление WinRM (порт 5985), нужное для управления сервером из корпоративной сети, которой у вас нет. В правиле ниже к ним добавлены соседние порты тех же служб: 135 и 139 работают вместе с SMB, 5986 — это тот же WinRM, только по защищённому каналу.

Открыты они или нет, зависит от того, какой сетевой профиль выставлен в образе провайдера, — а он бывает разным. Поэтому проще не разбираться в разрешающих правилах, а поставить одно запрещающее: у брандмауэра Windows запрет всегда сильнее разрешения, и это правило закроет порты независимо от всего остального.

PowerShell от имени администратора
New-NetFirewallRule -DisplayName 'Закрыть SMB и WinRM снаружи' -Profile Any `
  -Direction Inbound -Action Block -Protocol TCP -LocalPort 135,139,445,5985,5986
New-NetFirewallRule -DisplayName 'Закрыть NetBIOS снаружи' -Profile Any `
  -Direction Inbound -Action Block -Protocol UDP -LocalPort 137,138

Проверить, что вообще слушает сеть на сервере, можно одной командой. Адрес 0.0.0.0 напротив порта означает «принимаю подключения со всех сторон» (то же самое для IPv6 записывается как ::), а 127.0.0.1 — «только изнутри самого сервера»:

PowerShell
Get-NetTCPConnection -State Listen |
  Select-Object LocalAddress, LocalPort |
  Sort-Object LocalPort

Если позже вам понадобится общий доступ к файлам — например, через VPN между офисом и сервером, — запрещающее правило нужно будет удалить командой Remove-NetFirewallRule с тем же именем. Пока такой задачи нет, пусть остаётся.

Шаг 5. Обновления и браузер на сервере

Образ провайдера собран не сегодня, и обновления за несколько месяцев на нём почти наверняка не установлены. Открывайте «Пуск» → «Параметры» → «Центр обновления Windows» (в Windows Server 2019 и 2022 он лежит внутри раздела «Обновление и безопасность») → «Проверить наличие обновлений». Ставьте всё, перезагружайтесь и повторяйте, пока список не опустеет: часть обновлений появляется только после установки предыдущих.

Перезагрузка после обновлений — заодно и проверка предыдущих шагов: если вы попали на сервер по новому порту, значит, всё настроено верно.

Но одного раза мало, и это главная ловушка шага. На Windows Server автоматическая установка обновлений по умолчанию выключена: система их скачивает и ждёт, пока вы нажмёте кнопку. Через пару месяцев сервер снова окажется без свежих исправлений — а вместе с ними перестанут приезжать и базы Microsoft Defender, они приходят тем же Центром обновления. Включаем ночную установку. Команды задают ровно то же, что групповая политика «Настройка автоматического обновления» в режиме 4:

PowerShell от имени администратора
$au = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU'
New-Item -Path $au -Force | Out-Null

Set-ItemProperty -Path $au -Name 'NoAutoUpdate'         -Value 0 -Type DWord
Set-ItemProperty -Path $au -Name 'AUOptions'            -Value 4 -Type DWord
Set-ItemProperty -Path $au -Name 'ScheduledInstallDay'  -Value 0 -Type DWord
Set-ItemProperty -Path $au -Name 'ScheduledInstallTime' -Value 4 -Type DWord

Читается это так: обновления скачиваются и ставятся сами (AUOptions = 4), каждый день (ScheduledInstallDay = 0), в четыре часа ночи (ScheduledInstallTime = 4) по часовому поясу сервера — он может отличаться от вашего, проверьте. Плата за удобство одна: сервер может сам перезагрузиться ночью, чтобы доустановить обновление. Если ночная перезагрузка недопустима, поставьте AUOptions = 3 — тогда обновления будут скачиваться заранее, а установку вы запускаете руками. И тогда её нельзя откладывать.

Про режим усиленной безопасности Internet Explorer

В Windows Server 2019 и 2022 включён режим усиленной безопасности Internet Explorer: браузер блокирует почти всё содержимое страниц и спрашивает разрешение на каждый сайт. В Windows Server 2025 Internet Explorer удалён, и этого режима там нет.

Совет «отключите его в диспетчере серверов» встречается в каждой второй инструкции. Лучше так не делать: сервер — не то место, где стоит ходить по сайтам, и почти всегда браузер нужен ради одного — скачать файл. Это делается одной командой, без браузера вообще:

PowerShell от имени администратора
New-Item -ItemType Directory -Path 'C:\Install' -Force | Out-Null

Invoke-WebRequest -Uri 'https://aka.ms/vs/17/release/vc_redist.x64.exe' `
  -OutFile 'C:\Install\vc_redist.x64.exe' -UseBasicParsing

Ключ -UseBasicParsing здесь обязателен. Без него команда на свежем сервере отвечает, что «содержимое не может быть обработано, поскольку недоступен обработчик Internet Explorer»: разбирать ответ она по старой памяти поручает браузеру, который никто ни разу не запускал.

А если работать в браузере на сервере действительно нужно, поставьте отдельный современный браузер. Это честнее, чем ослаблять настройки Internet Explorer ради задачи, для которой он всё равно не годится.

Два подключения по умолчанию — и что дальше

Windows Server из коробки разрешает два одновременных подключения к рабочему столу. Это режим администрирования сервера, а не рабочие места: предполагается, что подключаются администраторы, а не сотрудники.

Пока людей двое, ничего докупать не нужно. Начиная с третьего требуется роль Remote Desktop Services и клиентские лицензии RDS CAL — по числу пользователей или устройств. Они оплачиваются отдельно, в цену сервера не входят, и у большинства провайдеров продаются отдельной позицией. У роли есть льготный период 120 дней, в течение которого лицензии не требуются: об этом легко забыть и внезапно потерять доступ через четыре месяца.

Способы снять ограничение в обход лицензирования существуют. Это нарушение условий лицензии, поэтому мы их не описываем.

И про саму лицензию Windows. У одних провайдеров она входит в цену тарифа, у других оплачивается отдельно и заметно меняет итог. Единого правила нет, и мы это поле не сверяем — уточняйте на странице заказа, до оплаты. По той же причине цены Windows-тарифов у разных провайдеров нельзя сравнивать напрямую.

Резервные копии и наблюдение за сервером

Снимок состояния в панели провайдера — самый быстрый способ вернуть сервер к тому виду, в котором он был десять минут назад. Делайте его перед каждым крупным изменением: установкой программы, обновлением, правкой настроек. Резервной копией он при этом не является: снимок лежит у того же провайдера и пропадёт вместе с сервером.

Настоящая копия — та, что уезжает за пределы сервера. В Windows Server для этого есть встроенное средство: компонент «Система архивации данных Windows Server». Он ставится одной командой, дальше расписание и место хранения задаются в его оснастке:

PowerShell от имени администратора
Install-WindowsFeature Windows-Server-Backup

Важное правило: копия, которая лежит на диске C: того же сервера, копией не считается. Отправляйте её на второй диск, в сетевое хранилище или в объектное хранилище провайдера. И раз в месяц пробуйте восстановиться — проверенная копия отличается от непроверенной ровно в тот день, когда она понадобится.

За чем наблюдать. Один показатель говорит больше остальных: неудачные попытки входа. Они записываются в журнал безопасности под кодом 4625, и вот двадцать последних вместе с адресами, откуда стучались:

PowerShell от имени администратора
Get-WinEvent -FilterHashtable @{ LogName = 'Security'; Id = 4625 } -MaxEvents 20 |
  ForEach-Object {
    $d = ([xml]$_.ToXml()).Event.EventData.Data
    [pscustomobject]@{
      'Время' = $_.TimeCreated
      'Логин' = ($d | Where-Object Name -eq 'TargetUserName').'#text'
      'Адрес' = ($d | Where-Object Name -eq 'IpAddress').'#text'
    }
  }

Если команда ответит, что событий не найдено, — это хорошая новость: неудачных входов не было. Через неделю после смены порта список обычно пустеет полностью, и это лучшая проверка того, что шаг 3 сработал.

Частые проблемы

После смены порта сервер не пускает

Войдите через консоль в панели провайдера и проверьте три вещи. Первая: слушает ли сервер новый порт — Get-NetTCPConnection -State Listen | Where-Object LocalPort -eq 48200. Если ответ пустой, значит, значение в реестре не применилось: сервер не был перезагружен. Вторая: есть ли разрешающее правило — Get-NetFirewallRule -DisplayName RDP-custom-TCP. И третья причина, внешняя: сетевой экран в панели провайдера, где новый порт тоже нужно открыть.

«Не удаётся установить связь с локальной системой безопасности»

Сообщение означает, что проверка подлинности не дошла до сервера. На отдельно стоящем сервере причина обычно в имени пользователя: если ввести его без префикса, клиент подставляет домен вашего рабочего компьютера, и Windows начинает искать контроллер домена, которого нет. Пишите имя как .\winadmin — точка означает «учётная запись самого сервера». Если не помогло, проверьте порт и подождите пару минут: сразу после перезагрузки служба удалённых рабочих столов поднимается не мгновенно.

В сеансе не переключается раскладка или появилась третья «РУС-US»

Windows передаёт в сеанс раскладку вашего компьютера, и она накладывается на раскладки сервера. Лечится запретом на эту передачу — после команды нужно перезагрузить сервер:

PowerShell от имени администратора
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Keyboard Layout' `
  -Name 'IgnoreRemoteKeyboardLayout' -PropertyType DWord -Value 1 -Force

Теперь сеанс использует раскладки, настроенные на самом сервере. Если русской там нет, добавьте её: «Параметры» → «Время и язык» → «Язык и регион».

Коротко: порядок действий

  1. Найти в панели провайдера доступ к консоли сервера — это путь назад
  2. Подключиться по удалённому рабочему столу, имя пользователя вводить как .\Administrator или .\Администратор
  3. Сменить пароль на свой, длиной от 16 символов
  4. Переименовать встроенную учётную запись администратора
  5. Включить блокировку после десяти неудачных попыток входа
  6. Открыть новый порт в брандмауэре, затем перевести на него службу и перезагрузиться
  7. Убедиться, что вход по новому порту работает; при постоянном адресе — ограничить доступ по IP
  8. Поставить запрещающее правило на SMB и WinRM
  9. Установить все обновления, включить их автоматическую установку и перезагрузиться
  10. Сделать снимок состояния и настроить резервное копирование за пределы сервера

Частые вопросы

Для работы одного-двух человек по удалённому рабочему столу нужен сервер от 4 ГБ памяти и от 50 ГБ быстрого диска. На странице собраны провайдеры, у которых Windows-тариф есть, с ценой самого дешёвого такого тарифа у каждого.

Провайдеры с тарифами на Windows