Интернет с Windows Server 2008 - это безопасно? - PullRequest
10 голосов
/ 17 марта 2009

Я действительно ничего не знаю о защите или настройке «живого» интернет-сервера, обращенного к интернету, и это именно то, что мне поручено делать руководством. Помимо устанавливаемой операционной системы (и обновления Windows), я ничего не сделал. Я прочитал несколько руководств от Microsoft и в Интернете, но ни одно из них не кажется слишком полным / актуальным. Google подвел меня.

Мы будем развертывать сайт MVC ASP.NET.

Какова ваша личная проверка, когда вы готовитесь к развертыванию приложения на новом сервере Windows?

Ответы [ 6 ]

14 голосов
/ 17 марта 2009

Это все, что мы делаем:

  • Убедитесь, что брандмауэр Windows включен . У него есть политика «по умолчанию выключена», поэтому настройка правил «из коробки» довольно безопасна. Но никогда не повредит отключить дополнительные правила, если вы знаете, что они вам никогда не понадобятся. Мы отключаем почти все, кроме HTTP, в общедоступном интернет-интерфейсе, но нам нравится Ping (кому не нравится Ping?), Поэтому мы включаем его вручную, например:

    netsh firewall set icmpsetting 8

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

  • Избегайте запуска служб под учетными записями с правами администратора . В настоящее время большинство авторитетных программ довольно хороши, но это никогда не повредит. Например, в нашей первоначальной настройке сервера служба круиз-контроля имела права администратора. Когда мы перестраивались на новых серверах, мы использовали обычную учетную запись. Это немного больше работы (вы должны предоставить только права, необходимые для выполнения работы, а не все сразу), но намного более безопасно.

8 голосов
/ 29 марта 2009

Я должен был заблокировать один несколько лет назад ...

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

Эти рекомендации в целом применимы к любому хосту DMZ, независимо от того, какая ОС Linux или Windows.

есть несколько книг, посвященных администрированию IIS7 и укрепляющихся, но сводится к

  1. определитесь с архитектурой и конфигурацией вашего брандмауэра и просмотрите его на предмет соответствия. Не забудьте защитить ваш сервер от внутреннего сканирования с зараженных хостов. в зависимости от уровня риска рассмотрите прозрачный шлюз уровня приложений для очистки трафика и облегчения мониторинга веб-сервера.

1, вы рассматриваете систему как бастионный хост. блокировка ОС, уменьшение поверхности атаки (сервисы, порты, установленные приложения, т.е. никаких интерактивных пользователей или смешанных рабочих нагрузок, настройка RPC брандмауэров так, чтобы они реагировали только на указанную DMZ управления или внутренние хосты). рассмотрите ssh, OOB и / или управляющий доступ к LAN и верификаторы IDS хоста, такие как AIDE tripwire или osiris. если веб-сервер чувствителен, рассмотрите возможность использования argus для мониторинга и записи шаблонов трафика в дополнение к журналам IIS / FW.

  1. определяют базовую конфигурацию системы, а затем регулярно проводят аудит базовой линии, сводя к минимуму или контролируя изменения для обеспечения точности. автоматизировать это. powershell твой друг здесь.

  2. US NIST поддерживает национальный репозиторий программы контрольных списков. NIST, NSA и CIS имеют контрольные списки ОС и веб-серверов, которые стоит изучить, даже если они предназначены для более ранних версий. посмотрите на контрольные списки apache также для предложений по конфигурации. просмотрите книги по безопасности addison wesley и OReilly apache, чтобы понять проблемы.

