Защита Vps-Сервера На Базе Windows 2008 R2

Это вольный перевод моего поста из блога моей компании о том, как я ликвидировал последствия хакерской атаки на наш сервер.

Короче говоря, мой сервер взломали.

Злоумышленник получил пароль к FTP-серверу и почти 10 часов скачивал все, что попадалось под руку.

Как на самом деле был взломан сервер – это другая история.

Короче говоря, хакер отправил моему хосту поддельный билет в службу поддержки с просьбой помочь создать пользователя FTP. И хостер, в общем, повелся на это.

Я не только создал пользователя, но и дал ему админские права.

Переписку хакера с хостером я обязательно выложу (копию мне удалось получить), если хабровцы захотят, это отдельный кусок весело.

Пока просто перечислю действия, которые я предпринял для защиты своего сервера и устранения последствий: Скажу сразу, я не админ.

Я .

NET-программист. Чтобы остудить трудовых администраторов и специалистов по безопасности, мои попытки наверняка покажутся детским лепетом, поэтому я сразу прошу их не принимать все это близко к сердцу.

Но, возможно, я смогу кому-то помочь.

Программисту вроде меня, который просто запускает свой небольшой сервер с несколькими приложениями.

Так:

  1. Настройте политику блокировки .

    По умолчанию сервер Windows не защищен от атак методом перебора — атак с подбором пароля.

    Хакер может создать, например, тысячу подключений RDP (также известных как «Удаленный рабочий стол»), пробуя разные логины/пароли.

    Или замучать свой FTP-сервер бесконечными подключениями.

    Именно поэтому стоит настроить «локаут» — временную блокировку пользователя после нескольких неудачных попыток.

    Заходим в «Пуск – Выполнить – secpol.msc – Параметры безопасности – Политики учетных записей – Политика блокировки учетной записи».

    И установите, например, «5 попыток» и «5 минут» — это заблокирует пользователя на 5 минут после 5 неудачных авторизаций.

  2. Заблокировать пользователя службы поддержки Если вы арендуете сервер, вероятно, для вашего хостера настроен пользователь службы поддержки.

    Что-то вроде «Пользователь поддержки» или «support_user».

    Заблокируй его.

    Иногда опасность исходит именно от хостера.

    И его наивная индийская молодежь, раздающая доступ направо и налево.

    Это именно то, что случилось со мной.

  3. Отключите FTP, если он не нужен Если вашим клиентам или приложениям не нужен постоянный FTP, отключите его.

    Включайте его только тогда, когда вам нужно загрузить файлы.

    И разрешить доступ только со своего IP. А еще лучше переключить сервер в режим «вслепую».

    Это имя сервера, который разрешает доступ только запись .

    В настройках FTP-сервера IIS установите флажок «запись» и снимите флажок «чтение».

  4. Установите менеджер паролей .

    Группа моих друзей (на самом деле группа) используют схему «один сложный пароль для всего».

    Даже знакомые программисты, админы, дизайнеры.

    В общем, люди неглупые.

    Подумайте еще раз.

    Даже для учетных записей служб (например, пользователей базы данных и т. д.) используйте только сложные сгенерированные пароли.

    И держите их в менеджере пропусков.

    Лично я использую LastPass — он бесплатный, крутой и доступен в виде расширения для Chrome.

  5. Резервное копирование! Резервное копирование, резервное копирование всего, всегда и везде.

    Создавайте ежедневные задания на SQL-сервере, которые будут сохранять базы данных как локально, так и где-нибудь в Интернете.

    Даже в бесплатной версии MS SQL Server Express можно создавать какие-то задания (через Task-Scheduler).

    Лично у меня бэкап работает так: два раза в день делается локальная копия всех баз.

    И два раза в неделю - удаленная копия.

    Для удаленных копий я использую Microsoft SkyDrive — это 25 гигабайт онлайн-хранилища.

    Бесплатно.

    Неплохо, правда? Включен инструмент для синхронизации папок (называемый Windows Live Mesh).

    Если вам не нравится MS по религиозным соображениям, используйте DropBox или что-то еще, но ИСПОЛЬЗУЙТЕ ЕГО!

  6. Брандмауэр Ну тут все понятно.

    Главное правило – «запретить все».

    Windows 2008 R2 имеет довольно хороший встроенный брандмауэр, так что это хорошее место для начала.

    Оставьте порты 80 и 443 (а может и 3389 для RDP) открытыми и всё.

  7. Не используйте стандартные порты .

    Если помимо веб-сервера вам еще нужно выставить что-то «снаружи» — например, терминальный сервер (по тому же RDP) или SQL-сервер — используйте нестандартные порты.

    Какие-то идиотские значения типа 15089. Порт службы терминала (тот же «Удаленный рабочий стол») меняется в реестре здесь: «HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber» (не забудьте открыть этот порт на брандмауэре и перезапустите службу RDP).

    Порты SQL Server меняются в утилите «Диспетчер конфигурации SQL Server» — «Конфигурация сети» — «Протоколы для [имя сервера]» — «TCP-IP» — клик правой кнопкой мыши — «Свойства».

  8. Нет папки «/admin/» и других «стандартных» имен.

    .

    • CMS вашего сайта не должна располагаться в папке site.com/admin/.

    • Учетная запись администратора не должна называться «Администратор».

    • Страницы входа не должны называться «login.aspx/login.php/signin.py».

    • И т. д. и т. п.

      — продолжайте список сами.

Теги: #оптимизация сервера #Windows #безопасность
Вместе с данным постом часто просматривают: