petak, 30.12.2005.

Open wireless




Sve veca i veca je opca pomama za wireless tehnologijama danas. Tako svaki tuto ima doma wireless "kutiju" preko koje se on "spaja" na internet. To mu je polazna tocka za ovaj svijet.
No ne uviđa mogucnosti koja ta kutija pruza, a sigurnost u svemu tome je zadnja rupa na svirali.
Nemoze se tu cak ni okriviti krajnjeg korisnika tu bi prije okrivio nesposobnost "ovlastenih" osoba, a pod time mislim djelatnike poste i slicnih provajdera, koji jednostavno ili nemaju ili ne zele osigurati svog korisnika od eventualnih nezgodnih trenutaka koje bi mu ta kutija mogla pruziti u koliko nije podesena kako treba.
Uzet cu za primjer moje ukucane, koji su iole educiraniji korisnici oko "internetâ" :)
Dakle situacija .. uredna pretplata na MaxADSL, lijepi i dobri ljudi iz poste su dosli postaviti sam uređaj. Sve super difno krasno ... no uredaj je postavljen bez iti jedne zastite na sebi. Jedina zastita je bila to sto si se morao logirati na router da bi se spojio na internet.
E sad uzmemo u obzir da u mene u susjedstvu postoji zli gospon 'aker koji sa svojom ultra mocnom wireless karticom povremeno skenira susjedstvo u zelji da nadje "ovakav" pristup koji omogucava svima da pristupe i da se logiraju.

U onom trenutku kad moji pokrenu preko svog laptopa spajanje na internet problemi nastaju.
Svak vidi mrezu koja je otvorenog tipa, bez SSIDova bez ista a ne rijetko mnogi postave SSID npr. HT ili slicno.
I dakle obicnim bezazlenim skeniranjem otkrivamo par mreza preko kojih se mozemo spajati.
Gle sad ovo :




Dakle tocno ono sto sam rekao .. previse defaultnih postavki. Sto omogucuje svakome iz susjedstva mirno surfanje preko vase mreze bez po muke. Pa zar ste uzeli taj DSL za sebe i druge ili volite tako dijeliti stvari?? :)

Ovim tekstom sam samo htio pobuditi vasu mastu i da se ovakve stvari ne dogadjaju.Barem otezajte posao nekima pa sakrij te SSID vaseg access pointa .. jer ovo je kao otvoreni porsche sa kljucevima ostavljenima na prednjem sicu...
Osnovne postavke nekog wirelessa bi ipak bile pozeljne....

Za sljedeci put pripremam izvjestaj sa dubrovackih ulica ... kakvo je wireless stanje u gradu.

p.s. Sinoc je skenirano povise robne kuce srdj .. bilo je 4-5 upaljenih APova bez ikakve zastite, Max-DUWIFI (tako nesto) mreza i moj AP :)

- 08:36 - Komentari (0) - Isprintaj - #

četvrtak, 29.12.2005.

MIRAKUL

Nije Gibo nego moja Wireless kartica :)
vec prije spomenuta






Nemogu vjerovat sinoc nakon dugih patnji i problema sa istom jedna fora je bila dovolja da sve pocne raditi kao sat, samo jedna jedina fora :

prilikom loadanja Linuxa bilo live distre ili onog instaliranog na kompu samo je trebalo upisati u boot opciju :

PCI=ASSIGN-BUSSES

Radi ma radi ka sat, kano soko sinji .... kengurko :)
Presretan sto nisam djabe bacio pare kismet, airsnort i svi programi za karticu rade ko podmazani .. da covjek nemoze vjerovat a toliko truda i patnji da to proradi sve. A gle sad :)
Ma MIRIKL :)
Uzivajte mi a ja odoh danas-sutra u wardriving pa se javimo sa izvjestajem gdje ima pogodnih mreza u gradu :)

- 08:59 - Komentari (0) - Isprintaj - #

utorak, 27.12.2005.

