• История одного байта

      Предисловие.
      Этот рассказ имеет свою длинную историю. Для многих это, возможно, будет махровый баян, но мне кажется он стоит того, что бы его прочитали новые люди.
      Во всех источниках, где я встречал его сведения об авторе были просты и незатейливы: Dmitry Galuscenko. Если кто-то может указать сайт или e-mail — напишите в комментариях, я с удовольствием добавлю.
      Итак, начнем.


      Мне не хватало байта. Всего одного. Да, да. Того самого, что из восьми бит состоит. Что? Hет, я не псих, хотя одному богу известно, сколь тонкой была граница отделявшая меня от этого состояния.
      Hо все по порядку
    • 0day Wednesday – исследование новейшего вредоноса

      Кто-то может назвать это безумие. Для меня это просто среда.

      Она досталась мне вчера, и я разобрался с ней сегодня. Она пришла в нагрузку к java эксплойту от старого 2012 CVE (SecurityManager, я полагаю). Я называю её 0day[1], потому что её нету в базах VirusTotal / Malwr ни в каком виде — ни запакованном, ни распакованном.

      Попытка анализа в IDA[2] завершается ошибкой:
      image

      Похоже, что тот засранец, который это делал, скорее всего знал, что некто вроде меня попытается провести анализ.
      Читать дальше →
    • Разбираем x.509 сертификат


        Привет, %username%!

        Так уж вышло, что несмотря на относительно неплохое понимание инфраструктуры открытых ключей, содержимое *.crt файлов всегда оставалось для меня полнейшей загадкой.
        Нет, не поймите неправильно. Я знаю, что x.509 сертификат содержит информацию о владельце, открытый ключ, сведения об удостоверяющем центре и электронную цифровую подпись. Но при установке очередного сертификата меня всегда мучило любопытство.
        Чем отличается идентификатор ключа от отпечатка? Какие данные сертификата подписываются, а какие нет? И что за структура данных позволяет хранить всю эту информацию, сводя избыточность к минимуму.
        Но вот наконец-то любопытство перебороло лень и в данном посте я постараюсь описать структуру x.509 сертификатов и ответить на эти и другие вопросы.
        Читать дальше →
      • 0day уязвимость в Linux от 2.6.37 до 3.8.10

          Сегодня в сети появился рабочий эксплоит для всех версий Linux от 2.6.37 до 3.8.10, который дает возможность локальному пользователю получить права root. Проблема осложняется тем, что в случае с RHEL/CentOS 6 уязвимость была бэкпортирована в ядро 2.6.32, так что владельцам серверов с данными системами так же следует надеяться на скорейший выпуск ядра и исправлением ошибки. Таким образом, уязвимыми оказались все основные выпуски наиболее популярных серверных дистрибутивов: Debian 7.0, RHEL/CentOS 6, Ubuntu 12.04.

          UPD: эксплоит для x86_64 / amd64, компилировать надо с -O2 о чем сказано в исходном коде.
        • Зачем пользователи GIT-а редактируют свои коммиты

            В последних двух выпусках Радио-T ведущие пытались обсудить GIT. Евгений (@Umputun) задавался вопросом зачем нужен rebase и очень удивился, когда я спросил, редактирует ли он коммиты. На мой взгляд, чтоб понять GIT, достаточно вникнуть в процесс разработки Linux Kernel, т к создавался он именно для этого.
            Читать дальше →
          • Видео лекций курса «Операционные системы» с Алексеем Брагиным в МГТУ им. Баумана

              Месяц назад здесь было объявлено, что image Алексей Брагин теперь читает авторский курс лекций об операционных системах. С тех пор Алексей успел провести уже несколько занятий, которые были записаны на видео. Думаю, вполне логичным шагом будет поделиться этими записями с сообществом. Что нам стоит поступить так же как, к примеру, сделал MIT?

              Прошу принять во внимание, что это пилотный проект. А так конструктивная критика приветствуется, пожелания принимаются.
              Приносим извинения за качество звука, смотреть лучше в HD и погромче.

              Читать дальше →
            • Установка и настройка KVM под управлением CentOS 6

              • Tutorial
              Приветствую вас, Хабражители!

              Сегодня хочу поделиться с вами одним из своих наработанных мануалов, который отточен многоразовым применением, про который с уверенностью могу сказать, что «точно работает!» без лишних танцев с бубном.
              Ориентирована статья скорее на начинающих системных администраторов, чем на гуру (для них тут ничего нового нет :) ), и в ней я постараюсь раскрыть рабочий и довольно быстрый вариант развертывания сервера виртуальных машин, стараясь при этом охватись как можно больше нюансов и подводных камней.

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

              Disclaimer
              Поправьте, если не так, но в поиске я не нашел реализации данной задачи именно на CentOS с подробным описанием всех шагов для новичков.
              Хорошая серия статей написана librarian, но они для Debian.
              Естественно, для бывалых админов, в этом никакой проблемы нет, но повторюсь, моя задача — описать подробную инструкцию для новичков.

              Вопрос: в Интернете есть множество руководств для установки Qemu KVM под CentOS, возразите вы, и чем же данная статья будет интересна?
              Ответ: здесь описывается полный цикл установки и настройки необходимых для виртуализации компонентов, установка гостевых виртуальных машин (ВМ), настройка белой и серой сети для ВМ, а также некоторые аспекты, которые помогут упростить управление ВМ, используя проброс графики с удаленного сервера на свой ПК и запуском virt-manager.


              Помните 7 шагов?
              Другая 7-ка! Прошу под кат!
            • Сборник полезных ссылок для системного администратора

                Думаю у каждого грамотного системного администратора есть коллекция ссылок на полезные в работе ресурсы. Я имею в виду различные сайты и блоги, на которых выкладываются полезные с точки зрения системного администратора посты.
                Предлагаю ими поделиться в формате ссылка — описание.
                Пример: habrahabr.ru — разнообразные статьи и новости на IT и около-IT тематику.

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

                P.S. Хабр, опеннет и лор можно не упоминать. Можно выкладывать ссылки на конкретные статьи, если считаете их очень полезными.

                Начну с себя (т.к я администрирую linux, то и ссылки у меня в основном соответствующие):
                Читать дальше →
              • Барьеры доступа к памяти в Linux

                  Эта статья — частичный перевод исчерпывающего руководства Дэвида Хоуэлса (David Howells) и Пола Маккени (Paul E. McKenney) распространяемого в составе документации Linux (Documentation/memory-barriers.txt онлайн версия).

                  Must read для разработчиков ядра/драйверов и очень познавательно для прикладных программистов.
                  ASCII art и очень много букв
                • Поступление в магистратуру в Германии


                  Foto: HPI / Kay Herschelmann

                  Хочу поделиться своим опытом поступления на учебу в Германии и раскрыть более полно ее приемущества и особенности. В статье речь идет не о разницах в системах образования и почему стоит туда ехать, а о том, как все можно организовать.
                  Подробнее
                • Повышаем безопасность стека web-приложений (виртуализация LAMP, шаг 6/6)

                  • Перевод

                  Настройка и использование nginx

                  Мы завершаем перевод цикла статей сайта cyberciti.biz, посвященного виртуализации LAMP-стэка. Речь в заключительном материале пойдет об установке и настройке реверс-прокси nginx.

                  nginx — open-source продукт, использующийся не только в качестве веб-сервера или реверс-прокси сервер. За его легковесность и бережное отношение к ресурсам его используют и в качестве балансировщика нагрузки (от тупого round-ribbon, до более осмысленного, но тут все туманно прим.пер.) и/или в качестве прокси-решения для организации доступа к службам виртуальной сети, установленной в предыдущих статьях цикла, через один внешний хост-адреса, например через IP 202.54.1.1 (как это было рассмотренное в примерах прежде).
                  Читать дальше →
                  • +8
                  • 19,6k
                  • 5
                • Памятка пользователям ssh

                    abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

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

                    Оглавление:
                    • управление ключами
                    • копирование файлов через ssh
                    • Проброс потоков ввода/вывода
                    • Монтирование удалённой FS через ssh
                    • Удалённое исполнение кода
                    • Алиасы и опции для подключений в .ssh/config
                    • Опции по-умолчанию
                    • Проброс X-сервера
                    • ssh в качестве socks-proxy
                    • Проброс портов — прямой и обратный
                    • Реверс-сокс-прокси
                    • туннелирование L2/L3 трафика
                    • Проброс агента авторизации
                    • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
                    Читать дальше →
                  • Повышаем безопасность стека web-приложений (виртуализация LAMP, шаг 2/6)

                    • Перевод

                    Linux: Настройка сервера баз данных MySQL


                    Перейдем ко второму практическому уроку серии и поговорим о настройке виртуального окружения выделенного сервера – подготовим  узел (VM) предназначенный для хранения и обслуживания доступа к БД MySQL/PostgreSQL.

                    В этой установке, мы будем использовать сервер баз данных MySQL. Все настройки этого урока будут проводится исключительно на vm04 с IP-адресом 192.168.1.13
                    Читать дальше →
                  • Отправляем уведомления Nagios в чат Skype

                    Итак, однажды в голову пришла мысль, что было бы здорово получать уведомления от Nagios в skype.
                    Вкратце: используем Skype4Py, скриптом отправляем уведомления.
                    Жирный минус: skype не работает без иксов.
                    Плюс: уменьшение времени реакции на проблемы.

                    Интересно? Подробности под катом.
                    Читать дальше →
                  • Краш-репорты в *nix: backtrace, SEGFAULT (и reinterpret_cast)

                    • Tutorial
                    Привет, уважаемый хабраюзер!

                    Все разработчики программ рано или поздно сталкиваются с проблемой падения программы у пользователя. Но далеко не все при этом могут получить доступ к конкретному компу, на котором что-то идёт не так, запустить там gdb и повторить падение. И даже получить информацию от пользователя бывает крайне сложно: в багтрекер (или техподдержку) приходит сообщение а-ля «программа падает, что делать?», а вот технической информации, так важной для разработчика, пользователь не прилагает к своему сообщению. Да ещё и не каждый напишет об этом! Просто перестанет пользоваться программой — и всё.

                    Некоторые ОС предлагают отправить краш-репорт разработчикам. Но! Разработчикам ОС, а не Вам, то есть совсем не тем людям, которым это действительно нужно! И тут на помощь приходят собственные краш-репорты, которая Ваша программа должна бы отправить на Ваш сервер. Но как их сделать? Как правильно обработать SEGFAULT и при этом отправить вразумительную информацию разработчику?
                    Читать дальше →
                  • [UPD]Взрослеем с GlusterFS

                    Всем привет.

                    Компания в которой я работаю довольно динамично развивается, соответвенно и растет количество серверов, пользователей. Вопросы отказоустойчивости становятся все более актуальными, чем ранее.
                    Исторически сложилось, что некоторые данные лежат в файлах и подключены клиентами к бекендам по NFS. Однако не хотелось, что бы центральный сервер был точкой отказа.
                    Rsync-варианты отмели сразу. После изучения вопроса и опыта других людей, а также некоторых тестов s3fs, которая к слову была кандидатом №1 на распределенное хранилище, была выбрана GlusterFS.
                    Читать дальше →
                  • Настройка IPTV в OpenWRT

                      Хотя я практически не смотрю телевизор, иногда появляется непреодолимое желание посмотреть что сейчас вещают в новостях. Часто это желание возникает когда дочка спит, и телевизор уже вне зоны доступа. Как вы понимаете выход один — IPTV.
                      Читать дальше →
                    • Linux HA на основе Pacemaker

                        В своей предыдущей статье я вкратце коснулся темы создания High Availability решения на основе демона heartbeat. Однако, как выяснилось, что-то сложнее чем 2-х узловой кластер на нем делать не так уж удобно. Изучение проблемы вывело меня на след проекта Pacemaker. Его-то мы сейчас в кратце и рассмотрим.
                        Читать дальше →
                      • Настройка Active/Passive PostgreSQL Cluster с использованием Pacemaker, Corosync, и DRBD (CentOS 5,5)

                        • Перевод
                        В этой статье объясняется, как настроить Active/Passive кластера PostgreSQL, с использованием Pacemaker, Corosync и DRBD.
                        Подготовлено Рафаэль Марангони, из команды BRLink Servidor Linux
                        Читать дальше →