Журнал LinuxFormat - перейти на главную

LXF157:Безо­пас­ность. Ав­то­ма­ти­че­ский вход

Материал из Linuxformat
Перейти к: навигация, поиск


Безо­пас­ность

Кло­ни­руй­те до­маш­нюю ди­рек­то­рию при ка­ж­дом вхо­де

Ав­то­ма­ти­че­ский вход

Как обес­пе­чить ав­то­ма­ти­че­ский вход в сис­те­му при за­груз­ке ком­пь­ю­те­ра, не ос­ла­бив его безо­пас­ность? Нейл Бот­вик зна­ет от­вет.

Наш эксперт

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

Боль­шин­ст­во ди­ст­ри­бу­ти­вов и сред ра­бо­че­го сто­ла пре­достав­ля­ют сред­ст­ва для ав­то­ма­ти­че­­ско­­го вхо­да в сис­те­му от имени ука­зан­но­го поль­зо­ва­те­ля при за­груз­ке ком­пь­ю­те­ра. Это доста­точ­но безо­пас­но, ес­ли ком­пь­ю­тер на­хо­дит­ся в безо­пас­ном мес­те – на­при­мер, у вас до­ма; но не так уж и по­лез­но, ес­ли к нему мо­жет по­дой­ти кто угод­но. Од­на­ко ес­ли вы хо­ти­те на­стро­ить ком­пь­ю­тер для об­ще­го поль­зо­вания, ав­то­ма­ти­че­­ский вход в сис­те­му – имен­но то, что вам нуж­но. Как его пре­доста­вить и при этом не дать слу­чай­но­му про­хо­же­му с чуть бо­лее чем обыч­ным знанием Linux шанса зло­умыш­лен­но­го ис­поль­зо­вания сис­те­мы?

Один из ва­ри­ан­тов – очи­щать и пе­ре­за­гру­зить до­маш­нюю ди­рек­то­рию при пе­ре­за­груз­ке, пе­ре­за­гру­жая при необ­хо­ди­мо­сти ком­пь­ю­тер по­сле ка­ж­до­го поль­зо­ва­те­ля; имен­но так пред­ло­жил нам ре­шить эту про­бле­му один из уча­стников на­ше­го фо­ру­ма. Вот что вам на­до сде­лать: соз­дать две учет­ных за­пи­си поль­зо­ва­те­ля, на­стро­ить пер­вую по сво­ему усмот­рению, а вто­рую от­дать поль­зо­ва­те­лю с ав­то­ма­ти­че­­ским вхо­дом в сис­те­му. За­тем за­пусти­те из /etc/rc.local (или его эк­ви­ва­лен­та в ва­шем ди­ст­ри­бу­ти­ве) скрипт

#!/bin/sh
rsync -a --delete /home/default/ /home/user/
chown -R user: /home/user

Ес­ли ваш ком­пь­ю­тер ис­поль­зу­ет sudo, не соз­да­вай­те сво­его пер­во­го поль­зо­ва­те­ля как guest: тогда он по­лу­чит пра­ва sudo, ко­то­рые от­нюдь не сле­ду­ет да­вать слу­чай­ным лю­дям. При та­ком под­хо­де сра­зу возника­ет ряд во­про­сов по обес­пе­чению безо­пас­но­сти сис­те­мы. Вам не нуж­но, что­бы поль­зо­ва­тель мог вый­ти из сис­те­мы: это предоставит ему по­пы­тку вой­ти сно­ва от имени дру­го­го поль­зо­ва­те­ля. Вы так­же долж­ны по­за­бо­тить­ся, что­бы вый­ти из ра­бо­че­го сто­ла нель­зя бы­ло ни по Ctrl+Alt+F1, ни по Ctrl+Alt+Backspace. И еще на­до ог­раничить для это­го поль­зо­ва­те­ля оп­ции ме­ню – в ча­ст­но­сти, ника­ких ему ад­минист­ра­тив­ных функ­ций.

