четверг, 28 октября 2010 г.

Халява: книга по виртуализации

imageЗдесь можно скачать вторую редакцию книги “Understanding Microsoft Virtualization Solutions”. Я как-то умудрился пропустить первую редакцию, но теперь-то уж наверстаю. И Вам того же желаю Winking smile

понедельник, 25 октября 2010 г.

Платформа грядет…

imageВсем привет. Платформа 2011 неумолимо приближается. Пытаясь восстановить свое честное имя после прошлогоднего отсутствия на ней, на этой я попробую разорваться, как та обезьяна: я буду учавствовать в секции “Спроси Эксперта”, веду лабораторную работу и, может быть, буду что-нибудь даже рассказывать (это еще не решено). Вторая часть для меня будет в очередной раз являться испытанием: тема лабораторной работы “UAG и DirectAccess” (или как-то так). И если с DA я вполне знаком, то UAG для меня дело совершенно новое, так что мне предстоит освоить новый для меня продукт за месяц. Ну ладно, не настолько, чтобы быть в нем мегаспециалистом, но хотя бы быть способным ответить на базовые вопросы я должен уметь. Так что месяц у меня выдастся напряженным (работать я тоже должен иногда, да =) ), поэтому в блоге будут все больше новости и интересные ссылки. Извините, я обязательно исправлюсь как только Платформа закончится. Winking smile

четверг, 21 октября 2010 г.

Старая добрая командная строка #5

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

&”. Например, Вам захотелось перезапустить сервис. В PoSh это предельно просто:

Get-Service w32time | Restart-Service

В cmd нужно две команды:

image

Или лучше так:

image

Результат тот же, но происходит все быстрее.

&&”. Продвинемся немного дальше и решим, что нам не нужно запускать вторую команду, если первая не удалась. Ну в самом деле, зачем нам копировать файл в папку, создать которую нам не удалось? Мы ведь все равно не сможем этого сделать, так зачем напрягаться? =) Так что вместо “&”:

image

мы можем использовать “&&”:

image
Видите, в этот раз у нас только один “access denied”, то есть копировать файл мы даже не пытались.

||”. Это нужно использовать наоборот, в случае, если мы желаем что-то запустить в случае неудачи предыдущей команды. Мне удалось придумать такую ситуацию:

image

Что произошло? Да просто когда копирование файла не удалось, мы запустили создание папки, а потом скопировали файл при условии, что папка создалась успешно. В случае, если бы директория уже была создана ранее, мы бы получили следующее:

image

Файл просто был скопирован и на этом все закончилось.

И последний </irony mode>“кусочек мудрости” </irony mode off>: Вы можете даже группировать Ваши команды, чтобы они выполнялись в нужном Вам порядке. Делается это с помощью (ни за что не догадаетесь) заключения команд в скобки: “()”.

Предыдущие выпуски: #0, #1, #2, #3, #4

понедельник, 18 октября 2010 г.

Раскрывать или не раскрывать

imageВторая тема, которую мне хотелось бы обсудить после обнаружения мной уязвимости в VMWare, звучит почти по-Шекспировски. Что должны делать человек или организация в случае обнаружения ими уязвимости? Сообщить вендору и публично разгласить подробности одновременно? Просто раскрыть публично? Уведомить вендора и ждать обновления? Очевидно, существует куча возможных стратегий, и, как обычно, каждый выбирает для себя свою точку зрения на проблему. Microsoft, к примеру, придерживается своей Coordinated Vulnerability Disclosure Policy. Это означает, что они желают получить время на произведение исправление, его тестирование (чтобы клиенты испытывали как можно меньше проблем) и доставку пользователям. А так же они предоставят такую же возможность и другим вендорам, в случае, если найдут уязвимость у них. Google использует свою Responsible Disclosure Policy, предоставляя кому угодно 60 дней на исправление уязвимости. Первый вариант дает вендору возможность действительно хорошо оттестировать свое исправление, что немаловажно, но может провоцировать его к манкированию опасностью. Второй, похоже, будет заставлять вендора чинить проблему как можно быстрее, но производство обновлений в самом лучшем случае может занимать 3-4 недели. В сложных случаях это будет даже больше времени. Распространение же информации об уязвимости раньше ее закрытия может навредить даже больше, чем ее длительное игнорирование. Или нет? Безопасность – странная область знаний, в которой почти нет достоверной статистики для многих вещей.

