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

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 для всех[новости archlinux testing] новый LTS и udev-177

Привет хабралюди! Постараюсь написать коротко.

I.

Сначала о ядре. В тестинге появился новый LTS!!!

— имя пакета изменилось на linux-lts
— конфиг синхронизован с последним 3.0.x
— nouveau-drm-lts выкинут нафиг — оно теперь в ядре
— изменилось имя ядра: vmlinuz-linux-lts
— изменились имена initramfs: initramfs-linux-lts.img

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

*nixНовый быстрый интерфейс изменения размера EXT4 файловой системы

Вчера был опубликован запрос добавления изменений в ядро Linux 3.3 от Theodore Ts'o. Среди множества исправилений багов и других изменений в текущей де-факто стандартной файловой системе Linux, EXT4, появился новый интерфейс изменения размера файловой системы на лету, который впервые был публично представлен несколько месяцев назад. Новый интерфейс для EXT4 разработал Yongqiang Yang.

.NETИспользование SCM для управления драйверами в C# реализованной с помощью dll на C++/cli из песочницы

Service Control Manager (SCM)


SCM — это сервер, реализованный в Windows, для удаленного управления сервисами (вызовом процедур).

Для того, чтобы запустить драйвер в Windows, ему в соответствие ставится сервис, который обеспечивает управление этим драйвером. Не путать с устройством, которое создает драйвер в системе, через которое происходит обмен сообщениями с драйвером. Это устройство создается уже после старта драйвера, а вот SCM обеспечивает само внесение драйвера в систему. С помощью SCM можно: добавлять, удалять, запускать или останавливать службы.

Постановка задачи


Написать буферный класс позволяющий упростить работу SCM в C#.
Сам внешний вид этого класса можно обознать очень просто:

    public ref class ServiceControlManager : public IDisposable
	{
	public:
		ServiceControlManager(void);
		void AddDriver(String^ ServiceName, String^ BinaryPathName);
		void DeleteDriver(String^ ServiceName);
		void StartDriver(String^ ServiceName);
		void StopDriver(String^ ServiceName);
	protected:
		~ServiceControlManager();
        !ServiceControlManager();
	private:
		SC_HANDLE SCMHandle;
	};

Конструктор, деструктор, финализатор, основные методы, из атрибутов только HANDLE объекта SCM. Из этого следует, что экземпляр объекта этого класса будет содержать в себе созданный объект SCM, а методы упрощают с ним работу. Класс является буферным, и поскольку он реализован в C++/cli он будет автоматически масштабируем для работы в среде .NET, соответственно и в C#.

Linux для всехКак понять почему упал сервер не подключая к нему монитор и клавиатуру?

Так бывает что сервер зависает, но к нему не подключена ни клавиатура, ни монитор.

У меня нет лишнего монитора, и обнаружив, что сервер не отвечает по сети,
снимать монитор с моего компьютера и подключать к серверу в кладовке нет никакого желания и сил.

В Linux есть такая возможность ядра как Netconsole.
Netconsole позволяет послать сообщения от ядра на удаленный компьютер.

Для настройки netconsole нужен другой (постоянно включенный) компьютер который примет сообщение по сети.

Информационная безопасностьKernel.org был заражен в течение 17 дней

Начиная с 12 августа на серверах kernel.org находился троян, который записывал пароли, действия пользователей, предоставлял root-доступ и модифицировал ПО на сервере.

Linux для всехСоздание операционной системы на базе ядра linux. С нуля из песочницы

Рано или поздно каждый пользователь Линукса задумывается над созданием собственного дистрибутива. Некоторые аргументируют это тем, что можно «все настроить под себя». Другие сетуют на то, что среди уже представленных дистрибутивов в Ветке нет идеального. А у них, якобы, есть суперконцептуальные идеи для собственной системы. Зачем я всю эту психологию затеял? Для того, чтобы сразу перекрыть кислород играющимся с Линуксом новичкам, которым делать нечего. Если уж задумались над созданием ОС, думайте до конца. Итак,

Я хочу создать ОС на базе Linux.
Сразу предупреждаю: был бы XVIII век, всех тех, кто для основы своей будущей системы выбирает другой развитый дистрибутив (и, не дай Бог, популярный...) ждала бы виселица. Пост именно про создание системы с нуля, а значит, всякие Slax и Linux Mint мы трогать не будем.

УбунтариумПоддержка Sandy Bridge в linux kernel 3.1

Восьмого августа на kernel.org была выложена версия ядра 3.1-rc1. После компиляции и обновления ядра на Ubuntu 11.04 «Natty Narwahl» с радостью обнаружил устранение ряда критических проблем с графикой. Нормально заставить работать 11-ю Убунту на моём core i7-2600 Sandy Bridge с предыдущими версиями ядра не удавалось.

Теперь можно спокойно дожидаться октябрьского релиза «Oneiric Ocelot», риск необходимости замены железа нивелирован.

ВиртуализацияРабота с виртуальными машинами KVM. Подготовка хост-машины

Вступление



tux and beastieКак и было обещано в предыдущей статье, сегодня мы поговорим о базовой настройке хост-машины для работы KVM.

Linux для всехLinux 3.0 скоро будет с нами

Линус Торвальдс таки определился с нумерацией версий своего детища. К релизу уже готовится версия 3.0. Около пяти часов назад (к моменту написания этого топика) Линус закоммитил в публичный git-репозиторий тег «3.0-rc1», что недвусмысленно намекает, что через некоторое время будет релиз третьей версии (согласно статистике — как раз где-то к моему дню рождения). Так что Грегу (Кроа-Хартману) придётся выполнить своё обещание и купить Линусу дорогой виски.

Единственным «косяком», правда, является то, что ветка разработки пока называется всё ещё «linux-2.6», но хочется верить, что Линусу ночью было просто не до того, чтобы перелопачивать git-репозиторий, так что скоро он исправит сей недостаток.
Убедиться можно на главном сайте проекта ( www.kernel.org ), а понаблюдать за ходом развития событий можно пока что по этому адресу (до переименования репозитория): git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary

Так же хотелось бы отметить, что в новом ядре кроме прочих «плюшек» будут также обновлённые драйвера для ATI Radeon (которые ему достанутся от 2.6.39), так что тем, кто привык к старой схеме разработки, когда каждый чётный релиз считался стабильным, а нечётный был «нестабильным» — будет смысл обновиться. С этим обновлением владельцы карт r600g (g = со свободными драйверами с поддержкой gallium) смогут со спокойной совестью поиграть, например, в Trine, которая была в последнем humble-паке.

Ещё хотелось бы отметить (если вдруг кто-то был в криокамере), что в ядре с некоторых пор присутствует так же замечательная опция CONFIG_SCHED_AUTOGROUP, которая является довольно большим шагом к устранению проблемы 12309, которая даже стала мемом.