Од­на­ко есть еще один, зна­ко­мый вам под­ход: ис­поль­зо­вать для сис­те­мы сре­ду live CD. Она бу­дет де­лать то, что вам нуж­но, по умол­чанию, и ав­то­ма­ти­че­­ски пускать поль­зо­ва­те­ля на ра­бо­чий стол со стан­дарт­ным на­бо­ром на­стро­ек по умол­чанию. Вам нуж­но толь­ко под­пра­вить эти на­строй­ки (на­чать хо­ро­шо бы с уда­ления оп­ции уста­нов­ки сис­те­мы на же­ст­кий диск) и пе­ре­ком­пи­ли­ро­вать ваш CD.

В этом пунк­те вы мо­же­те за­бес­по­ко­ить­ся по по­во­ду ис­поль­зо­вания CD. Ес­ли ком­пь­ю­тер мож­но за­гру­зить с CD, что по­ме­ша­ет зло­дею под­менить CD и за­гру­жать­ся с че­го-то по­на­хальнее? Оп­ти­че­­ские но­си­те­ли так­же ог­раничи­ва­ют про­из­во­ди­тель­ность. Ес­ли вам слу­ча­лось ис­поль­зо­вать live CD, вы знае­те, на­сколь­ко он мед­леннее сис­те­мы на же­ст­ком дис­ке, в ча­ст­но­сти, при за­груз­ке.

С обеи­ми про­бле­ма­ми спра­вить­ся лег­ко. На Live CD на­хо­дят­ся все­го три фай­ла: яд­ро, на­чаль­ный ramdisk и об­раз корневой фай­ло­вой сис­те­мы root filesystem (и, конеч­но, bootloader, что­бы все это за­гру­зить). Ни­где не ­сказа­но, что эти фай­лы обя­за­ны жить на CD или DVD: они с тем же успе­хом мо­гут сидеть и на же­ст­ком дис­ке. Это сде­ла­ет сис­те­му безо­пас­ной, по­сколь­ку root filesystem пред­на­зна­че­на толь­ко для чтения [read-only], поч­ти та­кой же бы­ст­рой, как стан­дарт­ная уста­нов­ка на же­ст­кий диск, и при пе­ре­за­груз­ке все на­строй­ки бу­дут сбра­сы­вать­ся в зна­чения по умол­чанию.

Как же соз­дать та­кую сис­те­му? Пер­вый шаг – уста­но­вить ваш лю­би­мый ди­ст­ри­бу­тив на же­ст­кий диск. Не обя­за­тель­но де­лать это на том ком­пь­ю­те­ре, где бу­дет ра­бо­тать окон­ча­тель­ная сис­те­ма. Мы для это­го уп­ражнения ис­поль­зо­ва­ли Mint 12, от­час­ти по­то­му, что это – от­лич­ный ди­ст­ри­бу­тив, а от­час­ти по­то­му, что нас по­про­си­ли об этом на фо­ру­ме.

Пер­вый шаг – уста­но­вить Remastersys, сна­ча­ла до­ба­вив его ис­ходник в ре­по­зи­то­рии ко­ман­дой в тер­ми­на­ле

echo “deb http://www.geekconnection.org/remastersys/repository lucid/” | sudo tee -a /etc/apt/sources.list.d/remastersys.list

За­тем вы смо­же­те уста­но­вить про­грам­му че­рез Synaptic. Вы уви­ди­те пре­ду­пре­ж­дение, что про­грам­ма не мо­жет быть ау­тен­ти­фи­ци­ро­ва­на. Это нор­маль­но, по­то­му что вы не до­ба­ви­ли в ре­по­зи­то­рий ключ GPG. Ме­ж­ду про­чим, мы ис­поль­зо­ва­ли Remastersys для соз­дания вер­сии Ubuntu 11.10 с Gnome 3 на LXFDVD155. Ес­ли у вас не Debian-по­доб­ный ди­ст­ри­бу­тив, па­ке­ты и ис­ходник име­ют­ся на http://www.geekconnection.org/remastersys.

