Aty ku leximi eshte kenaqesi :)
Paradoks ne Universitetet Shqiptare
Mund te thoni se me pelqen kritika, porse nuk eshte e vertet. Me pelqen te them fjale te mira , te lavderoj por jo pa vend. E pra kete teme po ja dedikojme pedagogeve tane te dashur (nese jane te tille). E nga tja nisim :/ , eshte fjala per fakultetet e informatikes , per te tjerat qe nuk kam njohuri nuk mund te flas. Shumica e atyre qe pergatisin sot "eliten" shqiptare te informatikes, inxhin...
Komunikimi ne Internet | Format Virtuale te Komunikimit
Ne temen Historia e Internetit trajtuam qellimet origjinale per te cilat u ideua "Inter-Network-u" dhe morem nje ide per ç'fare u ideua interneti dhe transformimi i perdorimit te tij ne kohet e mevonshme, ne kete teme do te shohim pikerisht qellimin 'sot' per te cilin perdoret interneti dhe metodat e ndryshme te ketij komunikimi. Jemi te qarte qe interneti perdoret per te shkembyer informacion, ...
Te zgjerojm limitet e iptables
Jemi ne nje nga temat me * ketu ne albanianwizard.org, them me * sepse ky eshte nje koncept origjinal i patrajtuar me pare, koncepti eshte te kthejm Iptables firewall ne IPS (Intrusion Prevention System), dhe shkrimi eshte paksa i nje niveli te avancuar (kjo edhe pse jane koncepte te reja dhe jo diçka e perditshme) keshtu qe nese nuk  keni informacione se ç'fare jane: buffer overflow sql inje...
Windows ne Linux me Virtualbox | Si te ndajm direktorit dhe Suporti 3D
Pershendetje, ky eshte nje minitutorial i radhes ku do te shohim se si te instalojm nje windows XP ne linux dhe gjithashtu do te shohim se si te ndajm direktorit (folders) nga linux ne windows ne menyre qe ti kemi te aksesueshem edhe nga Windows. Fillojm, Distribucione Linux ka shume, per ta instaluar ne: Fedora : yum install virtualbox-ose Debian : apt-get virtualbox-ose Slackware : installp...

Hacker VS Programatori – Demo

Posted By: arditi on 20-02-2010 in Java, i'm a cool Nerd - Comments: No Comments »

Pershendetje, jemi perseri ne nje nga temat e nxehta , kam pergatitur nje skenar ku per te shpjeguar “punen” qe bejn pershkruesit “private” public ne java kam shkruajtur versione te ndryshme te nje programi “banke” me funksione shume te thjeshta.
E futa “hackerin” ne loje sepse tema behet shume me interesante, leximi i kodit behet akoma me itneresant dhe ajo qe doja te shpjegoja (mbrojtja e variabilave dhe metodave ne programimin me objekte)  behet me e qarte dhe e kuptueshme.
Kodin e kam komentuar mire, ose me sakt “tabllon e ngjarjes” keshtu qe leximi i kodit do jete shume i mire… Nese nuk lexoni kod:
“Ne kemi nje perkufizim te pergjithshem per lamerat, themi qe jane njerez qe nuk lexojn kod” 
Kodin me gjithe udhezimet e perdorimit mund ta shkarkoni:
http://albanianwizard.org/pub/bhck.zip

Nje pjese te programit mund ta shihni tek:
http://albanianwizard.org/Postokodin/60

Kujtoj qe skenari eshte virtual, ne boten reale nje vulnerabilitet i tipit buffer overflow do ti jepte sulmuesit kontroll te plote mbi programin vulnerabel dhe kjo do te kompromentonte dhe pjesen tjeter te sistemit.
Sigurohet kenaqesi dhe info pa limit gjat leximit ;)
Have Phun :P

RREGULLA TE ARTA PROGRAMIMI

Posted By: arditi on 18-02-2010 in Java, Mini Tutoriale Shqiptare, i'm a cool Nerd - Comments: 2 Comments »

Shpesh here nje program cilesor ben diferencen, e kam fjalen ne te gjitha aspektet.
Le te permendim disa rregulla te arta qe vertet bejn diferencen:

