Операционная система Linux это уникальный проект, объединяющий тысячи разработчиков, занимающихся самыми разными подсистемами: от ядра до прикладных программ. Некоторая часть из которых работает совершенно бесплатно. При этом ОС не только успешно развивается, но и успешно противостоит коммерческим продуктам.

Ядро Linux

Днем рождения Linux принято считать 25 августа 1991 года, когда в новостной рассылке операционной системы Minix появилось письмо от Линуса Торвальдса о начале разработок ядра новой ОС (сам Торвальд родился 28 декабря 1969). Хотя версия 0.01 стала доступна для загрузки лишь 17 сентября, если быть точнее сам Торвальдс отправил исходный код только нескольким друзьям. Истинно публичным релизом принято считать 5 октября, когда вышла версия 0.02 доступная всем и бесплатно (в соответствии с идеологией Торвальдса «счастья всем, даром…»). Назвать изначально планировалось как Freax (free — свободный, freak — каприз или уродец, последняя буква от UNIX). Но друг Торвальдса Ари Леммке (Ari Lemmke) – владелец FTP-сервера, которому не нравилось название, использовал каталог с названием Linux. Так и осталось. Кстати некоторое время с ядром выкладывался и звуковой файл в котором было правильное произношение слова Linux.

Именно с этого письма в рассылке «Миникса» отсчитывают День рождения Linux

Именно с этого письма в рассылке «Миникса» отсчитывают День рождения Linux


Эмблему Linux выбирали долго, в итоге остановились на пингвине Tux. Причина описана в своей книге «Just for Fun» Торвальдс пишет, что пингвина как эмблему он выбрал из-за того, что однажды в зоопарке в Австралии в 1993 его клюнул пингвин (как шутил Торвальдс он заболел penguinitis), правда это или нет, но официальная история такова. Талисман Linux создал американский программист Ларри Ервинг (Larry Ewing).
Так как Линус владеет торговой маркой Linux, у него постоянно спрашивает почему он не хочет создать дистрибутив который бы так и назывался. Но он отвечает, что его это не интересует, а само ядро это еще не весь Linux. Вместо того чтобы «делать миллиарды» он предпочитает рыться в коде и является типичным представителем down shift (у нас любят говорить даошифтинг). То есть человеком предпочитающим жить в свое удовольствие, чем постоянно беспокоиться о новом богатстве. На его образ мышления не повлияли даже множество премий, среди которых одна из самых престижных технологических Millennium Technology Prize. Журнал Time несколько раз помещал его в списки влиятельных людей мира. Его именем назван астероид (9793 Torvalds) и луна астероида (Linus). В настоящее время миллионер Торвальдс владеющий пакетом акций Red Hat (достался в подарок при выходе компании на фондовый рынок, сейчас акция стоит 46$) и работает в Linux Foundation (образовалась после слияния Open Source Development Labs и Free Standards Group). Он использует Fedora с рабочим столом XFce.
Проект быстро нашел единомышленников и за 22 года стал крупнейшим проектом взаимосотрудничества на планете. Уже через год версия достигла 0.95, а через два (1994) вышла версия 1.0, то есть основные недочеты были исправлены и ядро в цеом готово. Сегодня над совершенствованием ядра работает целая армия помощников, а сам он уже далеко не самый активный разработчик. Торвальдсом на данный момент написано лишь около 2% кода ядра Linux, но он принимает решение о внесении изменений в официальную ветку ядра.

Статистика разработки ядра

С 2005 года собирается статистика. И на сегодня свой вклад в развитие в ядро Linux внесли 10 000 разработчиков из более чем 1000 компаний, с 2012 года 1000 разработчиков и 225 компаний. В 2012 наиболее значительный вклад среди разработчиков привнес Hartley Sweeten, совершивший 2.3% от всех изменений в ядре. На втором месте Mark Brown с 1.5% изменений, на третьем Al Viro — 1.4%. Далее следуют Axel Lin и Johannes Berg, внесшие 1.2% и 1.0% изменений.
Заметно выросли и темпы развития. Цикл выпуска между версиями снизился в среднем с 80 до 70 дней, при этом применяется около 10 000 патчей, в час вносится в среднем 7.2 изменения, в день около 170. Большое количество изменений вносят компании выпускающие мобильные и встроенные устройства — Linaro, Samsung и Texas Instruments в 2013 году внесли 11% изменений (в 2012 — 4.4%). Кроме того заметен всплеск активности Google. Хотя среди патчей (и кстати очень качественных) этой корпорации всего 7000 строк кода связаны с Android, зато они покрывают буквально все подсистемы ядра: сетевая система, безопасность, планировщик и т.д. То же самое и Samsung, которая привнесла в ядро новую файловую систему F2FS и много других патчей, не связанных с Android. Не в пример корпорация Microsoft наоборот после окончания адаптации с Hyper-V фактически свернул работу. Действительно зачем им поддерживать конкурентов. Интересно, что среди компаний дистрибьютеров Linux (Red Hat, Novell, Oracle) разработчики Ubuntu — дистрибутива который выше их всех по популярности, себя в ядре ни как не проявили, не попав в ТОП25. В Cannonical очень мало активных разработчиков (см.далее) и им проще получив сообщение о проблеме открыть тикет, где нибуть на bugzilla.redhat.com и подождать пока ее решат за них. Хотя может это только слухи.
Большая часть всех изменений вносимых в ядро (80%) сделаны программистами получающими за эту работу оплату в том числе и сотрудниками разных компаний. Понятно что компаниям выгодно чтобы система работала на их оборудовании и развивалась дальше. Доля энтузиастов составляет 13.6%, еще 0.9% кода принадлежит образовательным учреждениям и сколько же The Linux Foundation.

Факты о дистрибутивах

Debian

Один популярных и известных дистрибутивов положивших начало многим проектам, крупнейший некомерческий дистрибутив известный своей стабильностью (в том числе и стабильным запаздыванием реллизов) и безопасностью. 15 августа 2013 Debian исполнилось 20-лет. Название дистрибутива происходит от имен создателя проекта Яна Мердока (Ian Murdock) и его подруги Debra. Релизы называют по персонажам из фильма Toy Story, нестабильный релиз “sid” — в честь ребенка, который регулярно ломал игрушки. Версия 1.0 не была выпущена из-за ошибки на CD, поэтому первым релизом считают 1.1.
В 2013 году общее количество строк исходных текстов составляет около 100 млн., из которых 68,5% являются фактический код, пустые строки и комментарии. C 1996 года было произведено около 470 тыс. коммитов, затронувших 1.4 миллиона файлов и сделанных 4,752 разработчиками. Больше всего разработчиков проживает в США (21.3%), Германии (13.3%) и Франции (7%). Наиболее продуктивный Jonas Smedegaard, присоединившийся к проекту в 2001 году и внесший 9349 изменений. При написании используется около 70 языков. Самые популярные: C — 32.1%, С++ — 18.7%, XML — 9.8%, Autoconf — 7.6%, shell — 4.5%.По интенсивности разработки дистрибутив сегодня находится на уровне 2006 года (пик пришелся на 2009 год, ohloh.net/p/debian/commits/summary). В соответствии со стандартом COCOMO (COnstructive COst MOdel) проект стоит 1.2 млрд.дол или 22984 человеко-лет.
Динамика развития Debian

Fedora

Проект Fedora Linux поддерживаемый добровольцами, возник в University of Hawaii в 2002 с целью обеспечить единое хранилище с Red Hat Linux. Но официальной датой рождения считается 22 сентября 2003, когда компания Red Hat объявила о разделении дистрибутива на два субпроекта — развиваемый при участии сообщества Fedora Linux и коммерческий Red Hat Enterprise Linux. То есть в этом году Fedora исполнилось 10 лет. И сегодня он является платформой для тестирования новых технологий, которые потом появляются в RHEL. В дистрибутив влючают только свободное ПО.
До версии 7, назывался Fedora Core, затем приставку Core убрали. В отличие от других дистрибутивов не предлагает LTS версий, релизы выходят каждые 6-8 месяцев и поддерживаются год. Кодовое имя выбирается сообществом на основе голосования. Логотип символизирует бесконечность, свободу и голос (infinity, freedom и voice). В проекте участвует более 25000 разработчиков. Общее число пользователей по разным подсчетам от 1 до 7 миллионов. Сам Fedora является основой 94 дистрибутивов, из которых активны 27.

