Posts Tagged ‘kompiuterija’

Buriam Apačės naudotojo autentikaciją per SSL

Tuesday, November 28th, 2006

Kai esi vienintelis kompiuteristas kompanijoje, tenka ne tik programuot ar projektuot, bet ir paadministratoriaut. Specifinės programinės įrangos derinimas, diegimas ir konfigūravimas dažniausiai būna daug skausmingesnis nei tikiesi prieš pradėdamas darbą. Todėl labai naudinga dokumentuot savo žingsnius, kad palengvintum ateities užduočių atlikimą. Šito įrašo tikslas — atmintinė sau ir kitam, kaip nustatyti Apache serverio naudotojo autentikaciją per SSL.

Šiuo metu dažniausiai naudojamas žiniatinklio serveris Apache turi modulį apsaugoti katalogo turinį nuo pašalinių akių. Tai naudotojo autentikacijos modulis mod_auth. Kai internautas suveda puslapio adresą, kuris reikalauja autentikacijos, naršyklė atidaro jam dialogo langą, prašantį įvesti naudotojo vardą ir slaptažodį. Kitas būdas patekti į autentikacijos reikalaujantį puslapį yra naudotojo vardą ir slaptažodį, atskirtus dvitaškiu, bei su internetine eta gale, įrašyti į adreso eilutę tarp protokolo ir domeno vardo:

protokolas://naudotojas:slaptazodis@www.domenas.com/ka↵
talogas/failas.pletinys

Lankytojui įvedus teisingus prisijungimo duomenis, jam parodomas adresuotas informacinis puslapis, kuris gali būti tiek paprastas dokumentas (html, txt, pdf), tiek skripto (php, perl, python) sugeneruotas turinys, tiek parsiųstinas vykdomasis failas, tiek kitas biesas.

Reikia paminėti, kad naudotojo vardą ir slaptažodį, atskirtus dvitaškiu, naršyklė prieš siųsdama į serverį, užkoduoja base64 algoritmu, kuris serveryje atkoduojamas į grynąjį tekstą ir sulyginamas su užregistruotom prisijungimo sąskaitom. Deja gan lengvai naudotojo vardas ir slaptažodis gali būti nuskaitytas ir atsikoduotas tau nežinant kažkur pakelėj link serverio. Dėl šios priežasties saugumo vardan kartu su naudotojo autentikacija naudinga naudot SSL.

Kas yra SSL? Tai papildomas kompiuterių tinklo sluoksnis, užtikrinantis, kad persiunčiami duomenys bus užkoduoti ir tarpinės grandys, kaip DNS (domenų vardų serverių) administratoriai, negalės jų tiesiogiai perskaityti. Kaskart kai jungiamės prie internetinių banko sąskaitų ar kitų ypatingo saugumo reikalaujančių svetainių, dažniausiai suvedame “https://”, kur “s” nurodo saugų SSL jungimąsi, kurio perduodamo turinio smalsieji hakeriai nesupras. Komunikacijos saugumo sluoksnį įgyvendina Apačės modulis mod_ssl.

Jeigu abu moduliai jau yra Apache/modules kataloge, tuomet gali džiaugtis ir varom toliau. Priešingu atveju dar teks gerokai paprakaituot, kol juos susikompiliuosi.

