От­носитель­но недав­но вышел релиз дис­три­бути­ва, по пра­ву счи­тающе­гося пер­вым в кор­поратив­ном сек­торе, — Red Hat Enterprise Linux 7. Не дожида­ясь появ­ления его кло­нов, мы решили пос­мотреть, что же нового пре­дос­тавля­ет нам этот титан в мире Open Source, сов­местив­ший в свое вре­мя, казалось бы, несов­мести­мое — зараба­тыва­ние денег и откры­тую модель.
 

Введение

Red Hat выпус­кает мажор­ные вер­сии сво­их дис­три­бути­вов раз в три‑четыре года — веч­ность в сов­ремен­ном мире ИТ. И 10 июня выш­ла седь­мая вер­сия флаг­ман­ско­го про­дук­та ком­пании — RHEL. Преж­де все­го сле­дует дать крат­кий обзор, что новое появи­лось в дан­ном дис­три­бути­ве:

  • Яд­ро 3.10, в котором, в час­тнос­ти, появил­ся уро­вень кеширо­вания Bcache, поз­воля­ющий исполь­зовать SSD-дис­ки в качес­тве кеша для HDD, а так­же под­дер­жка тех­нологии zSwap для сжа­тия неис­поль­зуемых стра­ниц пря­мо в памяти, не сбра­сывая на диск.
  • В качес­тве фай­ловой сис­темы исполь­зует­ся XFS. Btrfs, видимо, пос­читали слиш­ком сырой для кор­поратив­ного сек­тора, хотя она и дос­тупна в спис­ке дос­тупных ФС.
  • Systemd заменил‑таки ста­рую доб­рую ини­циали­зацию SysV.
  • В качес­тве гра­фичес­кой обо­лоч­ки исполь­зует­ся GNOME 3, прав­да, в отли­чие от некото­рых дру­гих, Red Hat вклю­чил интерфейс Classic Shell для без­болез­ненно­го перехо­да со ста­рых вер­сий.
  • Samba 4, поз­воля­ющая соз­дать кон­трол­лер домена Active Directory.
  • Плат­форма x86 более не под­держи­вает­ся, толь­ко x64.

Мож­но перечис­лить еще мно­го все­го, но дан­ная статья все же не явля­ется перепе­чатан­ными Release Notes, посему на этом и оста­новим­ся и перей­дем к самому обзо­ру.

 

Установка

Red Hat верен себе — Live-вер­сии дис­три­бути­вов не пос­тавля­ются, поэто­му зна­комс­тво с ним при­дет­ся начать по ста­рин­ке — с уста­нов­ки. Уста­новить мож­но как с DVD, так и с флеш­ки (для пос­ледне­го на не-UEFI-сис­темах дос­таточ­но ско­пиро­вать образ DVD на флеш­ку с помощью dd).

Red Hat пре­дос­тавля­ет три обра­за дис­три­бути­ва на эта­пе уста­нов­ки отли­чающих­ся лишь набором пакетов: Server, Workstation и Client. На прак­тике же набор пакетов в Workstation такой же, как и в Client, даже боль­ше, и, таким обра­зом, пос­ледний рас­смат­ривать не име­ет смыс­ла.

Пос­ле заг­рузки с носите­ля и необя­затель­ной про­вер­ки целос­тнос­ти запус­тится стан­дар­тный уста­нов­щик RHEL — Anaconda, который тут же поп­росит задать язык. Сле­дом за выбором язы­ка появит­ся экран обзо­ра уста­нов­ки, где мож­но нас­тро­ить сеть, часовой пояс и раз­биение и выб­рать пакеты. Этим уста­нов­щик отли­чает­ся от пре­дыду­щих вер­сий, где дан­ные парамет­ры выбира­лись на нес­коль­ких пос­ледова­тель­ных экра­нах.

Установка. Обзор
Ус­танов­ка. Обзор

В спис­ке часовых поясов при­сутс­тву­ет в том чис­ле и мой город, который во мно­гих дру­гих про­дук­тах (даже проп­риетар­ных) отсутс­тву­ет.