Что ж, похоже, что каждый будет искать свое собственное решение проблемы (какими бы ни были параметры выбора: вера, собственная статистика или маркетинговые намерения). Вопрос, что мне выбрать для себя? Что я должен принять, как разумное решение? Практика показала, что я больше на стороне MS: я напишу вендору (и безопаснику в моей компании, конечно же). Но что я буду делать, если они не почешутся? Я не был в подобной ситуации, так что мне сложно сказать. Наверное, все будет зависеть от критичности уязвимости, реакции вендора и прошедшего времени. Возможно, немного позже я бы начал угрожать вендору раскрытием информации и потом просто расскажу “всему миру” (да, всем моим читателям. Не много, но чем богаты, тем и рады Winking smile). К счастью мое общение с VMWare было совсем другим, так что я все еще не знаю, как повел бы себя: с момента моего письма им до выпуска новой версии прошло всего 17 дней.

А Вы что думаете? Как бы поступали Вы или считаете правильным поступать?

четверг, 14 октября 2010 г.

Старая добрая командная строка #4

Всем привет. Это, пожалуй, последний выпуск про больше, чем одну команду (тут можно прочитать выпуски #0, #1, #2, #3), потому что…

image

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

  • recover. У меня, к счастью, не было шанса пока ее проверить, однако ее описание говорит нам, что эта команда попытается прочитать Ваш поврежденный файл посекторно. То есть Вы получите файл, состоящий из содержимого хороших секторов, а содержимое плохих будет потеряно. Может быть, это не слишком утешительно, но если Вы, вдруг, имеете поврежденный ОБТФ (Очень Большой Текстовый Файл), тогда из полностью нечитаемого файла Вы можете получить полностью читаемый, но с частично потерянными данными. Так что если Вам не посчастливится использовать эту команду – расскажите мне о результатах Winking smile
  • systeminfo. Если нужно получить кое-какую информацию о клиентском компьютере до начала поиска проблем не прибегая к помощи сторонниз утилит и загрузкам, то это прекрасная команда. Имя хоста, конфигурация сетевых устройств, обновления и все такое. Даже uptime, хотя буквально вчера эта команда показала мне, что один из моих серверов не перезагружался с 1982 года =) Данные так же можно выгрузить в разных форматах.

image

  • takeown. Представьте: нажимаете Вы “ctrl+a”, потом “shift+delete” и… “Access denied”. А потом выясняется, что нельзя даже сменить права, поскольку нет на это прав, и владелец файлов кто-то дургой. Разумеется, можно стать владельцем файлов через GUI, но тогда о чем бы я стал писать статьи? =) Так что просто используйте “takeown” и Вы сможете сделать это из командной строки (даже на другом компьютере). У нее есть, впрочем, один недостаток: Вы не можете дать владение файлами другим учетным записям, если не знаете их учетных данных, однако, команда все еще может быть полезной в написании скриптов, полагаю

На этом я завершаю данную серию, написанную по мотивам случайных находок на сайте TechNetThat. Однако продолжение последует, я полагаю. Winking smile

понедельник, 11 октября 2010 г.

К вопросу о скачивании в неподобающих #2

Как и обещал, я собираюсь описать пару идей, который у меня возникли, когда я ковырял свою уязвимость в VMWare. Вот первая из них. Более, чем год назад я писал об угрозах, возникающих при скачивании файлов из p2p сетей и один из моих читателей высказался в том ключе, что скачивать софт оттуда безопасно, если Вы знаете правильный hash дистрибутива или что Вы там качаете. К сожалению, та уязвимость, о которой я продолжаю хвастать, показала, что даже подобные предосторожности могут, на самом деле, не помешать злоумышленнику навредить Вам. Видите ли, файлы из p2p сетей часто приходят со всякими, безобидными на первый взгляд, файлами в придачу. Разумеется, эти файлы никто не смотрит на предмет угроз, так что попасть в ловушку достаточно несложно. Так что p2p небезопасны в любом случае.