1. Ne cilen gjuhe ta shkruajm programin?

Shpesh here kjo eshte zgjedhje vendimtare pasi gjuha qe mund te kemi zgjedhur nuk eshte shume e pershtatshme per nje program te caktuar ndersa nje tjeter eshte shume here me e mire, psh te marrim nje rast banal si psh te perdoresh assembly per te koduar nje program me grafik te avancuar ose e kunderta te perdoresh cobol nderkohe qe te duhet nje program shume i shpejt (pra qe mund te kodohej ne assembly ose python qe jane gjuhe qe japin goxha shpejtesi)
Pra ky eshte hap themelor.

2. Dizajni imagjinar i programit

Kjo vertet them se eshte pika kryesore dhe themelore e te gjith kesaj, pasi nese ne e ideojm programin ne koken tone, me te gjitha pjeset e tij pastaj zbatimi eshte thjesht 20% e punes, nderkohe qe nje programator i mire ne UML mund te bente shume pune ne keto raste, njohuri te tilla japin stabilitet, siguri, funksionalitet.

3. Thjeshtesia

Sa me i thjeshte, aq me mire, nje program i thjesht ka fluiditet dhe eshte i thjesht per tu rregulluar ndersa nje program i komplikuar eshte shume i prirur per te pasur bug dhe vulnerabilitete, ndersa nje program i thjesht eshte edhe me i leht per tu rregulluar dhe kjo çon tek nje rregull tjeter qe eshte PAK RRESHTA.

4. Modulariteti

Ketu hyjm tek programimi me objekte, shpesh jane objektet qe na kursejn rreshta kodi dhe na japin thjeshtesi, nje rregull shume i rendesishem ketu eshte:
Mbaje MAIN() me sa me pak rreshta kodi, kjo do te thote qe nese ne bejm nje program (po e zeme ne java) mund te kemi 15 faile.java ku vetem njeri ka main() per te egzekutuar programin, nese ne i ndajm Konstruktoret dhe metodat ne secilin nga failet dhe mainin e mbajm me pak rreshta vetem sa per te egzekutuar objektet e shperndara atehere kjo do japi nje program shume te thjesht per tu shpjeguar edhe njerit qe nuk ja ka idene programimit.

5. Ridizaini

Gjate perfundimit te programit ka shume gjasa qe te na lindin ide te reja, ne keto raste edhe nese duam te bejm nje ridizajn te programit do te jete shume i thjesht pasi objektet klasat jane te ndara secila ne vendin e vet dhe metodat po ashtu keshtu qe duhet te jete shume e thjesht per te “lozur” me programin tone.

6. Algoritmi fitues

Shpesh algoritmi fitues nuk eshte ai me i komplikuar, por ai me i thjeshti, sepse thjeshtesi do te thote dhe fleksibilitet dhe kur kemi perpara nje projekt te perfunduar ku duhet te rregullojm bug-e kjo do te na kursente ore te tera.

Jane dhe shume te tjera, por per momentin po ndalohemi me keto. (jam duke ikur lol, shtoni metoda tek komentet)

Konfigurimi baze i Iptables ne nje Sistem Linux

Posted By: arditi on 19-01-2010 in Linux, Networku - Rrjeti, Siguria Informatike, i'm a cool Nerd - Comments: No Comments »

Iptables eshte nje program shume i njohur dhe popullor per te gjithe perdoruesit e sistemeve Linux, ai eshte nje firewall goxha i mire dhe ne baze te tij jane ndertuar dhe shume te tjere.
Ne kete “mini-guide” te vogel do te shohim konfigurimin e tij te thjeshte.
Supozohet qe ky firewall te perdoret nga nje kompiuter personal, nese deshironi qe te perdorni firewallin nga ndonje server atehere normalisht duhet te lejoni sherbime te caktuara psh (httpd), (ssh), (ftp)(mysql)(dns) etj .
INSTALIMI

Shume i thjesht, ne shumicen e distribucioneve Linux e keni te instaluar, keshtu qe mund ta instaloni direkt nga package manageri.

KONFIGURIMI