Се­тевой адап­тер по умол­чанию вык­лючен, даже если он при­сутс­тву­ет в единс­твен­ном экзем­пля­ре. Решение дос­таточ­но спор­ное — нап­ример, в том же диало­ге выбора часово­го пояса, который на обзорном экра­не идет пер­вым, при­сутс­тву­ет перек­лючатель для NTP, без сети поп­росту не работа­ющий.

Вы­бор пакетов сво­дит­ся к выбору катего­рий, что, в общем‑то, логич­но. Нем­ного сму­тило то, что при перек­лючении основных опций допол­нитель­ные не сох­раня­ются — по‑видимо­му, пред­полага­ется, что поль­зователь чет­ко зна­ет, чего хочет. Так­же был замечен нем­ного неп­равиль­ный перевод: «Резер­вный кли­ент» сто­ит перево­дить как «Кли­ент для резер­вно­го копиро­вания». Кро­ме того, из наз­ваний допол­нений в боль­шинс­тве слу­чаев не сов­сем оче­вид­но, какое ПО им соот­ветс­тву­ет. Так, мож­но лишь пред­полагать, что под «Офис­ным ком­плек­том» под­разуме­вает­ся LibreOffice. А что под­разуме­вает­ся под «Стан­дар­тной сре­дой раз­работ­ки», вооб­ще неяс­но.

Установка. Выбор пакетов
Ус­танов­ка. Выбор пакетов

Ав­томати­чес­кое раз­биение дис­ка оди­нако­во для всех трех вари­антов пос­тавки. Раз­дел /boot (и /boot/efi в слу­чае исполь­зования UEFI) и том LVM, в котором толь­ко два раз­дела — кор­невой и своп. С этой схе­мой раз­метки я скло­нен не сог­ласить­ся — хотелось бы иметь еще раз­дел /home. Впро­чем, нич­то не меша­ет раз­метить диск так, как удоб­но тебе. Кро­ме метода раз­бивки LVM, есть еще обыч­ные раз­делы, динами­чес­кий LVM и btrfs. Само раз­биение при­меня­ется толь­ко пос­ле нажатия кноп­ки «Начать уста­нов­ку».

Установка. Разметка диска
Ус­танов­ка. Раз­метка дис­ка

Пос­ле нажатия на дан­ную кноп­ку нач­нется соз­дание фай­ловых сис­тем и уста­нов­ка пакетов — весь про­цесс в моем слу­чае занял 21 минуту. Одновре­мен­но с этим про­цес­сом мож­но уста­новить пароль root и соз­дать нового поль­зовате­ля. И если в пер­вом нет ничего при­меча­тель­ного, то при соз­дании поль­зовате­ля сто­ит дать одно пояс­нение. «Сде­лать поль­зовате­ля адми­нис­тра­тором» озна­чает все­го лишь, что поль­зователь будет вклю­чен в груп­пу wheel. Помимо это­го, в локали­зации дан­ного диало­гово­го окна была замече­на глу­пей­шая ошиб­ка — «что бы» вмес­то «что­бы».

Ус­танов­ка наконец завер­шена. Жмем соот­ветс­тву­ющую кноп­ку и ухо­дим на перезаг­рузку.

 

Первый запуск и первые впечатления

Пер­вый запуск длит­ся при­мер­но секунд 20 — не столь уж и быс­тро, воз­можно, из‑за исполь­зования VirtualBox. Пос­ле него нуж­но будет уста­новить некото­рые парамет­ры kdump и под­писки. Парамет­ры по умол­чанию для kdump впол­не под­ходят, так что если тебе не нуж­но отправ­лять фай­лы дам­пов на уда­лен­ный компь­ютер, оставь все как есть.

Экран входа в систему
Эк­ран вхо­да в сис­тему

Пос­ле вхо­да в сис­тему понадо­бит­ся скон­фигури­ровать GNOME. Фак­тичес­ки, ничего менять здесь не нуж­но, так что опи­сывать это смыс­ла не име­ет. Сле­дом же будет пред­ложено обно­вить пакеты и вновь перезаг­рузить­ся. Отме­чу, к сло­ву, что в этой вер­сии для под­твержде­ния при­виле­гий наконец‑то исполь­зует­ся пароль обыч­ного поль­зовате­ля. Впро­чем, в отдель­ных слу­чаях по‑преж­нему тре­бует­ся пароль root. И уже пос­ле это­го мож­но начинать работу.