http://checklists.nist.gov/ncp.cfm?prod_category://checklists.nist.gov/ncp.cfm?prod_category http://www.nsa.gov/ia/guidance/security_configuration_guides/web_server_and_browser_guides.shtml www.cisecurity.org предлагает подписчикам контрольные списки и инструменты для сравнительного анализа. цель как минимум 7 или 8

  1. Учитесь на чужих ошибках (и делитесь своими, если вы их совершаете): Инвентаризируйте ваши общедоступные прикладные продукты и отслеживайте их в NVD NIST (база данных уязвимостей ...) (они также объединяют CERT и OVAL) подписывайтесь и читайте предупреждения microsoft.public.iinetserver.iis.security и microsoft. (NIST NVD уже смотрит CERT) Майкл Ховард, гуру безопасности кода MS, прочитайте его блог (и убедитесь, что ваш разработчик тоже его прочитал) по адресу: http://blogs.msdn.com/michael_howard/default.aspx

http://blogs.iis.net/ - это блог команд IIS. В качестве примечания, если вы работаете в Windows, всегда читайте блог команды для групп продуктов MS, с которыми вы работаете.

Дэвид Литчфилд написал несколько книг по укреплению БД и веб-приложений. он человек для прослушивания. прочитайте его блог

Если ваш разработчик нуждается в подробном ознакомлении (или напоминании) о веб-безопасности и системных администраторах! Я рекомендую "Невинный код" Сверре Хьюзби ... не пользовался такой книгой безопасности, как яйцо повара. Он устанавливает полезные правила и принципы и объясняет вещи с нуля. Это большое сильное доступное чтение

  1. Вы еще раз прошли проверку и проверку? (вы вносите изменения, вы делаете новую базовую линию).

  2. Помните, IIS - это мета-сервис (под ним работают FTP.SMTP и другие сервисы). сделать вашу жизнь проще и запустить услугу за раз на одной коробке. резервное копирование вашей метабазы ​​IIS. Если вы устанавливаете серверы приложений, такие как tomcat или jboss, в одном окне, убедитесь, что они также защищены и заблокированы. Безопасные веб-консоли управления для этих приложений, в том числе IIS. Если вам нужно иметь DB на коробке тоже. этот пост может быть использован аналогичным образом

  3. logging.anwatted публичный сервер (будь то http, imap smtp) - профессиональная ошибка. проверь свои логи, закачай их в RDMS и поищи быстрые медленные и надоедливые. Почти всегда ваши угрозы будут автоматизированы и обезглавлены. остановить их на уровне брандмауэра, где вы можете.

  4. с разрешения, отсканируйте и дактилоскопируйте ваш ящик, используя P0f и nikto. Протестируйте приложение с селеном. Убедитесь, что ошибки веб-сервера обрабатываются IIS И любыми приложениями конфиденциально и контролируемым образом. , документы об ошибках установки для кодов ответов 3xx, 4xx и 5xx.

  5. теперь вы сделали все это, покрыли задницу и можете посмотреть на уязвимости приложений / веб-сайтов. Будьте осторожны с разработчиками, большинство беспокоится об этом только после того, как будет нанесен ущерб и нанесен ущерб репутации / доверия. лошадь сбежала и давно ушла. обратитесь к этому сейчас. это дешевле. Поговорите с вашим разработчиком о деревьях угроз.

  6. Рассмотрите ваш ответ на Dos и DDoS-атаки. с положительной стороны рассмотрим ХОРОШИЙ трафик / косые черты и проблемы с пропускной способностью. Поддерживайте связь с разработчиками и специалистами по маркетингу для решения проблем с пропускной способностью и предоставления серверов / полосы пропускания в ответ на кампании / продажи новых услуг. Спросите их, какой ответ кампании они ожидают (или напоминают. Планируйте заранее с достаточным временем выполнения заказа, чтобы обеспечить подготовку. подружитесь с ребятами из вашей сети, чтобы обсудить вопрос о пропускной способности в короткие сроки. Недоступность из-за неверной конфигурации, плохой производительности или недостаточной подготовки также является проблемой. Мониторинг системы для запросов производительности, диска, оперативной памяти http и db. знать показатели нормальной и ожидаемой производительности .. (пожалуйста, Боже, есть ли apachetop для IIS?;)) план для соответствующей емкости.

  7. Во время всего этого вы можете спросить себя: «Я слишком параноик?». Неправильный вопрос .. это "я достаточно параноик?" Помните и принимайте, что вы всегда будете за кривой безопасности, и этот список может показаться исчерпывающим, но это только начало. все вышеперечисленное разумно и усердно и ни в коем случае не должно рассматриваться как чрезмерное.

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