Perpara kesaj duhet te fiksojm disa gjera te vogla shpejt e shpejt, Iptables ka disa “zinxhir” apo fronte ne te cilat kalojn paketat (sepse eshte thjesht nje software qe analizon paketat qe hyjn nga skeda ethernet apo wireless).
Kemi 3 tabela:
FILTER  : ka 3 fronte /INPUT/FORWARD/OUTPUT
NAT : nuk do merremi kesaj rradhe
MANGLE : nuk do merremi kesaj radhe

Ne kete here perderisa po behet fjale per nje konfigurim baze do te shohim vetem tabelen e pare, ate FILTER e cila na ndihmon te konfigurojm firewallin tone me ane te 3 fonteve, Input, forward [perdoret per te kaluar paketa nga makina jote tek nje makine tjeter, pra makina jote eshte thjesht nje "ure" dhe ti zgjedh ti kaloj apo jo]  output [kontrollon paketa qe gjenerohen nga sistemi e ne kete rast ti mund te kontrollosh psh nese dikush (user) nga makina jote kerkon te lidhet me ssh ti mund ta bllokosh duke percaktuar rregulla tek output] .
Ne rastin tone, do te shohim se ç’fare mund te bejm me Input i cili percakton se ç’fare duhet te bejm me paketat qe vijn ne kete zinxhir (pasi eshte kontakti i pare). Pra fronti i pare i “luftes” ku hyjn paketat nga jashte.
Kemi 3 rregulla te ndertuara ne kete front, kemi DROP, ACCEPT dhe REJECT.
ACCEPT – kemi kur paketa pranohet dhe kalon permes firewallit dhe ne kete rast pra eshte kur kemi nje port te hapur dhe nje server httpd. Koneksioni krijohet pa problem.
DROP -  i njohur ndryshe dhe si “blackhole” i cili thjesht injoron paketen duke mos derguar paket pergjigje per tek hosti origjinar.
REJECT – ndalon paketen te kaloj duke derguar nje paket pergjigje ICMP si “destinacioni eshte i paaritshem” duke lene te kuptoje se hosti eshte offline.

DROP versus REJECT
Kemi ndryshim midis ketyre 2 opcioneve qe na ofron iptables, ku secili ka te mirat dhe te keqiat e veta, psh ne aspektin e koneksionit, DROP do i thoshte klientit, ose atij qe kerkon te lidhet apo te sulmoj qe paketa ka humbur dhe ne baze te ligjeve te rrjetit automatikisht do te bente ritransmetimin e kerkeses derisa te perfundonte kurse Reject do ti thoshte qe ne fillim me nje paket “destination unreachable” ICMP keshtu qe do te thote kursim kohe dhe kursim rrjeti.

Per me shume info, provoni firewallin tuaj me netcat ,hping dhe nmap per te testuar keto 2 opcione.
Si fillim:
iptables -A INPUT -p icmp -j REJECT  #Blloko ç’do lloj ICMP-je qe vjen tek kompiuteri yt, gjithmon nese nuk ke ndonje sherbim (server\ftp etj) kjo do te kthej kompiuterin ne nje fare “fantazme” per skanerat qe nuk perdorin opcionin (no-ping)  te nmap.

iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT #Per te garantuar qe koneksionet qe jane te fiksuara te mos mbyllen.

Bllokojm lidhjet udp dhe tcp

iptables -A INPUT -p tcp -j REJECT –reject-with tcp-reset
iptables -A INPUT -p udp -j REJECT –reject-with icmp-port-unreachable
Bllokojm trafikun qe mund te kaloj nepermjet kompiuterit tone, ne kete rast psh evitohet qe kompiuteri te shnderrohet ne nje zombie:
iptables -P FORWARD DROP
Tani na ngelet te kontrollojm trafikun qe del nga kompiuteri yne, dhe nese duam qe te lejojm ç’do gje (eshte diçka normale nese nuk doni te kufizoni ndonje perdorues) atehere:
iptables -P OUTPUT ACCEPT

Krijojm 2 zinxhir te ri te personalizuar si:

iptables -N hapur
iptables -N interface