Ubuntu

20 октября дистрибутиву исполнилось 10 лет. Дистрибутив создавался как временное ответвление от Debian обеспечивающий регулярный выпуск новых версий каждые 6 месяцев. Имя Ubuntu на языке зулу означает человечность, эмблема дистрибутива символизирует круг друзей. Название релиза состоит из цифры (год и месяц выхода) и кодового имени состоящего из двух английских слов: прилагательного и названия животного, начинающихся на одну и ту же букву. Каждый четвертый релиз четвертый релиз получает статус LTS (долгосрочной поддержки). Более 600 сотрудников Cannonical работают в почти 200 городах 30 стран, компания имеет офисы только в шести городах (Лондон, Бостон, Монреаль, Шанхай, Сан-Паулу, Тайбэй). Под управлением Ubuntu работает 8.2% интернет сайтов из общего количества или 26% с ОС Linux.
Общее количество пакетов в репозитарии Ubuntu более 37 500, размер превышает 45 Гб. На его основе построен 131 дистрибутив из которых 77 активных. Сервера Ubuntu One, размещены на Amazon S3. На самом Amazon S3 пользователи в 54% предпочитают именно образы Ubuntu. C 2008 года Ubuntu используется на серверах Википедии.

Видеоредактор LiVES по умолчанию загружается в режиме фрагментарного редактирования — Clip Editor, когда в интерфейсе доступна только одна дорожка. Он удобен для относительно простых проектов (обрезать видео, склеить клип, применить эффекты), также мы получаем весьма продвинутый видеопроигрыватель. В сложных проектах без нескольких дорожек управиться будет проблематично, а значит знакомства с режимом Multitrack нам не избежать. Правда есть один отрицательный момент, в этом режиме программа менее стабильная и не редко вылетает, особенно когда пользователь не разобрался со всеми особенностями программы и выполняет действия не предусмотренные разработчиком. С опытом, таких неприятных моментов становится меньше.

Включаем Multitrack

Режим интерфейса по умолчанию устанавливается в Startup Mode (Инструменты > Параметры > GUI) или если он нужен временно на текущий проект, то выбираем Правка > MultiTrack режим (Ctrl+M). Хотя есть еще один способ. Если во время воспроизведения клипа активировать запись фрагмента (пуск/остановка клавишей R, активируется счетчик кадров), то по окончании записи появится меню в котором можно выбрать вариант просмотра/редактирования в Multitrack (View/edit events in multitrack window (test)). Режим как видим тестовый, но он работает.
При переходе в Multitrack появится окно с настройками Multitrack details, в котором необходимо установить параметры проекта: видео (разрешение и частота кадров), аудио (частота, каналы и т.п.), результат (декодер, формат файла, аудиоформат). В принципе сейчас важны первые два, они могут влиять на дальнейшую работу с некоторыми эффектами. Чтобы установки использовались по умолчанию достаточно поставить флажок Always use these values. В последующем, что-то можно переопределить (для текущего проекта в Инструменты > Change width, height and audio values … или глобально в Инструменты > Параметры > Multitrack/Render). Два флажка активированы по умолчанию и требуют отдельного объяснения. Так Enable backing audio track добавляет в проект еще одну общую аудиодорожку, которую можно использовать для фоновой музыки. Флажок Audio track per video track включает аудиодорожку в отдельном видео.
Настройки проекта

По умолчанию проект создает резервную копию каждые 120 секунд, на относительно медленных системах это замедляет работу. Установки можно изменить в Multitrack/Render, указав другое время, отключить совсем или наоборот заставив делать бэкап после каждого изменения (After every change).
Внешний вид в MultiTrack режиме при первом знакомстве выглядит пугающе, но все логично нужно просто разобраться, потратив на это некоторое время и если уже работал с другими редакторами, то и изменить некоторые привычки. Затем все пойдет как по маслу. Поэтому вначале разберемся с интерфейсом.

Интерфейс MultiTrack

Функционально кроме меню и панели управления можно выделить несколько областей. Первой идет так называемая manipulation area, состоящая из трех окон: предварительного просмотра, polymorph и сведений. В первом показывается сам клип или результат его обработки, в последнем советы. Подсказки помогают освоиться быстрее, показывая информацию по текущему действию, но полезны они будут только при знании базового английского (не локализованы), их можно убрать при помощи кнопки Expandet/Compact View или горячей клавиши d.
Часть находящаяся по середине состоит из нескольких вкладок и переключает автоматически свой вид в зависимости от текущей операции. Именно она при первом знакомстве с LiVES вносит неплохую путаницу с назначением, поэтому некоторое время приходится осваиваться, а нелокализованная документация здесь не слишком помогает. Вкладки можно выбирать самостоятельно, но эта операция не имеет смысла, в некоторых мы увидим пустое окно без каких-либо настроек и чтобы они там появились нужно выполнить некоторые действия.

Комбинации горячих клавиш при работе с LiVES:

P — воспроизведение
Y — воспроизведение только выбранного
S — воспроизведение в отдельном окне
F — переключение в полный экран
M — метка на временной шкале
W — сброс позиции курсора
I — вставка видео на трек
R — запись фрагмента
D — переключение Expandet/Compact View
Ctrl+M — переход из Clip Editor в MultiTrack режим, в режиме MultiTrack вызов аудиомикшера
Ctrl+S — разделение блока под курсором
Сtrl++/- — увеличение или уменьшение масштаба временной шкалы
Сtrl+PageUp и Сtrl+PageDown — выбор видео в окне Clips.
Сtrl+Left/Right — перемещение курсора влево/право на временной шкале
Сtrl+Up/Down — изменение дорожки
Сtrl+I — вставка выбранного клип в текущую позицию на временной дорожке.
Ctrl+A — выделить всю временную шкалу
Ctrl+B — добавление фоновой музыки к дорожке
Ctrl+S — обрезка трека
Ctrl+Space — включение трека в область
Ctrl+T/Ctrl+Shift+T — добавление видеотреков в слое выше или ниже
Ctrl+R — рендеринг проекта
Ctrl+G — заполнить пустое место
Ctrl+F — заполнить первые пустое место в области
Ctrl+P — вызов настроек

После загрузки активна первая вкладка Clip, где увидим все ролики проекта. Если дважды щелкнуть по клипу, то попадаем обратно в Clip Editor (как вариант выбрать Edit/encode in clip editor в контекстном меню). Из Clip можно удалить видео из списков проекта и просмотреть информацию. Вкладка In/Out позволяют задать первый и последний кадр клипа, который будет использоваться при дальнейшей обработки. Если сюда зайти внутри пусто и назначение непонятно. Но есть несколько способов. Выбрать на видео в Clip пункт контекстного меню Adjust start and end points) или на видео помещенном на временную шкалу дважды щелкнуть (оно сразу помечается крестиком) или выбрать в контекстном меню пункт Выберите этот блок. После любого действия вкладка In/Out открывается автоматически. Дальше просто отмечаем нужный кадр и при необходимости фиксируем его установкой флажка Anchor start/end. Если видео уже помещено на временную шкалу, то увидим что оно уменьшается в размере, а значит все треки проекта придется подгонять повторно.

Задаем начальный и конечный кадры видео

Задаем начальный и конечный кадры видео