Сле­дую­щий шаг – долж­ная на­строй­ка сис­те­мы. Соз­дай­те от­дель­но­го поль­зо­ва­те­ля для ав­то­ма­ти­че­­ско­­го вхо­да в сис­те­му:

sudo useradd -m kiosk

sudo passwd kiosk

Вой­ди­те в сис­те­му от имени это­го поль­зо­ва­те­ля и на­строй­те ра­бо­чий стол. Эти на­строй­ки бу­дут при­менены в фи­наль­ном об­ра­зе. Те­перь от­ре­дак­ти­руй­те /etc/lightdm/lightdm.conf, уста­но­ви­те autologin-guest в true и за­ком­мен­ти­руй­те запись auto-login-user. Эти дей­ст­вия вы­зо­вут за­груз­ку для поль­зо­ва­те­ля guest пря­мо на ра­бо­чий стол, с уста­нов­ка­ми, унас­ле­до­ван­ны­ми от /etc/skel, и чис­той до­машней ди­рек­то­ри­ей. Нам нуж­но под­пра­вить на­строй­ки bootloader, что­бы никто не смог пе­ре­хит­рить ва­шу сис­те­му безо­пас­но­сти, на­при­мер, за­гру­зив­шись в ре­жи­ме Single User. От­ре­дак­ти­руй­те /etc/grub.d/40_custom, до­ба­вив две стро­ки:

set superusers=”fred”

password fred barney

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

--users username

в их раз­де­лы menuentry. Воз­мож­но, вы так­же за­хо­ти­те от­ре­дак­ти­ро­вать /etc/default/grub, умень­шив ве­ли­чи­ны GRUB_HIDDEN_TIMEOUT и GRUB_TIMEOUT – па­ры се­кунд вполне хва­тит. За­тем за­пусти­те update-grub, что­бы при­менить но­вые уста­нов­ки.

За­пуск Remastersys

Те­перь за­пусти­те Remastersys че­рез ме­ню Applications > Other или remastersys-gtk из тер­ми­на­ла. Вы мо­же­те на­стро­ить неко­то­рые оп­ции во вклад­ке Settings; обыч­но на­строй­ки по умол­чанию вполне нор­маль­ные, но мож­но от­клю­чить оп­цию раз­ме­щения знач­ка уста­нов­ки на ра­бо­чем сто­ле или вклю­чить спи­сок раз­де­лен­ных про­бе­лом фай­лов, ко­то­рые вы хо­ти­те уб­рать из фи­наль­но­го об­раза. Воз­мож­но, вы ре­ши­те ис­клю­чить та­кие ве­щи, как Synaptic,или ка­кие-то про­грам­мы тер­ми­на­ла.

Во вклад­ке Action вы­бе­ри­те поль­зо­ва­те­ля, ко­то­ро­го вы на­страи­вае­те, kiosk, как опи­са­но вы­ше, что­бы применились его на­строй­ки, за­тем щелкните по Distcdfs, ко­то­рый соз­да­ет фай­лы live CD, но не пи­шет их в файл ISO. Же­лая про­ве­рить за­пуск в вир­ту­аль­ной ма­шине, то­же ис­поль­зуй­те оп­цию Dist для соз­дания ISO.

Те­перь у вас есть ра­бо­чий live CD, ав­то­ма­ти­че­­ски пе­ре­на­страи­ваю­щий все при пе­ре­за­груз­ке, не да­вая поль­зо­ва­те­лю на­вре­дить сис­те­ме; за­ста­вим его за­гру­жать­ся с же­ст­ко­го дис­ка. Луч­ше ис­поль­зо­вать для это­го от­дель­ный диск – боль­шой объ­ем тут не тре­бу­ет­ся. На­строй­те раз­дел, и, воз­мож­но, неболь­шой раз­дел под­кач­ки swap, и уста­но­ви­те на диск Grub ко­ман­да­ми

mkdir -p /mnt/kiosk/boot/grub