Persa i perket zinxhirit apo frontit interface do e perdorim per te lejuar komunikimet e brendshme te kompiuterit (loopback) qe mund te perdorin shume aplikacione keshtu qe :
iptables -A interface -i lo -j ACCEPT
KUJDES: nese japim psh iptables -A interface -i eth0 -j ACCEPT dhe eth0 perdoret per tu lidhur me internetin atehere kjo do te mbishkruaj rregullat e mesiperme dhe nuk do jet me firewall lol.
Kalojm tek zinxhiri “hapur” qe sapo krijuam.
Ketu mund te shtojm portat qe ne do i leme te hapura, psh per sherbime te ndryshme qe mund te ofrojm si web-server, ftp-server, mail-server, ssh e keshtu me radhe.
Keshtu qe:

iptables -A hapur -p tcp –dport 80 -j ACCEPT #kjo do te lejonte lidhjet e jashtme per tek porta 80, pra ne rastin tone me web-serverin.
Nese duam qe serverin ta vizitoj vetem ndonje miku yne qe psh ka ip 192.168.1.140 atehere japim ne vend te asaj qe shkruajtem:
iptables -A hapur -p tcp -d 192.168.1.140 –dport 80 -j ACCEPT

Kunder sulmeve te ndryshme

Te kujdesemi qe te gjitha paketat ne hyrje te jen kerkesa per sinkronizim, ne te kundert DROP IT!!

iptables -A INPUT -p tcp ! –syn -m state –state NEW -j DROP
Kjo do te evitonte nje sere sulmesh me nmap.
Kunder sulmeve te tipit “Fragmentation”
iptables -A INPUT -f -j DROP
Kunder XMAS scan
iptables -A INPUT -p tcp –tcp-flags ALL ALL -j DROP
Kunder FIN scan

iptables -A INPUT -p tcp –tcp-flags FIN ALL -j DROP

iptables -A INPUT -p tcp –tcp-flags ACK,FIN FIN -j DROP
Kunder NULL Scan

iptables -A INPUT -p tcp –tcp-flags ALL NONE -j DROP
Mbrojtje e pergjithshme:

iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT
Kunder “pingut te vdekjes”
iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT
Kunder sulmeve syn fload dhe DoS
iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT
Kunder skanimeve SYN\RST
iptables -A INPUT -p tcp –tcp-flags SYN,RST SYN,RST -j DROP

Per sulme te personalizuara, personalizoni iptables, psh kunder nje sulmi FIN,SYN mbrojtja do te ishte:
iptables -A INPUT -p tcp –tcp-flags FIN,SYN FIN,SYN -j DROP

Kunder spoofing:

iptables -A INPUT -d 224.0.0.0/4 -j DROP
iptables -I INPUT -i eth0 -s 10.0.0.0/8 -j DROP
iptables -I INPUT -i eth0 -s 172.16.0.0/12 -j DROP
iptables -I INPUT -i eth0 -s 192.168.0.0/16 -j DROP
iptables -I INPUT -i eth0 -s 127.0.0.0/8 -j DROP

Thame qe ishte nje konfigurim i thjeshte, ky konfigurim firewalli mund te modifikohet shume here me shume, por shpresoj se do kem kohe dhe do e shkruajm ndonje skript ne bash :)
PS, te gjithe kesaj duhet ti shtoni psad dhe fwsnort.

Arch Linux – nje Tux i vertet

Posted By: arditi on 11-01-2010 in Linux, i'm a cool Nerd - Comments: 3 Comments »

Pershendetje,