В остальных вкладках FX stack, Эффекты, Переходы состояний, Compositors и Params показываются специфические настройки эффектов, если они применялись к выбранному видео, об этом поговорим далее.
Чуть ниже располагается временная шкала в которой собственно и редактируются аудио и видео. В самом верху горизонтальная линейка с временными отметками (timeline). Если щелкнуть по ней в любом месте один раз, то установится метка и воспроизведение будет начинаться с этой точки. Когда проект большой не редко требуется обозначать ключевые места, чтобы к ним была возможность быстро вернуться. Для этого во время воспроизведения необходимо нажимать клавишу m, и на шкале появится синяя метка, таких меток можно ставить сколько угодно. Чтобы выделить участок также следует щелкнуть по timeline и провести по линии до нужного места или просто указать время начала и окончания в поле Выбор.
Если вставлено большое количество объектов и они все не влазят, появляется полоса прокрутки. При следующем открытии программы, файлы будут автоматически масштабированы под ширину окна LiVES. При помощи клавиш Сtrl++/- можно растянуть или уменьшить timeline как это делается в большинстве редакторов.
И в самом низу окна располагается область уведомлений в котором можно наблюдать за ходом текущей операции, если она мешает то ее можно уменьшить или совсем отключить.

Работаем с дорожками

По умолчанию на временной шкале располагается дорожка фоновой музыки (Backing audio) и две видеодорожки (Layer). Общую дорожку фонового звука если она не нужна при текущей обработке можно скрыть, чтобы она не занимала место (Вид > Show backing audio track). Чтобы добавить новый слой видео следует обратиться к меню Композиции > Add Video Track at Rear/Add Video Track at Front (Ctrl+T/Ctrl+Shift+T). Для удобства в больших проекта дорожки лучше переименовать (Композиции > Rename current track), чтобы было сразу понятно их назначение. Кроме этого фоновую музыку может иметь каждая дорожка, для этого необходимо ее отметить и выбрать Композиции > Make Backing Audio Current Track (Ctrl+B).
Чтобы добавить видео на дорожку достаточно в окне Clip захватить его мышкой и перенести в нужное место, другой вариант выделить щелчком мыши видео, а затем на дорожке использовать пункт контекстного меню Вставить здесь или выделить видео и нажать клавишу I. В последнем случае файл будет добавлен на первую дорожку в начало, это очень удобно если нужно просто их расставить по порядку, меньше подгоняя вручную. И главное места для видео в точке вставки (если она располагается между двумя клипами) должно хватать. Если клип будет больше, то он будет обрезан. Поэтому лучше посмотреть доступное время по timeline и если его не хватает, то сдвинуть остальные видео освободив достаточно места. Это сделать очень просто. Выделяем нужную область на timeline при помощи мышки или счетчика Выбор и вставляем в это место разрыв при помощи Insert gap in selected track/time или Insert gap in current track/selected time.
Как и при использовании Clip Editor в проект можно вставить титры, пустой или цветной кадр, сгенерировать видео из изображений. Все эти действия доступны в меню Инструменты > Создать и описаны в предыдущей части.
Обратите внимания на два переключателя в меню: Insert with audio (вставка видео вместе с аудио) и Select overlap (позволит выбрать на timeline только место, где перекрываться треки, это полезно при создании эффектов перехода и compositor). Нажав на стрелку в каждом слое, можно увидеть аудиодорожку.
В этой работе сильно помогают горячие клавиши, не лишне будет их изучить и использовать.
Каждый трек может имеет свое аудио (если выбран Insert with audio), плюс фоновая музыка, чтобы управиться со всем этим, LiVES предлагает простой микшер, вызываемый кнопкой Audio mixer (Ctrl+M). C его помощью можно выставить уровень громкости для каждого источника. Обратите внимание на переключатель Gang layer audio, если он установлен (горит зеленым), то для всех слоев устанавливается одно значение громкости. Поэтому если необходимо для разных каналов установить свой уровень, то деактивируем его. Еще один флажок Invert backing audio and layer volumes позволяет инвертировать значения музыки в видео и фоновой.
Чем меньше номер слоя видео тем выше в кадре он будет. То есть если клипы перекрывают друг друга то мы будем видеть только то, что находится в Layer 0, если конечно не применены эффекты перехода или compositor. На каждой дорожке имеются переключатели (красный/зеленый кружок) позволяющий включать текущий трек в область (region), далее они нам понадобятся.
Возможное действие на клипе помещенном на временной шкале изменяется в зависимости от установленного значения Mouse move в Select или Move. В первом случае мы можем выделить любой участок видео, во втором — видео захватывается и его можно перенести в любое мест и расставить как нужно.

Обрабатываем видео

Клип размещенный на временной шкале в терминологии LiVES называется блоком, это наименьшая единица с которой можно работать этот редактор. При этом блоком может быть и один кадр, если его отобрать при помощи In/Out или обрезать используя пункт Split block here контекстного меню (вариант установить курсор и нажать комбинацией Ctrl+S). Разрезать все видео на всех треках в точке курсора можно при помощи Композиции > Split selected video track. Лишняя часть затем обрабатывается отдельно, удаляется или перемещаентся. Чтобы произвести какую-либо операцию над блоком достаточно дважды по нему щелкнуть, после чего автоматически активируется вкладка In/Out.
Эффекты реального времени доступные в режиме Clip Editor сейчас нам недоступны, только обычные (rendered). Применить эффект очень просто. Выделяем блок и переходим в Воздействие > Apply effect to block, где отмечаем нужный эффект. После этого активируется вкладка FX effect, в которой мы может просмотреть список всех эффектов блока (переход по Prev filter map/Next filter map) и удалить. Если эффектов несколько то их можно перемещать меняя приоритет при помощи Insert before/Insert after. Для настройки эффекта (если это предусмотрено) необходимо его отметить в FX effect и перейти в Params. В окне предварительного просмотра можно будет сразу оценить результат. Причем если в Params доступна полоса Время (например для colour correction), то для разных частей одного блока можно использовать разные установки эффекта. Просто в разных точках временной шкалы указываем свои значения и нажимаем кнопку Применить. В последствии между точками в которых использованы разные параметры можно просто перемещаться при помощи кнопок Prev node/Next node, чтобы удалить точку используем Delete node.
Есть здесь еще интересный момент. По умолчанию при перемещении блока эффекты также остаются вместе с ним, что вообщем логично, но не всегда. Например, в разных частях проекта используются разные эффекты, а поэтому перенеся блок с другого места, мы можем испортить общую картину. Но это решается очень просто, достаточно снять флажок Воздействие > Move effect with block и блок будет перенесен в новое место в «чистом» виде.

Создание переходов

Склеивая несколько кусков видео необходимо создать целостное впечатление, без переходов резкие скачки сюжета смотрятся не очень красиво. Правда увлекаться ими тоже не стоит, это сильно мешает восприятию, и даже считается плохим тоном. Чтобы создать переход необходимо видео разместить в разных слоях, при этом они должны немного пересекаться. Теперь необходимо создать область. В терминах LiVES область представляет собой сочетание нескольких треков и выделенной части на timeline. Треки включаются в регион при помощи переключателя (зеленый кружок, Ctrl+Space) или если все Выбор > Select all video track. Далее выделяем на временной шкале участок между блоками для которых создается переход, становится активным пункт меню Воздействие > Apply effect to region, перейдя сюда обнаружим два подпунка. В Переходы состояний собственно и выбирается нужный эффект для аудио и видео (отдельно или одним пунктом), после чего активируется вкладка Params и можно настраивать параметры.

Выбираем эффект перехода

Выбираем эффект перехода