Rođendan ili Java ?? :(

24 na pragu ... pobogu kad se okrenem tako je ovo brzo proletilo. Kako, zasto tako brzo ??
Al sta's sad ... sta je tu je idemo dalje.
Problemi sa mojom novom karticom D-link G650 prokleti bili jos nisu napravili drivera za x64 arhitekturu.
Tako da moram kemijat sa nekim Atheros driverima. Ali opet i to ne funkcionira. No osmijeh na lice za rođendan navukla mi je novost sljedeceg linka :

http://www.remote-exploit.org/index.php/Auditor_mirrors

Auditor je free liveCD distribucija bazirana na linuxu i kako kazu imaju podrsku za atheros kartice "madwifi" driveri. Danas popodne cemo skinuti, testirati i isprobati.
Stvarno se nadam da ce raditi jer mi se neda razmisljati o tome da sam bacio 400 kna :)

Danas sam poceo sa projektom CroCar, on-line sustavom za rent-a-car poslovnice.
Detalje cemo vidjeti jos malo .. sad razvijamo bazu :)
btw. MicroOLAP Database Designer ... vrlo korisna stvar .... free trial .. crack nedam :P :)

- 11:29 - Komentari (3) - Isprintaj - #

četvrtak, 22.12.2005.

Blagdani nam stižu

Depresivno vrijeme ovo pred blagdane. Nekako imas osjecaj tu su pred vratima pa ti se onda nista zivo neda. Jutros uzasno lose deployanje tomcata na web server navelo me na razmisljanje o poslu, bezveze znam al eto :)
Kompletan smisao te Jave mi neide u glavu, jer je po meni stvar i vise nego zakomplicirana. Deskriptor tamo, deskriptor amo ... pa onda pomutnja u prvim redovima. Mislim daleko od toga Java je mnogo jak jezik za razliku od PHPa ali opet taj PHP ima svoje cari.
Uzet cu za primjer obicne aplikacije koje sam radio u zadnja dva tjedna.
Dakle potrebno je bilo izvesti logiranje na stranice 10tablica vezanih i mjenjanje/unos podataka u iste.
Java po meni i nije toliko za web koliko je PHP. Java ima dobro podrsku za sve ostalo ali za WEB i prefer PHP. Toliko mocan jezik a tako jednostavan za shvatiti i za koristiti u praksi.
Eh da .. narucio sam knjigu DHTML Utopia sa Sitepointa sad jedva cekam da dodje...... a onda cemo se malo baciti na JavaScript.

U zadnje takodjer dosta razmisljam o wirelessu. Kako svi bolji programi "kismet", "aircrak" rade provjereno na linuxu trebala mi je neka kartica koju cu uspjesno upogoniti na rad ali bas na linuxu.
Od svih kartica najvise u oko mi je zapela Orinoco a/b/g Gold kartica koja provjereno radi na SVEMU.
No kako je budjet malo skresan pa imam oko 400 kna na te pizdarije da potrosim ta kartica i sva razmisljanja o njoj su brzo pali u vodu. Odlucio sam nac nesto jeftinije i mislim da sam skoro i pronasao :)
DLINK -G650 kartica sa Atheros chipsetom koja bi trebala raditi na linuxu uspjesno.
Driveri za nju : http://sourceforge.net/projects/madwifi/

Nije plug and play ali makar ima drivere. Sto na mom laptopu sa broadcom karticom i nije bas najlakse za nac drivere. Mislim upogonio sam ih ali potrebno je bilo 3 fkin modula da bi proradila. To je ipak za moj ukus malo previse.
Dakle svak ko zeli jeftinije ali dobro DLINK -G650 je pravi izbor cak je nadjoh za 350 kna.
E da ... ta kartica nema prikljucak za externu antenu (tako pise sa njom), ali u stvari ona ima prikljucak.
O tome cemo drugi puta :)

- 09:51 - Komentari (0) - Isprintaj - #

utorak, 20.12.2005.

Ajax

Ne nije to jos jedan nogometni klub na ovim nasim balkanskim podrucjima.
Rijec je o relativno staroj "tehnologiji" samo sa modernijim pristupom i gledanjem na web.
Ustvari radi se o Javascript tehnologiji zajedno sa XML-om.
Ovdje cu prikazati tj. pokusati objasniti shemu kako stvari funkcioniraju ....
Koristit cemo Ajax sa PHPom, a "tool" za to ce nam biti SAJAX. Kojeg uredno mozete skinuti sa
http://www.modernmethod.com/sajax/
On je nista vise nego obican wrapper u php-u koji sluzi za olaksavanje situacije na terenu.
Za primjer cu uzeti kalkulator:
demo : http://www.modernmethod.com/sajax/sajax-0.10/php/example_multiply.php
source : http://www.modernmethod.com/sajax/sajax-0.10/php/example_multiply.php.txt

