войти зарегистрироваться

Linux для всехGrSecurity/PaX: предустановленные security level

(Статья для тех, кто уже в теме. Остальным будет интереснее сначала почитать мои предыдущие статьи про Hardened Gentoo: описание, установка, настройка, впечатления.)

Речь пойдёт про настройку GrSecurity/PaX (я дал русскоязычные ссылки, но англоязычные намного информативнее) в ядре линуха. Всё описанное актуально для Hardened Gentoo (ядро 3.1.5), но применимо в любом дистрибутиве (там не будет предустановленных Gentoo-шных security level workstation/server/virtualization, но по моему описанию в этой статье их легко будет реализовать вручную).

Кроме того я провёл небольшое тестирование производительности с целью определить насколько использование GrSecurity/PaX тормозит работу системы. Тесты проводились на Core2Duo в 32-битной OS в single user mode на компиляции ядра с -j3, бралось среднее значение user+sys по трём прогонам (скорость сборки ядра сравнивалась с эталонной: при отключенных GrSecurity и PaX в ядре и использовании обычного, не hardened, gcc).

Linux для всехГотовим свой Linux на базе Gentoo



Многие любят Gentoo за ее универсальность. Используя портежи, можно сделать инструмент под любые задачи. И пускай вас не смущает то, что секретарь никогда не будет компилировать Firefox — Боже упаси ей дать возможность ставить софт! Что может быть лучше дистрибутива, установив который вам больше ничего не понадобится с ним делать! Представьте себе — 5-10 минут времени и вы получаете систему с необходимым набором софта, собранного, настроенного и оптимизированного по вашим предпочтениям.

Системное администрированиеСтавим Gentoo x64 + xen на диски размером 3Tb в Hetzner из песочницы

Для чего это нужно: Допустим вам нужно организовать пару тройку независимых удаленных рабочих столов. Не арендовать же под каждый rdp, отдельный сервер, можно арендовать один и сделать их там хоть 16 штук.

Арендовав пару серверов класса EX4 на hetzner.de я встал перед проблемой, в сервере установлено два диска по 3Tb и все. Есть известная проблема, что диски с таблицей разделов MBR могут адресовать только 2,2Тб. Было два варианта, либо настраивать MBR и отказываться от 800гигов дискового пространства, либо сделать таблицу GPT и попытаться загрузиться из неё, что весьма не тривиально, но по факту просто.
Плюс небольшой HOWTO как поставить Xen.

PerlУстановка Perl-модулей в Gentoo

imageСамый большой недостаток экосистемы языка Perl — управление модулями (другой кандидат на эту роль — долгострой Perl6, но не будем о нём). Что любопытно, самое большое достоинство этой же экосистемы — наличие единого архива модулей CPAN. Поразительно, собрать и организовать модули смогли, а реализовать удобную установку/обновление/удаление — нет.

Богатство выбора… или очередное TIMTOWTDI


imageСуществует множество альтернативных подходов к этой задаче (и их количество тоже косвенно указывает на то, что ни один из них не решает проблему достаточно хорошо): cpan, cpanplus, cpanminus, pip, cpansite, minicpan/mcpani, perlbrew, cpan-outdated, cpan-listchanges, local::lib, …

Итак, у нас может быть:
  • Несколько версий самого perl (разумеется, каждая со своими глобальными модулями), в т.ч. установленные в домашний каталог юзера (см. perlbrew).
  • Глобальные (доступные при запуске perl) и локальные (подключаемые из любого каталога/каталогов, обычно располагающиеся внутри отдельного проекта или в домашнем каталоге пользователя) модули.
  • Глобальные модули бывают трёх типов: core (идущие вместе с perl), site (устанавливаемые вручную админом) и vendor (устанавливаемые менеджером пакетов вашей ОС).
  • Все глобальные модули находятся в подкаталогах «номер.версии.perl/», и эти каталоги никто автоматически не чистит. А при установке новой версии perl создаются новые аналогичные каталоги. И perl подгружает модули из каталогов всех доступных предыдущих версий. Так что умножьте core+site+vendor на количество обновлений perl — вот в таком количестве каталогов/вариантов находятся ваши глобальные модули.
  • Источники модулей тоже бывают разные: CPAN, локальные зеркала-оверлеи CPAN с приватными модулями, просто свои или скачанные из инета модули отсутствующие в CPAN-совместимой системе.