З.Ы. hash не панацея в любом случае – он короче, чем файл, следовательно – не уникален.  На данном этапе он обеспечивает лишь достаточно хорошую защиту от подделки содержимого файла – никакой серебрянной пули. =)

четверг, 7 октября 2010 г.

Новый калькулятор размера хранилища для DPM 2010

imageНу… Не особо новый, на самом деле: это было опубликовано более месяца назад, однако, лучше поздно, чем никогда Winking smile

Стали доступны три калькулятора: для Exchange, SharePoint и Hyper-V. Эти файлы могут быть Вам вполне полезны… если только вы знаете различные параметры для своих систем типа процента изменений в виртуальных машинах за сутки.

Было бы интересно подставить туда данные из реальной жизни и посмотреть, сойдутся ли цифры?  Winking smile

понедельник, 4 октября 2010 г.

Старая добрая командная строка #3

Продолжаем нашу серию (сообщение #0, сообщение #1, сообщение #2)

  • findstr. Еще одно déjà vu? Почти. Эта команда действительно похожа на “find”, которую мы рассмотрели во втором выпуске “старой доброй командной строки”, однако она намного мощнее. Она даже помощнее grep. Правда. Для нее есть несколько опций вывода (номер строки в файле, только имя файла, смещение и так далее), ввода (список файлов из файла/консоли, строка поиска из файла/консоли) и поиска (буквальный поиск, искать любое из слов или всю строку и даже регулярные выражения). Она и впрямь может быть весьма полезна, в случае, если Вам нужно произвести некий быстрый и точный поиск в нескольких файлах или выводе программы или автоматизировать несложную задачу без чрезмерного кодирования или инсталлирования PoSh или Perl туда, где он не стоит по-умолчанию. В этих случаях findstr – Ваш выбор. Давайте посмотрим несколько простых сценариев использования. На данный момент у меня есть три .txt файла в одной папке:

image

Заметьте разницу между файлами: file2.txt имеет внутри 45% вместо 40%, а file3.txt имеет пробел в начале второй строки. Давайте найдем тут слово “done”:

image

Достаточно просто, не так ли? Попробуем теперь получить немного больше информации:

image

Эта команда показывает нам, в каком файле есть слово “done”, в какой строке (2) и с каким смещением (14). Заметьте, что смещение отсчитывается до начала строки, в которой есть искомое, а не до первого его (искомого) вхождения. Теперь найдем файлы, в которых “45” стоит в начале строки:

image 

или другим способом:

image

Простая, но мощная.

  • msdt. Эта программа на самом деле запускает GUI, так что ее вряд ли можно назвать утилитой командной строки, однако, она имеет ряд параметров для запуска из CLI, так что если Вам нужно запустить у пользователя определенный набор для поиска и решения проблем, то это вполне неплохой выбор. Вот пример использования:

image

после этой команды откроется такое окно:

image

и я получу рекомендации по уменьшению энергопотребления моего ноутбука, а так же смогу автоматически все поправить. На самом деле, Вы даже можете создавать собственные наборы для решения проблем, по крайней мере, если сможете пробиться через вот эти страницы:  http://msdn.microsoft.com/en-us/library/dd323774(v=VS.85).aspx. Лично я планирую попробовать это как-нибудь… В будущем…  Smile

  • openfiles. Если нужно быстро получить информацию о файлах, открытых по сети (или локально, но это потребует некоторой подготовки), и, может быть, поместить эту информацию в файл или каким-то еще образом обработать ее, то вот оно – решение. Этот экран

image

на самом деле идентичен по содержанию этому:

image

и так же, как во втором случае Вы можете закрыть сессию

image

Вы можете сделать это в первом. Но в случае, если сессий у Вас много или очень много, возможности CLI, возможно, более практичны, потому что позволяют сделать следующее: 

image

Как несложно увидеть, мы запросили отрытые файлы и отфильтровали их с помощью “findstr” (эй, эта моя статья уже начинает помогать, не правда ли? Winking smile). Потом мы получаем ID нужной нам сессии и отключаем ее с помощью ключа /disconnect. Если у нас открыты тысячи файлов, то так сделать много удобнее, чем с помощью графического интерфейса.

Ну и хватит на сегодня, продолжение следует…