Показаны сообщения с ярлыком centos. Показать все сообщения
Показаны сообщения с ярлыком centos. Показать все сообщения

воскресенье, 20 мая 2012 г.

CentOS 6.2, SElinux, httpd, mysql. Настройка

Настройка на сервере подсистемы безопасности SElinux позволяет увеличить безопасность обслуживаемой системы. Небольшой абзац по поводу "А что такое SELinux?", а так же ссылки на документацию можно найти по ссылке CentOS, KVM, SELinux. Здесь я повторяться. Практически никаких трудностей с настройкой нет, хотя если Вы не разбираетесь в вопросе, настройка может занять существенное время.

Первое на что я хотел бы обратить внимание - это на то что подсистема должна быть включена. Для этого проверьте файл /etc/selinux/config. Убедитесь, что для SELINUX установлено значение enforcing, а для SELINUXTYPE - targeted. Значение permissive вместо enforcing заставляет подситему selinux лишь слать предупреждения, но не запрещать действия (такой режим хорош для обучения и отладки).

Ниже я просто приведу схему (шаг за шагом) как я настраиваю selinux на для своих заказчиков.

суббота, 7 января 2012 г.

Установка CentOS 6.2 в kvm. Кикстарт (kickstart) - раз, два и готово!


Кикстарт(kickstart) установка отличается от обычной установки тем, что не задаёт вопросов. Ответы на все вопросы вы заранее помещаете в кикстарт-файл и отдаёте его программе установки, например, по http. Кикстарт установка может быть выполнена как в текстовом так и в графическом режиме. Возможно автоматическое создание скриншотов (см. документацию, кстати говоря, документация по установке и ещё несколько разделов полностью на русском языке. Спасибо компании red hat и переводчикам, читать гораздо удобнее).

Мы выполним установку в текстовом режиме. Для этого нужно сделать всего два простых шага:

четверг, 29 декабря 2011 г.

CentOS, KVM, SElinux.

Для начала небольшое введение. SELinux - Security-Enhanced Linux (Линукс с улучшенной безопасностью) подсистема ядра, предназначенная для повышения защищённости ОС Линукс. Если говорить кратко, то с помощью SElinux Вы имеете возможность добавить дополнительные ограничения, вступающие в действия только если нет обычных ограничений. Простой пример. Есть каталог, пусть /web . Вы можете поставить на него права 777 (то есть все могут туда писать). А потом, с помощью SElinux, запретить одному конкретному пользователю (или группе пользователей) писать в этот каталог. Кстати говоря, наоборот сделать не получиться, т.е. нельзя поставить права 000 и разрешить посредством механизмов SElinux использовать каталог, к примеру, пользователю и/или группе, потому что проверки SElinux выполняются только в случае если получено разрешение механизма DAC (Discretionary Access Control - избирательное управление доступом, привычный механизм управления доступом в linux).

В прошлых статьях мы установили CentOS в виртуальную машину и подключили к ней том LVM. И нам, конечно, было бы полезно использовать механизмы SElinux для обеспечения безопасности нашей хост-системы и изоляции гостей друг от друга.

понедельник, 26 декабря 2011 г.

KVM и CentOS 6.2. Добавление диска (lvm-раздела) гостевой ОС. Горячее подключение (hot plug).

В прошлой статье мы рассмотрели процесс установки kvm на CentOS 6.2. Установка велась в текстовом режиме, чтобы имея доступ по ssh не городить лишний огород с запуском графической системы и проброской её до компьютера администратора (или подключением по vnc).

Для установки использовался обычный файл хост-системы, который kvm предоставлял гостю как дисковое устройство. Несмотря на то что по умолчанию используется virtio-драйвер (а значит паравиртуализация для устройства), производительность схемы с файлом снижается по сравнению с обычным устройством теоретически хотя бы потому что дублируются функции файловой системы (гость создаёт свою файловую систему, которая работает как бы "поверх" файловой системы хоста). Практика подтверждает потери производительности. А хотелось бы не терять зачастую столь необходимую производительность подсистемы ввода-вывода (вв).

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

То что наша система установлена в файл, гипотетически, не должно снижать производительность гостевой системы т.к. вв на корневом разделе практически отсутствует (исключения составляют логи, но их я намереваюсь направлять на отдельный сервер из соображений безопасности).

В данной статье я расскажу как подключить lvm-раздел хост-системы напрямую к гостевой системе (lvm - сокращение от Logical Volume Manager - менеджер логических томов, документация на русском есть тут http://xgu.ru/wiki/Lvm , ну и у вас всегда есть man) . Этот подход позволяет сочетать гибкость, которую предоставляет lvm (например, динамическое изменение размера раздела и мнгновенные снимки, которые на мой взгляд, удобны для резервного копирования) и скорость, которую предоставляет паравиртуализация.

Вся наша работа сводится к 3 шагам:

1) Создание lvm-разделов.

2) Подключение lvm-раздела к виртуальной машине средствами virsh.

3) Работа с новым устройством внутри гостевой ОС. Подключение дополнительного диска без перезагрузки гостевой ОС (горячее подключение, hot plug).

Итак, приступим.

KVM на CentOS 6.2. Установка в текстовом режиме (text mode).

См. так же
Подключение диска (lvm-раздела) к существующей виртуальной машине.

Положим, Вы решили установить KVM (Kernel Virtual Machine - виртуальная машина ядра ОС Линукс) на CentOS 6.2. И Вам почему-то не подходит установка в графическом режиме (если подходит графический режим, вы легко найдёте в поисковике руководство). Не важно почему. Я, например, полагаю автоматизировать установку через kickstart и мне показалось довольно нудным запускать иксы и пробрасывать их через ssh (хотя когда то я уже это делал). Сейчас я не уверен, что автоматизация установки будет требовать текстового режима, но это то что подвигло меня использовать текстовую установку. Я потратил на понимание процесса (не только текстовой установки, но и например работы с сетью) довольно много времени, поэтому хочу записать. Ну и надеюсь, кому-нибудь да пригодится.

В качестве дискового устройства мы будем использовать файл (Вы довольно легко сможете подключить нужное устройство позже, например, чтобы повысить производительность дискового ввода-вывода), и сеть по умолчанию (Вы так же сможете подключить другое сетевое устройство позже, правда, тут есть тонкости. Тем не менее это не слишком сложно тем более что я всё опишу).