Pe tot cuprinsul acestei cărţi ne vom ocupa în principal cu chestiuni de instalare şi configurare. Administrarea sistemului constă din mult mai mult decât atât. După configurarea unui anumit serviciu, trebuie să-l ţineţi în funcţiune. Pentru cele mai multe servicii foarte puţină muncă este necesară, însă unele servicii, ca de exemplu serviciile de ???mail??? şi de ???news??, necesită executarea unor acţiuni de rutină pentru a ţine sistemul la zi. Vom discuta aceste acţiuni în capitolele ce vor urma.
Minimul absolut în întreţinerea sistemului este verificarea regulată de erori şi de evenimente neobişnuite a fişierelor log ale aplicaţiilor. Foarte practic este să scrieţi nişte scripturi administrative şi să le rulaţi din cron periodic. Distribuţia sursă a unora din aplicaţiile majore, ca de exemplu ???smail??? sau ???C-News???, conţin asemenea scripturi. Tot ce vă rămâne de făcut este să le adaptaţi nevoilor şi preferinţelor dumneavoastră.
Ieşirea oricărui job cron va fi trimisă prin mail către un cont administrativ. Implicit, multe aplicaţii vor trimite rapoarte de eroare sau statistici despre utilizare către contul de root. Aceasta are sens numai dacă vă logaţi ca root frecvent; o idee mult mai bună este să retrimiteţi mail-ul root-ului catre contul personal prin crearea unui alias, aşa cum este descris în capitolul ???.
Insă oricât de atent va-ţi configurat sistemul, legile lui Murphy garantează că vor apărea probleme. Astfel administrarea unui sistem înseamnă şi disponibilitatea pentru plângeri. De obicei utilizatorii se aşteaptă ca administratorul de sistem să fie de găsit prin mail ca şi root, dar sunt şi alte adrese care sunt folosite pentru a ajunge la persoane responsibile cu diferite aspecte ale administrării. De exemplu, plângerile despre funcţionarea incorectă a serviciului de mail vor fi trimise de obicei către postmaster; iar problemele cu serverul de news vor fi trimise către newsmaster sau Usenet. Mail-ul către hostmaster va trebui redirecţionat către persoana care se ocupă cu servicile de reţea de bază sau de serviciul DNS dacă rulaţi un server de nume (name server).
Un aspect foarte important al administrării sistemului dintr-o reţea este protejarea lui de intruderi. Sistemele administrate neatent oferă răuvoitorilor multe ţinte: atacurile merg de la ghicirea parolei până la "spionarea" pachetelor dintr-o reţea Ethernet şi pagubele cauzate de aceste atacuri merg de la date pierdute la violarea intimităţii utilizatorilor. Vom menţiona unele probleme particulare când vom discuta contextul în care pot apărea şi, în unele cazuri, posibile apărări împotriva acestor atacuri.
In această secţiune vom discuta câteva exemple şi tehnici de bază referitoare la securitatea sistemului. Desigur, discuţia nu poate trata toate problemele legate de securitate pe care le puteţi întălni; ea foloseşte mai degrabă la ilustrarea problemelor ce pot apărea. Astfel este absolut necesară citirea unei cărţi bune despre securitate în special pentru un sistem aflat în reţea. Cartea lui Simon Garfinkel, "Practical UNIX Security" este recomandată.
Securitatea sistemului porneşte de la o bună administrare a lui. Aceasta include verificarea proprietarului şi permisiunilor pentru toate fişierele şi directoarele vitale, monitorizarea folosirii conturilor privilegiate, etc. Programul COPS, de exemplu, vă va verifica sistemul de fişiere precum şi fişierele de configurare cele mai comune. De asemenea este recomandabil să obligaţi utilizatorii să-şi seteze parole cât mai greu de ghicit. De exemplu programul uzual pentru schimbarea parolei cere ca parola să aibă cel puţin cinci caractere şi să conţină atât litere cât şi cifre sau caractere speciale.
Când faceţi un serviciu accesibil prin reţea, asiguraţi-vă că îi daţi cel mai mic privilegiu, adică că nu îi permiteţi să facă lucruri ce nu-i sunt necesare pentru a funcţiona aşa cum trebuie. De exemplu n-ar trebui să faceţi executabile setuidate??? root decât când este neapărat necesar. De asemenea, dacă vreţi să utilizaţi un serviciu pentru o aplicaţie foarte limitată, nu ezitaţi să-l configuraţi cât mai restrictiv cu putinţă. De exemplu dacă aveţi maşini fără disk în reţea şi vreţi să le lăsaţi să booteze de pe maşina dumneavoastră, trebuie să folosiţi serviciul TFTP (trivial file transfer protocol) astfel încât clienţii să poată descărca fişierele de configurare de bază din directorul /boot. Insă, când nu este restricţionat, TFTP lasâ orice utilizator din lume să descarce orice fişier cu drept de citire. Dacă nu vreţi aceasta, de ce să nu restricţionaţi serviciul TFTP numai la directorul /boot?
In aceeaşi ordine de idei, e bine să restricţionaţi anumite servicii la utilizatori de pe anumite maşini, de exemplu din reţeaua locală. In capitolul ???, vom introduce tcpd care face acest lucru pentru o mulţime de aplicaţii de reţea.
Alt punct important este să evitaţi aplicaţiile "periculoase". Desigur, orice aplicaţie poate fi periculoasă, deoarece poate avea "scame" pe care oamenii deştepţi le pot exploata pentru a căpăta acces la sistemul dumneavoastră. Lucruri ca acestea se întâmplă şi nu există protecţie completă împotriva lor. Această problemă afectează atât software-ul liber cât şi software-ul comercial. Insă programele care necesită privilegii sporite sunt mai periculoase decât celelalte din cauzâ câ orice scamă poate avea efecte drastice. Dacă instlaţi un program pentru reţea, setuidat, fiţi de două ori mai atent că nu vă scapă nimic de la documentaţie, astfel încâat să nu creaţi o nişă de securitate din greşeală.
Nu puteţi şti niciodată dacă precauţiile dumneavoastră vor da greş indiferent de cât de atent aţi fost. Verificarea regulată a logurilor este un punct bun de plecare, dar intruderul este probabil suficient de deştept încât să creadă orice urmă. Insă, există unelte ca tripwire??? care vă permit să verificaţi fişierele vitale pentru a vedea dacă conţinutul şi permisiunile s-au schimbat. Tripwire calculează diferite sume de control pentru aceste fiăiere şi le păstrează într-o bază de date. In timpul rulărilor succesive, sumele de control sunt recaluclate şi comparate ce cele păstrate pentru a detecta orice modificare.