grub-install --boot-directory=/mnt/kiosk/boot

пред­по­ла­гая, что вы под­мон­ти­ро­ва­ли раз­дел root на /mnt/kiosk. Remastersys со­хранил фай­лы CD в /home/remastersys/remastersys/ISOTMP. Ско­пи­руй­те или пе­ре­мес­ти­те ди­рек­то­рию casper от­сю­да в /mnt/kiosk и до­бавь­те в /etc/grub.d/40_custom, по­сле строк па­ро­ля

Шаг за ша­гом

1 До­ба­вим ре­по­зи­то­рий. Remastersys нет в стан­дарт­ных ре­по­зи­то­ри­ях Ubuntu или Debian, вам нуж­но до­ба­вить его запись в спи­сок ис­ходников.

2 Ус­та­но­вим Remastersys. До­ба­вив ре­по­зи­то­рий, уста­но­вите Remastersys через Synaptic или apt-get, как лю­бую дру­гую про­грам­му.

3 Вы­бе­рем поль­зо­ва­те­ля. Вы­бор поль­зо­ва­те­ля бу­дет оз­на­чать, что по умол­чанию бу­дет ис­поль­зо­ва­на до­маш­няя ди­рек­то­рия это­го поль­зо­ва­те­ля, по­зво­ляя вам ин­ди­ви­ду­аль­но на­стро­ить на­чаль­ный ра­бо­чий стол.

4 На­стро­им ряд оп­ций. От­клю­чи­те оп­цию ото­бра­жения знач­ка уста­нов­ки на ра­бо­чем сто­ле в Remastersys. Так­же мо­же­те пе­ре­чис­лить те про­грам­мы, ко­то­рые вы не хо­ти­те вклю­чать.

5 Соз­да­дим фай­лы. Оп­ция Distcdfs соз­да­ет фай­лы, ко­то­рые идут на CD без соз­дания ISO-об­раза. Ис­поль­зуй­те Dist, ес­ли хо­ти­те про­тес­ти­ро­вать за­груз­ку с CD.

6 Вот и все! В ре­зуль­та­те за­гру­жа­ет­ся го­то­вая сис­те­ма. На­строй­ки ра­бо­че­го сто­ла со­от­вет­ст­ву­ют поль­зо­ва­те­лю киоска, да­же ес­ли вы вой­де­те в сис­те­му как guest.

menuentry “Kiosk” {

set root=’(hd0,msdos1)’

linux /casper/vmlinuz boot=casper quiet splash --

initrd /casper/initrd.gz

}

На­строй­ки root здесь для пер­во­го раз­де­ла на пер­вом дис­ке – ука­жи­те их в со­от­вет­ст­вии со сво­ей рас­клад­кой. Здесь взяты те же оп­ции, что и в фай­ле isolinux.cfg для CD. До­бавь­те это в /etc/default/grub – но­вая запись ста­нет па­ра­мет­ром по умол­чанию.

GRUB_DEFAULT=”Kiosk”

grub-mkconfig -o /mnt/kiosk/boot/grub/grub.cfg

пи­шет файл ме­ню Grub в нуж­ное ме­сто на же­ст­ком дис­ке (update-grub – это про­сто скрипт, ко­то­рый за­пуска­ет grub-mkconfig). Те­перь уда­ли­те в /mnt/boot/grub/grub.cfg раз­дел 10_linux и стро­ку, на­чи­наю­щую­ся с

search --no-floppy --fs-uuid --set=root

Пе­ре­за­гру­зи­тесь с это­го дис­ка, что­бы за­пустить свою за­щи­щен­ную от вторжения уста­нов­ку для киоска. Зайди­те так­же в на­строй­ки BIOS, что­бы от­клю­чить за­груз­ку с USB или оп­ти­че­­ских дис­ков и за­дать па­роль для дальней­ше­й правки на­стро­ек BIOS. |

Персональные инструменты
купить
подписаться
Яндекс.Метрика