kisha kohe qe e vereja si sistem dhe shume here jam nisur ta provoj por per shkak te kohes, perteses (nganjehere) apo faktoreve te tjere nuk kam mundur ta instaloj.
Le ta ndajm bashk kete eksperienc,
Une e instalova me live-cd (rreth 300mb) dhe ne fillim ne pamjen e pare me kujtoi slackware sepse pak a shume gjate instalimit eshte e njejta gje perveçse Arch instalon vetem kernelin dhe modulet e tij qe te duhen per sistemin tend.
Ajo qe me beri shume pershtypje ishte se ne ndryshim nga shume distribucione te tjera, ti konfiguroje vet manualisht ç’do pjes te sistemit duke filluar qe nga bazat (rc.conf) e deri tek grub si bootloader, pra e ndertoje sistemin pak nga pak ashtu siç ta ka qejfi ty.
Fundi i instalimit ishte nje skermat e zeze me nje root@darkinet # perpara…
Ne fjale te tjera ne kompiuter ishte vetem nje sistem linux primitiv, pa grafik, pa sistem zeri, pa programe, pa server X pra pa gje prej gjeje, shkurt Linux shqeto.
Edhe package manageri ishte nje Pacman i cili administronte paketa tar.gz
Eksperienca ishte thjesht fantastike, per tu lidhur me nje rrjet wireless psh, ne jemi mesuar te klikojm tek network-manager dhe te lidhemi nderkohe qe me arch per tu lidhur duhet ne fillim te instaloje firemwarin e skedes wireless, ta pergatisje, te rregulloje network DAEMON-in ne rc.conf qe te startonte automatikisht, pastaj te pergatisje skeden me ifconfig , te skanoje manulisht per rrjete wireles, te lidheshe duke shkembyer çelesin dhe ne fund ti jepje nje dhcpcd wlan0 per te marr ip automatike.
Mbas kesaj, nje upgrade i sistemit dhe instalimi i kernelit te ri, mbas kesaj vjen zgjedhja jote se ç’fare ke deshire te perdoresh per zerin ALSA apo OSS, normalisht zgjodha ALSA si me modern he konfigurohet edhe ky me disa komanda , mbas kesaj u konfigurua serveri X (automatikisht pa xorg.conf) dhe mbas kesaj instalohet driveri i skedes grafike duke e shkarkuar nga repositoryt (harrova ,shtohet dhe user, dhe shtohen dhe repositoryt qe ke qejf).
Mbasi instalova dhe driverin e skedes grafike, u tundova paksa kur i dhash startx, doli nje ekran i zi dhe 2 terminale perball, u tundova sepse kisha deshire ta mbaja sistemin ne ate gjendje por pashe me vone qe disa programe grafike qe me nevoiteshin nuk punonin ne menyre korrekte. Ne te vertet nje perdorues kupton se si realisht funksionon sistemi operativ se si instalohen shtresat 1 nga 1 dhe se si ndertohet ashtu siç ta ka me shume qejfi ty.
Nje ligj shume i rendesishem qe kuptohet gjate kesaj eksperience eshte:
“Ç’do gje qe behet me grafike, ne realitet behet me komanda , poshte pamjes se bukur”
Ne fund si desktop zgjodha lxde (nese mendoni pse jo openbox, eshte perseri openbox ne rrenj por ka me shume opcione dhe eshte ca me i bukur) me vone i shtova programet qe me pershtateshin dhe ato qe me pelqenin me shume, sepse vertet ka shume zgjedhje si psh per networ-managerin, per audion, per editoret, per platformat per programim, per librarit e sistemit, per çeshtjet e siguris e keshtu me radhe..

Rezultati:
Nje sistem linux i ndertuar pothuajse vet sipas shijeve te tua personale qe nga fillimi deri ne fund, me programet qe do, me menyren e perdorimit qe do, pra super-elastik ose me sakt te detyronte te modifikoje ç’do gje per te te lene ty te beje sistemin dhe jo sistemi te te bente ty.
Starton ne 8-10 sekonda, dhe gjate gjith kohes duke marre parasysh se ka perfunduar si sistem (pra ç’fare kam pasur per tja instaluar ja kam instaluar) proçesori rri 0%-1% kurse RAM rri 200 maksimumi 300 mb.
Nuk eshte aspak minimalist pasi kam instaluar gati 5 gb software ne te.
Jashtzakonisht i shpejt dhe i qendrueshem, shume fleksibel tjesht linux ;)

Nese dikush kerkon ta instaloj nuk keshillohet per perdoruesit e rinj te linux ose ata qe nuk e kane perdorur me pare.
Gjithsesi gjeni nje dokumentim perfekt tek Arch Wiki Begginers Installation Guide.
Ja nje screen ne fund te instalimit: (ps edhe screenshot i behet me komanda :D )