Про безпечність іксів

Jun 21, 2011 12:10

Рутковська про сек’юрність X Window

Я давно підозрював, що набирати рутівський пароль в іксах - не найкраща ідея, але все одно був шокований тим, наскільки легко він ловиться. Достатньо додати від імені поточного юзера в автозапуск простенький скрипт із логуванням натиснень клавіш - і рутівський пароль буде в логу, включно з усіма діями рута в терміналі, запущеному в тій же X-сесії. gksu і kdesu рятують тільки під час введення, звичайне su абсолютно прозоре для іксів.

Як ми докотились до такого життя. Ікси на етапі проектування планувалось використовувати так, як зараз ми користуємось десктопними програмами: потрібно - запустили (скажімо, як startx `which opera` -- `which X` :1) і користуємось однією програмою, закриваємо програму - закриваємо X-сесію. Ідея Window manager внесла повну плутанину в цю концепцію, віднині запуск іксів став запуском window manager'a, в якому всі програми знають про всі дії введення/виводу в усіх інших програмах у цій сесії, навіть незалежно від unix-користувача. Просто дивовижний ляп, враховуючи, що однією з перших же програм для X Window був xterm, в якому будь-хто може набрати su, але наприкінці вісімдесятих навіть про захист доступу по мережі мало хто думав.

З цієї ж ідеології походить і те, що kill X зносить усе немаленьке дерево запущених програм, це логічно, але мені завжди здавалось неправильним, що стільки важливих і дуже важковагових програм можна знести такою командою, тут очевидно наявний архітектурний перекос.

Висновок: усі красивості, справді сучасні і потужні графічні середовища, якими є KDE/Gnome, у своєму фундаменті мають фундаментальний костиль - X Window. Не робіть операцій, що виходять за рамки привілегій поточного користувача, у них (gksu рятує тільки від читання самого пароля), гаразд що фреймбуфер і screen(1) роблять перебування в терміналі відносно комфортним.

linux, несхвальне, infosec

Previous post Next post
Up