Toliau užtikrink, kad moduliai mod_auth ir mod_ssl pakraunami kartu su Apache. Apache/conf/httpd.conf faile turi būti įrašytos (ir neužkomentuotos “#” ženklu) šios eilutės:


LoadModule auth_module modules/mod_auth.so
LoadModule ssl_module modules/mod_ssl.so

Jei serveryje naudoji PHP, gali pasitikrint, ar moduliai tikrai pasikrovė testinio failo su phpinfo(); funkcija išvesty susiradęs “mod_auth” ir “mod_ssl” prie “Loaded Modules” skilties.

Apache/conf/httpd.conf faile taip pat turi būti SSL konfigūracijos įterpimas:


<IfModule mod_ssl.c>
    Include conf/ssl.conf
</IfModule>

Faile Apache/conf/ssl.conf reiktų standartiškai patalpint Alias ir Directory, arba Location, arba VirtualHost direktyvas. Detalių pasieškok kitur, nes pačiam dažniausiai tenka naudoti gudrią serverio administravimo programą, valdomą per naršyklę, kas leidžia kai kurias užduotis atlikti greičiau ir per daug nesigilinant į konfigūracines smulkmenas.

Norėsim nustatyti skirtingas naudotojų teises skirtingiems katalogams, o ne visam domenui. Todėl autentikacijos nustatymus rašysim į .htaccess failus atitinkamuose kataloguose, o ne į bendrą Apache/conf/httpd.conf nustatymų failą (ir ne į jo įtraukiamus konfigūracijos failus, kaip kad conf/ssl.conf). Taigi mums dar reikės aktyvuoti .htaccess failų dalyvavimą konfigūracijoje. Tai padaroma Apache/conf/ssl.conf nurodant

AllowOverride AuthConfig

arba, jei nori pasišvaistyti kompo atmintimi ir savo administravimo laisve:

AllowOverride all

Toliau naudotojo autentikacijos nustatymas. Jis susideda iš dviejų dalių: naudotojo sąskaitos sukūrimo ir katalogo teisių priskyrimo sukurtam naudotojui. Naudojų sąskaitos specialia komanda (pagalbine programa) htpasswd, sukuriamos administratoriaus pasirinktame faile, kuris privalo būti nepasiekiamas per žiniatinklį. Tarkim, naudotojus surašysim Apache/users/naudotojai. Rašom:

htpasswd -c /kelias/iki/Apache/users/naudotojai jonukas

Mūsų paklaus, kokį slaptažodį norime nustatyti Jonukui, po to paprašys pakartoti. Štai ir Jonuko sąskaita sukurta. Parametras -c komandoje reiškia, kad failas “naudotojai” dar neegzistuoja ir jį reikia sukurti. Kitų naudotojų sąskaitas sukuriame analogiškai, tik be parametro -c:


htpasswd /kelias/iki/Apache/users/naudotojai petriukas
htpasswd /kelias/iki/Apache/users/naudotojai maryte
htpasswd /kelias/iki/Apache/users/naudotojai onute

Jei atidarytume sąskaitų failą “naudotojai”, pamatytume skirtingose eilutėse išsaugotas naudotojų vardų ir md5 algortimu užkoduotų slaptažodžių poras, maždaug taip:


jonukas:p0wTkpxYnO/9YZYfTlAM..
petriukas:skfow[9kp25ppxa33goz
maryte:h7gmtUxbG.4w3QKkCzCBs0
onute:IsLgWauXXnx9BYTT0Mchm1

Kas nežino, md5 algoritmas koduoja tik į vieną pusę — užkoduoto slaptažodžio atkoduoti praktiškai nebeįmanoma. Kai asmuo jungiasi savo naudotojo vardu bei slaptažodžiu prie apsaugoto katalogo, jo slaptažodis užkoduojamas ir sulyginamas su esančiu sąskaitų faile. Bet kodėl gi tuomet naudotojų sąskaitų failą reikia laikyti nuošaliai nuo internautų akių ir pirštų? Gudrieji hakeriai dažniausiai turi duomenų bazes su dažniausiai pasitaikančių slaptažodžių/angliškų žodžių ir jų md5 kodų porom. Jiems tereikia paleisti paiešką, ieškant md5 kodo “IsLgWauXXnx9BYTT0Mchm1″, ir štai vos per kelias sekundes jiems prieš akis Onutės slaptažodis. Taigi būkime budrūs ir gudrūs.

Dabar bandysim nustatyti katalogų teises skirtingiems naudotojams. Tarkim, kad Apačė nustatyta taip, kad Apache/httpsdocs kataloge visi duomenys pasiekiami per SSL. Apache/httpsdocs kataloge susikuriame pakatalogį “slapta”, kuriame kavosim slaptus failus, o jo viduje pakatalogius “tik-mergaitems”, “tik-berniukams” ir “visiems-pabiruciams”. Kataloge Apache/httpsdocs/slapta susikuriame failą .htaccess ir jo viduje parašom:


AuthName "Kas paslepta -- to nerasi"
AuthType Basic
AuthUserFile /kelias/iki/Apache/users/naudotojai
require valid-user

Kas čia kur ir kaip? AuthName apibūdina apribojimų karalystę. Naudotojo vardo ir slaptažodžio reikalaujantis dialogo langas, bandant pasiekti failus iš katalogo “slapta” arba jo pakatalogių, bus pavadintas “Kas paslepta — to nerasi”. AuthType apibūdina autentikacijos tipą. Jų yra du, bet tik “Basic” yra šiuo metu standartizuotas, tai apie kitą gali nė nekvaršint galvos. AuthUserFile nurodo failą, iš kurio nuskaitomos naudotojų sąskaitos. Skirtingiems domenams ir netgi katalogams gali naudoti skirtingus naudotojų sąskaitų failus. Paskutinė eilutė reiškia, kad katalogo turinį gali pasiekti bet kuris naudotojas, užregistruotas naudotojų sąskaitų faile.

Einam toliau. Kataloge Apache/httpsdocs/slapta/tik-berniukams sukuriame failą .htaccess ir jame įrašome:


AuthName "Reikejo berniukams beribio dangaus..."
AuthType Basic
AuthUserFile /kelias/iki/Apache/users/naudotojai
require user jonukas petriukas

Analogiškai kataloge Apache/httpsdocs/slapta/tik-mergaitems sukuriame failą .htaccess ir jame įrašome:


AuthName "Tarp musu mergaiciu (ir Petriuko nepamirskit)"
AuthType Basic
AuthUserFile /kelias/iki/Apache/users/naudotojai
require user maryte onute petriukas

Direktyva require user su toliau išvardintais naudotojų vardais, atskirtais tarpais, nurodo, kas turės teisę pasiekti apriboto priėjimo katalogą.

O kaip su teisių paveldėjimu pakatalogiuose? Į apribojimo karalystę patenka visi pakatalogiai, kurie neturi nurodytos savo karalystės. Pavyzdžiui, Apache/httpsdocs/slapta/visiems-pabiruciams taikomos lygiai tokios pat priėjimo teisės, kaip ir tėvukui Apache/httpsdocs/slapta, t.y. tuose kataloguose esančius failus pasiekia visi prisijungę registruoti naudotojai. Tuo tarpu, katalogo Apache/httpsdocs/slapta/tik-mergaitems ir jo pakatalogių, nors tu ką, neprieina Jonukas (bei, žinoma, neturintys naudotojo sąskaitos); analogiškai katalogo Apache/httpsdocs/slapta/tik-berniukams pornuškės nemato Marytė ir Onutė.

Pats įdomumas prasideda, kai pradedi žaisti su žiniatinklio tarnybom (ach ta lietuvybė – webservisais). Kai socket’ais užmezgi autentikuotą ir apsaugotą prisijungimą, nusiunti klausimų ir gauni atsakymų. Bet tai ne šiam kartui. Beje, nenustebk, kad tavo skirtingi Apačės komponentai (konfigūracija, httpsdocs, moduliai, vykdomieji failai) bus patalpinti skirtinguose failų sistemos kataloguose, nebent naudoji ką nors iš *AMP srities (WAMP, LAMP ir MAMP yra konfigūraciniai paketai interneto svetainių kūrimui konkrečioje operacinėje sistemoje, susidedantys iš Apache žiniatinklio tarnybinės stoties, MySQL duomenų bazės ir PHP programavimo kalbos). Gal visa šita nuobodybė pravers ne tik man? Pastabos ir kritika – prašom!

Pagaliau galiu didžiuotis Yahoo! el. paštu

Sunday, October 8th, 2006

Po daugybės skirtingų asmenų prašymų ir ilgo laukimo, pagaliau Yahoo! išleido naują žiniatinklio pašto programą, kuria galiu skaityti ir rašyti lietuviškus laiškus nesvepluodamas.

Atnaujinta žiniatinklio pašto naudotojo sąsaja daug patogesnė ir mano subjektyviu vertinimu jau lenkia Google žiniatinklio pašto naudotojo sąsają. Išvaizda primena MS Outlook ar Mac OS X Mail. Kasdienį darbą pagreitina AJAX technologijomis paremtas laiškų nutempimas į katalogus, spartieji klavišai pagrindinėms funkcijoms ir daugybė kitų naujų pribumbasų.

Pagaliau galiu didžiuotis, kad turiu Yahoo! el. paštą.

Nuorodų pasiekiamumas spausdiniuose

Friday, May 26th, 2006

Taupydamas laiką, dažnai viešajame transporte skaitau įvairius straipsnius, esė, dokumentacijas ir kitokius tekstus kompiuterinių žaidimų kūrimo temom. Man patogiausia skaityti popierinį atsispausdintą variantą, nes į kompą prisižiūriu ir taip visą dieną. Didžiausia spausdinių problema – nuorodų adresai (URL) atspausdintam lape lieka nematomi. O straipsnių šaltinius ne visada išsisaugau.

Šiai problemai išspręsti pasirašiau bukmarkletą (favletą), kuriuo dalinuos ir su jumis. Jį aktyvavus, visos atversto puslapio nuorodos, kurių pavadinimai nėra žiniatinklio adresai, pasipildo indeksais [URL #X], kur X yra nuorodos numeris; o puslapio apačioje atsiranda sąrašas indeksų su atitinkamais žiniatinklio adresais. Tiesiog imk ir pabandyk.

Išrašom nuorodų sąrašą

Daryk taip: pačiupk pele mygtuką adresų sąrašas ir nutempk į adresyno (bookmarks) juostą. Štai ir turi bukmarkletą. Dabar bet kuriame puslapyje spustelėk virš naujai susikurto bukmarkleto ir puslapis bus pasiruoštas spausdinimui, puslapio apačioje išrašant sąrašą visų adresų.

Ko taip raukaisi? Vis dar naudoji Internet Explorer? Anokia bėda. Virš mygtuko spausk pelės dešinį, išsiskleidusiame meniu pasirink „Add to Favorites“ ir įsidėk mygtuko nuorodą į favoritų Links katalogą. Štai ir turi favletą.

Skanaus.

Laiškas linuksistams

Thursday, April 27th, 2006

Sweiki linuksistai!

Turiu tokį klausimą. Kokią Linux distribuciją patartumėt susidiegti į nešiojamą kompiuterį?

Aidas aka Archatas

Vokietijos pasų padirbinėtojams teks mokytis elektronikos ir programavimo

Wednesday, March 22nd, 2006

Šiandien prieš persiregistruojant į naują gyvenamąją vietą, teko laukti 33 žmonių eilėj. Turėjau daug laisvo laiko, tai besižvalgydamas užtikau pranešimą apie naujuosius ES pasus, kurie saugo biometrinę asmens informaciją.

Jau pusę metų vokiečiams išduodami pasai su specialiais viršelyje įtaisytais lustais, kuriuose saugoma skaitmeninė asmens nuotrauka. Nuo 2007 metų luste bus saugomi ir dviejų pirštų antspaudai.

Vokiškas pasas

Vargšai dokumentų padirbinėtojai — specialių spaudos gudrybių išmanymą jiems teks papildyti elektronikos, biometrijos ir programavimo žiniomis. Tačiau greičiausiai samdys kompiuteristus tam darbui. Vai kils kainos šešėlinėj rinkoj… ;)

Belaukiant tramvajaus

Thursday, March 16th, 2006

Vieną rytą kaip ir kiekvieną paprastą rytą ėjau į darbą. Turėjau šiek tiek laisvo laiko, tai smalsumo pagautas priėjau prie informacinio kompiuterio tramvajaus stotelėj. Norėjau pažėt, kokią informaciją jis teikia. Ir, didžiam nustebimui, be visa ko (tarkim dienos filmų didžiausiuose Berlyno kino ekranuose), radau tame kompiuteryje žaidimą, lavinantį atmintį ir supažindinantį su miesto įžymiausiom vietom.

e-info

Neblogai: lauki sau tramvajaus, tai kad nenuobodžiautum 5 ar 10 minučių, sumeti partiją — ir laiką prastumi, ir sužinai, kur dar vertėtų apsilankyti.

Įspūdžiai iš CeBIT ‘06. Join the vision

Monday, March 13th, 2006

Grįžom su Kriste jau po vidurnakčio iš Hanoveryje vykstančios pasaulinės informacinių technologijų parodos CeBIT. Kojas jau vos bepavilkom, nusikalę buvom visiškai, bet įspūdžių daug.

CeBIT 2006

Visų pirma — dydžiai. Paroda vyko virš dvidešimt didelių salių (gi Infobaltas būna įsitaisęs 2-3 Litexpo parodų rūmų salėse). Kompanijos tose salėse įsitaisiusios pagal tematikas, pavyzdžiui 7 salės komunikacijoms, 8½ salės skaitmeninei įrangai ir sistemoms, 6½ salės verslo procesams. Šiemet kažko konkretaus neiškojau, stengiausi apeiti ir apžiūrėti kuo daugiau, pamatyti kažką nematyto ir įdomaus.

Išbandžiau holograminę klaviatūrą, skirtą mobiliam telefonui (gretimais buvo tokių klaviatūrų kompui). Barbeni pirštais į stalą, ant kurio suprojektuota-suspinduliuota klaviatūra, o mobiliojo ekranėlyje atsiranda tavo vardas.

Mačiau klaviatūrų su keičiamais sulankstomais klavišų rinkiniais žaidėjams. Įsivaizduok, ateini į kompiuterinę, įsistatai į klaviatūros rėmą klavišų rinkinį, kuris patogus tau, ir aploši varžovus Counter Strike. Na aišku, kompiuterinėj turi būti pajungtos tokios pačios klaviatūros su keičiamais klavišų rinkiniais.

GPS (geografinės pozicionavimo sistemos) mobiliakuose — vienas iš naudingesnių žaisliukų kelionėse. Turi tokį ir visada žinai, kur esi. Sunku pasiklysti. Mačiau tokių salėje, kurioje pristatomi tik GPS prietaisai.

Išbandžiau optinę pelę, kuri veikia net ant stiklinio stalo. Ir išreiškiau savo nuomonę apie tos pelės panaudojimą, į kurią galbūt bus atsižvelgta toliau kuriant tos pelės dizainą.

Mačiau pirmąkart gyvenime televizorių, rodantį be specialių akinių ar specialių žiūrėjimo metodų trimatį vaizdą. Stikliniai buteliai aikštėj spardo kamuolį. Šitas butelys arčiau, anas toliau, štai atlekia kamuolys, tolumoje ploja žiūrovai. Na žinoma, trimatis vaizdas matomas per tą teliką tik dviakėms būtybėms.

Dar viename stende puikavosi didžiausias Pasaulyje plazminis televizorius. Nepasakysiu įstrižainės, nes akys neužfiksavo skaičiukų, kai aplinkui stebino tiek daug stendų.

Viena kompanija siūlė televizorius originaliu apipavidalinimu. TV-krepšinio kamuolys, TV-dviratis, TV-pliušinis liūtas, TV-kamazas, TV-obulys, TV-sofa. Visai smagu būtų kas vakarą naujienas, publicistiką ir filmus žiūrėti per stilizuotą riedutį…

O štai siauraakiai korėjiečiai pristatė motociklo pavidalo kompiuterį.
— O kur dedasi CD? — paklausiau.
— Spėk, — sako.
— Gal čia? — bandžiau atkelti sėdynę…
— Ne ne! — suskubo sustabdyti korėjiečiai, kol dar nenuplėšiau to, kas buvo priklijuota ir statiška. Parodė man, kad kompaktų stalčius išlenda motociklui iš užpakalio. Kaip gudru, kaip gudru.

Visur aplink daug akcijų-atrakcijų ir dovanų. Visi stengėsi prisiviliot žiūrovus prie savo stendų. Vieni siūlė popkornų ir atidarė namų kino teatrą. Kiti siūlė pataikyti įspirti kamuolį į skylę (artėjant futbolo čempionatui Vokietijoje, daug kas prisistatė į dekoracijas ir akcijas įpindami tai, kas aktualiausia) ir už tai davė dovanų. Tretiems buvo siūloma atsakyti į klausimus, sukti laimės ratą ir gauti kokias kolonėles ar interneto videokamerą. Ne viena kompanija vaišino guminukų pakeliais su savo logotipais ar siūlė atsigaivinti gaiviaisiais gėrimais ar išgerti kavos.

Vienu metu visoje parodos erdvėje vyko daug prezentacijų. Patį dvidešimčiai minučių sustabdė įspūdinga dinamiška trimatė prezentacija, kurioje buvo pristatoma nauja ofiso programų rinkinio versija. Pristatymas vyko anglų kalba. Visos prezentacijos ir akcijos parodoje vyko dviem kalbom — anglų arba vokiečių.

Nors bilietas į CeBIT’ą brangokas (moksleiviams ir studentams 17 €, kitiems žmonėms — 38 €), apsilankyti tikrai verta. Įdomių dalykų ras ir visokio plauko kompiuterastai, ir rimti diedai, ir paprasti žmonės.

Trumpai apie Google Talk

Friday, February 10th, 2006

Nuo šiandien Google Talk integruota į Google Mail. Žengtas didelis žingsnis el. pašto kliento, kaip komunikacijos priemonės patobulinimui. Internetinių programų (web applications) sąvoka įgyja tvirtesnę poziciją kompiuterijoje.

Tęsiant automatizavimo temą…

Saturday, January 14th, 2006

Visą šią savaitę ir dar keletą dienų prieš tai teko į linuksinį serverį įdieginėti įvairias tarnybines programas kaip kad „ezmlm-idx“ — elektroninio pašto grupių tvarkytuvę. Vaje, kaip lietuviška. Nesupratusiems išverčiu — mailing listo menedžerį. Man — vindozės naudotojui — tai nauja. Išbandžiau ir išmokau nemažai komadinės eilutės gudrybių. Bet ne dėl pasigyrimo čia nusprendžiau parašyti… Noriu pasidalinti su linuksų naujokais naudingu skriptuku, kuris pratęsia pakartotinų veiksmų automatizavimo temą.

Kai kartą prireiks pakeisti vieną žodį kitu visuose katalogo failuose, pasinaudok šituo skriptuku:


#!/bin/sh
for i in /kelias/iki/tam/tikro/katalogo/*
do
echo "Vykdomas keitimas faile $i."
sed 's/keistinas_zodis/i_ka_keisti/g' $i > TMPFILE
mv TMPFILE $i
done

Viską nusikopijuoji į failą belekoks_failas, pasiredaguoji pagal poreikius, tada terminale per komandinę eilutę nurodai failui paleisties teises


# chmod +x belekoks_failas

ir paleidi failą


# ./belekoks_failas

Pakeitimai įvyksta akimirksniu. Pasitikrini, ar viskas gerai, su


# cat /kelias/iki/tam/tikro/katalogo/tam_tikras_failas

Išdidžiai pereini prie kitų darbų. Pagalvojus, kad analogiškai būtų tekę rankiniu būdu kiekvienam faile tarkim iš 40-ties vykdyti Replace funkciją, smagumui nėra ribų! Užuojauta vindozės naudotojams. Jiems skriptą reikės pasirašyti patiems.

Atnaujinta Klãva!

Tuesday, December 20th, 2005

Kaip gerai! Kaip gerai! Atnaujinta Klãva. Ištaisytos žinomos klaidos. Maksimaliai veikia ant Firefox, Internet Explorer ir Operos. Leidžiamos netgi kombinacijos „Alt + skaitmenų klavišai“!