Избегайте быть обманщиком безопасности или далеким / куриным охранником. работайте спокойно и работайте с заинтересованными сторонами и коллегами по проекту. Безопасность - это процесс, а не событие, и держать их в курсе, а осторожное обучение людей - лучший способ получить дополнительные выгоды в плане улучшения безопасности и принятия того, что вам нужно сделать. Избегайте снисходительности, но помните, что если вам НУЖНО провести черту на песке, выбирайте битвы, вы можете сделать это только несколько раз.

  1. выгода!
4 голосов
/ 17 марта 2009

Ваша самая большая проблема, вероятно, будет в безопасности приложений. Не верьте разработчику, когда он говорит, что удостоверение пула приложений должно быть членом группы локального администратора. Это тонкий поворот в подсказке «не запускайте сервисы как администратор» выше.

Два других заметных предмета: 1) Убедитесь, что у вас есть способ сделать резервную копию этой системы (и периодически проверяйте указанные резервные копии). 2) Убедитесь, что у вас есть возможность исправления этой системы и, в идеале, протестируйте эти исправления, прежде чем запускать их в производство. Постарайтесь не зависеть от собственной хорошей памяти. Я бы предпочел, чтобы вы установили окно для использования windowsupdate, а не для его отключения.

Удачи. Наконечник брандмауэра неоценим; оставьте его включенным и разрешите только входящие tcp / 80 и tcp / 3389.

2 голосов
/ 17 марта 2009

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

1 голос
/ 21 апреля 2011

Если вы пытаетесь защитить веб-приложение, вы должны быть в курсе информации по OWASP . Вот реклама;

Безопасность открытого веб-приложения Проект (OWASP) - 501c3 некоммерческая благотворительная организация по всему миру организация сосредоточена на улучшении безопасность прикладного программного обеспечения. наш Миссия состоит в том, чтобы подать заявку безопасность видна, так что люди и организации могут информировать решения о правильном применении риски безопасности. Каждый волен участвовать в OWASP и все наши материалы доступны под бесплатным и открыть лицензию на программное обеспечение. Вы будете найти все об OWASP здесь на наша вики и актуальная информация о наш блог OWASP. Пожалуйста, не стесняйтесь внести изменения и улучшить наш сайт. Вокруг сотни людей глобус, который рассматривает изменения в сайт, чтобы помочь обеспечить качество. Если вы новичок, вы можете проверить наша начальная страница. Вопросы или комментарии должны быть отправлены на один из наших много списков рассылки. Если тебе нравится что Вы видите здесь и хотите поддержать наш усилия, пожалуйста, рассмотрите возможность стать член.

Для вашего развертывания (конфигурация сервера, роли и т. Д.) Было много хороших предложений, особенно от Боба и Джеффа. В течение некоторого времени злоумышленники использовали бэкдор и трояны, которые полностью основаны на памяти. Недавно мы разработали новый тип продукта безопасности, который проверяет сервер память (используя методы, аналогичные тому, как Tripwire (см. Ответ Боба) проверяет файлы).

Он называется BlockWatch , в первую очередь предназначенный для использования в развертываниях типа облако / гипервизор / ВМ, но также может проверять физическую память, если вы можете извлечь их.

Например, вы можете использовать BlockWatch для проверки вашего ядра и адресного пространства процесса. фрагменты кода - это то, что вы ожидаете (допустимые файлы, которые вы установили на свой диск).

0 голосов
/ 17 марта 2009

Блокировка входящих портов 135, 137, 138, 139, 445 с помощью брандмауэра. Встроенный сделает. Windows Server 2008 - первый, для которого использование RDP напрямую так же безопасно, как и ssh.

...