И всю эту радость надо администрировать: устанавливать, обновлять, … В Gentoo для упрощения администрирования глобальных Perl-модулей есть утилитка g-cpan, вот о ней я и хочу немного рассказать.

GentooPaludis — альтернатива Portage из песочницы

Введение


Традиционным для Gentoo менеджером пакетов является Portage, он берет начало в системе портов BSD и имеет то же свойство, отличающее его от других известных менеджеров, таких как APT, Pacman и RPM — сборка пакетов из исходных кодов.

В то же время, Portage не лишен недостатков — его обвиняют в запутанности кода, медленной работе, обилии костылей и прочем.
Поэтому был создан, изначально планировавшийся как фикс Portage, менеджер Paludis.

Особенности и отличия


  • Paludis написан на компилируемом языке C++, в то время как Portage — на интерпретируемом Python.
  • В Paludis все источники исходных кодов являются репозиториями, в то время как Portage использует portage tree и оверлеи(overlays)
  • Paludis может работать не только с ebuild'ами, но и с другими файлами.
  • В Paludis присутствует гибкая настройка вывода, в Portage эта возможность весьма ограничена

Linux для всехCanterbury

Мы с радостью объявляем о появлении нового свободного дистрибутива под названием Canterbury.
Canterbury является плодом объединенных усилий разработчиков дистрибутивов, ранее известных, как Debian, Gentoo, Grml, openSUSE и Arch Linux.

Системное администрированиеКонфигурация Mercurial+Nginx для управления большим количеством репозиториев

Под катом описан пример конфигурации связки mercurial+nginx и приведен скрипт автоматизации всего вышеперечисленного.

Linux для всехИспользование, настройка и тестирование distcc и ccache из песочницы

Предистория:


Однажды мне пришла мысль проверить эффективность таких инструментов как distcc и ccache. Использовались они уже давно, но в голове все еще крутилась мысль о целесообразности этого всего. И вот наконец руки дошли проверить на практике, сразу предупреждаю что все делалось для себя, в реальных условиях, и результаты ваших тестов могут не совпадать с приведенными ниже. Рассмотрим установку и настройку этих компонентов, а затем проведем тестирование скорости сборки с помощью команды time.

CiscoВиртуальная лаборатория для подготовки к сертификации Cisco на базе Linux из песочницы

Введение


Cisco Logo
Многие при подготовке к сдаче экзаменов Cisco или просто изучения сетей для практических занятий предпочитают собрать и использовать лабораторию из реального железа. В таком случае одним из выходов является покупка подержанного цисковского железа на Ebay, но это вам обойдется не в одну сотню долларов.
Другие довольствуются использованием симулятора сети — Cisco Packet Tracer. Для подготовки к CCNA я использовал именно его. Он прост в использовании, удобен, не требует сильного железа и идеально подходит для начинающих. Но из-за ограниченности в функциях для более серьезного изучения он непригоден.
Если же вы не хотите тратить свои кровные $$ и получить устройства с реальными IOS-ами, то нужно смотреть в сторону использования эмулятора сети GNS3 на базе Dynamips. Введение в его использование уже есть на Хабре.

Я же расскажу как его можно соединить с хостовой ОС Linux (на котором он запущен) и серверами в VirtualBox-е. Это значительно расширяет наши возможности по созданию сложных топологий с использованием роутеров Cisco, серверов с различными сервисами в VirtualBox и выходом в Интернет через хостовую ОС Linux.

Персональные блоги Облако selectel — не помеха для запуска Gentoo

Сегодня ночью попробовал установить Gentoo в виртуальной машине selectel.ru.

Для начала надо зарегистрироваться и создать виртуалку с какой-нибудь осью.
Для тестов выбрал Debian mini.
После создания, подключаю еще один жесткий диск, размером как минимум 2Gb.
Создаем на нем разделы, форматируем.
При форматировании необходимо учесть, что в стандартной конфигурации (stage3+portage) очень много мелких файлов, по этому inode могут закончиться быстрее, чем место на диске. По дефолту, на 1.9 gb их получается 125568, этого не хватит, что бы распаковать stage3 и portage.

Форматируем раздел размером 1.9 gb:
mkfs.ext3 -i 8192 /dev/xvda1 — получаем 251136 inode
mkfs.ext3 -i 4096 /dev/xvda1 — получаем 502272 inode