E sad kad imamo sve krecemo from the start. Ne zanima nas Ajax ... nego SAJAX kao wrapper.
Imamo kod



input type="text" name="x" id="x" value="2" size="3">
*
input type="text" name="y" id="y" value="3" size="3">
=
input type="text" name="z" id="z" value="" size="3">
input type="button" name="check" value="Calculate"
onclick="do_multiply(); return false;">



Dakle svaki element na nasem "siteu" ima pripadajuci ID. name="X" ima id="x", a name="y" ima id="y"
mozete definirati kako hocete samo da bude strihtno. Dva polja x i y su unosi a z je naravno produkt :)

imamo i button koji na event onClick radi do_multiply(); U tom trenutku pocinje akcija.
No ajmo mi na PHP kod i includanje sajaxa


require("Sajax.php");

function multiply($x, $y) {
return $x * $y;
}

sajax_init();
// $sajax_debug_mode = 1;
sajax_export("multiply");
sajax_handle_client_request();


Prva linija poziva putanju do sajaxa i tik ispod nje imamo PHP funkciju koja unosne dvije varijable mnozi i vraca njihov umnozak. Ispod startamo Ajax, i jedna od najbitnijih exportiramo tu funckciju :)
Jako bitno za zapamtiti ... pazite na ilegalna imena poput mail, sendmail i slicno. I na kraju obavezno
sajax_handle_client_request(); bez ovih stvari sada necete daleko :)

Konacno dolazimo na javascript ... on je u stvari vrlo jednostavan ....


function do_multiply_cb(z) {
document.getElementById("z").value = z;
}

function do_multiply() {
// get the folder name
var x, y;

x = document.getElementById("x").value;
y = document.getElementById("y").value;
x_multiply(x, y, do_multiply_cb);
}


Rekli smo da button onClick zove funkciju do_multiply(); ... sta ona radi.
Prvo setira dvije varijable "var x,y" onda tim varijablama pridruzuje neke vrijednosti. Sad je tu bitno kako ste nazivali one id-ove dole. x=document.getElementById("x").value vraca vrijednost input polja pod ID-om "x" ili kako ste ga vec nazvali. Kad imate obije vrijednosti funkcija zove drugu funkciju
x_multiply(); => ovo je ustvari nasa PHP funckija samo exportana ima prefix x_ :)
Ali djomla kako tri vrijednosti kad nasa PHP funkcija prima samo dvije. Treca vrijednost u pozivanju funkcije "do_multiply_cb" kaze da rezultat funkcije x_multiply vrati u funkciju do_multiply_cb
a ona radi sljedece :


function do_multiply_cb(z) {
document.getElementById("z").value = z;
}


Preuzima vracenu vrijednost PHP funkcije i postavlja ID-z (njegovu vrijednost) na Z, dakle na vrijednost koju je PHP funkcija vratila.

voila ... cas posla. Fino i frisko ... See you next time ...

- 13:30 - Komentari (0) - Isprintaj - #

Apache and SSL na vašem stolu

Evo da obradujem siroke pubne mase i napisem brzopotezni/pleti tutorialchic o SSLu.

Radnja... Linux Fedora 2 ... apache 2.
Daklem svi konfiguracijski fileovi se nalaze u direktoriju

/etc/httpd

Standardni conf se nalazi

/etc/httpd/conf

a svi ostali confovi (citaj za php, ssl, etc.) nalaze se unutar

/etc/httpd/conf.d

Simulirat cemo sljedecu situaciju ...
Sami ce te sebi izdati certifikat i probat se spojiti https://localhost
Zanimljivo samo da napomenem da Apache 1 nije imao podrsku za SSL Virtualne hostove dok novi ima ... jupiiii??? Smile
E sad ... prije svega moramo si izdati certifikat jeli??
e pa ajmo Smile

code:
[root@djomla][/etc/httpd/conf]pwd
/etc/httpd/conf

[root@djomla][/etc/httpd/conf]ls
httpd.conf httpd.conf.old magic ssl.crl ssl.csr
httpd.conf.bak httpd.conf.rpmsave Makefile ssl.crt ssl.key