Окончание начальной конфигурации GNOME 3
Окон­чание началь­ной кон­фигура­ции GNOME 3

Вид­но, что раз­работ­чики пос­тарались сде­лать миг­рацию с пре­дыду­щих вер­сий GNOME как мож­но более без­болез­ненной. Тем не менее некото­рые вещи они уби­рать не ста­ли — потому ли, что они явля­ются фун­дамен­таль­ной частью треть­его Гно­ма, или еще по какой при­чине — сие мне неведо­мо. К их чис­лу отно­сят­ся всплы­вающие при про­веде­нии мышью в опре­делен­ной области экра­на панели. Соз­дание знач­ков на рабочем сто­ле, как и во всех осталь­ных дис­три­бути­вах, осно­ван­ных на GNOME 3, не явля­ется инту­итив­но понят­ным.

Пе­рей­дем к основным при­ложе­ниям. В качес­тве бра­узе­ра исполь­зует­ся Firefox 24 ESR — Red Hat, в отли­чие от Canonical, не обновля­ет его на самую све­жую вер­сию прос­то из‑за того, что она уже дос­тупна. Про­игры­вание видео под­держи­вает­ся из короб­ки, как и Java-аппле­ты (пос­ледние, впро­чем, под­держи­вают­ся поч­ти вез­де).

Email-кли­ент, как и в ста­рых вер­сиях, Evolution — ста­биль­ный, как и всег­да. Как и мно­гие дру­гие поч­товые кли­енты, под­держи­вает авто­мати­чес­кое опре­деле­ние поч­товых сер­веров при соз­дании/добав­лении учет­ной записи.

Evolution автоматически определяет нужные email-серверы
Evolution авто­мати­чес­ки опре­деля­ет нуж­ные email-сер­веры

При попыт­ке про­играть боль­шинс­тво локаль­ных виде­офай­лов воз­никала проб­лема — отсутс­тву­ют кодеки. Впро­чем, у Red Hat всег­да была опре­делен­ная позиция нас­чет них. Да и про­игры­вание музыки/видео на рабочей стан­ции вещь совер­шенно не необ­ходимая.

LibreOffice 4.1 без осо­бых проб­лем открыл все мои docx-фай­лы, что и неуди­витель­но. Фай­лы Visio тоже откры­лись без каких‑либо зат­рудне­ний.

А вот Nautilus меня огор­чил — в пер­вую оче­редь тем, что обзор сети Windows в нем сбо­ил. Лад­но бы нель­зя было под­клю­чить­ся к NAS по про­токо­лу SMB вооб­ще, так нет — пункт ниже, «Под­клю­чить­ся...», был впол­не работос­пособен. Более того, Nautilus так под­весил GNOME, что я счел необ­ходимым перезаг­рузить­ся и не возить­ся с при­бива­нием завис­ших про­цес­сов. Одна­ко все перечис­ленное может быть свя­зано с тем, что тип под­клю­чения к сети, исполь­зуемый в VirtualBox, в дан­ном слу­чае был NAT.

Хо­телось бы так­же вспом­нить об ACL, спис­ках прав дос­тупа, под­дер­жка которых в Linux есть дав­ным‑дав­но, а вот стан­дар­тно­го гра­фичес­кого интерфей­са для их соз­дания/редак­тирова­ния не сущес­тву­ет. В домаш­них усло­виях ACL, понят­ное дело, не нужен, но для кор­поратив­ных поль­зовате­лей гра­фичес­кий инс­тру­мент может быть весь­ма полезен.

В этой вер­сии RHEL наконец появи­лось то, что во мно­гих дру­гих дис­три­бути­вах сде­лано уже дав­но, — авто­допол­нение аргу­мен­тов команд по нажатию кла­виши табуля­ции. Забыл ты, допус­тим, ту или иную под­коман­ду systemctl — нажал Tab дваж­ды, и появил­ся их спи­сок.