В Compositor только один подпункт, после его активации попадаем в одноименную вкладку в «polymorph». Здесь вручную настраивается взаимодействие видео на треках в том числе и переход между ними, причем в отличие от эффектов перехода, Compositor может охватывать более двух треков. Для определенного времени указываются установки относительного сдвига по оси X и Y, размер кадра видео располагаемого в слое выше, цвет рамки, прозрачность и т.п. Участок задается при помощи переключателей или просто выделив мышкой в нужном месте квадрат в окне предпросмотра. Процесс работы аналогичен применению эффектов. Выбираем определенное время, настраиваем и нажимаем Применить. Затем операцию повторяем для следующего временного отрезка. При помощи Compositor можно также создавать такой эффект как «кадр в кадре».

Режим Compositor

Режим Compositor

Расположить видео по нескольким дорожкам с большой точностью очень сложно, кроме перекрытий могут появиться и пробелы. Но в режиме региона их легко устранить автоматически, достаточно выбрать пункт Ctrl+G Ctrl+F

Конечно некоторое время придется осваиваться со особенностями мультидорожечного режима LiVES, но в последующем можно будет создавать отличные проекты.

Анонсирован ноябрьский номер № 11 (144) журнала Системный Администратор за 2014 год со спецприложением «БИТ. Бизнес & Информационные технологии».
cover11(144)
bit_cover09(42)
В номере:

  • Ник Шейли: «Криптовалюта Ripple – новая экономическая реальность»
    Тема криптовалют очень активно обсуждается в последнее время. Многие западные эксперты констатируют приход второй волны популярности «виртуальных денег», и чаще всего при этом называется платежная система Ripple. С одной стороны, Ripple по своей капитализации недавно вышла на второе место после Bitcoin, с другой, такие мейнстрим-компании, как Google, приняли решение инвестировать в ее развитие. Мы решили встретиться с одним из разработчиков Ником Шейли, чтобы из первых рук узнать все об этой новой быстрорастущей криптовалюте.
  • Система Nagios. Комплексный мониторинг. Часть 2
    Описание хостов, создание промежуточных шаблонов хостов, описание шаблонов сервисов, как общих, так и промежуточных, задание реальных описаний сервисов.
  • Управление виртуальной инфраструктурой VMware vSphere с iPhone и iPad
    Управление сложными ИТ-средами становится доступным с мобильных устройств. Работаем (с телефона или планшета) с частным облаком на базе виртуализации от VMware.
  • Кластер виртуализации. Часть 1. Разворачиваем бюджетное отказоустойчивое решение
    Подбор программного и аппаратного обеспечения и первоначальная настройка кластера.
  • Настройка современной системы хранения. Часть 2. Добавляем поддержку дискового хранилища
    Продолжаем разговор о создании системы хранения на базе сервера и дискового хранилища SAN с использованием Red Hat Linux.
  • Шифрование электронной почты с помощью CipherMail
    Электронная почта по-прежнему остается основным средством обмена информацией, но, доверяя ей большие секреты, нередко забывают об элементарных приемах защиты. И в первую очередь о необходимости шифрования трафика, позволяющего избежать перехвата сообщений.
  • Инвентаризация Linux с помощью SCCM
    Как учитывать компьютеры на основе Unix/Linux вместе с ОС Windows? System Center Configuration Manager 2012 R2 позволяет собирать информацию с разных операционных систем.
  • Инструментарий Rex. Управление множеством Linux-систем для любителей Perl
    Удобное управление несколькими машинами – задача распространенная, часто решаемая с помощью SSH и инструментов, работающих поверх этого протокола. Рассмотрим один из них, который наверняка понравится поклонникам языка Perl.
  • Власть над конфигурацией. Etckeeper и Git
    Разберемся, как просто и эффективно управлять версиями файлов в каталоге /etc. Научимся отслеживать и фиксировать изменения и тогда всегда сможем иметь несколько резервных копий.
  • Боремся с лишними правами
    Доступ к тому или иному ресурсу должны иметь только те сотрудники, которые с ним работают. Но очень часто бывает так, что доступ к ресурсу есть, но он пользователю при работе не нужен. Поговорим о том, как найти и удалить подобные «дыры» в системе безопасности.
  • Active Directory и безопасность. Часть 4. Принцип наименьших привилегий
    Ранее мы изучили базовые механизмы защиты учетных записей привилегированных пользователей службы каталога AD с помощью стандартных средств. Теперь разберемся, как можно выполнить защиту административных групп, что такое принцип наименьших привилегий, и какие средства предлагает нам ОС.
  • Переход на платформу 1С 8.3. Проблемы и тонкости
    Платформа «1С:Предприятие 8.3» – сейчас самая новая и современная среда разработки бизнес-приложений от 1С. В статье рассмотрены различные проблемы, с которыми приходится сталкиваться в процессе перехода на новую версию платформы.
  • «1С:Предприятие» вместе с «1С-Битрикс». Часть 2. Загружаем и настраиваем модуль интеграции
    После заполнения справочника товаров в «1С:Предприятии» можно приступать к установке и настройке модуля интеграции
  • Разработка мобильных приложений на платформе «1С:Предприятие 8.3»
    Разработка мобильных приложений всегда ассоциируется с необходимостью изучения дополнительных технологий. А что, если пересмотреть вопрос и воспользоваться уже знакомыми инструментами?
  • JavaScript – есть будущее
    JavaScript – язык, первая версия которого была написана за десять дней и который завоевал мир. Но информационные технологии развиваются.
  • Создание addon-модулей для Node.js
    Как и для всякого расширяемого продукта, для Node.js существует API, с помощью которого можно сделать addons, расширяющие базовые функциональные возможности. Разберем подробно процесс создания такого модуля.
  • Распределенные виртуальные стенды для тестирования веб-серверных приложений
    Узнайте, как эффективно применять средства виртуализации для организации распределенных тестовых стендов. Дается пример тестирования веб-серверных настроек профессионального приложения Alloy Navigator для управления службами технической поддержки клиентов.
  • Вакансия: реверс-инженер
    В создании программных продуктов для информационной безопасности большую роль играют реверс-инженеры. Эта редкая специальность, освоить которую трудно, пройдя лишь обучение в вузе, – необходима практика. Каких специалистов хотят видеть компании на этой позиции?
  • Игра приставок
    Думаю, что, если бы Стив Джобс мог предвидеть, как человечество распорядится его смартфонами, призванными наладить коммуникации между людьми, то, наверное, сильно огорчился. То же можно сказать о японце Фусадзиро Ямаути – основателе крупнейшей компании по производству видеоигр Nintendo.
  • Шаблонные решения при внедрении системы SAP ERP
    В статье рассматриваются предпосылки для создания шаблонных решений, анализ вариантов реализации шаблонных решений, а также инструменты и методы сопровождения шаблонных решений при использовании систем ERP-класса на примере продукта компании SAP AG. Актуальность данной темы обусловлена возрастающей конкуренцией, а также внешними угрозами для рынка России, что приводит к необходимости критичного подхода к вопросам оптимизации затрат на внедрение и сопровождение информационных систем. (По материалам доклада в рамках Первой конференции молодых специалистов ООО «Газпром информ»).
  • Русь – птица-четверка
    Перефразировка знаменитого гоголевского определения России сделана потому, что очередной экспонат в нашем виртуальном музее – созданная нашим соотечественником компьютерная игра, название которой связано как раз с «четверкой». За века Россия не раз задавала головоломки всему миру, и еще одна, появившаяся ровно тридцать лет назад, подтвердила сформулированное другим классиком утверждение, что «умом Россию не понять».

В подчинении сисадмина обычно находится не один, а несколько серверов. Давать команды каждому по отдельности не эффективно, на помощь приходят специализированные инструменты — Fabric, pyDSH, dtools и другие. Первые два основаны на Python и при необходимости вполне могут заменить более сложные инструменты, dtools (Distributed tools) написан на bash и по идеологии и подходу ближе к классическому shell. А поэтому очень просто в понимании и использовании. При необходимости dtools легко расширяется.

В репозитариях дистрибутивов Linux dtools обычно не встречается, но его установка проста.