[root@djomla][/etc/httpd/conf]make php-hr.crt
umask 77 ;
/usr/bin/openssl genrsa -des3 1024 > php-hr.key
Generating RSA private key, 1024 bit long modulus
.....................++++++
..............++++++
e is 65537 (0x10001)
Enter pass phrase:
Verifying - Enter pass phrase:
umask 77 ;
/usr/bin/openssl req -new -key php-hr.key -x509 -days 365 -out php-hr.crt
Enter pass phrase for php-hr.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:
State or Province Name (full name) [Berkshire]:
Locality Name (eg, city) [Newbury]:
Organization Name (eg, company) [My Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:localhost
Email Address []:
[root@djomla][/etc/httpd/conf]



Eh sad opis stanja ... znaci usmjerili smo se u direktorij /etc/httpd/conf
i Izdali naredbu "make php-hr.crt" dakle da napravi certifikat koji ce se zvati php-hr.crt i php-hr.key. Dakle sastoji se od public keya i private keya.
Kad smo ukucali make php-hr.crt
Vidimo da se radi o 1024 bitnoj enkripciji(valjda:))
pita nas passworde i verifikaciju passworda.
Na dalje on ide i pita "Country name" i slicne gluposti .. nista to nije toliko bitno za sada osim ovo gdje sam napisao localhost .. na svim onim mjestima sam lupio enter Smile
dakle izdajemo ga za koji hostname i stavio sam localhost...
E ajmo dalje

code:
[root@djomla][/etc/httpd/conf]ls
httpd.conf httpd.conf.rpmsave php-hr.crt ssl.crt ssl.prm
httpd.conf.bak magic php-hr.key ssl.csr
httpd.conf.old Makefile ssl.crl ssl.key
[root@djomla][/etc/httpd/conf]

[root@djomla][/etc/httpd/conf]mv php-hr.crt ssl.crt/
[root@djomla][/etc/httpd/conf]mv php-hr.key ssl.key/
[root@djomla][/etc/httpd/conf]cd ssl.key/
[root@djomla][/etc/httpd/conf/ssl.key]mv php-hr.key php-hr.key.orig
[root@djomla][/etc/httpd/conf/ssl.key]openssl rsa -in php-hr.key.orig -out php-h
r.key
Enter pass phrase for php-hr.key.orig:
writing RSA key
[root@djomla][/etc/httpd/conf/ssl.key]ls
php-hr.key
php-hr.key.orig
[root@djomla][/etc/httpd/conf/ssl.key]



Dakle dobili smo php-hr.key i php-hr.crt ... i njih smo makli u direktorije ssl.crt i ssl.key ... Da bi smo rijesili dilemu kad restartamo apache da nas pita za password usli smo u direktorij ssl.key
i udarili prvo mv php-hr.key php-hr.key
naredbom openssl smo makli password iz naseg keya i time dobili da kad resetiramo apache nece nas vise pitati za password

I ovime smo rijesili vecinu ... sad nam ostaje conf file editirati Smile
Ajmo??

code:
[root@djomla][/etc/httpd/conf]cd ..
[root@djomla][/etc/httpd]cd conf.d/
[root@djomla][/etc/httpd/conf.d]pwd
/etc/httpd/conf.d



I otvorimo SSL.conf sa svojim omiljenim editorom (moj je "vi")
E sad linije koje su nam potrebne su :

#
# When we also provide SSL we have to listen to the
# standard HTTP port (see above) and to the HTTPS port
#
Listen 443

/* Da slusa port 443 */

NameVirtualHost 192.168.68.1:443

/* Ovdje stavimo IP od naseg stroja */

DocumentRoot "/var/www/html"
ServerName localhost:443

/* Standardne postavke za defaultni DocumetRoot i server ime */

SSLEngine on

SSLCertificateFile /etc/httpd/conf/ssl.crt/php-hr.crt

SSLCertificateKeyFile /etc/httpd/conf/ssl.key/php-hr.key

I to je u principu sve
restartajte apache

service httpd restart
I SSL radi ...

napomena (za one koji zele znati vise) u slucaju da zelite imate vishe virtualnih SSL domena unutar istog filea moramo dodati sljedece :

code:

ServerName localhost
DocumentRoot "/var/www/html"
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile /etc/httpd/conf/ssl.crt/php-hr.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/php-hr.key