Рас­ска­жу в двух сло­вах и о KDE. При пер­вом запус­ке его рабочий стол девс­твен­но чист — отсутс­тву­ет даже кор­зина и ссыл­ка на домаш­ний каталог. Все нуж­но запус­кать из меню. Оно стан­дар­тно для чет­вертой вер­сии KDE. Черес­чур стан­дар­тно: при пер­вом его вызове появ­ляет­ся «Избран­ное», в котором есть «Веб‑бра­узер». Так вот, при нажатии на него запус­кает­ся вов­се не Firefox, что было бы логич­ным, а Konqueror. Нет, пой­мите меня пра­виль­но, про­тив него я ничего не имею. Но сама полити­ка кор­поратив­ного дис­три­бути­ва под­разуме­вает некое еди­нооб­разие, которо­го здесь не наб­люда­ется. В осталь­ном... KDE мож­но сме­ло совето­вать тем, кого раз­дра­жает GNOME 3, пус­кай его и попыта­лись при­вес­ти к при­выч­ному виду.

Од­нако сто­ит перей­ти к внут­реннос­тям RHEL 7.

 

Под капотом

 

Ядро и ФС

Нач­нем с заг­рузчи­ка. В качес­тве него исполь­зует­ся Grub 2 с под­дер­жкой UEFI и Secure Boot. Если рань­ше ты не имел дела с ним (малове­роят­но, но вдруг), нуж­но пом­нить, что руч­ками он уже не кон­фигури­рует­ся — для это­го исполь­зуют­ся скрип­ты, на осно­ве которых коман­да grub2-mkconfig генери­рует файл кон­фигура­ции.

Яд­ро 3.10 в чис­ле про­чего под­держи­вает под­писыва­ние модулей, и в RHEL мож­но нас­тро­ить парамет­ры заг­рузки так, что непод­писан­ные модули поп­росту невоз­можно будет заг­рузить. Для это­го нуж­но добавить в параметр GRUB_CMDLINE_LINUX в фай­ле /etc/default/grub строч­ку "enforcemodulesig=1".

Как я уже писал выше, в качес­тве ФС по умол­чанию в седь­мой вер­сии кор­поратив­ного дис­три­бути­ва исполь­зует­ся XFS. Сто­ит рас­ска­зать о ней под­робнее. XFS была раз­работа­на в 1993 году ком­пани­ей SGI для сво­его вари­анта UNIX — IRIX, и на тот момент это была дей­стви­тель­но прог­рессив­ная фай­ловая сис­тема, под­держи­вающая работу с боль­шими фай­лами (не забыва­ем, что SGI спе­циали­зиро­валась на гра­фичес­ких рабочих стан­циях для соз­дания видео с соот­ветс­тву­ющи­ми тре­бова­ниями). Годы спус­тя ее пор­тирова­ли и на Linux. Тем не менее еще в 2008 году были некото­рые проб­лемы с про­изво­дитель­ностью (к нас­тояще­му вре­мени они уже исправ­лены, в час­тнос­ти путем вве­дения отло­жен­ной записи метадан­ных), и из‑за них ФС усту­пала в быс­тро­дей­ствии ext4. На текущий момент в вось­миядер­ной кон­фигура­ции XFS быс­трее ext4 в два с лиш­ним раза. Отме­чу так­же, что ext4 име­ет унас­ледован­ные проб­лемы на архи­тек­турном уров­не. Если же срав­нивать с Btrfs, XFS выг­лядит гораз­до более зре­лой. Взять те же сер­висные ути­литы — они могут никог­да и не понадо­бить­ся, но быть обя­заны. Одна­ко в Btrfs отсутс­тву­ет ана­лог debugfs, а в XFS он име­ет мес­то (xfs_db). Недос­таток же у XFS тоже име­ется — умень­шать раз­мер ФС невоз­можно.

 

Сеть