$ sudo apt-get install git
$ git clone https://github.com/ajdiaz/dtools.git
$ cd dtools
$ sudo cp dt dthost dtstatus /usr/bin
$ sudo cp -r lib /usr/lib/dtools
$ sudo cp -r doc/man/ /usr/share/man/man1

Все операции выполняются при помощи bash скрипта dt, cинтаксис выглядит просто:

dt pattern command arguments

Шаблоны представляют собой фильтр-выборку целевых хостов. Сами узлы описываются в базе, по умолчанию это файл ~/.dtdb, но при помощи параметра -D/—db, можно указать любой другой файл (или как вариант изменить значение переменной DTOOLS_DB=~/.dtdb в самом скрипте). Каждый узел описывается в отдельной строке, после которой указываются теги, которым он будет соответствовать.

localhost www smtp mysql
host1 www mysql wp
host2 www pg wp

Пример самый простой, на самом деле тэгов и узлом может быть много и таким образом можно описать все возможные варианты для подачи команд. Как и принято в *nix названия регистрозависимы т.е. mysql и MySQL это разные тэги.
Чтобы просмотреть список узлов для определенного тэга необходимо использовать параметр list:

$ dt tag:www list
okay::dt:list:localhost:
okay::dt:list:host1:
okay::dt:list:host2:

Также возможна выборка узлов с несколькими тэгами. Например, выберем все хосты у которых есть тэги mysql или wp:

$ dt tag:mysql+tag:wp list

Или нам нужны только узлы у которых присутствует оба тэга одновременно:

$ dt tag:mysql:tag:wp list
okay::dt:list:host1:

Все шаблоны описаны файлами в /usr/lib/dtools/patterns ( в ~/.dtools/patterns шаблоны может создавать сам пользователь). Кроме указанных есть также и операция отрицания, например все тэги кроме wp можно отобрать при помощи «tag:wp:not::», и другие шаблоны all (все), nil (по сути пустышка), ec2 (узлы AWS EC2), out (внешний URL) и использование регулярных выражений:

$ dt exp:.* list

Выборку возможно производить при помощи нескольких шаблонов. Но результат лучше вначале протестировать, при помощи list или специального ключа -p/—pretend.
Для удобства можно использовать три парсера (dthost, dtstatus, dtcompact) выводящие результат в разной форме.

$ dt exp:.* list | dthost

Узлы в ~/.dtdb можно заносить вручную, но когда список большой это становится неудобно. Здесь проще использовать команду add. Добавим host3 с тэгом mysql:

$ dt sys:host3 add mysql

Все операции производятся через SSH. Вначале следует подключиться по ssh к удаленной системе и узел будет автоматически добавлен ~/.ssh/known_hosts. Это можно сделать и самому «ssh-keyscan host >> ~/.ssh/known_hosts». Далее всё должно работать автоматически. Но здесь есть несколько ньюансов. По умолчанию для аутентификации используется открытый ключ, а не логин\пароль, а поэтому в зависимости от ситуации будет выдаваться ошибка. Удобней скопировать открытый ключ на удаленные системы, это можно сделать вручную или при помощи команды ssh-copy-id. Но в обычном режиме последнее вряд ли получится, поэтому следует использовать интерактивный (-i) т.е. вводя пароль к каждому узлу:

$ dt -i exp:.* ssh-copy-id ~/.ssh/id_dsa.pub

И опять же здесь есть тонкость не описанная в документации — подключение производится при помощи текущей учетной записи и как либо указать отличную нельзя. Но выход найти просто — узлы базу следует прописывать в стиле ssh т. е. как user@host.
Команды, которые может выполнять dtools это именно «внутренние» команды, а не команды ОС. Хотя для удобства они созвучны.
В настоящее время проект предлагает 13 команд, после установки все они доступны в виде отдельных файлов в каталоге /usr/lib/dtools/commands. Кроме перечисленных list и add, есть еще tag (есть команда и шаблон с таким названием), ipmitool, local, ping, redis, rscp, scp, script, ssh-copy-id, ssh и sudo. По сути это обычные bash скрипты. Пользователь может создавать свои команды в ~/.dtools/commands. Но простые системные команды можно выполнить и без каких-лобо дополнительных действий. Для этого следует использовать script, ssh, sudo и только для локальной системы — local.

$ dt exp:.* ssh uptime

Если действий нужно несколько проще их выполнить через скрипт:

$ dt tag:www script ./script.sh

Не смотря на разнообразие средств защиты, с каждым годом количество взломов все возрастает. После того, как был выявлен факт компрометации системы, можно, конечно, сразу отформатировать диски и восстановить ее с нуля, но где гарантия, что атака не повторится, а в бэкапе нет закладок? Чтобы в последствии избежать проблем, следует досконально выяснить, что и как произошло. Forensic инструменты помогут нам в этом.

Первые шаги

Самой распространенной ошибкой при обнаружении взлома является немедленное удаление всех (в том числе скомпрометированных) данных и восстановление работоспособности при помощи резервных копий. Сначала необходимо собрать наиболее полную информацию об инциденте. Кроме системных журналов, в поиске проблемы очень помогают системы аудита (auditd, SNARE), контроля целостности файлов (tripwire, AIDE, Afick), IPS, вроде Snort, и пакеты, захваченные tcpdump. С помощью этих средств можно узнать, когда и где происходило нужное событие, как все произошло, на какие файлы воздействовали и т.п. Следующий шаг — осторожно извлекаем подозрительную информацию и анализируем. Исследователя интересуют файлы, к которым мог иметь доступ взломщик, процессы и сетевые соединения. Непосредственно файлы могут быть доступны и в оффлайн режиме (например, загружаемся с Live диска и проводим исследование), а информацию о процессах и сети можно получить только на живой системе.
Стандартные инструментальные средства, полагающиеся на API или системные команды, не подходят для подобного рода исследований, поскольку они могут быть запросто обмануты руткитом. Специальные решения позволяют увидеть и восстановить удаленные или спрятанные файлы, исследовать процессы и состояние ОЗУ. В настоящее время разработано множество средств для анализа остаточных данных (Forensic Analysis), конкретный выбор в первую очередь зависит от используемой ОС и личных предпочтений. Удобно применять готовые дистрибутивы на базе *nix, авторы которых предлагают полный набор специфических утилит «из коробки» и специальные режимы загрузки ОС, обеспечивающие неприкосновенность файлов и минимизацию влияния на имеющиеся носители (блокируется работа с блочными устройствами, отключается создание раздела подкачки, автоопределение LVM, RAID, проверяются контрольные суммы для файлов на загрузочном CD).

Анализируем файловую систему

Для поиска спрятанных данных на харде наиболее популярны утилита foremost (foremost.sourceforge.net) и комплект The Sleuth Kit (TSK, sleuthkit.org/sleuthkit). Последний состоит из 27 утилит и позволяет анализировать диски напрямую или через снимки. Поддерживает все популярные файловые системы: NTFS, FAT, UFS1/2, EXT2/3/4, HFS, ISO 9660 и YAFFS2. Большим плюсом TSK является наличие интерфейса Autopsy, позволяющего производить все операции в удобной среде. Стоит отметить, этот комплект интегрирован в некоторые другие forensic инструменты — Scripts4CF (scripts4cf.sf.net), Allin1 (netmon.ch/allin1.html), revealertoolkit (code.google.com/p/revealertoolkit), SFDUMPER (sfdumper.sf.net).
Утилит много, но запутаться в их назначении сложно. Чтобы легче было ориентироваться, первая буква в названии указывает, на каком уровне они работают:

  • f — работа с файловой системой
  • blk — фактическое содержание блоков, кластеров, фрагментов
  • i — inode
  • mm — media management
  • h — более удобный уровень взаимодействия с файлами, чем при использовании метаданных
  • j — журнал

