книги хакеры / журнал хакер / 141_Optimized
.pdf
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Состояниеразделасreiser4
$ sudo usermod -a -G src adept
Клонируемgit-репозиторий(приготовьсяскачатьоколо500 метров):
$ cd /usr/src
$ git clone git://zen-kernel.org/kernel/zen-stable.git linux-2.6-zen
Смотрим, какиеветкиестьврепозитории:
$ git tag # кроме патченных, доступны также ванильные версии
Выбираемпоследнююпатченнуюверсию:
$ git checkout v2.6.34-zen1
Сорцынеобязательновытягиватьизgit. Еслитыограниченпотрафику илискоростиинета, тобыстрееидешевлебудетскачатьпатчиофициальноеядро. Заплатканакладываетсяследующимобразом:
$ cd /usr/src/linux-2.6.34
$ zcat ../patch-2.6.35.bz2 | patch -p1
Утилитаpatch такжеимеетзамечательнуюопцию'--dry-run', позволяю-
щуюпротестировать, какналожитсяпатч, преждечемегонакладывать. Далеевыбираемспособконфигурированияядра:
•make config — длятех, укогоуймасвободноговремени. Системазадаст несколькотысячвопросов(поодномунакаждуюопциюконфигурации);
•make allnoconfig/allyesconfig — генерируетсяконфиг, вкоторомнавсе вопросыотвеченоno/yes;
•make defconfig — конфигснастройкамипоумолчанию;
•make randconfig — самыйвеселыйспособ— используетВеликийРандомдляответанавопросы;
•make oldconfig — прииспользованиистарогоконфига. Задаствопросы толькопротепункты, которыхнебыловстаромконфиге;
•make menuconfig — псевдографический, использующийncurses, интерфейс;
•make nconfig — одноизнововведенийядра2.6.35. Тожепсевдографический, использующийncurses, интерфейс, новыглядитнесколько болеесвежо, чемmenuconfig;
•make xconfig — графическийинтерфейснабазеQT;
•make gconfig — графическийинтерфейснабазеGTK.
Мнебольшепривыченинтерфейсmenuconfig.
Какие-токонкретныесоветыпоконфигурированиюядрадаватьсложно
— всеоченьсильнозависитотимеющегосяокруженияижелаемых результатов. Ноявсегдапридерживаюсьнесколькихпростыхправил:
• Все, чтомнеточнопонадобится(втомчислеподдержкаФС, накоторой уменя/) ибудетнужночасто, явключаювядро. Все, чтоможетпригодитьсяилибудетнужноредко— компилируюмодулем. Все, чтоточноне пригодится, соответственно, выкидываем.
XÀÊÅÐ 10 /141/ 10 |
089 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
UNIXOID
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Статистикаполатентности
•Опции с пометкой EXPERIMENTAL лучше не включать без крайней на то необходимости. Также не рекомендуется включать Device Drivers ÆStaging Drivers. Ядро может просто не собраться или работать не стабильно.
•Чтобы не путаться в ядрах, добавляю суффикс версии ядра в
General Setup ÆLocal Version.
Также неплохой отправной точкой может стать конфиг дистрибутивного ядра. После того, как конфиг готов (и сохранен в файл .config), можно приступать к сборке:
$ make
С помощью опции «-j» можно указать количество потоков, что немного ускорит компиляцию на многоядерном процессоре. В зависимости от мощности компа и опций конфигурации, ядро может собираться по часу и даже больше. После компиляции начинается установка:
$ sudo make modules_install $ sudo make install
На самом деле модули просто скопируются в /lib/modules/, а ядро с конфигом — в /boot. Создаем initrd для нашего нового ядра:
Турбо-компиляция
Далеконевсегдаполучаетсяспервогоразасобратьидеальнорабо- тающееядро—обязательнозабудешьвключитькакой-нибудьмодуль илиналожитькакой-нибудьпатч.Ановаясборка,особеннонамало- мощномкомпе,можетбытьраздражающедолгой.Втакомслучаена помощьпридетccache,умеющийкэшироватьрезультатыкомпиляции. Врезультатеповторнаяпересборкапроходитзначительнобыстрее. Дляиспользованияccacheприсборкеядранабирай
$ make CC="ccache gcc" CXX="ccache g++"
Веськэшбудетхранитьсявкаталоге~/.ccache,астатистикупоего использованиюможнопосмотретьспомощьюкоманды
$ ccache -s
$ sudo update-initramfs -k v2.6.34-zen1 -c
Обновляем конфигурацию grub, чтобы он нашел новое ядро:
$ sudo update-grub
Все, можно идти в ребут, скрестив пальцы и затаив дыхание, загрузиться с новым ядром.
КОМПИЛЯЦИЯ. DEBIAN-WAY
Выше я описал способ, которым можно собрать ядро в любом дистрибутиве. Но практически во всех дистрах есть свой путь, дающий те или иные «плюшки», самая большая из которых — получение на выходе пакета с ядром, который можно легко поставить или удалить штатным пакетным менеджером.
В Debian/Ubuntu за сборку ядра отвечает make-kpkg. Для того, чтобы воспользоваться make-kpkg, установим один пакет:
$ sudo apt-get install kernel-package
Генерация конфига происходит точно так же, как и в способе выше, а сборка несколько иначе:
$ fakeroot make-kpkg --initrd --revision=mykernel \ kernel_image kernel_headers modules_image
Этакомандасначаласоберетядро, апотомсоздастдвапакета: linux- image-version-revision.deb (бинарникимодулиядра) иlinux-headers- version-revision.deb (заголовочныефайлыядра), которыебудутлежатьв/ usr/src. Ставимто, чтополучилось, иидемнаперезагрузку:
$ sudo dpkg -i /usr/src/*.deb $ sudo reboot
MAKE COMPLETE
К сожалению, журнал не резиновый, и рассказать получилось далеко не про все заслуживающие внимания патчи. За бортом остались OpenVZ и Xen, Openwall, а также целый класс патчсетов — дистрибутивные (ведь очень небольшое количество дистрибутивов использует ванильное ядро).z
090 |
XÀÊÅÐ 10 /141/ 10 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
||||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
r |
|
|
||||
P |
|
|
|
|
|
NOW! |
|
o |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
|||
w Click |
to |
|
|
|
|
|
|
|
|
UNIXOID |
|
||||
|
|
|
|
|
|
|
m |
|
Евгений Зобнин zobnin@gmail.com |
||||||
|
|
|
|
|
|
|
|
|
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
|
|
|
||||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
|
|
||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Ïëþñ100 кзащите
КруговаяоборонаLinux-десктопа
ОткрытыеUNIX-системывсегдаславилисьсвоейбезопасностью. Постоянныйаудиткода, молниеносныевыходыбагфиксов, хорошо продуманнаяполитикаразграниченияправдоступа— всеэтосделалоих оченьпривлекательнымпродуктом, которомуможнодоверитьхранение дажесамойконфиденциальнойинформации. Нозначитлиэто, чтомыможем полностьюположитьсянаразработчиковинедолжны«допиливать» свою системусамостоятельно? Нет, каждыйслучайустановкиОСуникален итребуетподкручиваниявинтиков.
Безопасностьмашины— понятиевесьма |
получитьдоступкнашимважнымданным, |
ихбезнаказанностиследуетиспользовать |
многогранное, дляразныхлюдейономожет |
включаяпароли, сертификаты, кукисыи |
пятую(иокончательную) линиюобороныпод |
иметьсовершенноразныезначения. Врам- |
архивыбазданных, которыемыстащили, |
названиемаудитинг. |
каходнойстатьимынесможемохватитьих |
взломавчужуюмашину. Поэтомутретья |
Этоиестьпятьосновныхрубежей, грамотно |
все, поэтомудавайсразуопределимсястем, |
линияобороны— защитаконфиденциаль- |
организовавзащитукаждогоизкоторых, ты |
чтоиоткогобудемзащищать: |
ныхданныхотпостороннихглазспомощью |
сведешьвероятностьбытьполоманнымк |
1. Человек— существообщественно-зави- |
сокрытияинформацииилишифрования. |
цифре, маячащейгде-тодалекопозади0,1%. |
симое. Влюбойсфережизнинасокружают |
4. Получивжелаемое, ПКЛ(придурки, кул- |
ОТМАШИНЫРУКИПРОЧЬ! |
люди. Дом, местоучебы, работа— везде |
хацкеры, любопытные) захотятоставить |
|
ивсегдамынаходимсявобществедругихлю- |
натвоеймашинечерныйход, которыйв |
Методызащитыотфизическогопроникнове- |
дей, невсеизнихчистынаруку, бескорыстны |
будущембудутиспользоватьдлярегулярного |
ниянатвоюмашинувесьмапросты. Доста- |
ихолодныкчужимсекретам. Поэтомупервая |
обновлениясвоегоархиватвоимиданными, |
точнопредставитьсебянаместеподлеца, и |
линияобороны— это, конечноже, обеспече- |
атакжедлярассылкиспамаилипроведения |
всестановитсяпредельноясно. Во-первых, |
ниезащитыотфизическогодоступакмашине |
DDoS. Четвертаялинияобороны— проверка |
мыможемпростопродолжитьработуссис- |
вовремянашегоотсутствия. |
системынаналичиеруткитовипрочейдряни. |
темой, потомукакмногиедаженеудосужи- |
2. Интернетполонпридурков, кул-хацкеров |
5. ДажееслиПКЛнезасунутвнедрамашины |
ваютсязаблокироватьэкранвовремясвоего |
ипростолюбопытныхлюдей. Никтоизнас |
свойбэкдорилиDOS-бота, онивсеравно |
ухода. Правилопервое: всегдаблокируй |
нехочетподвергнутьсявзломусостороны |
захотятуйтивчистоанглийскойманере, не |
экран(вбольшинствесред<Ctrl+Alt+L>). |
одногоизних(иливсехсразу). Поэтому |
оставивпослесебянетольконежного«Тебя |
Во-вторых, мыможемпопробоватьподоб- |
втораялинияобороны— этозащитасетевых |
поимели, пупсик» (хотяпервыедвапредста- |
ратьпароль, которыйнередкобываетравен |
рубежейотвторжения. |
вителятройкиэто, скореевсего, сделают), |
комбинациямвроде«qwerty» или«123». |
3. Взломавмашину, тесамыепридурки, кул- |
ноилоговидругогодоказательствасвоей |
Правиловторое: используйсложныеи |
хацкерыипростолюбопытныелюдизахотят |
виныиконтактныхданных. Воизбежание |
надежныепароли(отом, какихпридумать, |
092 |
XÀÊÅÐ 10 /141/ 10 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Настраиваемавтообновление
читайвбоковомвыносеINFO). Мыможемперезагрузить компьютериспомощьюGRUB загрузитьОСводнопользовательскомрежиме, получивполныйконтрольнад системой. Правилотретье: установипарольнаGRUB (обэтомвоврезке). Увидев, чтоGRUB запаролен, мы можемвойтивменюBIOS, установитьвкачествепервого загрузочногоустройстваCD-ROM изагрузитьсясLiveCD, получивполныйдоступксодержимомужесткогодиска. Правилочетвертое: настройзагрузкутолькосжесткого дискаипоставьпарольнаBIOS. Ноэтонаснеостановит: мыснимемкрышкускорпусаисбросимнастройкиCMOS вместеспаролем, простовынувбатарейкунанесколько секунд. Правилопятое: покупайкорпуссзамком. Увидев замокнакорпусе, мызабираемвесьсистемникссобойи разбираемегонаближайшейсвалке. Правилошестое: всегдапристегивайсистемниккбатарееспомощью цепи.
Последнееправило, конечноже, шутка, ноивнейесть доляправды: эффективностьзащитыотфизического доступападаетпрямопропорциональноростунаглостивзломщика. Кстати, естьещеоднарекомендация, связаннаясзапираемыминазамоксистемниками. Большинствоизнихимеютпереднююкрышку, которая такжеобеспечиваетнекоторуюзащитуCD-привода, USB-разъемовикнопоквключения/сброса. Однакомы всегдаможемзажать<Ctrl+Alt+Del> наклавиатуредля перезагрузкимашины. Нокомбинациянесработает, еслиоткрытьфайл/etc/inittab, закомментироватьстроку
«ca::ctrlaltdel:/sbin/shutdown -t3 -r now» ивыполнить команду«/sbin/init q».
УГРОЗАИЗВНЕ
Те, кто пролезает на машину жертвы из Сети, обычно используют несколько простых и проверенных приемов. Самое простое, что может сделать злоумышленник
— просканировать твою машину на открытые порты и попытаться найти уязвимый сетевой сервис. В борьбе с такими экземплярами фауны кул-хацкеров поможет отключение ненужных демонов, своевременные обновления дистрибутива и чтение моей статьи «Огненная дуга», посвященной правильной настройке брандмауэра (см. ][ от06.2010). Обломавшисьнаэтомпути, хацкерможетпопытатьсяподсунутьтебетроянподвидомлегаль-
нойпрограммыилииспользоватьдырувбраузере. Вэтом случаевсепросто: ставьсофтизофициальныхрепозиториевдистрибутива, используйправильныебраузеры свежейверсии.
Понявбезуспешностьсвоихпопытокпроникновения, взломщикможетпопробоватьпровестиDoS/DDoS. От хорошейраспределеннойатакиты, скореевсего, неспасешься, авотнебольшуюволнувполнесможешьвыдержать, еслибудешьследоватьрекомендациям, описанным встатье«Устоятьлюбойценой» (][ от09.2009). Хорошей практикойвборьбесдырамиявляетсянастройкаавто-
ДажевсовременномдистрибутивеTiger находитвсемизвестныепроблемыбезопасности
матическогообновленияОС, благодарякоторомусистема всегдабудетоставатьсявсвежайшемсостоянии. Такие дистрибутивы, какUbuntu, Fedora, OpenSuSE, ужеимеют всвоемсоставеграфическиенапоминалки, которые времяотвременивыскакиваютизтреяисообщаютоб очередномобновлении. Этоудобно, нобыстронадоедает: гораздоэффективнеесделатьтак, чтобысистемасама производилаобновлениявфоне, неотвлекаяпользователяотработы. ВUbuntu этоделаетсячерезграфический интерфейс(System ÆAdministration ÆSoftware Sources ÆUpdates ÆAutomatic updates, Install security updates without confirmation) илиспомощьюмодификациифайла
/etc/apt/apt.conf.d/10periodic:
$ sudo vi /etc/apt/apt.conf.d/10periodic
APT::Periodic::Enable "1";
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-
Packages "1";
APT::Periodic::AutocleanInterval "5";
APT::Periodic::Unattended-Upgrade "1";
Замечу, чтоэтоотноситсятолькокобновлениямбезопасности, простойапдейтсофтапридетсяпроизводить руками.
От возможных дыр в софте также очень эффективны такие системы, как SELinux или AppArmor (уже интег-
рированные в Ubuntu, OpenSuSE и Fedora), которые просто не позволят уязвимому сервису выполнить код, подсунутый взломщиком (мы не раз писали о настройке популярных расширений безопасности для ОС Linux, подними архив ][).
INFO |
info
•Если с придумыванием сложных паролей туго, воспользуйся утилитой APG, которая поможет сгенерировать весьма сложный, но притом вполне читаемый пароль.
•Поиск suid/
sgid-файлов с несколькими ссылками:
$ find / -type f \ ( -perm -004000 -o -perm -002000 \)
-links +1 -ls
XÀÊÅÐ 10 /141/ 10 |
093 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
UNIXOID
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Tiger приступилканализусистемы
СписокSUID-софтавсовременномLinux действительнослишкомвелик
СВОЙЛИЧНЫЙБАСТИОН
Послепроникновениявмашинучерезуязвимыйсервисвзломщик скореевсегобудетиметьоченьограниченныеправаивозможности(почтивсесетевыесервисывUNIX работаютоткакого-либо специальногопользователя, неимеющегосерьезныхполномочий
всистеме), поэтомупервое, чтоонпопытаетсясделать— повысить своиправадоroot. Нашазадача— приложитьвсесилыдлятого, чтобыпомешатьемуэтосделать, иначемашинаокажетсяполностью
вчужихруках. Нижемырассмотримтипичныеприемызлоумышленников, направленныенаполучениеroot, иметодызащитыотних.
1. Первымделомхацкерпопытаетсявыполнитькомандуsu внадежде нато, чтопарольroot окажетсяпустымилинастолькопростым, что онсможетегоподобрать. Мыобезопасимсистему, простодобавивв файл/etc/pam.d/su строку«auth required pam_wheel.so» сразупосле строки«auth sufficient pam_rootok.so». Теперьправоиспользоватьsu
будеттолькоупользователей, состоящихвгруппеwheel (естественно, тыдолженсебявнеедобавить).
2. Потерпевнеудачувполученииправroot обычнымиметодами, взломщикпопытаетсязалитьнатвоюмашинуэксплойт, чтобыдобыть
Пароль на GRUB
ДляустановкипаролянаGRUBнеобходимосделатьдвевещи:
1.Запуститькоманду/sbin/grubинабратьвееинтерактивнойоболочке командуmd5crypt.Послеэтогопрограммазапроситпарольивыведет наэкранегоmd5-хеш.
2.Открытьфайл/boot/grub/grub.confидобавитьвнегоопцию
«password--md5хеш-пароля».
Tiger — анализатор локальной безопасности
Tiger—этопакет,состоящийизколлекцииshell-скриптов,бинарных файловифайловданных,используемыйдляпоискапроблембезопас- ностиUNIX-систем.Онпроизводитсканированиеконфигурационных файлов,файловыхсистем,конфигурационныхфайловпользователя игенерируетотчеты.ВсвоейработеиспользуетchkrootkitиJohnthe ripper.
Zeppoo — поиск руткитов на уровне ядра
ZeppooпозволяетнайтиLinuxруткиты,скрытыепроцессыисетевые соединения,новыесистемныевызовыимногоедругое,используя прямойдоступкпамятиядраспомощьюфайлов/dev/kmemи/dev/ mem.Исходныйкоддоступеннасайтепроекта:http://sourceforge.net/ projects/zeppoo.
праваroot'ачерезлокальныедырывбезопасности. Нотаккакего правасильноограничены, онсможетиспользоватьвсегонесколько местдлязаливкивредоносногокода: общедоступныйкаталог/tmp иприватныйкаталогвзломанногосервиса(например, корневой каталогвеб-сервераилиFTP-сервера). Защититьсядовольнопросто, достаточновынестиэтикаталогинаотдельныеразделыиподключить сопциямиnoexec (адляверностииnosuid,nodev). Например:
/dev/sda5 /tmp ext2 nosuid,noexec,nodev 0 0
Таквзломщикнесможетвыполнитьсвойэксплойтвуказанном каталоге. Ноневсетакпросто— знающийчеловекзапуститпрограммуспомощьюдинамическоголинковщикаилегкообойдетданное ограничение:
$ /lib/ld-linux.so.2 /tmp/exploit
Ксожалению, встандартномядреLinux защитыотданноговидаатак нет, ноонаестьвпатчеRSBAC (www.rsbac.org), которыйвлюбом случаерекомендуетсякустановке.
3. Есликаким-либообразомвзломщикуудастсяобойтипроблему запускаэксплойта, онсможетнаправитьегодействиевсеговдве стороны: ядроОСилипрограммы, имеющиеSUID-бит. Толькоэтидва компонентаОСмогутдатьемузаветныйroot-доступ. Ноеслисядром всеясно(уязвимостьлибоесть, либоеенет), тосSUID-софтомвсене- многосложнее. Дажеесливоднойизнихбудетнайденауязвимость, взломаможнолегкоизбежать, простоснявSUID-битспрограммы. ДляэтогополучисписокSUID-софтаспомощьюfind:
$ sudo find / -type f \( -perm -04000 -o \ -perm -02000 \) \-exec ls {} \;
Азатемлишинекоторыеизпрограммпривилегийисполненияс правамиroot:
$ sudo chmod a-s /путь/к/бинарнику
Будьосторожным— оставивбезправважныесистемныепрограммы, тыможешьобрушитьвсюсистему. Каквсегда, man впомощь.
4. Одинизспособовпроползтивсистемунаходитсявобластичеловеческойбезалаберности. Чтобызаставитьпрочитатьсвоиданные какие-либоважныесистемныеутилитыитакимобразомпривести ихвжелаемоесостояние, взломщикможетнайтиоткрытыедля всеобщейзаписифайлыивставитьвнихкакой-либокод(например, добавитьвопциисетевогосервисавозможностьвходабезпароля
094 |
XÀÊÅÐ 10 /141/ 10 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Выводrkhunter болееприятенглазу…
илизаписатьвфайлкод, которыйсорветстекутилите, прочитавшей ее). Чтобыизбежатьтакойситуации, достаточнонайтивсеобщедоступныефайлыиснятьбитзаписидлявсех:
#find /dir -xdev -type d \( -perm -0002 -a \
!-perm -1000 \) -print
5.Потерпевфиасковборьбезаправасуперпользователя, взломщик попытаетсяразнюхатьпобольшеинформацииосистемеиутащить важныеданные. Впервуюочередьэтокасаетсяданныхвзломанногосервиса, например, файлов, выложенныхнаFTP-сервер, или страницывеб-сайта. Фактическизащититьсяотэтогоможнотолько вовремяраспознаватакуизапретиввсеподключенияспомощью файера(либопростовытащивкабельизсетевойкарты). Второе— это данныеосамомсервере, маршрутизация, ближайшиемашиныит.д. Обычноихтоженевозможноскрытьбезнарушенияработоспособностисистемы. Третье— личныеданныепользователей. Вбольшинстведистрибутивовфайлы, создаваемыевдомашнемкаталоге пользователя, остаютсявидимымивсемподряд(маска022), поэтому даженеимеякаких-либосерьезныхправвсистеме, взломщиксможетихпрочитать(кромеархиважныхфайловспаролямиразличных программ, которыеприсозданиизащищаютфайлотпосторонних). В борьбесэтимпоможетоднакоротенькаястрочка, записаннаявфайл
~/.profile:
umask 077
Теперьвсевновьсоздаваемыефайлыпользователябудутзащищены отпостороннихглаз.
Вообще, по-настоящемубезопаснаядомашняямашинанедолжна иметьнасвоембортуникакихсетевыхсервисов, кромесовсемважныхинеобходимых(OpenSSH, например), аеслиужприпретвыложитьвлокальнуюсетьсвойфайловыйархивилисайт, воспользуйся системойвиртуализацииуровняОС, такойкакFreeBSD Jail илиLinux VServer (обеониужебылиподробноописанынастраницахжурнала). Кромесетевыхсервисовнеисключенавозможностьподцепить заразупрямочерездыруввеб-браузереиликаком-нибудьpidgin. Еслитакоепроизойдет— пишипропало. Взломщикунесетвсе, включаяпароли, сохраненныебраузером, личнуюперепискуивсю прочуюконфиденциальщину(ометодахполученияroot вэтомслучае явообщемолчу, ихсотни). Дажееслитвоипаролибудутзашифрованы, никтонепомешаетхацкеруунестивсенастройкитогожеFirefox, положитьихнасвоюмашинуиброузитьинтернетоттвоегоимени.
Кромеобычныхпроверок, rkhunter такжеищетизвестныеруткиты
Единственное, чтоможнопорекомендоватьдлязащитыоттакой ситуации— хранитьвсеконфиденциальныеданныенавиртуальном разделеиподключатьегоксистеметолькопомеренеобходимости (полноешифрование/home неспасет, потомучтовзломщикокажется наужерасшифрованномразделе).
ХорошейидеейбудетустановкамодуляLinux-ядраYama (http://lkml. org/lkml/2010/6/23/25), созданногоразработчикамиизCanonical. Yama поумолчаниювключенвдистрибутивUbuntu ипозволяет защититьсистемуотнекоторыхвидовлокальныхатак:
•Атакачерезподстановкусимвольнойссылкивобщедоступном каталоге. Некоторыеприложениясоздаютвовремясвоейработы символьныессылки, вкаталоге/tmp или/var/tmp. Внекоторыхситуацияхвзломщикможетподменитьэтуссылку, заставивпрограмму обратитьсякподдельномуфайлу. ПослеустановкиYama следовать поссылкам, созданнымвтакихкаталогах, можнобудеттольковтом случае, еслиUID процесса, открывающегоссылку, иUID владельца ссылкисовпадают.
•Атакасиспользованиемжесткихссылок. Самопосебесоздание жесткихссылокпользователем, неимеющимдоступкоригинальному файлу, неявляетсяпроблемой, таккакссылкабудетиметьтежеправадоступа. Однакочерезсозданиежесткойссылкивзломщикможет подсунутьисходныйфайлдругомупривилегированномуприложению ираскрытьсодержащиесявнемданные. Yama запрещаетсоздание жесткихссылокпользователям, неимеющимдоступакоригинальномуфайлу.
•Атакасиспользованиемсистемноговызоваptrace. Поумолчаниюлюбойпроцессможетвыполнитьотладкудругогопроцесса
спомощьюptrace, еслиUID отлаживаемогопроцессаравенUID, вызвавшегоptrace. Этоможетпривестиктому, чтопривзломе одногоизпользовательскихприложенийвзломщиксможетраскрыть состояниеиконфиденциальнуюинформациюдругогоприложения этогопользователя. Yama разрешаетиспользоватьсистемныйвызов ptrace толькодляотладкипроцессов-потомков.
ИСТРЕБЛЯЕМНЕЧИСТЬ
Чтож, мызащитилисистемуснаружиивнутри, нокакобезопасить себявтомслучае, есливсеэтонепоможет, ивзломщиктакипроникнетвсистему? Попробуемразобраться.
Дажемало-мальскиобразованныйхацкерпрекраснопонимает, чточерезужеиспользованнуюдырувбезопасностионнесможет ходитьвечно(еслиэтоужеопубликованнаяуязвимость, ееисправят буквальночерезчас-два, итыполучишьзаплаткуввидебаг-фикс
XÀÊÅÐ 10 /141/ 10 |
095 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
|
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|
|||
w Click |
to |
|
|
|
|
|
UNIXOID |
||||
|
|
|
|
|
|
m |
|||||
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
|||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
Chkrootkit вдействии
обновления, еслижеэтонеизвестнаясообществудыра, информация онейраноилипоздновсплывет), поэтому, скореевсего, онпопытаетсяустановитьвсистемубэкдор, которыйпозволитбезвсякихпроблем ходитьнатвоюмашину, илибота, рассылающегоспам.
Бэкдоры, трояны, ботыивсеостальные«нелегалы» могутбытькак совсемпростыми, такивесьмаизощренными, выполненнымиввиде отдельнойпрограммы/скрипта, внедреннымивлегальныепрограммыилижеподключеннымикядруспомощьюмодуля. Однакоэто неимеетникакогозначения, потомукаклюбойнелегалможетбыть отловленчерезанализсистемынамодификации(никакойкодне можетбытьвнедренвОСналюбомуровнебезмодификацииокруженияисполнения). Аглавное, чтотакойанализлегкопровестичерез заблаговременнуюустановкуспециальныхсистем, называемыхHIDS (Локальныесистемыобнаружениявторжений).
ОднаизсамыхпопулярныхHIDS, доступныхвUNIX-системах, носит имяTripwire, однаковпоследнеевремяонапотеряласвоипозициив пользуболееоткрытогоаналогаподназваниемAIDE (Advanced Intrusion Detection Environment — продвинутаясистемаобнаружениявторжений). КакиTripwire, AIDE основананапростомпредположении: если какие-тофайлывсистемеизменилисьбезпредупреждения— значит, произошловторжение. Наделеэтовыглядитещепроще: припервом запускеAIDE создаетбазусконтрольнымисуммамивсехскольконибудьзначимыхдлявзломщикасистемныхфайловипериодически сверяетеесостояниесактуальнымсостояниемсистемы. Есличто-то изменилось, напредварительноуказанныйe-mail отправляетсяписьмо спредупреждениемидеталямиизменения.
AIDE доступнаввидепрекомпилированныхпакетовдлялюбогодистрибутиваиможетбытьустановленаспомощьюстандартногопакетного менеджера:
$ sudo apt-get install aide
КонфигурацияAIDE располагаетсявдвухконфигурационныхфайлах:
*/etc/default/aide — главный конфигурационный файл
*/etc/aide/aide.conf — правила
ПервыйхранитосновнуюконфигурациюAIDE иобычнодаженетребует правки. Единственнаяопция, которуюимеетсмыслизменять, носитимя MAILTO исодержитадресэлектроннойпочты, накоторыйбудутотправленывсеотчетыобизмененияхвфайлах(поумолчанию— root). Второй хранитсписокправил, наоснованиикоторыхведетсяанализсостояния системы(правадоступа, контрольныесуммыит.д.) Внемжезадано местохранениябазыданных, хранящейпредыдущеесогласованноесостояниесистемы(/var/lib/aide/aide.db). Популярныедистрибутивыуже
096
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
содержатсписокнеобходимыхправил, которыемогутбытьвынесены вотдельныефайлыкаталога/etc/aide/aide.conf.d, поэтомумынебудем что-либовнихменять.
ЧтобыинициализироватьновуюбазуAIDE, воспользуемсякомандой aideinit:
$ sudo aideinit
Послеокончанияееработывкаталоге/var/lib/aide будетсозданановая базасименемaide.db.new. Чтобысделатьеебазойсогласованного состояниясистемы, произведемпереименование:
$ sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide. db
Послеэтогоможнопроизвестипервуюпроверкусистемы:
$ sudo aide -c /etc/aide/aide.conf --check
ПриустановкеAIDE помещаетсебявсписокзаданийcron, поэтому проверкибудутпроисходитькаждыйдень. Однаконеследуетполностьюполагатьсянасистему. Есливзломщиксможетмодифицировать системныефайлыдляустановкибэкдора, онтакжесможетмодифицироватьисамAIDE, включаябазыданныеибинарныефайлы, поэтому лучшийспособиспользованияAIDE заключаетсявпомещенииее наUSB-флешкуиручномзапускевслучаенеобходимости(незабыв исправитьпутьпоискабазданныхвфайлеaide.conf):
#cp /var/lib/aide/aide.db* /usr/bin/aide \ /etc/aide/aide.conf /etc/aide/aide.conf.d/* /media/
флешка
Конечноже, послекаждогонамеренногоизменениясостояниясистемы (установкапакетов, изменениеконфиговит.д.) базупридетсяпересоздавать. Таковаужрасплатазагарантиюбезопасности.
КромеHIDS общегоназначениядляUNIX-системразработано несколькоутилит, специализирующихсяисключительнонаруткитах. Программыchkrootkit иrkhunter используютбазусигнатурдляпоискаи обнаружениявредоносногоПО(rkhunter такжепроверяетцелостность исполняемыхфайлов, загрузочныхскриптовианализируетсетевыеинтерфейсынапредметпрослушиваемыхпортов). Обычноихиспользуют совместносAIDE длясозданиядополнительногослоябезопасности. Доступнывлюбомдистрибутиве. Использоватьпредельнопросто:
$ sudo chkrootkit
$ sudo rkhunter --check
Наэкранепоявитсяинформацияопроверяемыхбинарниках, файлах доступа, проверкинаизвестныетипыруткитовит.д. Обепрограммы написанынаязыкеshell, поэтомуиспользуютстандартныеутилиты команднойстроки(awk, cat, grep, …) длявыполненияпроверок. Если тынеуверенвцелостностиэтихутилит, поместиихзаведомо«чистые» версиинафлешкуивызывайпрограммыследующимобразом:
$ sudo chkrootkit -p /media/флешка
$ sudo rkhunter --check --bindir /media/флешка
ВЫВОДЫ
При должном терпении организовать действительно прочную защиту домашней машины не так сложно. И я надеюсь, что смог это доказать, даже несмотря на то, что далеко не все из задуманного удалось поместить в статью. В частности, пришлось опустить целый раздел, посвященный аудиту происходящих в системе действий, но это настолько обширная тема, что ей лучше посвятить отдельную статью, и я надеюсь, что в одном из ближайших номеров она будет опубликована.z
XÀÊÅÐ 10 /141/ 10
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Реклама
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
||||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
|
||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
||
P |
|
|
|
|
|
NOW! |
|
o |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
w Click |
to |
BUY |
|
|
|
|
|
|
|
UNIXOID |
|
||||
|
|
|
|
|
|
|
m |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
. |
|
|
|
|
g |
.c |
|
Евгений Зобнин zobnin@gmail.com |
||||||
|
|
p |
|
|
|
|
|
|
|
|
|||||
|
|
|
df |
|
|
n |
e |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Шифруемдискиспомощью LUKS/dm-crypt,TrueCryptиEncFS
Каждыйизнасхранитнажесткомдискеизрядноеколичество конфиденциальнойинформации. Длякого-тоэтовсеголишьпароли отразличныхсетевыхсервисов, другиеответственнызахранение
важнойдокументации, третьиуженепервыйгодзанимаютсяразработкой инновационнойпрограммы. Влюбомслучае, данныенеобходимоберечь отпосторонних, чтовнашеммобильноммиресделатьдовольно проблематичнобезиспользованиясистемшифрования.
ВзглянувнасписокшифрующегоПОдляLinux
ипроанализировавстепеньпопулярности
иактуальностикаждогоизних, мыпридемк выводу, чтоестьтолькочетыребезопасныеи поддерживаемыекриптосистемыдляшифрованияжесткихдисковидругихносителей информацииналету:
1.loop-aes (http://loop-aes.sourceforge.net) —
модификациястандартногоLinux-драйвера loop.ko, котораянетолькоподключаетустройст- ваиобразывloopback-режиме, ноипозволяет производитьихшифрованиеналету.
2.LUKS/dm-crypt — системашифрования, основаннаянастандартнойподсистемешиф- рованияLinux-ядраподназваниемdm-crypt и следующаярекомендациямTKS1/TKS2.
3.TrueCrypt — кроссплатформеннаясистема
шифрованияжесткихдисковиобразовсграфическиминтерфейсом.
4. EncFS — файловаясистемауровняпользователя, выполняющаяшифрованиеданныхна уровнефайлов, апотомуспособнаяработать поверхлюбойФС.
Каждаяизэтихсистемимеетсвоипреимуществаинедостатки, поэтомуспорыотом, что именноиспользовать, непрекращаютсядосих пор. Драйверloop-aes отличаетсяпростотой реализации, непревзойденнойпроизводительностьюистойкостьюквзлому, однакометод егоустановкинастольконетривиален, что можетотпугнутьдажепродвинутыхпользова- телей(мынебудемрассматриватьloop-aes, емубылапосвященацелаястатьяводномиз предыдущихномеров). LUKS/dm-crypt, сдругой
стороны, опираетсянастандартнуюподсистему шифрованияносителей, появившуюсяещев ядреверсии2.5 иподдерживающуюдесятки различныхкриптоалгоритмов. LUKS/dm-crypt доступенвлюбойLinux-системе, но, вотличие отloop-aes, досихпорстрадаетотнекоторых неисправленныхпроблемименеепроизводителен. TrueCrypt, пришедшийвLinux измира
Windows-систем, медленнееLUKS/dm-crypt,
но, вотличиеотпоследнего, предоставляет по-настоящемукроссплатформенноереше- ние(томаTrueCrypt могутбытьпрочитаныв Windows иMac OS X), обладаетвстроенным графическиминтерфейсомипозволяетсоздаватьтакназываемыескрытыетома(невидимые зашифрованныетомавнутризашифрованных томов). EncFS — самоемедленное, наиболее
098 |
XÀÊÅÐ 10 /141/ 10 |