Пе­рей­дем к сетевой под­систе­ме. Уже во вре­мя уста­нов­ки мож­но заметить, что сетевые интерфей­сы име­нуют­ся по‑новому. Свя­зано это с тем, что в ста­рой модели име­нова­ния было неоче­вид­но, какому физичес­кому интерфей­су соот­ветс­тву­ет то или иное имя. Сей­час же име­ется пять схем име­нова­ния, которые выбира­ются systemd сог­ласно опре­делен­ным пра­вилам. Схе­мы эти таковы:

  1. Име­на наз­нача­ются на осно­ве номера встро­енной сетевой кар­ты, пре­дос­тавля­емо­го про­шив­кой или BIOS. Эта схе­ма наибо­лее при­ори­тет­на, если не под­ходит — перехо­дим ко вто­рой схе­ме. При­мер — eno1, где eno рас­шифро­выва­ется как ethernet on-board.
  2. Име­на наз­нача­ются на осно­ве сло­та PCI-E, пре­дос­тавля­емо­го про­шив­кой, если эта схе­ма не под­ходит — всту­пает в силу третья схе­ма. При­мер име­нова­ния — ens1. Рас­шифров­ка бук­вы s — слот.
  3. Ус­трой­ства име­нуют­ся сог­ласно физичес­кому рас­положе­нию устрой­ства. При­мер — enp0s3, где p0s3 — рас­положе­ние на шине PCI.
  4. Ес­ли ни один из этих вари­антов не под­ходит, при­меня­ется тра­дици­онная схе­ма.
  5. Есть еще аль­тер­натив­ная схе­ма наиме­нова­ния на осно­ве MAC-адре­са, нап­ример enx0800277b76b5.

В качес­тве средс­тва кон­фигури­рова­ния сети (в том чис­ле и все­воз­можной мар­шру­тиза­ции) исполь­зует­ся Network Manager, что дает уни­фика­цию управле­ния сетевы­ми устрой­ства­ми. Ста­рый спо­соб, через скрип­ты ifcfg, по‑преж­нему под­держи­вает­ся.

Бран­дма­уэром теперь слу­жит firewalld, фак­тичес­ки явля­ющий­ся обер­ткой вок­руг iptables. Он обес­печива­ет динами­чес­кое добав­ление пра­вил (без перечи­тыва­ния все­го кон­фигура­цион­ного фай­ла) и име­ет интерфейс D-Bus, что поз­воля­ет зап­рашивать некото­рым служ­бам откры­тие тех или иных пор­тов или выводить уве­дом­ления в трее. Коман­да firewall-cmd поз­воля­ет так­же выпол­нять коман­ды, ана­логич­ные таковым в iptables. На мой взгляд, одна­ко, единс­твен­ным пре­иму­щес­твом явля­ется толь­ко под­дер­жка D-Bus, язык же опи­сания пра­вил дос­таточ­но ску­ден. Так что, если нужен имен­но хороший бран­дма­уэр, не пре­мину пореко­мен­довать нор­маль­ную обер­тку вок­руг iptables под наз­вани­ем shorewall.

 

Инструментарий управления и мониторинга

Linux-сис­темам дав­но не хва­тало неко­его ана­лога WMI для абс­тра­гиро­вания от кон­фигура­цион­ных фай­лов. И такие инс­тру­мен­ты начали появ­лять­ся. Одно из них было вве­дено в новую вер­сию RHEL — OpenLMI (Linux Management Infrastructure). Если корот­ко, он сос­тоит из двух час­тей — CIMOM, CIM Object Manager, которым явля­ется OpenPegasus, запус­каемый на сто­роне управля­емой сис­темы и соот­ветс­тву­ющий спе­цифи­кации WBEM, и кли­ентов, запус­каемых на машине адми­нис­тра­тора и зап­рашива­ющих ту или иную опе­рацию у дан­ного бро­кера. Имен­но бро­кера — сам по себе, без про­вай­деров, пре­дос­тавля­ющих ту или иную фун­кци­ональ­ность, OpenPegasus бес­полезен. Перечис­лю некото­рые из пакетов, содер­жащих про­вай­деры CIM:

  • openlmi-account — управле­ние поль­зовате­лями;
  • openlmi-logicalfile — чте­ние фай­лов и катало­гов;
  • openlmi-networking — управле­ние сетью;
  • openlmi-service — управле­ние служ­бами;
  • openlmi-hardware — пре­дос­тавле­ние информа­ции об обо­рудо­вании.

Ос­новной язык написа­ния про­вай­деров (ина­че называ­емых аген­тами) — Python, хотя, разуме­ется, под­держи­вает­ся и C/C++.

Архитектура OpenLMI
Ар­хитек­тура OpenLMI