В спецдистрибутивах все они уже рассортированы по разделам меню, поэтому найти их легко.
Снять образ файловой системы можно при помощи утилиты dd, которая входит в стандартную поставку всех *nix. Но лучше использовать специализированные утилиты. Например, патченую версию dd — dc3dd (dc3dd.sf.net), умеющую вычислять на лету хэш-функции, соединять выходные файлы, проверять файлы, зачищать место и многое другое.

$ dc3dd progress=on if=/dev/sda of=fs.img

Теперь данные никуда не денутся, и их можно исследовать. Утилита mmls позволяет вывести таблицу разделов и найти неиспользованные сектора, которые не показывает `fdisk -l`. Они могут появляться как в следствие атак, так и в случае ошибок работы программ разметки диска.

$ mmls -t dos fs.img

Утилита mmls позволяет вывести таблицу разделов и найти неиспользованные сектора
Смотрим статистику по образу и файловым системам, занятым и свободным блокам:

$ img_stat fs.img
$ fsstat fs.img

Смотрим статистику по образу и файловым системам
Теперь попробуем найти потерянные или спрятанные файлы. Для этого воспользуемся утилитой ils (inode list), которая открывает названное устройство и перечисляет inode. По умолчанию ils выводит данные только удаленных/нераспределенных inode (параметр ‘-A’), параметр ‘-0′ позволит получить список inodes удаленных файлов, но которые открыты или выполняются.

$ ils fs.img

Теперь приступаем к исследованию. При помощи утилиты mactime нам нужно узнать, какие inode изменялись с определенного времени или в интересующем нас интервале. На вход необходимо подать файл, созданный при помощи `ils -m` или `fls -m`.

$ ils fs.img -m > macfile
$ mactime 2013-10-20 -b macfile

Для удобства просмотра и отбора можно использовать GUI к mactime (blog.devilzgsa.com/mactime-frontend-gui). Полученные данные потребуют дальнейшего анализа, но если в требуемый период изменен системный файл, то это должно вызвать как минимум подозрение. Его можно, например, сравнить с аналогичным «чистым» файлом, взятым с другого компьютера.

Спасаем файлы

На данный момент обладаем информацией о подозрительных inodes. Используя icat, можем скопировать файл по номеру inode.

$ icat -i raw -rf ext3 fs.img 100 > delete_file

Теперь при помощи команды `file delete_file` узнаем, что это за файл. При удачном стечении обстоятельств, восстановленный таким образом бинарник без проблем выполняется. Натравив grep, можем попробовать найти нужные ключевые слова (вроде password, login). Кстати, команда `img_cat fs.img` позволяет вывести контент всего диска или определенной части (оставив метаданные), преобразовав его из raw, правда, искать в этой куче очень тяжело.
Написав небольшой скрипт, можно попытаться восстановить все удаленные файлы.

ils fs.img | awk -F '|' '($2=="f") {print $1}' | while read i; do icat -r fs.img $i > ./deleted/$i; done

Итак, мы нашли и спасли несколько удаленных файлов, чтобы получить больше информации, используем istat.

$ istat fs.img 100

Теперь мы знаем данные о размере файла, владельце, режимах, времени доступа и, главное, номера дисковых блоков, куда записан файл.
Состояние конкретного блока на диске получаем при помощи blstat:

$ blstat -f ext3 fs.img 1000
Fragment: 1000
Allocated (Meta)
Group: 0

Теперь при помощи blkcat мы можем прочитать, что записано в этом блоке или секторе. Поддерживается несколько форматов вывода: raw, текст ASCII (-а), hexdump (-h), выводить статистику (-s), просматривать файл подкачки (-f swap), HTML (-w) и другие.

$ blkcat -h fs.img 10200

Если известен номер блока и требуется найти номер inode, за которым данный блок «закреплен», используем ifind. Имя файла по известному inode определяется при помощи ffind.
Читаем блок на диске
Искать вручную каждый файл долго, здесь проще использовать утилиту fls, которая выведет имена файлов, в том числе удаленных. Она имеет множество полезных параметров. Так ‘-a’ выведет имена файлов, начинающиеся с точки, ‘-d’ и ‘-D’ — вывод только удаленных файлов и каталогов, ‘-l’ (long) — подробная информация, ‘-r’ — рекурсивный обход.

$ fls -rdl fs.img

Все удаленные файлы и каталоги помечаются знаком *. Первая буква показывает, что это за файл, т.е. r-egular, d-irectory, l-ink, s-ocket или не определен (?).
Возможности утилиты foremost в чем-то повторяют TSK, особенно она удобна в том случае, если действительно знаешь, что искать. Параметры работы настраиваются в /etc/foremost.conf, но после установки там можно пока ничего не трогать. Например, нам нужны все удаленные файлы в образе (параметр ‘-T’ позволяет автоматически создать выходной каталог):

$ foremost -Tt all -o ./output -i fs.img

В output найдем восстановленные файлы и отчет.

Анализируем данные

Анализ собранной информации целиком возлагается на плечи исследователя, и, чтобы найти в гигабайтах информации что-то полезное, необходим опыт и время. Здесь может помочь утилита hfind, сравнивающая хэш-функции файлов с базой библиотеки софта NSRL (National Software Reference Library, www.nsrl.nist.gov), в которой содержатся профили известного ПО.
Cкрипт sorter из состава TSK анализирует образ, запуская fls и icat, находит любые файлы, определяя их тип при помощи file, и сравнивает их с библиотекой NSRL, позволяя распознать потенциально опасные.

$ sorter -d output -f ext3 fs.img

Теперь в подкаталоге data появится несколько файлов с описаниями, количество которых зависит от найденных типов данных, и файл с отчетом sorter.sum. Дополнительный параметр ‘-s’ позволяет сохранить в указанный каталог фактическое содержимое файла.

Специальные дистрибутивы
Самой простой способ приступить к исследованию — воспользоваться одним из специализированных дистрибутивов, в которых собраны все необходимые утилиты. Выбор здесь очень большой: DEFT Linux (deftlinux.net), CAINE (Computer Aided INvestigative Environment, caine-live.net), SMART Linux (goo.gl/H3JCfD), Kali (ранее BackTrack, kali.org), SIFT (SANS Investigate Forensic Toolkit, computer-forensics.sans.org), (PLAC, Portable Linux Auditing CD, plac.sf.net), REMnux (zeltser.com/remnux) и базирующийся на FreeBSD Snarl (snarl.eecue.com). Каждый из них имеет свои особенности.
Например, REMnux, построенный на пакетной базе Ubuntu и обладающий интерфейсом Enlightenment, предназначен для изучения и обратного инжиниринга кода вредоносных программ. Он позволяет создать изолированное окружение, в котором можно эмулировать работу атакуемого сетевого сервиса и изучать поведение вредоносного ПО, например поведение вредоносных вставок на веб-сайтах, реализованных на JavaScript, Java или Flash. В комплекте полная подборка инструментов для анализа вредоносного ПО, утилит для проведения обратного инжиниринга кода, программ для изучения модифицированных злоумышленниками PDF и офисных документов, средств мониторинга активности в системе.
В Kali Linux собраны все необходимые инструменты для исследований

Kali Linux имеет специальный режим загрузки

Kali Linux имеет специальный режим загрузки

Собираем информацию о состоянии ОЗУ

