Sunteți pe pagina 1din 11

11.

Securizarea unui server Debian


Securitatea ntr-un sistem Debian Sistemele Linux sunt cunoscute n ntreaga lume pentru stabilitatea lor i pentru arhitectura sa construit n jurul unor principii solide ce asigur un nivel de securitate i integritate a datelor foarte greu de egalat. Motivul pentru care securizarea sistemelor informatice a devenit un subiect att de important este n primul rnd expansiunea Internet-ului, care odat cu nenumratele faciliti pe care le-a oferit, a adus i o serie de dezavantaje. Principalul punct de interes n ziua de azi l constituie informaiile electronice, cu diferite caractere chiar i cele private pe care ncercm s le protejm prin diferitele mijloace disponibile. Dei prin natura lor sistemele Linux sunt foarte sigure, acestea nu sunt infailibile. Nu putem vorbi despre un sistem 100% sigur nici mcar la nivel de concept, ci doar de sisteme cu grad ridicat de securitate, care vor necesita foarte mult efort n principal sub form de cunotine i mai ales timp pentru a putea fi compromise. De asemenea, este important de tiut c msurile extreme de securitate pot fi foarte intruzive, mergnd de la afectarea pn la pierderea unor funcionaliti. De aceea este nevoie s se stabileasc clar un nivel acceptabil de securitate n funcie de rolul sistemului ce trebuie protejat lundu-se n calcul i consecinele pierderii funcionalitii n cazul unor politici de securitate prea restrictive. Un exemplu de astfel de politic ar fi restricionarea fizic a unui server exclusiv la reeaua local ar oferi un nivel foarte bun de securitate, eliminnd riscul compromiterii din exterior, ns funcionalitile oferite ar fi restrnse exclusiv la mediul local, total nepotrivit pentru un serviciu de email sau server HTTP. Exist multe referine foarte bune n ceea ce privete securizarea unui sistem informatic, ns nu le vom enumera pe toate, limitndu-ne la aspectele cele mai importante. n acest scop vom defini urmtorii termeni: Riscul reprezint posibilitatea ca un sistem s fie compromis ntr-un fel sau altul. Riscul poate fi cuantificat pe mai multe nivele, n funcie severitate sau ali factori. Nivelul acceptabil de risc este reprezentat c raportul considerat optim dintre accesabilitate i funcii pe de-o parte i gradul politicii de securitate pe alt parte. Nivelul acceptabil variaz de la organizaie la organizaie i este strict legat de natura acestora ct i de scopul final. Vulnerabilitatea reprezint gradul n care sistemul este protejat. Ameninarea este de multe ori sursa care genereaz nivelul de risc, i poate fi descris att prin aciuni maliioase ct i prin evenimente aleatoare cum ar fi defeciuni sau dezastre naturale. n cazul evenimentelor ce au ca rezultat pierderea de date, studiile recente arat c n marea parte a cazurilor eroarea uman reprezint principalul factor de risc. Evideniam astfel faptul c riscurile de securitate sunt reprezentate i de pierderea datelor, subliniand importana unei politici de backup bine pus la punct.

Securizarea general a unui sistem Linux Dei acesta problem este una mult prea general pentru a putea fi tratat punctual, exist un set de practici recomandate n cadrul procesului de administrare a serverelor Linux care poate reduce semnificativ riscul compromiterii sistemului. Alegerea de parole complexe este unul dintre cele mai importante aspecte ntr-un sistem. Date fiind drepturile privilegiate ale contului root, este clar c acesta nu trebuie s aib asociat o parol slab. Multe companii private sau de stat folosesc aa numitele politici de parole, pentru reglementarea parolelor folosite n sistemele informatice pe care acestea le dein. Aceste politici descriu diverse aspecte precum: Compoziia unei parole n mod optim aceasta trebuie s aib o dimensiune minim, s conin att caractere speciale, numerice ct i litere, s conin elemente de capitalizare (combinaii de litere mici i mari) i s nu aib n componen cuvinte sau buci de cuvinte ce pot fi regsite n dicionare. Un exemplu de parol bun ar fi W9]alKi8gj aceasta conine att cifre, ct i caractere speciale dar i combinaii ntre litere mari i litere mici. La polul cellalt, parole slabe pot fi cele ce reprezint nume precum Maria sau cuvinte ce pot fi regsite n dicionare precum pantofi. Viaa unei parole este folosit pentru a marca perioada de valabilitate a unei parole. Cnd termenul unei parole expir, aceasta va trebui schimbat neaprat. Duratele de via a parolelor variaz n general ca multiplu de 30 de zile, ns aceast abordare nu este obligatorie. O politic de parole balansat poate prevedea durate de 90 pn la 120 de zile. Principalul motiv pentru aceast regul este diminuarea riscului de compromitere al parolelor prin atacuri de tip fora brut n care se ncearc n mod iterativ toate combinaiile posibile de parole. Acest tip de atac poate dura mult timp, prin urmare o politic de schimbare periodic a parolelor va face imposibil aflarea acestora n timp util. O alt problem asociat cu aceast abordare o constituie comoditatea utilizatorilor, acetia ncercnd de multe ori schimbarea minimal a parolei de exemplu prin adugarea unui singur caracter la sfritul vechii parole. O politic corect de parole va interzice alegerea unei noi parole care seamn prea mult cu vechea parol. Practici referitoare la parole specific regulile ce trebuie urmate n legtur cu parolele alese. Acestea pot s varieze de la interzicerea divulgrii parolei (chiar i colegilor), interzicerea notrii parolei pe suport fizic (precum hrtia), pn la menionarea sanciunilor ce vor fi aplicate utilizatorilor care nu respect politicile alese. Restricionarea serviciilor sistemului reprezint o alt abordare foarte eficient n vederea securizrii unui sistem Linux. Primul lucru pe care un administrator trebuie s-l fac este s determine scopul final al server-ului pe care l ntreine. Dac scopul final este ntreinerea unui simplu server HTTP, atunci servicii precum DNS nu-i vor avea rostul. Ideea din spatele acestei

abordri este limitarea numrului de servicii pornite la minimul posibil, fr a afecta ns nivelul de funcionalitate dorit. Principalul motiv pentru care limitatarea numrului de servicii pornite crete nivelul de securitate este c se reduce numrul de vulnerabiliti expuse la un moment dat orice serviciu deschis poate s prezinte diferite vulnerabiliti ce pot fi exploatate de ctre utilizatori ru intenionai. Dup ce stabilirea exact a scopului final al server-ului, ar trebui fcut o list cu toate servicile eseniale astfel nct scopul ales s poat fi atins. Se recomand dezinstalarea serviciilor care nu vor fi folosite - din moment ce nu fac altceva dect s ocupe spaiu de stocare; acestea pot fi reinstalate foarte uor n funcie de necesitile administratorului. Dezinstalarea programelor inutile este o alt metod de securizare a serverelor. n cazul distribuiei Debian, sunt incluse o mulime de programe care nu vor avea nici un rol ntr-un server aflat n producie. Toate programele neeseniale vor constitui un risc, putnd fi folosite prin intermediul unor conturi compromise pentru preluarea controlului sistemului. Printre cele mai periculoase programe se numr compilatoare precum g++ care pot fi folosite pentru construirea unor utilitare care pot fi folosite pentru atacarea altor sisteme. Acestea din urm pot fi atacuri de tip denial of service, spam, etc, deci trebuie vizate utilitarele care ar putea fi folosite n acest scop. Dei nlturarea utilitarelor va mbunti nivelul de securitate, acest procedeu nu ofer nici un fel de garanie, ci mai degrab o tentativ de ntrziere - un atacator mai experimentat putnd s-i descarce singur utilitarele de care are nevoie prin intermediul Internet-ului. Actualizarea sistematic a software-ului folosit este n cele mai multe cazuri soluia optim pentru prevenirea atacurilor care au la baz exploatarea vulnerabilitilor. De regul actualizrile programelor conin att imbunatiri legate de funcionalitile i performanele acestora, ct i soluii la problemele de securitate cunoscute. Se poate realiza i actualizarea preferenial n cazul n care acest lucru se dorete, ns administratorul va trebui s fie la curent cu vulnerabilitile existente pentru a putea lua decizii informate. n acest scop este recomandat abonarea la o list de email specific distribuiei Debian, strict legat de securitate. Pentru abonarea la aceast list, vizitai pagina http://lists.debian.org/debian-securityannounce/, unde administratorul va primi periodic atenionri. Restricionarea conturilor de utilizator se poate realiza n scopul limitrii pagubelor ce pot rezulta din cauza unor conturi compromise. n acest scop se poate limita abilitatea utilizatorilor de a se log n sistem la una din console sau folosind protocolul ssh. Restricionarea procesului de login se face prin modificarea shell-ului implicit pentru fiecare utilizator dorit n parte; shell-ul implicit este bash, i l vom schimba ntr-un shell care nu va permite utilizatorului s execute nimic. Un astfel de shell este /bin/false pentru distribuia Debian, i poate fi setat pentru fiecare utilizator, folosind utilitarul usemod: usermod s /bin/false [nume_utilizator]

Comanda anterioar va stabili c shell implicit /bin/false eliminnd astfel posibilitatea contului respectiv de a se mai log n consol - contul utilizatorului nu a fost eliminat ns, ci a rmas activ. Este recomandat restricionarea accesului la consola pentru utilizatorii care nu au nevoie neaprat de facilitile oferite de aceasta. Rootkit-uri Rootkit-urile sunt aplicaii al cror scop este mascarea compromiterii unui sistem. Atacatorii pot folosi rootkit-uri pentru nlocuirea unor fiiere importante ale sistemului, pentru ascunderea proceselor i a fiierelor proprii ct i modificarea fiierelor de jurnalizare. Rootkit-urile se pot deghiza sub forma unor module LKM (Loadeable Kernel Module) sau a unor programe obinuite. Rootkit-uri LKM aa cum am menionat n seciunea corespunztoare acestora, LKM-urile sunt module ce pot fi inserate n mod dinamic n kernel pentru extinderea funcionalitii acestuia. Dezavantajul major este c rootkit-urile se pot da drept un modul LKM, fiind mult mai greu de detectat. Sub aceast form acestea pot ascunde procese, directoare sau chiar conexiuni active fr nici un fel de modificare a programelor sistemului, astfel nct administratorul s nu-i dea seama c un sistem a fost compromis. Detectarea rootkit-urilor se poate realiza folosind dou abordri diferite: Abordarea pro-activa presupune folosirea unui LKM special conceput pentru protejarea sistemului impotriva LKM-urilor nocive, sau dezactivarea ncrcrii modulelor n ntregime. Avantajul acestei abordri este faptul c intervenia are loc nainte ca sistemul s fie compromis, prevenind n loc s trateze. Abordarea reactiv este c nu ncarc sistemul prea mult i nici nu elimin din funcionalitile acestuia. Principiul de funcionare este simplu: se compar o tabel de apelare a sistemului cu o copie a acesteia recunoscut drept curat. Dezavantajul major al acestei abordri este faptul c administratorul nu va fi notificat dect dup compromiterea sistemului. Detectarea rootkit-urilor folosind aceast abordare poate fi realizat cu un utilitar numit chkrootkit, disponibil n pachetul cu acelai nume. Acesta poate fi instalat prin executarea comenzii apt-get install chkrootkit, i va cuta semne ale existenei unor rootkit-uri cunoscute n sistem. Dup instalare, se recomand scanri periodice ale sistemului cu acest utilitar i actualizarea permanent a acestuia la ultima versiune existent astfel nct acesta s fie la curent cu ultimele rootkit-uri i pentru asigurarea facilitilor de detecie corespunztoare.

Instalarea securizat a pachetelor O alt ameninare puternic sunt pachetele mascate aceleai pachete specifice distribuiei Debian (.deb) folosite pentru gestionarea programelor din sistem. Pachetele pot fi modificate astfel nct s se instaleze programe ce pot compromite sistemul fie versiuni modificate ale unor programe legitime, fie programe care nu au nici o legtur cu numele pachetului instalat, dar care sunt coninute n acesta. Din moment ce marea majoritate a programelor disponibile sunt open-source, acestea pot fi modificate cu uurin de aproape oricine astfel nct s pretind c sunt programe legitime i, de aceea, o politic strict de gestiune a pachetelor este foarte important. Avnd n vedere faptul c sistemul apt i poate procura pachetele din mai multe tipuri de surse, de la uniti optice pn la servere ftp n Internet, este recomandat ca administratorul s nu instaleze niciodat pachete ce provin din surse nesigure. Probabil cea mai periculoase surse sunt cele descrcate de pe serverele ftp, n special cele de tipul third-party mai exact arhivele mai puin cunoscute, care pot fi alterate uor. Exist ns mecanisme pentru validarea pachetelor, astfel nct s se poat identifica dac originea pachetelor este legitim. Metoda cea mai folosit se numete secure apt i se bazeaz pe un sistem de criptare bazat pe chei publice i private, cu generarea unor amprente digitale unice pentru fiecare pachet. Se poate alctui o list de chei global pentru un sistem, prin care se marcheaz sursele legitime, eliminnd n mare msur riscul instalrii unor pachete ce pot compromite sistemul. CHROOT este un concept des folosit n lumea sistemelor Linux, i presupune modificarea directorului root (atenie: este vorba de directorul / al sistemului de fiiere, i nu de contul de utilizator root) n mod individual pentru anumite procese (i implicit i pentru procesele fiu ale acestora). Se elimin n acest mod posibilitatea de accesare a oricrui alt director n afara celui stabilit n acest scop, crescnd considerabil gradul de securitate al unui sistem n cazul n care un serviciu va fi compromis de ctre un atacator, acesta nu va avea acces la pri eseniale ale sistemului de operare. Procedeul de chrooting are mai multe ntrebuinri, precum crearea unor medii de testare oarecum separate de restul sistemului, controlul dependinelor sau pur i simplu pentru mbuntirea securitii. Dei constituie un mecanism defensiv foarte bun, acesta are totui o serie de limitri: Invalidarea de ctre userul root mecanismul nu este conceput pentru a funciona i pentru contul root. Acesta este singurul cont care are dreptul de a implementa acest mecanism. Greutate n configurare procedeul de chroot variaz de la proces la proces i nu exist multe aspecte comune. Din acest motiv, aplicarea mecanismului pentru mai multe servicii diferite poate fi relativ dificil,

datorit funcionalitilor diferite ale acestora fiecare serviciu va necesita un set diferit de fiiere, fiiere de tip dispozitiv i librrii pentru a funciona. Aceste resurse vor trebui s fie disponibile i accesibile n noul mediu pentru c procesele s funcioneze. Mecanismul chroot nu a fost conceput pentru restricionarea resurselor precum dispozitivele de intrare/ieire, mediile de stocare sau modul de utilizare al procesorului. Din acest motiv, un serviciu compromis chiar i sub influena mecanismului chroot ar putea fi folosit pentru atacuri de alte tipuri asupra sistemului. Chroot reprezint o metod de securizare foarte puternic, dei exist o serie de premize n care poate fi ocolit orice utilizator cu drept de root va putea dezactiva acest mecanism. Un alt dezavantaj al acestei proceduri este c de regul, o mare parte din fiierele funcionale necesare diferitelor procese trebuie duplicate n noile locaii. Pentru a preveni scenariul n care mediul chroot este dezactivat de ctre root, serviciile configurate s funcioneze n acest regim vor trebui configurate astfel nct acestea s nu ruleze cu drept de root. Exist utilitare dedicate pentru facilitarea configurrii de medii chroot precum makejail. Acesta poate fi instalat prin executarea comenzii urmtoare: apt-get install makejail. Acest program are rolul de a ncerca s intuiasc toi parametrii necesari pentru construirea unui chroot jail. Pentru mai multe detalii despre pachetul menionat anterior, apelai comanda man makejail dup instalarea pachetului. Securizarea reelei O alt vulnerabilitate important o reprezint mediul de reea, n cadrul creia mesajele vor fi transmise n clar n mod implicit. Oricine cu acces fizic la o reea local va putea intercepta tot traficul ce se desfoar n aceast. Acest fenomen reprezint un risc deosebit de mare n prezent, n mare parte datorit transmiterii n clar a parolelor i a conturilor de utilizator acest fenomen nu este neaprat datorat neglijenei utilizatorilor, ci mai degrab felului n care anumite protocoale funcioneaz. Din acest motiv se recomand evitarea instalrii i folosirii serviciilor ce transmit datele i mesajele utilizatorilor n clar, precum telnet, NIS sau FTP.

Configurarea unui firewall Programul iptables este foarte des folosit n mediul Linux. Acesta ofer funcii de filtrare a pachetelor, NAT (Network Address Translation) i mangling. Cel mai des ns, iptables este folosit ca firewall i pentru NAT. Configurarea poate fi greoaie pentru nceptori, de aceea se recomand folosirea unor utilitare destinate configurrii grafice a firewall-ului, precum firestarter. Acest program poate fi instalat cu ajutorul comenzii apt-get install firestarter i rulat cu firestarter. Principiul de funcionare iptables este simplu: acesta ofer administratorului posibilitatea crerii unor iruri de reguli legate la traficul de pachete TCP/IP. Numele utilitarului provine de la modul n care acesta funcioneaz: mparte irurile de reguli n nite aa numite tabele (tables), fiecare asociat cu un tip diferit de prelucrare a pachetelor TCP. Exist cinci iruri (chains) predefinite, care au asociat o politic (policy). Politica specifica ce se va ntmpla cu pachetul n momentul n care acesta va ajunge la sfritul unui ir de exemplu DROP, cnd acesta va fi refuzat. Cele cinci iruri sunt: PREROUTING Orice pachet va ajunge aici naintea unei operaii de redirectare INPUT Pachetele vor fi distribuite local FORWARD Toat pachetele care au fost redirecionate i nu corespund pentru distribuirea local vor ajunge n acest ir. OUTPUT Pachetele transmise de sistem vor ajunge n acest ir. POSTROUTING Reprezint momentul imediat urmtor deciziei de redirecionare al unui pachet, oarecum complementar pentru irul PREROUTING. Fiecare regul dintr-un ir va descrie un mod specific de funcionare, i poate conine i parametri precum destinaie sau surs. Pe msur ce un pachet nainteaz printr-un ir, fiecare regul din acel ir va fi interpretat sistematic pentru pachetul n cauz, cu dou finalizri posibile: fie pachetul examinat n acel moment nu corespunde regulei curente (caz n care se va aplica regula imediat urmtoare), fie pachetul va corespunde regulei actualea i se va lua o decizie n privina acestuia - pachetul va fi blocat, sau va merge mai departe. Acest sistem ofer o serie foarte larg de posibiliti de configurare, administratorul avnd astfel control deplin asupra pachetelor ce tranziteaz sistemul. Configurarea prin intermediul consolei, configurarea firewall-ului se poate realiza cu ajutorul utilitarului iptables i o serie specific de parametrii. Printre cei mai importani parametrii amintim: -A va specifica irul n care va fi adugat noua regul -L va afia pe ecran toate regulile actuale -p specific protocolul la care se refer regul --dport specific portul destinaiei -j specific aciuni posibile: acestea pot fi

ACCEPT va accepta pachetul i va nceta s prelucreze regulile din acest ir. REJECT va refuza pachetul i va notifica expeditorul asupra acestui aspect DROP va refuza pachetul fr nici un fel de atenionare. LOG va jurnaliza acest pachet i va continua s prelucreze regulile din irul actual. -I va nsera o regul pe o poziie specific ntr-un ir. Folosit n modul urmtor, acesta va nsera regul pe poziia a 10-a din irul INPUT: -I INPUT 10. -s specific adresa (opional cu masc) surs -d specific adresa (opional cu masc) destinaie

n continuare vom examina cteva exemple cu descrierea funcional a acestora: #iptables A INPUT p tcp dport 22 j ACCEPT va avea ca efect acceptarea tuturor pachetelor pe portul 22, folosind protocolul TCP care vor intra n sistem. #iptables A INPUT s 199.200.201.202 j DROP va avea ca efect respingerea silenioas a tuturor pachetelor ce intr n sistem, pe orice port de la adresa 199.200.201.202. #iptables A INPUT p ICMP j DROP va refuza orice pachet folosind protocolul ICMP (ping) care intr n sistem. #iptables L va afia regulile existente Configurarea sistemului astfel nct acesta s ncarce un set de reguli definit n mod automat la pornire, se realizeaz n doi pai. Primul pas presupune configurarea regulilor i salvarea lor ntr-un fiier prin intermediul comenzii iptables-save > /etc/nume_fiier. Aceast comand va avea ca efect salvarea regulilor definite n fiierul menionat. Pasul doi presupune modificarea fiierului /etc/network/interfaces astfel nct fiierul creat la pasul anterior s fie ncrcat n mod automat pentru o interfa anume. n acest scop trebuie editat fiierul /etc/network/interfaces i adugat urmtoarea linie pentru interfaa dorit: pre-up iptables-restore < /etc/nume_fiier. n mod alternativ se poate folosi comanda iptablesrestore < /etc/nume_fiier n cadrul unuia din scripturile de pornire ce pot fi gsite n /etc/init.d.

Securizarea serviciilor O alt seciune important n ceea ce privete securitatea, este cea dedicat securizrii serviciilor ce ruleaz pe un sistem Linux. Procesul de securizare poate fi mprit n dou seciuni: limitarea zonelor de influen a serviciilor i configurarea acestora n aa fel nct s nu poat fi utilizate n alte scopuri dect cele pentru care au fost concepute. Securizarea serviciului SSH Serviciul SSH, menionat n capitolul de administrare general reprezint alternativa sigur prin care utilizatorii unui sistem Linux se pot conecta la acesta la distan, prin protocolul TCP. Un prim pas n vederea securizrii sistemelor, pstrnd facilitile de remote login este nlocuirea serviciului telnet cu ssh, asigurndu-se astfel confidenialitatea conexiunilor. n continuare vom analiza o serie de schimbri n configuraia server-ului ssh care pot duce la o mbuntire a serviciului - fiierul de configurare implicit al server-ului descris este /etc/ssh/sshd_config i n marea parte a cazurilor trebuie creat. PermitRootLogin no nu va permite autentificarea utilizatorilor drept root (nici mcar cu parola corect), limitnd astfel posibilitatea compromiterii parolei de root prin atacuri de tip fora brut. PermitEmptyPasswords no va interzice folosirea parolelor goale. AllowUsers user1 user2 - descrie o serie de utilizatori care vor avea acces la acest serviciu. Aceast opiune este una exclusiv. Port [numr] va schimba port-ul pe care serviciul va rspunde la conexiuni. Dei acest tip de securitate este unul foarte bun (nepermind atacatorilor s-i dea seama cu uurin ce servicii ruleaz pe un anumit sistem), necesit cunotina utilizatorilor ce vor folosi acest serviciu, i ca urmare nu va putea fi aplicat cu succes n scenarii extinse. ListenAddress [adresa_ip] permite restricionarea serviciului la o interfa ethernet anume. Ca urmare direct, serviciul ssh nu va fi disponibil dect prin cadrul interfeei menionate. Banner [nume_fiier] va afia fiierul menionat drept MOTD (Message of the day), putnd s fie folosit ca un avertisment. Securizarea serviciului HTTP Server-ul Apache descris n seciunile anterioare reprezint ca orice alt serviciu pornit, o posibil poart de intrare n sistem pentru atacatori. Creterea nivelului de securitate pentru serviciul HTTP se poate realiza n mai multe feluri, precum restricionarea accesului la fiierele ce alctuiesc site-urile gzduite, restricionarea porturilor i adreselor IP la care server-ul va putea fi accesat, sau chiar configurarea unui mediu chroot pentru serviciul httpd.

Fiierele ce alctuiesc site-urile gzduite prin serviciul respectiv ar trebui s fie accesibile de orice user din sistem, dar n niciun caz modificabile de userul www-data sau de oricine n grupul cu acelai nume. Userul menionat anterior este contul cu drepturile cruia procesul server-ului Apache ruleaz, i cel mai probabil va reprezenta i drepturile de care va dispune un eventual atacator care a reuit s compromit serviciul HTTP. Din acest motiv, se recomand ca fiierele site-urilor s nu poat fi modificate de ctre userul www-data, dar i modificarea site-ului implicit care ar putea furniza informaii nedorite eventualilor atacatori precum versiunea de apache folosit sau distribuia folosit. Securizarea serverului DNS bind9 Din motive de securitate, se recomand c serviciul s urmeze procesul chrooting. Acesta este o tehnic cunoscut de securizare i presupune schimbarea directorului root (/) pentru instana procesului responsabil i copiii si. n urm acestui procedeu procesul n cauz va considera directorul setat ca fiind rdcina sistemului de fiiere i prin urmare nu va avea acces n afara acesteia. Pentru a efectua aceast schimbare va fi necesarea mutarea efectiv a fiierelor de configurare ale serviciul ntr-o locaie care este sigur, schimbarea fiierului de configuraie al daemon-ului, simularea unor fiiere de tip dispozitiv speciale i crearea unor legturi simbolice astfel nct instana server-ului s poat gsi fiierele de configuraie. Configurarea unui mediu chroot pentru server-ul bind9 este printre cele mai simple proceduri de acest tip, i de aceea reprezint exemplul ideal (i datorit faptului c este unul dintre cele mai vulnerabile servicii): Pasul 1. Crearea noilor directoare se poate face ntr-o locaie precum /var/named i n scopul acestui exerciiu, vom alege aceast locaie: mkdir p /var/named/etc mkdir p /var/named/dev mkdir p /var/named/var/run/bind/run mkdir p /var/named/var/cache/bind Pasul 2. Editarea fiierului de configuraie presupune modificarea fiierului /etc/default/bind9 i schimbarea liniei OPTIONS cu nou linie OPTIONS=-u bind t /var/named Pasul 3. Mutarea directorului de configurare bind n noua locaie, i crearea unei legturi simbolice ctre noua locaie astfel nct daemon-ul s poat gsi fiierele de configurare i s eliminm orice fel de probleme n eventualitatea unei actualizri a programului: mv /etc/bind /var/named/etc ln s /var/named/etc/bind /etc/bind Pasul 4. Simularea dispozitivelor speciale null i random i schimbarea setului de permisiuni se poate realiza executnd urmtoarele comenzi. Programul mknod se folosete pentru crearea fiierelor de tip dispozitiv.

cd /var/named/dev mknod null c 1 3 mknod random c 1 8 chown bind:bind R ../etc/bind chown bind:bind R ../var/* chmod a+rw * Pasul 5. Adugarea facilitilor de jurnalizare se realizeaz prin crearea fiierului /etc/rsyslog.d/bind-chroot.conf i adugarea urmtoarei linii n acesta: $AddUnixListenSocket /var/named/dev/log Pasul 6. Repornirea serviciilor DNS i de jurnalizare se va face conform comenzilor de mai jos: /etc/init.d/rsyslog restart /etc/init.d/bind9 start n acest moment, avem un server bind9 configurat astfel nct s ruleze ntrun mediu chroot. i alte servicii pot fi modificate n acest scop, ns pentru a menine dimensiunea acestui manual ct mai mic, vom trata doar acest serviciu, acesta fiind unul dintre cele mai vulnerabile servicii existente pe sistemele Linux n mare parte datorit complexitii sale.

S-ar putea să vă placă și