Hrvatska akademska i istraživačka mreža
  NASLOVNICA MAPA WEBA TRAŽILICA KONTAKTI CARNET WEB
Hrvatska akademska i istraživačka mreža
 
menu 4
Sigurnost
menu 4
Distribucija
menu 4
Pomoć
menu 4
Dokumenti
menu 4
menu 4

 

 

25-10-04 10:08
Vjeverica odbija autentikaciju, što sad?

piše ACO DMITROVIĆ

Nepodnošljiva lakoća dogradnje paketa na Debianu ipak ima svoje naličje. Iako u većini slučajeva nakon upisivanja para naredbi

# apt-get update; apt-get upgrade

sustav nastavlja raditi normalno, povremeno se dogodi da telefon počinje zvoniti, a korisnici se žale da neki od servisa više ne radi kako treba.

Nedavno se nešto tako dogodilo s programom za web mail squirrelmail. Zvuči poznato: odjednom se korisnici više ne mogu prijaviti kako bi pročitali svoju poštu. Sistemac pogleda popis paketa koji su se tog jutra instalirali, na njemu nema paketa squirrellmail. Što sada?

Helpdesk za sistemce naravno ima spreman odgovor: pogledajte u datoteku /etc/c-client.cf, tamo treba pisati ovo:

I accept the risk
set disable-plaintext nil

Drugi redak je nedostajao. Nakon što se upiše da prihvaćamo autentikaciju pomoću plain-text passworda, vjererica će ponovo raditi kako treba. Naime squirrelmail ne zna raditi sa zaporkama koje putuju kriptirane. Na prvi pogled to je sigurnosni propust, ali ne značajan jer se radi o lokalnom prometu između web sučelja i imapa.

Priznajmo, ostaje nejasno kako se to dogodilo. Potražimo kojem paketu pripada ta konfiguracijska datoteka.

# dpkg -S /etc/c-client.cf
dpkg: /etc/c-client.cf not found.

Naletjeli smo na zapreku, nijedan paket ne instalira tu datoteku. No pravi sistemac se ne predaje. Najprije treba ustanoviti o kojim paketima ovisi squirrelmail.

# dpkg -s squirrelmail
Package: squirrelmail
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 12808
Maintainer: Jeroen van Wolffelaar <jeroen@wolffelaar.nl>
Architecture: all
Version: 2:1.4.3a-2
Depends: apache2 | httpd, libapache2-mod-php4 | php4 | php4-cgi, perl
Recommends: aspell | aspell-bin | ispell
Suggests: imap-server, php4-pear
...

Dobili smo upute za daljnju potragu. Vjeverica za čitanje pošte koristi imap protokol, pa bi to bio očigledan izbor, jer imap za pristup pošti zahtijeva autentikaciju. Pretpostavimo da tog jutra nije instaliran novi paket imap, pa treba tražiti dalje.

# dpkg -s uw-imapd
Package: uw-imapd
Status: install ok installed
Priority: optional
Section: mail
Installed-Size: 228
Maintainer: Jonas Smedegaard <dr@jones.dk>
Architecture: i386
Source: uw-imap
Version: 7:2002edebian1-4
Replaces: imapd, imap-4, imap
Provides: imap-server
Depends: libc-client2002edebian, libc6 (>= 2.3.2.ds1-4), libcomerr2 (>= 1.33-3), libkrb53 (>= 1.3.2), libpam0g (>= 0.76), libssl0.9.7, debconf (>= 1.2.0), openssl, libpam-runtime (>= 0.76-13.1)
...

U polju Depends prvi je na redu paket libc-client2002edebian, koji se tog jutra instalirao. Već smo vidjeli da paket ne instalira datoteku /etc/c-client.cf, pa je vrlo vjerojatno da je kreira u postinst skripti. Te se skripte nalaze u direktoriju /var/lib/dpkg/info. Tamo potražimo datoteku uw-imapd.postinst, u kojoj se nalaze sljedeće naredbe:

db_get libc-client/plaintext
if [ "$RET" = "true" ]; then
    printf "\nI accept the risk\n" >> /etc/c-client.cf
    perl -ni -e '$n++; print "I accept the risk\nset disable-plaintext nil\n" if $n==1; \
    print && next unless /^($|I accept the risk|set\s*disable-plaintext)/i;' /etc/c-client.cf
 else
   if [ -f /etc/c-client.cf ]; then
     printf "\nI accept the risk\n" >> /etc/c-client.cf
     perl -ni -e '$n++; print "I accept the risk\n" if $n==1; \
     print && next unless /^($|I accept the risk|set\s*disable-plaintext)/i;' /etc/c-client.cf
   fi
fi

Eto, pronašli smo mjesto na kojem je zapelo. Za ovu priliku dovoljno smo naučili. Više o Debianovim paketima u člancima koji slijede.





[Lista]
Ovu uslugu CARNeta realizira Sveučilišni računski centar Sveučilišta u Zagrebu
  Copyright ©2005. CARNet. Sva prava zadržana. Impressum.
Mail to
sys-portal@CARNet.hr