Найти крошечный зловред на терабайтном харде это все равно, что иголку в стогу сена. Оперативная память компьютера на порядок меньше по объему, и ее анализ может значительно сократить время исследования. Например, некоторые типы вирусов живут только в ОЗУ, а тело на диске нередко шифруют, поэтому данные можно найти только на живой системе. В Linux стандартные утилиты ps, netstat и lsof позволяют собрать общую информацию о процессах и сетевых соединениях, но ее не всегда достаточно, поскольку зловред может скрывать от них свое присутствие.
Модуль ядра fmem (hysteria.sk/~niekt0/fmem/) создает псевдоустройство /dev/fmem, через которое можно получить доступ к содержимому ОЗУ. Кроме того, есть memfetch (lcamtuf.coredump.cx), memgrep (hick.org) и LiME (Linux Memory Extractor, code.google.com/p/lime-forensics), позволяющие легко сбросить дамп всех запущенных процессов.
В дистрибутивах вроде Kali предлагается фреймворк Volatility (volatilesystems.com/default/volatility), заменяющий, по сути, целый набор инструментов для исследования «артефактов» в ОЗУ. Volatility позволяет получить информацию о процессах, идентификаторах, переменных, открытых сокетах, библиотеках, состоянии памяти каждого процесса, таблицы системных вызовов, хэши LM/NTLM и многое другое.
Изначально Volatility работал только в Windows, но сегодня поддерживает и Linux. Захват производится через псевдоустройство /dev/pmem, которое создается путем активации модуля ядра pmem.ko. Хотя собрать модуль в современных дистрибутивах не всегда получается. Кроме того, сами разработчики в документации проекта рекомендуют для дампа использовать модуль LiME.
Каждая версия ОС Windows и ядра Linux по разному работает с памятью, поэтому для упрощения анализа в Volatility используются профили. Для Win XP-7 профили обычно идут в комплекте. Профиль для Linux состоит из System.map (соответствует текущему ядру) и отладочной информации modules.dwarf, извлекаемой при помощи dwarfdump. При самостоятельной сборке Volatility они создаются автоматически.
В Kali и других специальных дистрибутивах нужный пакет уже есть. В Ubuntu следует подключить репозитарий security, после чего установить python-volatility и volatility-extras. Все файлы обычно находятся в /usr/share/volatility, в том числе и сам скрипт vol.py (для удобства создается /usr/bin/vol, содержащий команду для запуска). Но профиль и модуль не собираются.

$ sudo apt-get install linux-headers-`uname -r`
$ cd volatility/tools/linux
$ make

Получаем файл module.dwarf. Создаем профиль.

$ sudo zip ../volatility/plugins/overlays/linux/Ubuntu1310.zip module.dwarf /boot/System.map

Чтобы проверить все доступные профили и модули, достаточно просмотреть вывод `vol —info` и `vol -?`.
Получаем информацию о дампе и смотрим список открытых сокетов, процессов, команд и параметров реестра Windows, найденных в ОЗУ виртуальной машины VMware:

$ vol imageinfo -f ./win.vmem
$ vol sockets -f ./win.vmem
$ vol psxview -f ./win.vmem
$ vol cmdscan -f ./win.vmem
$ vol hivelist -f ./win.vmem

Смотрим список доступных параметров и модулей Volatility

Альтернативы Volatility
К сожалению, Volatility будет работать только на x86 совместимых устройствах (Linux и Windows), на платформах, в которых отсутствует функция «page_is_ram» (например ARM Android), запуск приведет к ошибке. Для Android разработан специальный инструмент LiME (Linux Memory Extractor, code.google.com/p/lime-forensics), который может быть использован и для снятия дампа в Linux. В качестве альтернативы анализа содержимого подойдет скрипт Draugr (code.google.com/p/draugr), исследующий /dev/(k)mem и дамп ОЗУ на наличие совпадений с паттернами. Проект fmem предлагает и свою утилиту foriana (hysteria.sk/~niekt0/foriana), способную, используя логические связи, извлечь списки процессов и состояние ОЗУ.
Но наиболее популярная и известная альтернатива Volatility — Volatilitux (code.google.com/p/volatilitux), появившийся в те времена, когда Volatility работал только под Windows. Сам Volatilitux работает не только в Linux, но и Android (ARM), что позволяет использовать его для исследований на смартфонах и планшетах. По функциям он не достает до всех возможностей Volatility, поддерживает всего 5 параметров: filedmp (дамп открытого файла), filelist (вывод списка файлов, открытых процессом), memdmp (дамп памяти процесса), memmap (вывод карты памяти процесса) и pslist (список процессов). Хотя у Volatilitux есть свои особенности, которых не хватает Volatility. Это способность автоматически обнаруживать структуры ядра, без использования профилей. А в случае неудачи такого исследования создается файл, содержащий информацию о разметке памяти. Инструмент очень прост в использовании. Например, чтобы получить список процессов из дампа, вводим команду «volatilitux.py -f mem.dd pslist».

Заключение

Конечно, исследование скомпрометированной системы — дело очень кропотливое, требующее подготовки, времени и должного внимания, но при некотором везении можно найти источник проблем и даже самостоятельно создать сигнатуру для антивируса ClamAV или правило для IPS Snort.

Анонсирован октябрьский номер № 10 (143) журнала Системный Администратор за 2014 год со спецприложением «БИТ. Бизнес & Информационные технологии».
cover10(143)BIT_cover08(41)