На сто­роне адми­нис­тра­тора запус­кает­ся LMIShell, который пред­став­ляет собой удоб­ную CLI-обо­лоч­ку, поз­воля­ющую, ко все­му про­чему, еще и писать скрип­ты. Под­дер­жка WBEM и стан­дарта CIM авто­мати­чес­ки под­разуме­вает под­дер­жку еще и CQL/WQL — под­мно­жес­тва SQL, раз­работан­ного спе­циаль­но для это­го стан­дарта. Опе­рато­ры, дос­тупные в этом под­мно­жес­тве: SELECT, WHERE, FROM, LIKE, логичес­кие (NOT, AND, OR). То есть в WQL дос­тупно боль­шинс­тво базовых опе­рато­ров SQL, кро­ме JOIN.

Од­нако с OpenLMI не все так радуж­но, как может показать­ся на пер­вый взгляд. Тех­нология это новая, про­вай­деры еще тол­ком не раз­работа­ны, а безопас­ность оставля­ет желать луч­шего — чего сто­ит толь­ко тот факт, что любой (любой!) поль­зователь, который име­ет дос­туп к OpenLMI, может при наличии соот­ветс­тву­юще­го про­вай­дера без проб­лем пос­мотреть хеш пароля любого дру­гого поль­зовате­ля. Да, в том чис­ле и root. И пока не прик­роют хотя бы эту дыр­ку — поль­зовать­ся им я бы край­не не рекомен­довал.

Для монито­рин­га про­изво­дитель­нос­ти в сос­таве OProfile, который исполь­зует аппа­рат­ные воз­можнос­ти сов­ремен­ных про­цес­соров, появи­лась новая ути­лита — operf. Она поз­воля­ет замерять про­изво­дитель­ность отдель­ных при­ложе­ний без root-при­виле­гий и фак­тичес­ки слу­жит заменой ути­лите opcontrol, которая ныне счи­тает­ся уста­рев­шей, хотя и по‑преж­нему при­сутс­тву­ет в сис­теме.

Не сто­ит забывать и о SystemTap, в котором появи­лась, к при­меру, под­дер­жка uprobes, что поз­воля­ет при исполь­зовании тап­сетов обхо­дить­ся мень­шим чис­лом перек­лючений кон­тек­ста. Кро­ме того, вер­сия SystemTap, вклю­чен­ная в седь­мой RHEL, под­держи­вает так­же монито­ринг гос­тевых сис­тем, запущен­ных в вир­туаль­ных машинах с исполь­зовани­ем libvirt.

info

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

 

Безопасность и логирование

В RHEL 7 появи­лись и новые воз­можнос­ти, каса­ющиеся безопас­ности. Помимо усо­вер­шенс­тво­ваний SELinux (в час­тнос­ти, добав­ление под­дер­жки меток SELinux в NFS и новых доменов), Red Hat переш­ла на systemd, что поз­воля­ет исполь­зовать некото­рые пре­дос­тавля­емые им пре­иму­ществ. Так, ранее каталог /tmp был пуб­личным и в него мог писать любой про­цесс. Это, вку­пе с некото­рыми ошиб­ками раз­работ­чиков, мог­ло при­вес­ти к ата­ке на те или иные демоны, в которых дан­ные ошиб­ки зак­рались. Появ­ление systemd вве­ло под­дер­жку PrivateTmp — у служ­бы может быть отдель­ное прос­транс­тво имен, под­клю­чен­ное к /tmp и не пересе­кающееся с дру­гими такими же. Кро­ме того, сам по себе запуск служб через systemd более безопа­сен, чем запуск их вруч­ную. И даже с помощью скрип­тов, пос­коль­ку, к при­меру, перемен­ные окру­жения во вре­мя заг­рузки отнюдь не те же самые, что во вре­мя работы.

Сре­ди про­чего, в RHEL появил­ся гра­фичес­кий инс­тру­мент SCAP Workbench — фрон­тенд для инс­тру­мен­та OpenSCAP, поз­воля­юще­го ска­ниро­вать локаль­ную или уда­лен­ную сис­тему на пред­мет соот­ветс­твия тре­бова­ниям, опи­сан­ным в одном из стан­дар­тных фор­матов (OVAL или SCDDF).

Интерфейс SCAP Workbench
Ин­терфейс SCAP Workbench