Dakle ponavljamo nase defaultne postavke isto kao da je rijec o VirtualnomHostu i tek onda ispod dodajemo novi Virtual host

code:

ServerName mladen.nesto.hr
DocumentRoot "/home/mladen"
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile /etc/httpd/conf/ssl.crt/mladen.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/mladen.key





Eto ga ... Smile

U koliko ima netko pitanja ... feel free to screem Smile

- 11:07 - Komentari (0) - Isprintaj - #

Apache ünd Tomcat

Evo jedna tema ne baš tako usko vezana uz PHP ... radi se o Javi.
Ali svejedno mozda nekome i dobro dođe Smile

Dakle dobih zadatak da integriram Apache web server sa Tomcat web serverom koji sluzi kao web server za java aplikacije.
Apache kako dobro znamo radi na portu 80 i na tom portu osluskuje konekcije dok Tomcat radi na portu 8080 po defaultu.

Dakle nasa stranica obicna

www.nasite.com/neka.html bi bio primjer apache web servera

Dok npr. da hocemo to izvesti preko Tomcata trebalo bi

www.nasite.com:8080/neka.jsp ili neka.html svejedno.

Da bi korisniku unjeli sto manje zbunjoza pogotovo oko portova zasto ne integrirati Apache zajedno sa Tomcatom, nista novo i već viđeno.
Doduše malo komplicirano.

Što nam u stvari treba

Apache instaliran
Tomcat web server (ovo testirano sa verzijom 4.1.31)
i mod_jk modul za apache koji sluzi upravo povezivanju dva web servera.

Dakle mod_jk je najbolje downloadati od sourcea ili za vas windowsase ima vec gotov binary.

http://apache.mirrors.hoobly.com/jakarta/tomcat-connectors/jk2/

kad smo skinuli nas source ...

otpakujemo ga ...

tar zxvf jakarta-tomcat-connectors-current-src.tar.gz

uđemo u direktorij

cd jakarta-tomcat-connectors-current-src.tar.gz

./configure --with-apxs=/usr/sbin/apxs
make
make install

napominjem ovo je buildanje modula za apache ... oni na windozama ce vec dobiti modul.
E sad kad smo zgotovili buildanje modul ce se nalaziti
u root folderu od apache-a u direktoriju modules/
kod nas na linuxu Smile ce biti /etc/httpd/modules

Super sad nam jos ostaje podešavanje httpd.conf-a Smile

Modul ce nam se vjerovatno zvati jakarta-tomcat.so ili nesto slicno
ali promjena imena nece uzrokovati bitne promjene.
Dakle preimenujte ga slobodno u mod_jk.so

E sad httpd.conf

dakle trebamo prvo loadati modul:

LoadModule jk_module modules/mod_jk.so

JkWorkersFile /etc/httpd/conf.d/worker.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug

Glatke postavke modula, ugledajte:) ovaj worker.properties

evo kako on izgleda :

worker.list=testWorker
worker.testWorker.port=8009
worker.testWorker.host=localhost
worker.testWorker.type=ajp13

Sta se ustvari događa natjerat ćemo Tomcata da na portu 8009 "osluškuje" za nadolazece "zahtjeve". Ali docemo do toga.


JkMount /jakarta/webapps/ROOT/test/WEB-INF/* testWorker
JkMount /jakarta/webapps/ROOT/test/*.jsp testWorker



Tomcat sve fajlove smješta u ROOT direktorij tu smo kreirali direktorij test
i njega cemo staviti tj. stavili smo ga kao trenutacni root folder i sve datoteke smo mountali .... Smile
Fino kad smo to odradili ostaje nam još za srediti Tomcata da sluša na portu 8009

/jakarta/conf/server.xml

meni je takav file uglavnom unutar root direktorija od tomcata tražite direktorij conf sa server.xml fileom.
I sada tamo gdje su vam postavke oko konekcija samo dodate sljedece :

port="8009" minProcessors="5" maxProcessors="75"
acceptCount="10" debug="0"/>

Voila, restartajte Tomcat i imate sve spremno. Još glatki restart apachea i provjerite kako radi vasa konfiguracija.

http://www.nasite.com/test/index.jsp

- 11:06 - Komentari (0) - Isprintaj - #