В номере:

  • Используем AUFS для отката изменений. Автоматический возврат системы после перезагрузки
    Редко какая система не подвергается изменениям на протяжении жизни. Изменения могут быть полезными – установка обновлений, а могут иметь и негативный эффект – установка некорректно работающего ПО или удаление критически важных системных файлов. И вот их-то необходимо откатывать как можно быстрее.
  • Расширяемся, или Установка MS SCCM для филиалов
    Уходим от ручной наладки компьютеров в филиалах, предоставив управление конфигурациями Configuration Manager 2012 R2. В статье рассказано о СУБД MS SQL Server, планировании сайтов и их настройках, а также о необходимых требованиях, достоинствах и недостатках.
  • Восстановление Windows 7, 8, 8.1 до исходного состояния со своими настройками
    Иногда требуется периодически переустанавливать ОС на ноутбуке или компьютере, но вместе с дополнительным ПО этот процесс слишком долог. Предлагаем пример, не требующий дополнительных программ и лишних действий в будущем.
  • GlusterFS – новый класс хранилищ данных
    Рассмотрим архитектуру и особенности, варианты использования и примеры настройки
  • Почтовые клиенты для Android с поддержкой SSL-сертификатов
    Обзор двух почтовых клиентов для Android, полностью поддерживающих персональные SSL-сертификаты, способных подключаться к серверам со строгой защитой и читать зашифрованные и подписанные письма.
  • Мультипроцессорный Squid
    Одно из самых популярных решений для организации доступа в Интернет в настоящее время поддерживает базовую мультипроцессорность. Изучаем, как она настраивается и функционирует.
  • LiteManager PRO. Эффективное средство автоматизации образовательного процесса в компьютерных классах
    Новая версия программы удаленного администрирования LiteManager 4.6, с функцией демонстрации рабочего стола.
  • Строим облака вместе. На базе платформы VMware vCloud Automation Center
    Что такое облачные вычисления? Какие выгоды они несут? Рассмотрим класс систем – платформа по управлению облаком. Расскажем о том, как самому создать облако, используя инструменты компании VMware.
  • Настройка протоколирования CDR на сервере RADIUS и программа обработки CDR-записей
    В статье кратко рассмотрена настройка сервера FreeRADIUS и маршрутизатора Cisco 2811 для записи информации о телефонных звонках на сервер, а также программа обработки данных записей.
  • Они увольняются, а с «учетными записями» разбираться нам!
    Увольнение сотрудника для ИТ-службы – рутинная процедура, но регулярно что-нибудь важное забывается, оставляя брешь в системе безопасности.
  • Active Directory и безопасность. Часть 3. Методика защиты
    В предыдущих статьях этого цикла мы выяснили актуальность защиты учетных записей привилегированных пользователей в службе каталога. Давайте посмотрим, как это можно выполнить, какие средства предлагает нам операционная система для реализации данной задачи.
  • Отказоустойчивый антивирусный сервер
    Антивирусные серверы для повышения надежности могут быть объединены в кластер серверов. В результате администратор безопасности может управлять параметрами защиты станций сети с разных антивирусных серверов – вне зависимости от того, к какому серверу кластера подсоединены станции антивирусной сети.
  • Горизонтальное масштабирование. Проблемы и пути решения
    Рано или поздно популярный веб- или мобильный проект с серверной частью столкнется с проблемой производительности. Один из вариантов решения – это горизонтальное масштабирование базы данных. Рассказываем о подводных камнях и о возможных путях их обхода.
  • ASP NET MVC. Веб-приложения самостоятельного размещения
    Веб-сервер, не требующий инсталляции, управляемый из кода C# с возможностью размещения ранее созданных проектов веб-сервисов? Это легко!
  • Виртуальные машины в тестировании. На примере Alloy Navigator
    В статье приводится методика настройки виртуальных машин для их применения в тестировании разрабатываемых современных сложных программных приложений, таких как профессиональный инструмент для управления ИТ-структурой предприятий Alloy Navigator.
  • Вакансия: фронтенд-веб-разработчик
    Веб-сервисы становятся все популярнее, а их развитие не прекращается ни на день. А это значит, что необходимы фронтенд-разработчики, отвечающие за создание привлекательного и удобного веб-дизайна и интерфейса. Мы обратились к представителям компаний с вопросами, чтобы выяснить, с какими знаниями и навыками специалистов они хотят видеть на этой позиции.
  • Программист PHP: кто почем?
    Исследовательский центр портала Superjob.ru изучил предложения работодателей и ожидания претендентов на позицию «Программист PHP» в пяти крупных городах России: Москве, Санкт-Петербурге, Екатеринбурге, Краснодаре и Владивостоке.
  • Пакет программ XMD. Физические эксперименты за компьютером
    Продолжаем изучение свободного пакета программ молекулярной динамики XMD. С помощью XMD-программы можно проводить, например, динамические симуляции.
  • Головоломка «Отшельник». Реализации решения «выигрывающих стратегий»
    Существует определенный класс головоломок, который можно назвать «выигрывающие стратегии» – их суть состоит в нахождении выигрышной стратегии. Широко известна головоломка «Отшельник» или «English peg solitaire» с 32 колышками (фишками).
  • Функциональное программирование
    Различные интеллектуальные системы занимают все больше места в нашем окружении. При этом интеллект цифровых помощников становится все совершеннее и со временем только улучшается. В этом обзоре разберем, где можно научиться функциональному программированию, которое является основой моделирования искусственного интеллекта.
  • Несумрачный немецкий гений
    В следующем году компьютерный мир отметит 105-летие со дня рождения одного из тех, благодаря кому этот мир, собственно, и возник: немецкого инженера Конрада Цузе.
  • Архитектура распределенной системы управления на основе реконфигурируемой многоконвейерной вычислительной среды L-Net
    Одной из актуальных задач в области систем управления является разработка программного обеспечения для распределенных отказоустойчивых систем управления. Существующие в этой области на сегодняшний день решения являются проприетарными, как следствие, дорогостоящими и не всегда эффективными.
  • Электронный оракул
    В числе знаменитых первых ЭВМ есть UNIVAC I (сокращение от UNIVersal Automatic Computer), созданная тем же творческим дуэтом, что и ENIAC: Джоном Преспером Эккертом и Джоном Мокли. UNIVAC – это первый американский коммерческий компьютер.

cover09(142)
В номере:

  • Красть или не красть?
    В дискуссии о пиратском ПО как о российском феномене наши читатели и эксперты высказывают разные мнения, но равнодушных среди участников разговора нет. Приглашаем всех желающих продолжить обсуждение этой темы на страницах «Системного администратора».
  • Открытая платформа oVirt
    По функционалу и предназначению oVirt является аналогом VMware vSphere, предоставляя практически те же возможности, и уступая, пожалуй, лишь в некотором удобстве. В статье рассмотрена архитектура, выполнение установки и настройки, а также расказано об особенностях этой платформы виртуализации.
  • Мониторинг виртуальной инфраструктуры
    Чтобы не ломать голову при выборе программного продукта и не тратить время на тестирование, в статье сделан обзор средств мониторинга виртуальной среды VMware vSphere и MS Hyper-V. Рассмотрены ее основные настройки, понятия и требования, достоинства и недостатки.
  • Nagios – система комплексного мониторинга

    Nagios— это хорошо известная система для мониторинга различного оборудования, серверов, программ и тому подобных вещей. Разрабатывается Этаном Галстадом и, несмотря на наличие других, не менее достойных вариантов вроде Zabbix, считается стандартом для построения систем мониторинга. Публикуем первую статья из цикла об изучении развертывания системы Nagios.

  • Настройка современной системы хранения

    Ситуация, когда для хранения массива данных используется один файл-сервер с внутренними локальными жесткими дисками, понемногу уходит в прошлое. Современные системы используют сеть хранения данных — SAN, и от системных администраторов все чаще требуется умение самостоятельно настраивать подобное оборудование. В статье рассказывается о базовой настройке системы хранения на основе серверов IBM x3650M4 и дискового хранилища IBM DSC 3700

  • Веб-серфинг с доставкой из DMZ – повышаем безопасность LAN

    Информационная безопасность – это всегда компромисс между безопасностью и доступностью. В статье приводится опыт построения системы, которая позволила существенно увеличить безопасность интернет-серфинга, не сильно снижая его доступность.

  • Интеграция 1С:Предприятия и 1С-Битрикс

    Когда традиционный бизнес выходит в онлайн, возникает острая потребность в синхронизации данных на сайте и в учетной системе. В этом номере мы открываем цикл статей о том, как «подружить» сайт и 1С:Предприятие.

  • Все о печати из 1С

    В статье дан большой объем информации о подсистеме печати 1С. Ознакомившись только с материалами данной публикации, даже не обладая специальными знаниями 1С или внутреннего устройства операционной системы, можно решить до 90% всех проблем с печатью документов из вашей учетной системы.

  • ”Написание кода SQL должно приносить удовольствие, в этом и заключается главная функция 0xDBE”- считает гость номера, руководитель продуктового маркетинга в JetBrains Андрей Чепцов

    Известная питерская компания-разработчик ПО JetBrains недавно анонсировала свою новую и несколько необычную IDE для разработчиков и системных администраторов СУБД — 0xDBE. Публикуем интервью Андрея Чепцова, которое дает возможность узнать все подробности о 0xDBE из первых рук, и заодно понять особенности разработки ПО в этой компании.

  • Разработка мобильных приложений на платформе 1С:Предприятие 8.3

    Платформа «1С:Предприятие 8» на практике доказала свою готовность стать простым инструментом для разработки корпоративных приложений под мобильные платформы. Вовсе не обязательно тратить ресурсы на изучение нативных инструментов, если функционал приложения укладывается в возможности мобильной платформы, а в компании доминируют продукты фирмы «1С». Практические советы – в статье нашего автора.

  • Вакансия: разработчик UI

    Важное место в разработке программного обеспечения занимает создание User Interface (UI). Это специальность новая, таких специалистов практически нигде не готовят. Как же сориентироваться соискателю? Представители компаний рассказывают о требованиях и своих пожеланиях кандидатам на должность разработчика UI.

  • Тим Бернерс-Ли — один из основателей Интернета

    Его называют гением уже сейчас, при жизни, хотя Тим Бернерс-Ли не считает себя таковым. Он скромен и не любит повышенного внимания к своей особе. Однако окружающие всегда замечают его. «Во время феерического шоу на открытии последних летних Олимпийских игр в Лондоне одна из заготовленных организаторами «бомб» выглядела, на первый взгляд, демонстративно скромно. Внезапно прожекторы высветили одинокую фигуру немолодого уже мужчины, удобно расположившегося в кресле за «винтажным» компьютером NeXT – прямо на газоне стадиона. И когда диктор объявил, что зрителей приветствует «создатель Всемирной паутины» сэрТим Бернерс-Ли, возведенный в рыцарское звание в 2004 году, трибуны взорвались овацией»

Наверх