- Как подключиться к недоменному компьютеру из одного домена
- 7 ответов
- Как настроить не доменный компьютер
- Для чего выводить компьютеры из домена?
- Методы исключения компьютера из домена
- Меры предосторожности
- Вывод компьютера из домена классическим методом
- Исключение из домена Windows 10 и Windows Server 2016
- Метод вывода для Windows 10 версий 1503-1511
- Метод вывода для Windows 10 версий 1607 и выше
- Исключение из домена через PowerShell
- Исключение из домена через NETDOM.EXE
- Еще раз о том, как не сделать из своей сети «решето»
- 1. Усильте безопасность инфраструктуры Windows
- Не создавайте локальные учетные записи доменными политиками
- Противодействие угону доменных учетных записей через mimikatz/wce
- Запрет на ввод «тестовых» хостов в домен
- Детализация прав сервисных учетных записей
- Обращение к SMB по именам и запрет использования NTLM
- Блокировка механизма WPAD
- Включение UAC на максимум
- Отключение скрытых файловых ресурсов
- Сетевые диски как ярлыки
- 2. Почтовая система. SPF
- Ревизия содержимого SPF
- 3. Дизайн локальной сети
- Организуйте DMZ
- Полностью изолированный гостевой WiFi
- Не создавайте «корпоративный» WiFi на едином Preshared-ключе
- Правильная сегментация сети
- Защита от ARP spoofing и поддельных DHCP серверов
- Port security
- Противодействие «левым» устройствам
- Удаленный доступ
- Запретите прямой произвольный доступ в интернет для «пользовательской» сети
- Возьмите под контроль IPv6
- Трафик в межфилиальных сетях
- Ограничение icmp ping
- 4. Шифрование трафика
- Сертификаты SSL для всего и везде
- Wildcard SSL сертификат
- 5. Пару слов про веб-серверах на основе Linux
- Доступ к серверу
- Iptables
- Противодействие повышению прав в случае взлома
- Пара слов о настройке web-сервера на примере Apache
- Настройте аудит системы
- Ставьте только минимально необходимое в системе
- 6. Самоконтроль
- Сканеры безопасности
- Брутфорс учетных записей
- Минутка юмора
Как подключиться к недоменному компьютеру из одного домена
Я встретил довольно неприятную проблему, которая должна быть очень простой, но я не могу понять это. У меня есть рабочий ноутбук, который является частью домена, поэтому мое имя пользователя foobar\bob . У меня также есть домашний компьютер без домена, просто имя пользователя bob . Я пытаюсь подключиться к общей папке на своем домашнем компьютере с моего рабочего компьютера. Он спрашивает меня о моем имени пользователя и пароле, который является bob , но когда я набираю bob он предполагает, что я имею в виду foobar\bob , который, конечно, не работает. Я пытался использовать hostname\bob , но это, похоже, не работает .
Что я могу сделать здесь?
Оба компьютера работают под управлением Windows 7.
7 ответов
У меня была та же проблема. Я смог обойти это, используя команду net use. Так что в основном, я просто побежал:
, а затем я просмотрел
и это сработало. имя пользователя — это просто имя пользователя (не требуется доменная часть или рабочая группа)
У меня была такая же проблема после перезагрузки Windows 7 на моем ноутбуке. Все приведенные выше ответы работают, но предоставляют временное исправление проблемы.
Для более постоянного исправления выберите «Панель управления» -> HomeGroup, затем нажмите «Изменить параметры расширенного доступа»
В отношении типа подключения, который вы используете (или всех из них), прокрутите вниз до параметра «Соединения домашней группы» и измените значение на «Использовать учетные записи пользователей и пароли для подключения к другим компьютерам»
Теперь Windows будет использовать все, что вы вводите в приглашении входа в систему, а не префикс его своим доменным именем.
У меня возникла эта проблема и она была решена путем настройки домашней группы с одного из компьютеров. Вы делаете это при подключении к сети — вы можете войти в сетевые настройки и щелкнуть ссылку, в которой указывается, какой тип сети вы выбрали. Если вы выберете Public, как большинство из них, вам нужно перейти на Home. Сначала вам нужно сделать это с одной машины в сети. Затем зайдите в настройки и просмотрите /распечатайте пароль, чтобы вы могли подключать другие компьютеры к одной и той же домашней группе. Это решило мою проблему, так как у меня была такая же проблема — рабочий компьютер в домене не разрешил изменять домен при входе в сетевой компьютер. Homeproup решает это.
просто используйте «. \ username» здесь «. \» указывает, что рассмотрите пользователя на локальной машине, и он проверит локальный пользователь.
, когда вы хотите войти на свой локальный компьютер, даже если он находится в домене, нам нужно ввести путь «. \ username». и пароль.
У меня была такая же проблема. Я мог бы пинговать машину, но не подключался в Explorer. Я подключался к другой машине в качестве стандартного пользователя. Когда я перешел на пользователя admin (я имею в виду администратора на машине, с которой я подключаюсь, а не с машиной, с которой я подключаюсь), она работала путем ввода localhost \ username
Не знаю, зачем нужны права администратора, поскольку у меня есть много общих папок, которые доступны для всех, а не только для администратора.
Попробуйте войти в систему как .\bob
Это заставляет его использовать учетную запись компьютера, а не учетную запись домена
Мне удалось войти в систему с одного компаньона при доступе к общей папке на компьютере, который не принадлежит домену таким образом: \username
Итак, если мое имя пользователя было «jakegittes», я бы набрал \jakegittes в модальности входа.
Источник
Как настроить не доменный компьютер
Добрый день! Уважаемые читатели и гости, одного из крупнейших IT блогов рунета Pyatilistnik.org. В прошлый раз я вам показал, все методы ввода Windows 10 в домен, сегодня я хочу показать обратную задачу, и научу вас правильно выводить компьютеры из домена, будь то клиентские версии Windows 7, 8.1 или же серверные Windows Server. Расскажу для чего, это нужно уметь и почему нельзя просто забить на такие компьютеры. Уверен, что данная информация окажется для начинающих системных администраторов полезное, ее кстати любят спрашивать на собеседованиях. Ну приступаем.
Для чего выводить компьютеры из домена?
И так если вы задались этим вопросом, то у вас как минимум есть домен Actvie Directory и вы хотели бы в нем навести порядок (Если не знаете, что такое Active Directory, то читайте об этом по ссылке слева). Наверняка многие пользователи могут спросить, зачем вообще проводить эту процедуру, на это есть ряд причин:
- Обычно операцию вывода из домена (Unjoin Windows) производят в ситуациях, когда компьютер может вылетать из домена, пример он не был активен более одного месяца, был банальный ремонт, а потом его решили ввести в эксплуатацию, в таких ситуациях люди ловят ошибку «отсутствуют серверы, которые могли бы обработать запрос».
- Просто для правильного соблюдения рекомендаций Microsoft, чтобы у вас не оставались лишние, ненужные объекты в AD, в противном случае, вам придется производить самостоятельный поиск неактивных компьютеров в Active Directory и вычищать все вручную.
- Третья причина, это переустановка сервера, например, обновление редакции, и если до этого вы правильно не вывели компьютер из домена, то при попытке ввести в домен Windows Server вы получите ошибку, что такой компьютер уже есть.
Методы исключения компьютера из домена
- Первый метод, это классический, через оснастку свойства системы
- Второй метод, это применимый для Windows 10 и Windows Server 2016
- Второй метод вывода компьютера из домена, это использование PowerShell
- Третий метод, это через утилиту netdom, но это для Windows Server платформ, хотя вам никто не мешает ее закачать отдельно, она идет в составе Windows Server 2003 Resource Kit Tools, про него я вам рассказывал в статье про утилиту Robocopy, принцип ее получения такой же.
Меры предосторожности
Вывод компьютера из домена классическим методом
Данный метод подойдет абсолютно для любой версии Windows, начиная с Vista. Тут все просто вы открываете всем известное окно выполнить (Сочетанием клавиш WIN и R) и пишите в нем вот такую команду sysdm.cpl и нажмите OK.
У вас откроется окно «Свойства системы — Имя компьютера»
Так же в него можно попасть и другим методом, через свойства значка «Этот компьютер». Щелкните по нему правым кликом и выберите свойства. В открывшемся окне «Система» выберите пункт «Изменить параметры»
В окне «Имя компьютера» нажмите кнопку «Изменить», далее в открывшемся окошке «Изменение имени компьютера или домена» деактивируйте поля «Является членом домена» и выставите рабочей группы.
Заполните поле имени рабочей группы и нажмите кнопку «OK», у вас появится окно:
Вам сообщат, что вы теперь являетесь членом рабочей группы. Будет произведена перезагрузка вашей рабочей станции, в моем примере, это Windows 10.
При правильном выводе компьютера из Active Directory, вы увидите, что в оснастке ADUC, данный компьютер будет отключен в контейнере, где он располагался. Об этом будет говорить стрелка вниз на его значке. Напоминаю, что это классический метод исключения из AD, подходит абсолютно для всех систем Windows.
Исключение из домена Windows 10 и Windows Server 2016
Данный метод, будет подходить исключительно для последних версий систем Windows 10 и Windows Server 2016, на момент написания статьи. В случае с десяткой, где интерфейс кардинально меняется от версии к версии, последовательность действий будет разниться.
Метод вывода для Windows 10 версий 1503-1511
Данный метод для Windows 10 Threshold и Threshold 2. Если не знаете, какая у вас версия, то вот вам статья, как определить версию Windows. Вам необходимо открыть параметры системы, делается, это либо через кнопку «Пуск» или же сочетанием клавиш WIN и I одновременно. Находим там пункт «Система».
В самом низу находим пункт «О Системе» и видим кнопку «Отключиться от организации», нажимаем ее.
В окне «Отключение от организации» просто нажмите продолжить.
У вас просто появится окно с предложением о перезагрузке, соглашаемся.
В оснастке ADUC данный компьютер так же был отключен.
Метод вывода для Windows 10 версий 1607 и выше
Данный метод будет рассмотрен для версии Windows 10 1803, так как я писал, что концепция изменилась, функционал перенесли в другое место. Вы все так же открываете «Параметры Windows 10», но уже переходите в пункт «Учетные записи»
Далее находите пункт «Доступ к учетной записи места работы или учебного заведения» и нажимаете отключиться.
У вас выскочит окно с уведомлением:
После подтверждения, у вас появится еще одно окно, в котором вас еще раз уведомят и захотят удостовериться в ваших действиях.
Нажимаем кнопку «Отключить»
Открыв оснастку ADUC, я обратил внимание, что учетная запись компьютера, которого я вывел из домена, не отключилась, что очень странно, поэтому сделайте это в ручную.
Исключение из домена через PowerShell
Я вам не перестаю повторять, что PowerShell, просто обязан быть в вашем инструментарии системного администратора, он умеет если не все, то почти все. Открываем оснастку PowerShell от имени администратора и вводим команду:
У вас откроется форма с вводом пароля учетной записи,что вы указали для вывода рабочей станции из AD, указываем пароль и нажимаем «OK»
У вас спросят подтверждения на ваши действия, соглашаемся и вводим Y.
Все ваш Windows 10 с помощью PowerShell был выведен из состава домена Active Directory. В оснастке ADUC, данный компьютер был отключен, в отличии от предыдущего метода.
Исключение из домена через NETDOM.EXE
Напоминаю, что на клиентских Windows системах этой утилиты нет и ее нужно отдельно скачивать, она идет в составе Windows Server 2003 Resource Kit Tools. Сама команда вывода из домена выглядит вот так и запускается в cmd от имени администратора:
Источник
Еще раз о том, как не сделать из своей сети «решето»
Здравствуйте! Я почти 10 лет работаю в сфере ИТ и ИБ, всегда интересовался практической безопасностью, в настоящее время работаю пентестером. За все время работы я постоянно сталкивался с типовыми ошибками в настройках и дизайне инфраструктуры. Ошибки эти чаще всего досадные, легко устранимые, однако быстро превращают сеть в полигон для взлома. Порой кажется, что где-то специально учат так настраивать, насколько часто они встречались. Это и побудило меня написать данную статью, собрав все самое основное, что может улучшить защищенность.
В этой статье я не буду рассказывать про использование сложных паролей, максимального ограничения прав доступа, смене учетных записей по умолчанию, обновлению ПО, и других «типовых» рекомендациях. Цель статьи – рассказать о самых частых ошибках в настройках, заставить администраторов и специалистов ИБ задуматься над вопросом – «а все ли в моей сети хорошо?», а также показать, как можно оперативно прикрыть те или иные типовые уязвимости, используя встроенные или бесплатные средства, не прибегая к дополнительным закупкам.
Инструкций-рецептов намеренно не прикладываю, так как многое ищется очень легко по ключевым словам.
1. Усильте безопасность инфраструктуры Windows
Не создавайте локальные учетные записи доменными политиками
Это сильный повтор, но тут нужно повторять и повторять, так как эта ошибка очень частая – не создавайте доменной групповой политикой локальные учетные записи на хостах в домене. Опасность этого действия крайне высокая. Про это много где написано, но написано обычно на ресурсах, сугубо связанных с практической безопасностью, а не ИТ.
Причина высокой опасности – сведения об этой учетной записи, в том числе ее пароль, хранятся в открытом виде в файле groups.xml, в ресурсе sysvol контроллера домена, который по умолчанию доступен ВСЕМ участникам домена на чтение. Пароль зашифрован, но шифрование симметричное, а ключ один для всех копий Windows, и написан в открытом виде в MSDN. Отсюда следует: любой пользователь может скачать этот файл, и путем простых манипуляций узнать пароль от распространяемой учетной записи. Обычно так распространяется учетная запись с правами администратора, и часто она создается без разбора везде…
Решение – групповыми политиками добавляйте только доменные учетные записи в локальные группы на хостах. Пример расшифровки такого пароля вручную в ходе пентеста, обратите внимание на количество манипуляций до получения пароля:
Противодействие угону доменных учетных записей через mimikatz/wce
Администраторы, не связанные с пентестами и практической ИБ, редко знают про такие утилиты, как mimikatz и wce. Кратко об их работе – обладая правами локального администратора, можно извлечь из оперативной памяти билет доступа Kerberos, хеш пароля и даже сам пароль в открытом виде от учетных записей, которые недавно производили вход на этот хост. А так как администраторы совершают вход часто и много где, это приводит к высокому риску компрометации их полномочий.
Часто в компаниях есть машины, где по каким-то причинам пользователи работают с правами администратора, и при этом не штате подразделений ИТ и ИБ. Как они получили эти права, это отдельный вопрос, иногда это неизбежное зло. Обычно администраторы в таких случаях видят угрозу установки неавторизованного ПО, заражения вирусами, максимум угрозу запуска кейлоггеров с целью кражи паролей, но не подозревают, что их полномочия доступа уже под угрозой.
Против этих утилит есть меры разной степени эффективности, например, такие, но часто они не применимы по разным причинам: старая схема AD, «зоопарк» в сети, который дошел до стадии метастаз, слишком большая инфраструктура, где есть слабо контролируемые участки.
Дополнительно надо отметить, что для атаки в отдельных случаях даже необязательно устанавливать данные утилиты на хост. Пользователь с администраторскими правами может легко снять дамп нужного участка оперативной памяти, и производить все манипуляции вне рабочей сети. Это многократно увеличивает риски компрометации учетных записей более привилегированного пользователя.
Решение без дополнительных затрат: заводить для управления инфраструктурой даже не 2-3 учетные записи, как принято (надеюсь, у вас так?):
— для локальной работы;
— для администрирования серверов и ПК;
— для контроллеров домена,
а как минимум 4 учетные записи (а то и больше), в соответствии с условными «зонами доверия» в домене, и не применять их вне своей зоны. То есть, держать отдельные учетные записи:
— для работы со своей личной машиной;
— для входа на контроллеры домена и управлением ими.
— для серверов;
— для рабочих станций;
— для удаленных филиалов, если там оказался ваш домен, но при этом вы не уверены, что там происходит в конкретный момент времени;
— для зоны DMZ, если вдруг доменные хосты оказались в DMZ;
— если вы частый посетитель клуба анонимных параноиков – разбить эти зоны еще на меньшие группы, либо менять свои пароли очень часто.
Запрет на ввод «тестовых» хостов в домен
По схожей причине (см. пункт выше) по возможности лучше не заводить общественные «тестовые» хосты в домен. Такие хосты наиболее часто встречаются в компаниях с подразделениями по разработке софта, «для ускорения» и экономии лицензии они часто не снабжаются антивирусами (которые, кстати, «ловят» нешифрованные mimikatz и wce), а все причастные разработчики и тестировщики имеют на них права администратора, с целью осуществления разных сомнительных действий. Используя свои администраторские права, они могут легко похитить доменные учетные записи других администраторов.
Детализация прав сервисных учетных записей
Учетные записи в Windows имеют набор различных прав входа в систему. Это локальный вход, вход в качестве пакетного задания, в качестве службы, и др. В крупном домене всегда есть служебные учетные записи, которые необходимы для массовой работы различного ПО, служб, запуска заданий, и так далее. Обязательно нужно не полениться и минимизировать права данных учетных записей под свою область применения, и явно запретить ненужные полномочия. Это снизит риски быстрого распространения угроз в случае утечки контроля над такой записью.
Обращение к SMB по именам и запрет использования NTLM
К файловым ресурсам (SMB) в домене лучше обращаться только через доменное имя, а не через IP. Помимо удобства администрирования, так вы явным образом заставите хост аутентифицироваться по протоколу Kerberos, который хоть и имеет свои недостатки, но является значительно более защищенным, чем протокол NTLMv2, который задействуется при обращении по IP файлового ресурса. Перехват NTLMv2 хеша опасен тем, что можно словарной атакой неспешно восстанавливать пароль пользователя оффлайн, то есть, никак не беспокоя атакуемую инфраструктуру. Очевидно, что это не заметно для администраторов, в отличие онлайн-атак по перебору паролей.
Касательно протокола NTLM (который без «v2») – он должен быть запрещен. Помимо атак по перебору паролей, можно использовать атаку типа «Pass-the-hash». Эта атака по сути разрешает переотправку хеша NTLM без изменения и попыток подобрать пароль на произвольный хост, где разрешен NTLM. Сам хеш может быть украден из другой сессии в ходе атаки. Если у вас разрешены оба протокола NTLM, возможна ситуация, когда атакующий может понизить предпочтение с NTLMv2 до NTLM, и хост-жертва выберет самую слабую аутентфикацию.
Будьте внимательны, многие инфраструктуры представляют собой медленно модернизируемый «зоопарк», который с непонятными целями сохраняет старые традиции образца начала 2000х годов, поэтому там возможно все.
Блокировка механизма WPAD
Есть два механизма, которые включены по умолчанию, и в совокупности позволяют проводить атаку «человек посередине», причем практически не обнаруживая атакующего. Это механизм автоматического обнаружения прокси через специальное сетевое имя (WPAD), и механизм широковещательного разрешения имен LLMNR.
Через WPAD некоторое ПО (в домене это чаще всего служба обновлений WSUS и некоторые браузеры) выполняет поиск HTTP прокси, и готово при необходимости прозрачно авторизоваться на нем при помощи NTLM(v2). Таким образом, оно добровольно «выдает» хеш учетной записи, которая инициировала подключение. Его можно в последствии перебирать по словарю, и восстановить пароль. Либо применять атаку «Pass-the-hash», описанную выше, если не отключен NTLM (про это см. пункт выше).
Устройства выполняют поиск сервера WPAD через DNS, и, если это не сработает, задействуют широковещательный запрос LLMNR или NetBIOS. И тут атакующему уже значительно проще ответить на вопрос хоста, где же находится «правильный» сервер конфигурации прокси. Дополнительный негативный эффект — такой поиск прямо замедляет скорость подключения, так как тратится время на поиск прокси.
Решение – в групповых политиках запретить и автообнаружение прокси для ПО, и протокол LLMNR. На DNS адрес WPAD (wpad.domain.name) в DNS поставить заглушку. LLMNR это фактически имитация DNS на сегменте сети L2 путем широковещательных запросов. В доменной сети при нормально работающем DNS он не нужен. С NetBIOS все сложнее, он до сих пор используется во многих случаях, и его выключение может обрушить работу, так что здесь все же остается лазейка для навязывания WPAD.
Включение UAC на максимум
Не выключайте User Account Control (UAC), а лучше наоборот, установите его на максимум. UAC, конечно, реализован не очень удобно и не информативно, но вы не представляете, как обидно пентестеру получить формальную возможность удаленного выполнения команд от имени пользователя с администраторскими правами, но без фактической возможности выполнения именно привилегированных действий, которые как раз при «обычной» работе надоедают запросами о подтверждении. Обойти UAC или повысить права конечно, возможно, но это лишние препятствия.
Отключение скрытых файловых ресурсов
Хотя бы для машин администраторов, «важных» пользователей и серверов обязательно отключайте скрытые ресурсы $ADMIN, C$, D$, и т.д. Это первоочередная излюбленная цель любой сетевой malware и злоумышленников при получении более-менее привилегированных прав в домене.
Сетевые диски как ярлыки
Спорное решение, и явно не всем подходит, но был случай, когда это спасло от эпидемии шифровальщиков. По возможности, предоставлять пользователям удаленные общие файловые ресурсы не как сетевые диски, а как ярлыки на рабочем столе. Причина простая – malware иногда перебирает буквы дисков, и при этом не всегда в состоянии найти ресурсы, не подключенные в виде дисков.
2. Почтовая система. SPF
Ревизия содержимого SPF
Проверьте SPF-запись вашего почтового домена. А потом проверьте ее еще раз.
Многие недооценивают значимость этой записи, и при этом не понимают работу протокола SMTP. SPF запись показывает, какие ресурсы могут легитимно отправить почту от имени вашего домена. Для частного случая отправки писем на ваш домен от вашего домена (то есть, для внутренней переписки внутри вашего же домена) эта запись показывает, кто (т.е. конкретные хосты) может отправлять письма без авторизации, от имени любого пользователя. Чаще всего здесь делают две незначительные на вид ошибки, приводящие к огромным проблемам.
all» в конце SPF записи почтового домена. Не знаю почему, но большинство публичных мануалов рекомендуют оставить такую настройку. Такая настройка дает письму статус «не прошло проверку, но помечено как опасное и все равно доставлено» при отправке почты от ресурсов, прямо не указанных в SPF домена. Это говорит получателю, что решение о легитимности отправляемой почты перекладывается на жесткость настроек его спам-фильтра и других механизмов фильтрации. Далее, есть вероятность, что ваш собственный спам-фильтр настроен мягко (особенно часто это бывает с «публичными» пользователями компании, которые боятся «прозевать» письма), и это приводит к тому, что любой хост Интернета отправит вам же письмо от вашего же домена, и с некоторой вероятностью оно пройдет во входящие, а не в спам. Очень забавно видеть пользователей и даже ИТ-администраторов, беспрекословно выполняющих срочные указания от «важного начальства» из подобных поддельных писем при пентестах с социальной составляющей. Конечно же, не исключена ситуация со слабыми спам-фильтрами и у ваших контрагентов, и тогда уже вы будете делать им заманчивые предложения без своего ведома.
SPF для подавляющего большинства компаний должна содержать только –all в конце, разумеется, после тщательной сверки своего содержимого.
2) Бывает, что по ошибке в SPF корпоративного домена оказываются внешние адреса, через которые пользователи компании выходят в интернет. Последствия понятны – возможность нелегитимной отправки писем от кого угодно из корпоративного домена, куда угодно. Обычно администраторы в таких ситуациях говорят – «но у нас же есть авторизация на почте», напрочь забывая про сам механизм протокола SMTP.
Один раз видел ситуацию, когда в SPF оказался выход гостевого WiFi. Это сразу дает возможность злоумышленнику слать легитимную почту от целевого домена, даже без получения привилегированного доступа во внутреннюю сеть компании-жертвы.
Для борьбы с такими атаками дополнительно поможет система подписей DKIM, показывающая, кто есть на самом деле отправитель, но ее внедрение процесс не моментальный, поэтому начать стоит именно с настроек SPF – ужесточить ее и сделать полную ревизию по разрешенным адресам.
3. Дизайн локальной сети
Организуйте DMZ
Организуйте DMZ, и навсегда перестаньте «пробрасывать» порты из Интернет в основную сеть. Правильная DMZ эта та, ресурсы в которой с двух сторон закрыты файерволами (как от внутренней сети, так и от Интернет), а трафик разрешен крайне выборочно, и только минимально необходимый. На мой взгляд, настоящий специалист по ИБ должен думать, что его хост из DMZ по уже взломан, и оценивать риски исходя из этого. На такие мысли наводит тот факт, что в DMZ очень часто оказываются нестандартные приложения, которые несут специфичную бизнес-логику, ставятся подрядчиками на потоке, как вариант – делаются на заказ и очень плохо проверяются, например, на банальные для WEB уязвимости. Штатный специалист по ИБ чаще всего в состоянии создать DMZ, но не в состоянии проверить приложения на уязвимости. Исходя из этого и нужно действовать.
Типичный вариант правильно организованной DMZ и общий принцип движения трафика. Стрелки – направления инициации трафика из/в DMZ.
Бюджетный дизайн DMZ для параноиков, в которой каждый ресурс находится в отдельной изолированной сети, и ресурсы не «кушают» много трафика:
Что касается «проброса» портов, то помимо риска «взлома» сервиса, существует неявный риск сбора информации о внутренней сети. Например, в ходе пентестов зачастую видно порты RDP, которые были «скрыты» путем смены со стандартного 3389 на какой-нибудь 12345. Разумеется, они легко обнаруживаются сканерами, легко идентифицируются именно как RDP, но помимо простого обнаружения, они могут, например, предоставить информацию об имени компьютера и домена (путем просмотра сертификата службы RDP), или информацию о логинах пользователей.
Полностью изолированный гостевой WiFi
Гостевой WiFi должен быть максимально изолирован от основной сети (отдельный VLAN, отдельный провод от маршрутизатора интернет до точки доступа, и т.д.). Дополнительно, по возможности, выключайте гостевой WiFi в нерабочее время по расписанию на оборудовании.
Здесь есть один нюанс. Многие правильно выделяют гостевой WiFi в отдельный изолированный VLAN, но при этом зачем-то выдают клиентам адреса DNS серверов Active Directory. Наиболее рациональное оправдание – «чтобы работали ресурсы из DMZ по внутренним адресам». Однако, это является уязвимостью, и это хорошо помогает злоумышленнику при несанкционированном анализе внутреннего устройства сети, ведь запросы к DNS (PTR по внутренним диапазонам IP) обычно никак не ограничиваются.
Решение – создать легкий внутренний DNS сервер специально для WiFi, либо использовать публичные DNS в Интернет.
Не создавайте «корпоративный» WiFi на едином Preshared-ключе
Это очень частая проблема. Один ключ от WiFi часто живет годами, ведь «нельзя же беспокоить пользователей лишний раз». Это неизбежно снижает безопасность такой конфигурации до нуля с течением времени. Основные причины – текучка сотрудников в организации, кражи устройств, работа malware, возможность перебора пароля сети.
Решение: авторизация на WiFi только через WPA2-Enterprise, для того, чтобы каждый пользователь имел свои персональные, легко блокируемые учетные данные, которые контролируются централизованно. Если внутренняя сеть на самом деле не нужна для WiFi устройств, а нужен только Интернет, нужно сделать WiFi по типу гостевого. Сам дизайн аутентификации WPA2-Enterprise это предмет отдельной статьи.
Правильная сегментация сети
Максимально сегментируйте сеть на VLAN, максимально ограничьте широковещательный трафик. Об этом пишут все мануалы по дизайну сети, почему-то это редко кем соблюдается, особенно в малом и среднем сегменте компаний, но это крайне полезно как с точки зрения удобства администрирования, так и с точки зрения безопасности.
В любом случае обязательно нужно держать ПК пользователей отдельно от серверов, иметь отдельный VLAN для management-интерфейсов устройств (сетевых устройств, интерфейсов iLO/IMPI/IP KVM, и т.д.). Все это снизит возможности подделки адресов, упростит настройку сетевого доступа, снизит вероятность атак за счет широковещательных запросов, а значит повысит и стабильность работы.
На мой взгляд как безопасника (но уже чувствую летящие помидоры от сетевиков), количество VLAN для пользователей больше зависит от количества коммутаторов доступа и от количества условных групп пользователей по административному признаку, а не от самого количества пользователей. Имеет смысл сделать количество пользовательских VLAN на уровне числа коммутаторов доступа (даже если они собраны в стек). Так очень сильно ограничится широковещательный трафик, не будет «размазывания» одного VLAN по множеству коммутаторов доступа. Это не сделает для сети лишней работы, так как чаще всего трафик пользователей идет либо в серверный сегмент, либо в Интернет (т.е. в любом случае в сторону уровня ядра сети или уровня распределения), а не между самими пользователями. В таком случае легче отлаживать сеть, и предотвращать атаки, связанные с широковещательными пакетами.
Для малых сетей ситуация сильно отличается – зачастую сегментировать нечего, сеть слишком мала. Однако, во всех организациях, где появляется минимальных набор серверов, обычно вместе с серверами закупаются управляемые коммутаторы, иногда с функциями L3. Почему-то они используются как просто коммутаторы, зачастую даже без минимальной настройки, хотя настройка L3 для простой маршрутизации между 2-3 сетями очень проста.
Защита от ARP spoofing и поддельных DHCP серверов
Два механизма, на языке технологий Cisco: DHCP snooping и ARP Inspection, помогут расстроить разных шутников-пользователей и реальных злоумышленников. После их внедрения вы получите предотвращение появлений ложных DHCP серверов в сети (которые могут появиться как по ошибке — кто-то перепутал настольный «домашний» маршрутизатор форм-фактора «мыльница советская» с такого же типа коммутатором, так и в результате атаки), и атак типа «человек посередине» через ARP протокол. В сочетании с малыми размерами VLAN (предыдущий пункт) это отлично снизит возможный ущерб.
Если такие функции невозможно настроить, как минимум стоит указать жесткую привязку MAC адреса шлюза сети с физическим портом коммутатора.
Port security
Если кабельная сеть и оборудование позволяют, настройте на коммутаторах доступа port security. Это хорошо защищает, хоть и не полностью, от подключения «левых» и «лишних» устройств, несанкционированного перемещения компьютеров в пространстве.
Противодействие «левым» устройствам
Даже с описанными выше защитными мерами (port security, dhcp snooping, arp inpection), возможно появление «левых устройств», причем, как показывает практика, наиболее вероятное устройство в этом случае – «домашний» роутер с функцией «клонировать MAC-адрес компьютера на внешний интерфейс». Поэтому, есть следующий шаг развития сетевой тирании – 802.1x. Однако, это уже серьезное решение, требующее хорошего планирования, поэтому возможен более простой способ выявления самовольных роутеров (именно выявления, а не пресечения). Здесь хорошо поможет анализ трафика на промежуточном звене сети на предмет параметра протокола IP — TTL. Можно сделать span порт на коммутаторе, зеркалирующий трафик в сервер со снифером, и анализировать этот трафик на наличие пакетов с аномальным TTL. В этом поможет банальный tcpdump/Wireshark. Трафик с таких роутеров будет иметь TTL меньше на 1, чем легальный трафик.
Либо же, можно настроить правило фильтрации по конкретным TTL, если сетевые устройства это позволяют. Конечно, от серьезных злоумышленников это не спасет, но чем больше препятствий, тем лучше для защищенности.
Удаленный доступ
При организации удаленного подключения к сети забудьте про протокол PPTP. Он, конечно, настраивается быстро и легко, но помимо наличия уязвимостей в самом протоколе и его составляющих, он плох тем, что очень хорошо виден сканерами сети (из-за работы на TCP на одном и том же порте), зачастую плохо проходит через NAT за счет транспорта на GRE, от чего на него жалуются пользователи, и по своему дизайну не содержит второго фактора аутентификации.
Чтобы внешнему злоумышленнику было удобнее работать, аутентификацию на таком VPN обычно привязывают к доменным учетным записям, не вводя второй фактор аутентификации, что часто и эксплуатируется.
Решение-минимум: использовать протоколы на UDP (либо свободно инкапсулирующиеся в UDP), которые не так видны при сканировании, с предварительной аутентификацией по PSK, либо по сертификату (L2TP/IPSec, OpenVPN, разные вендорские реализации IPSec). Обязательно нужно настроить перечень адресов и портов внутри сети, куда можно получить доступ, используя VPN.
Запретите прямой произвольный доступ в интернет для «пользовательской» сети
Прямой выход в интернет для пользователей – это зло, хотя с удешевлением каналов Интернет его становится все больше и больше, особенно в малых и средних компаниях. Многие администраторы ограничивают исходящие порты для пользователей на минимальный набор, вроде 80, 443, пытаясь экономить полосу. С точки зрения Malware и злоумышленников, это ничем не отличается от свободного доступа в Интернет.
На мой взгляд, всегда нужен прокси-сервер, пусть без кеширования и авторизации, даже в самых маленьких сетях, и запрет на прямой выход в интернет для пользователей. Основная причина — множество всяческой malware обращается на свои центры управления именно по HTTP(S), либо по чистому TCP c популярными портами (80/443/25/110…), но при этом она зачастую не в состоянии обнаружить настройки прокси в системе.
Возьмите под контроль IPv6
Если вы не интересовались использованием IPv6, повторите все действия по фильтрации трафика применительно к IPv6, либо запретите его. Ваша инфраструктура может неявно использовать его, но вы можете и не знать об этом. Это опасно проблемами несанкционированного получения доступа в сети.
Трафик в межфилиальных сетях
Если у вас под контролем крупная сеть с удаленными филиалами, и в ней настроен Site-to-Site VPN, не поленитесь максимально ограничить трафик, который идет к вам в центр, причем именно на центральном оборудовании, а не в филиалах. Не воспринимайте каналы с удаленными филиалами как «свою родную» сеть. Обычно в компаниях филиалы защищены меньше центра, и большинство атак начинаются именно с филиалов, как с «доверенных» для центра сетей.
Ограничение icmp ping
Ограничьте список адресов, которые могут «пинговать» важные сервисы. Это снизит обнаружение ваших хостов, хоть и ненамного. При этом не забудьте, что ping – это не весь протокол icmp, а только один вид сообщений в icmp, и не нужно его (icmp) запрещать целиком. По крайней мере, вам точно будут нужны для корректного взаимодействия со всеми сетями некоторые сообщения видов Destination Unreachable. Не создавайте полным запретом ICMP на своих маршрутизаторах так называемую MTU Discovery Black Hole.
4. Шифрование трафика
Сертификаты SSL для всего и везде
Не ленитесь защищать шифрованием все сервисы, куда можно пристроить SSL/TLS. Для хостов из домена Active Directory можно настроить AD Certificate Services, либо распространять сертификаты служб через групповые политики. Если нет денег для защиты публичных ресурсов, воспользуйтесь бесплатными сертификатами, например, от startssl.
Для себя, т.е. администраторов, всегда можно пользоваться легким самодельным удостоверяющим центром, например, easy-rsa, либо самоподписанными сертификатами. Вы же заметите, что на вашем внутреннем администраторском ресурсе внезапно возникла ошибка доверия к ранее одобренному сертификату?
Если вам кажется, что вашему сайту-визитке ничего не угрожает, то надо учесть, что шифрование спасет вас не только от кражи учетных данных, но и от подмены трафика. Все наверно видели на сайтах с доступом по открытому HTTP заботливо встроенную операторами связи рекламу? А если вам встроят не рекламу, а «правильный» скрипт?
Wildcard SSL сертификат
Если вы стали счастливым обладателем wildcard-сертификата (для доменов «*.ваш-домен»), не торопитесь его распространять по всем публичным серверам. Сделайте себе отдельный сервер (или кластер), к примеру, на Nginx, который будет «разгружать» от шифрования входящий трафик. Так вы сильно снизите количество каналов утечки закрытого ключа вашего сертификата, и в случае его компрометации, не будете менять его сразу на множестве сервисов.
5. Пару слов про веб-серверах на основе Linux
Linux-хосты чаще всего видно в роли веб-серверов, классической связки LAMP (Linux + Apache + Mysql + PHP, или любой другой скриптовый язык), которую чаще всего и ломают за счет дыр в веб-приложении, поэтому опишу самый минимум для данной связки, который относительно легко внедряется, и не требует большого опыта настройки и отладки (вроде мер типа SELinux/AppArmor).
Доступ к серверу
Не поленитесь запретить вход по ssh для root, настроить авторизацию только по сертификатам и сместить порт ssh куда-нибудь далеко со стандартного 22.
Если на сервере не один администратор, активируйте для каждого механизм sudo, а для root используйте пароль, который никто не знает, кроме бумаги, которая все время лежит в конверте и в сейфе. В этом случае вход через ssh по паролям категорически нельзя разрешать.
Если же наоборот, администратор один, то деактивируйте sudo (особенно в том случае, если у вас по каким-то причинам сохранился вход через ssh по паролю), и для администраторских задач используйте аккаунт root.
Ну и конечно, классика — не работайте под рутом.
Iptables
Не поленитесь настроить iptables, даже если вам кажется, что iptables ничего не решит, например, если на сервере из сетевых приложений работают только Web и ssh, которые и так должны быть разрешены. В случае получения минимальных полномочий злоумышленником на сервере, iptables поможет предотвратить дальнейшее распространение атаки.
Правильно настроенный iptables, как и любой другой файервол, разрешает только минимально необходимое (включая исходящие соединения через цепочку правил output). На случай минимальной конфигурации Web-сервера в iptables будет не более 10 строк. По сложности, это значительно проще настройки firewall для доменного хоста Windows, где можно нечаянно запретить динамические RPC порты, доменные службы и другие важные для работы коммуникации, так как не всегда очевидна даже последовательность коммуникации. Поэтому, для настройки iptables под web-сервер не нужны особые знания по сетям, и можно настроить файервол значительно легче.
Противодействие повышению прав в случае взлома
Отправьте Apache работать в chroot. Как вариант, сделайте отдельные разделы в файловой системе для /var/ и /tmp, смонтируйте их с флагами noexec,nosuid. Так вы защитите сервер от исполнения локальных эксплоитов в бинарном виде, которые могут повысить права атакующего. Запретите исполнение интерпретаторов скриптовых языков типа Perl, Python для «других пользователей» (chmod o-x), куда относится веб-сервер, если это не требуется веб-серверу и другим службам. Чем меньше в системе «других служб», а соответственно, пользователей под них, тем проще это сделать.
Пара слов о настройке web-сервера на примере Apache
Здесь перечислено то, что может сделать системный администратор для защиты веб-приложения, даже не зная специфики веб-программирования.
— Запретите наличие VirtualHost, который отвечает на запросы вида http(s)://ip-адрес/, даже если приложение на сервере одно. Так вы значительно снизите возможность обнаружения приложения.
— Запретите в конфигурации apache вывод ошибок (опции ServerSignature Off, ServerTokens Prod), это затруднит определение версии ОС и Apache.
— Установите через mod_headers опции для Cookies HTTP_only и Secure для вашего веб-приложения, даже если у вас веб-приложение делает это само. Это защитит вас от перехвата Cookies через прослушку нешифрованного HTTP и части атак XSS.
— Отключите вывод ошибок на страницы сайта в конфиге языка сайта (это в первую очередь касается PHP). Это затруднит атакующему изучение слабых мест вашего веб-приложения.
— Контролируйте, чтобы индексы директорий были выключены (опция «–Indexes» в настройках сайта или файлов .htaccess).
— Дополнительно сделайте basic-авторизацию на директорию с администраторской панелью сайта.
— Установите принудительное перенаправление с 80 порта на 443, если у вас есть настроенный TLS. Запретите устаревшие алгоритмы SSL (SSLProtocol all -SSLv2 -SSLv3), слабые алгоритмы шифрования и вариант его полного отсутствия через директиву SSLCipherSuite. Это защитит от атак на «понижение» уровня шифрования.
Проверить свою настройку SSL можно, например, через https://www.ssllabs.com/ssltest/
Настройте аудит системы
Включите и настройте auditd по показательным событиям (создание пользователя, изменение прав, изменение конфигурации) с отправкой уведомлений на удаленный сервер. Все взломы не производятся одномоментно, поэтому периодически осматривая логи, пусть даже и вручную, можно обнаружить подозрительную активность. Дополнительно это поможет при «разборе полетов» в случае инцидентов.
Ставьте только минимально необходимое в системе
ОС на основе Linux хороши тем, что можно гибко выключать/удалять ненужные компоненты. С точки зрения безопасности, в первую очередь, это относится к сетевым и локальным демонам. Если вы видите, что на вашем только что установленном сервере работают демоны, которые явно или косвенно не относятся к задаче данного сервера, задумайтесь – действительно ли они нужны. Для большинства случаев это всего лишь стандартная установка, и они легко и без последствий выключаются и/или удаляются. Например, не всем нужен RPC, который включен по умолчанию в Debian. Не ждите, пока под такие сервисы найдут уязвимости и сделают эксплойт, а вы забудете обновиться.
6. Самоконтроль
Даже не обладая навыками специалиста по тестированию на проникновение, можно дополнительно включить в самоконтроль минимальные «пентестерские» действия. Вам помогут:
Сканеры безопасности
Проверьте действительную видимость открытых портов при помощи nmap/zenmap. Иногда это дает результаты, которых вы не ожидаете, например, в случае ошибочной настройки правил фильтрации трафика, или в случае, когда сеть большая и сегментация персонала по зонам ответственности также очень значительна.
Проверьте хосты в сети на типовые уязвимости при помощи сканера OpenVAS. Результаты также бывают неожиданными, особенно в крупных сетях, где обычно существует хаос разной степени. Главное при использовании сканеров безопасности – отличать ложные срабатывания от настоящих уязвимостей.
Все перечисленные утилиты бесплатны. Делайте это регулярно, не забывайте обновлять сканеры.
Брутфорс учетных записей
Проверяйте учетные записи сотрудников на предмет слабых паролей. В минимальной комплектации в этом поможет файловый ресурс, доступный любому доменному пользователю после авторизации, и утилита THC Hydra. Сформируйте словари из паролей, которые подходили бы под вашу парольную политику, но при этом были бы простые, вроде «123QAZxsw». Количество слов в каждом – не более числа допустимых попыток авторизации в домене, минус 2-3 для запаса. И пропустите через брутфорс все учетные записи домена, уверен, найдете много интересного.
Разумеется, на эти проверки заранее нужно получить официальное (желательно, «бумажное») разрешение от руководства, иначе это будет походить на попытку неавторизованного доступа к информации.
Минутка юмора
Напоследок, пентестерская байка касательно паролей. Осенью 2015 года мы делали социальный пентест с применением фишинга – выманивали доменные пароли. У двух попавшихся пользователей пароль был «Jctym2015» («Осень2015»). Посмеялись, забыли. В ноябре 2015 года делаем подобный пентест в другой организации, никак не связанной с первой, опять те же пароли, и опять сразу у нескольких пользователей. Начали что-то подозревать, нашли в одной оранжевой социальной сети такое вот руководство к действию:
Надеюсь, кому-нибудь эти простые советы помогут существенно защитить свою инфраструктуру. Конечно, есть еще масса различных технических и организационных тонкостей, касающихся вопросов «как надо делать», и «как делать не надо», но все они могут быть раскрыты только в рамках конкретной инфраструктуры.
Источник