Ло­гиро­вание в RHEL велет­ся связ­кой journald + rsyslogd, фор­мат лог‑фай­лов остался преж­ним, но мож­но вклю­чить и новые поля, вве­ден­ные в journald. Одна из при­меча­тель­ных осо­бен­ностей journald — FSS, Forward Secure Sealing, поз­воля­ющая с помощью крип­тогра­фичес­ких методов удос­товерить­ся, что фай­лы жур­налов не были изме­нены. Работа­ет это таким обра­зом: генери­рует­ся пара откры­тый/зак­рытый ключ, пер­вое сооб­щение в логах под­писыва­ется имен­но зак­рытым клю­чом, затем этот ключ переда­ется адми­ну и унич­тожа­ется, а логи, пос­леду­ющие с опре­делен­ным интерва­лом, хеширу­ются, для каж­дого пос­леду­юще­го хеша исполь­зует­ся текущий хеш и откры­тый ключ. Таким обра­зом, ата­кующий не смо­жет изме­нить записи в лог‑фай­лах, сви­детель­ству­ющие о про­ник­новении, — он смо­жет лишь уда­лить файл жур­нала целиком, что, несом­ненно, будет замече­но бди­тель­ным адми­ном.

 

Заключение

RHEL 7 мож­но рас­смат­ривать как с точ­ки зре­ния поль­зовате­ля, так и с точ­ки зре­ния биз­неса и удобс­тва адми­нис­три­рова­ния. Для домаш­него поль­зовате­ля, изба­лован­ного муль­тимедий­ными воз­можнос­тями дру­гих про­дук­тов, дис­три­бутив ком­пании из Север­ной Кароли­ны будет казать­ся слиш­ком ста­ромод­ным и в чем‑то даже неудоб­ным — в час­тнос­ти, невоз­можно про­игры­вать видео и MP3, но дан­ный дис­три­бутив и не пред­назна­чен для исполь­зования дома.

А вот с точ­ки зре­ния биз­неса он иде­ален. Поч­ти. В нем сущес­тву­ют и недос­татки, самым сущес­твен­ным из которых я бы наз­вал упо­мяну­тую дыру в OpenLMI, — впро­чем, пока этот инс­тру­мен­тарий не уста­нав­лива­ется и не запус­кает­ся по умол­чанию, с дан­ной брешью мирить­ся мож­но. Так­же лич­но мне с новым Гно­мом было неком­фор­тно работать даже в клас­сичес­ком сти­ле, хотя замечу опять же, что раз­работ­чики Red Hat, не в при­мер некото­рым дру­гим ком­пани­ям, пос­тарались сде­лать переход на него как мож­но более без­болез­ненным. KDE4 на фоне треть­его Гно­ма выг­лядит более клас­сичес­ким, одна­ко с точ­ки зре­ния уни­фици­рован­ности в нем име­ются некото­рые шерохо­ватос­ти.

В общем и целом, седь­мую вер­сию дан­ного дис­три­бути­ва мож­но сме­ло рекомен­довать тем ком­пани­ям, которые могут себе поз­волить под­писку на него. Тем же, кто это­го поз­волить себе не может, оста­ется лишь ждать его кло­нов, бла­го к момен­ту выхода статьи в свет они уже дол­жны появить­ся — Red Hat уди­витель­но к ним лоялен.

redhat

 

kpatch

В RHEL 7 в качес­тве Technology Preview дос­тупен kpatch, поз­воля­ющий на лету нак­ладывать исправ­ления на ядро. Он пред­став­ляет собой модуль ядра (kpatch core) и набор ути­лит. Работа­ет дан­ная тех­нология сле­дующим обра­зом: пер­вым делом собира­ется ядро как с наложен­ным пат­чем, так и без него, затем эти две вер­сии срав­нива­ются, и на осно­ве срав­нения генери­рует­ся модуль ядра. В осно­ве работы син­хро­фазот­рона, тьфу, kpatch лежит тех­нология ftrace, поз­воля­ющая в чис­ле про­чего ста­вить хуки на ядер­ные фун­кции и перенап­равлять их на дру­гие фун­кции.

Тех­нология эта, конеч­но, край­не сырая и тре­бует доработ­ки. Но похоже, что у полуп­ропри­етар­ного ksplice от Oracle появил­ся‑таки кон­курент.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии