Articole Etichetate ‘~.~ software

09
Iul
08

Cum se configureaza un firewall

Se spune ca nu esti administrator de Unix pana nu configurezi singur un server de mail, un server de DNS si un firewall. Din toata munca la primul meu server mai tin minte doar ca era un Debian 2.0 cu kernel 2.0.34 , am facut masquerading cu ipfw, proxy cu squid si mail server cu smail.

Acum o sa descriu principiile pe care ma bazez cand configurez un firewall. Informatia prezentata nu este nici completa, nici general valabila si nici nu garantez ca este exacta; dupa cum am zis, doar indicatii generale.

Ca sa configuram un firewall, trebuie sa stim ce poate si ce vrem de la el. Un firewall este un program care proceseaza pachetele IP primite de la placile de retea si hotaraste ce face cu ele. Poate fi folosit pentru a proteja reteaua interna de intruziuni, pentru a da prioritate unor anumiti clienti sau unor anumite servicii, pentru a impiedica conexiunile din reteaua interna catre anumite servicii (de ex. torrent, dc++) sau pentru redirecta toate conexiunile catre un serviciu spre serverul dedicat.

Mai intai se defineste NAT (Network Address Translation): care este interfata interna, care este clasa de adrese a retelei interne, care este interfata externa, care este adresa interfetei externe, cum se translateaza adresele interne.

Trecem la filtrarea pachetelor IP. Actiunea implicita este ca se resping toate pachetele, pe toate interfetele.

Apoi se definesc adresele din reteaua interna care au voie sa initieze conexiuni catre reteaua externa. Se pot alege sursa (adrese individuale, subretele), destinatia (adrese, subretele), portul, intervalul de timp, sistemul de operare al computerului sursa.

In continuare se definesc adresele de Internet de la care acceptam conexiuni, de la ce adrese, catre ce porturi, intre ce ore etc.

Apoi stabilim care dintre pachetele acceptate vor fi transmise catre destinatie si care va fi destinatia. Pachetele sosite pe interfata interna catre reteaua externa (Internet sau orice altceva), vor fi lasate sa treaca, deoarece au fost deja filtrate. Pachetele sosite pe interfata externa vor fi trimise catre serverele dedicate, dupa portul (serviciul) pe care il acceseaza: 80 – serverul de web, 21 – FTP, 22 – SSH etc. Trimiterea conexiunilor externe catre un server in interior se numeste “port forwarding”.

In conditii ideale, serverele se vor afla pe o retea diferita, care se conecteaza la firewall pe alta interfata. Aceasta retea se numeste DMZ (DeMilitarized Zone), pentru ca este o retea interna, dar in care nu avem incredere. De ce? Daca un server este spart de hackeri, el poate deveni baza unui atac catre reteaua interna. Firewall-ul trebuie sa permita numai conexiuni din reteaua interna catre DMZ si nici o conexiune din DMZ spre reteaua interna. De asemenea, din Internet nu acceptam conexiuni catre adrese din DMZ, ci numai catre interfata externa a firewall-ului, pe care le redirectam noi catre serverul potrivit. De la serverele din DMZ e bine sa acceptam conexiuni spre Internet numai catre serviciile pe care se ofera serverele; adica un server de mail nu are de ce sa se conecteze la un alt server pe portul 22, mail se livreaza pe porturile 25 (SMTP) si 465 (secure SMTP). Punem aceasta limitare pentru a ingreuna (pe cat posibil) viata unui hacker care ia controlul asupra unui server din DMZ si incearca sa il foloseasca pentru alte activitati; in felul acesta ne asiguram ca serverul de mail nu va deveni – subit – server de FTP sau de torrent.

Acum putem sa ne ocupam de traffic shaping (adica prioritati). Definim cozi pentru computerele/serverele/serviciile importante si ne asiguram ca rezervam latime de banda pentru activitatile importante.

Acestia sunt, pe scurt, pasii necesari pentru a configura un firewall.

O foarte necesara precizare: faptul ca avem instalat un firewall nu ne protejeaza serverele de vulnerabilitatile pe care le contin software-ul lor. Ce vreau sa spun? Daca avem un server de web care ruleaza IIS (de exemplu) si nu am pus toate patch-urile, este posibil ca o cerere HTTP sa declanseze vulnerabilitatea si autorul sa preia controlul serverului. Deoarece cererea a fost o cerere HTTP obisnuita, sosita pe portul 80 si trimisa catre serverul de web, firewall-ul nu are cum sa o opreasca; el stie ca tot ce vine pt el pe portul 80, trebuie sa ajunga la serverul de web. Asa ca, verificati zilnic daca a aparut un patch nou si instalati-l imediat ce apare.

Urmatoarea intrebare este: ce firewall folosim? Pentru Windows exista cateva firewall-uri comerciale, printre care cele mai cunoscute sunt Check Point Firewall si Microsoft ISA server. Eu, ca de obicei, nu recomand Microsoft. De ce? Pentru ca nu am reusit sa stapanesc Microsoft ISA, dar am configurat rapid Check Point. Ca de obicei, pentru a putea folosi un produs Microsoft complex, trebuie sa platesti cateva (multe) sute de dolari pe cursuri.

Utilizatorii  de Linux sunt limitati la a folosi IP Tables – un mecanism de filtrare de pachete. Pentru port forwarding nu stiu ce se foloseste, iar pentru prioritati/cozi se compileaza in kernel QoS si se configureaza separat. Exista si scripturi care usureaza configurarea firewall-ului, dar nu m-au interesat prea mult. De ce?

Pentru ca eu am folosit OpenBSD pentru firewall. OpenBSD are un firewall numit pf (Packet Filter). PF face totul: filtrare de pachete, port forwarding, NAT, traffic shaping. Si toata configurarea se face editand fisierul /etc/pf.conf.

FreeBSD are 3 firewall-uri incorporate: IPFILTER (cunoscut si ca IPF), IPFIREWALL (sau IPFW) si PacketFilter de la OpenBSD (numit si PF). Pentru traffic shaping se pot folosi altq sau dummynet.

NetBSD foloseste ipfilter pentru firewall. Nu am configurat firewall pe alte sisteme de operare, asa ca nu pot sa dau alte exemple de software pentru firewall.

08
Iul
08

Programe interesante si…gratuite

  • Am gasit o alternativa interesanta la instalarea a nenumarate programe. Aceasta platforma va permite sa luati diverse programe pe orice mediu portabil – usb flash, ipod, hard disk portabil etc – si sa le rulati de acolo fara a afecta calculatorul pe care le rulati in nici un fel. Adica daca le aveti pe un usb, conectati usb-ul la un computer, va faceti treaba, o salvati, scoateti usb-ul, iar nici o data personala nu ramane pe computerul pe care ati lucrat. Vi se ofera si un pachet cu cele mai folosite softuri, daca nu aveti voi rabdare sa le selectati, totul gratuit. Aceasta idee mi se pare minunata, sincer.

(Image credit)

  • Pentru a vedea programe tv pe internet puteti folosi acest software. Vi se ofera si o baza de data cu foarte multe canale, iar sistemul de rating implementat va da indicii daca respectivul canal functioneaza sau daca este interesant.

(Image credit)

  • O alternativa viabila la Photoshop, Gimp este un program de manipulare a imaginilor pe care il folosesc de ceva timp. Desi pare la inceput ceva mai complicat, daca aveti experienta in Photoshop va veti obisnui rapid cu functiile sale. Restul, experimentati cu multele functii ale acestui software!

(Image credit)

21
Iun
08

Si XP este vulnerabil

Windows ne ofera posibilitatea de a programa executia unor programe la un moment ulterior. Desigur, este un lucru util, dar… din cauza lipsei unui mecanism adecvat de verificare a drepturilor de acces, face posibila escalarea drepturilor.

Folosind comanda

c:\> at 21:00 /interactive %systemroot%\system32\cmd.exe

la ora 21:00 va porni cmd.exe, dar ruland cu privilegiile utilizatorului SYSTEM. Si,  pentru cine nu stie, SYSTEM este utilizatorul cu drepturi depline. De fapt, are mai multe drepturi decat insusi Administrator.

Concluzia? Dezactivati “Scheduled Tasks”, daca nu aveti nevoie de asa ceva; si, de obicei, nu aveti nevoie decat pe servere.

15
Iun
08

FreeBSD

FreeBSD este un sistem de operare bazat pe o versiune de Unix numita 4.4BSD. Spre deosebire de Linux, care este un kernel in jurul caruia se construieste o distributie, FreeBSD este un sistem de operare complet.

Comparativ cu Linux, utilizatorul nu are prea multe diferente de constatat: interfata grafica este X + un window manager (KDE, Gnome, XFCE sau altul), browserul implicit este Firefox (Konqueror pentru KDE), clientul de e-mail este Thunderbird (sau KMail pentru KDE), pentru office exista OpenOffice etc.

Pentru administratorul sistemului, diferentele sunt notabile. In primul rand procesul de boot: in locul directoarelor /etc/rc0.d pana la/etc/rcS.d care controleaza procesele lansate in fiecare runlevel, FreeBSD are doar doua fisiere care controleza programele pornite: /etc/rc.conf si /etc/rc.local, simplificand mult configurarea.

O alta diferenta majora consta in sistemul de software ports. Pe Linux, daca vrei sa instalezi un software nou, ori il gasesti la furnizorul distributiei deja compilat pentru distributia pe care o ai, ori iei sursa si o compilezi. Pe FreeBSD (si pe NetBSD si OpenBSD) exista un mecanism care iti permite sa alegi dintr-o gama foarte larga de programe si sistemul downloadeaza sursa, o compileaza si instaleaza programul ales. Mai mult decat atat, sistemul downloadeaza, compileaza si instaleaza toate programele si bibliotecile de care are nevoie programul ales.

FreeBSD are si un emulator de Linux, adica poate rula programe compilate pentru Linux fara nici o modificare. Acest lucru mi-a permis sa rulez Informix Dynamic Server (versiunea pentru Linux) pe FreeBSD.

Una din cele mai importante diferente intre sistemele BSD si Linux este licenta: Linux foloseste licenta GPL versiunea 2, iar *BSD folosesc licenta BSD. GPL v2 zice (pe scurt) “poti face ce vrei cu acest program, dar, daca scrii un alt program bazat pe el, trebuie sa ne dai ceea ce ai scris tu”. Licenta BSD, pe de alta parte, zice “poti face orice cu acest program, dar in sursa trebuie sa scrie ca am lucrat si eu la el’. Cu alte cuvinte, daca modific kernelul de Linux (il imbunatatesc), trebuie sa spun tuturor ce am facut si maine alta companie poate face bani din munca mea. Daca iau FreeBSD si il modific, pot sa il numesc MihaiBSD si sa il vand cu 5000$ licenta. Nu trebuie sa arat nimanui nici o sursa si nici nu trebuie sa platesc vreo licenta. De fapt, nici nu trebuie sa il modific, pot sa il vand asa cum e :D

Cat despre capabilitati, ultima versiune de FreeBSD a adaugat scalabilitate liniara pe sisteme cu pana la 8 core (de exemplu server dual procesor cu 4-core/CPU sau quad procesor cu 2-core pe  CPU). Benchmark-urile au aratat ca FreeBSD ofera o performanta dubla pentru MySQL si PostgreSQL decat Linux pe servere 8-core. A mai adaugat suport pentru sistemul de fisiere ZFS de la Sun si suport pentru retele de 10 Gbps – da, 10 Giga biti pe secunda.

In continure, cateva screenshots cu desktopuri FreeBSD.

FreeBSD + KDE:

KDE

FreeBSD + Gnome

Gnome

FreeBSD + Window Maker

Window Maker

Si, la final, preferata fanilor BSD – NUMAI pentru cei peste 18 ani.

12
Iun
08

Hai sa ajutam la stabilirea unui record Guiness

Mozilla ne invita sa fim parte la stabilirea unui nou record inscris in Guiness Book of Records: cel mai downloadat software in 24 de ore. Daca mergeti la www.spreadfirefox.com/en-US/worldrecord, puteti apasa pe “Pledge now”

pledge

si astfel va angajati sa downloadati Firefox 3 in ziua in care se va lansa. Mozilla Foundation va va trimite un e-mail sa va reaminteasca ziua lansarii si adresa de unde se poate downloada.




Add to Technorati Favorites

RSS Pauza de cafea

Ganduri trecute

Ne-am mai plimbat pe