Minggu, 29 Juli 2007

Bikin Bridge + transparent Proxy di Debian Etch arc ALPHA



Apa sih "Bridge" itu? menurut kamus sih artina jembatan, yups, bridge dalam istilah jaringan/network adalah menghubungkan 2 atau lebih kartu interface network (NIC) layakna sebuah switch. Jadi kalo PC kita dijadikan Brdige, maka PC tsb akan bertingkah laku seperti switch. Apa aja yang bisa dilakuin dengan PC yang dijadikan bridge pada suatu jaringan/network? Banyaaaakkkk sekali, contohna kita bisa bikin transparent firewall, transparent proxy, dll. Kali ini kita akan bikin PC Bridge + transparent proxy dengan Squid 2.6.STABLE14.

Untuk membuat bridge aq pake Linux debian 2.6.18-4-alpha-generic, jgn lupa kalo pake linux dengan kernel 2.4 harus di patch duluw. Package yang diperluin adalah ebtables, iptables dan bridge-utils. Kalo gk mo susah2, tinggal pake apt-get :

debian:~# apt-get install iptables ebtables bridge-utils

setelah diinstall, mari kita coba jalanin si ebtables :

debian:~# ebtables
ebtables v2.0.6 (November 2003)
....

hehhehe dah bisa tuh si ebtablesna, sekarang kita konfigurasi buat bridgena. Jgn lupa, bridge memerlukan 2 atau lebih NIC yang terpasang di PC. Kita akan menghubungkan 2 segmen network dgn skema :

modem internet (192.168.1.1) ===[eth0] bridge [eth1]=== LAN (192.168.1.x)

Kita buat duluw interface buat si bridge :

debian:~# brctl addbr br0

tyus kita buat si eth0 dan eth1 tidak memiliki IP address :

debian:~# ifconfig eth0 0.0.0.0 promisc up
debian:~# ifconfig eth1 0.0.0.0 promisc up

Wew, promisc apaan nuh? promiscuous adalah mode dimana NIC akan mendengarkan dan menerima semua jenis frame yang masuk kedalamnya. Hal ini penting karena si bridge perlu mendegarkan semua frame yang akan masuk. Setelah itu kita tambahin si eth0 n eht1 ke interface br0 :

debian:~# brctl addif br0 eth0
debian:~# brctl addif br0 eth1

Mari kita UP si br0 :

debian:~# ip link set br0 up

Hehehehe, lalu gimana kita ingin akses PC bridge ini secara remote? Untuk itu kita tambahin IP buat si br0 :

debian:~# ip addr add 192.168.1.254/24 brd + dev br0

Jangan lupa tambahin gateway buat si br0 biar gk bingung nyari "gerbang keluar" :

debian:~# route add default gw 192.168.1.1 dev br0

Taraaaaaaaa hampir selese nih, sebenarna kalo buat bridge ajah dah selese ampe sini, berhubung pgn dijadiin transparent proxy juga maka harus di set juga si Squidna :P. Package yang diperluin buat si proxy : Squid. Package ini banyak dependeciesna, jadi mendingan lsg pake apt ajah :

debian:~# apt-get install squid

File konfigurasi squid ada di /etc/squid/squid.conf, edit file ini nih soalna penting. Yang harus diperhatikan adalah penambahan baris sbb :

http_port 3128 transparent
acl lan src 192.168.1.0/24
http_access allow lan

Restart si Squid :

debian:~# /etc/init.d/squid restart

Kalo gk da error, maka si squid dah jalan sebagai transparent proxy :). Nah sekarang tinggal kita redirect koneksi HTTP (port 80) ke squid (port 3128). Kita gunain si ebtables n iptables :

debian:~# ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6 --ip-destination-port 80 -j redirect --redirect-target ACCEPT
debian:~# iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 3128


Untuk percobaan, konekin kabel ethernet LAN ke eth1 n modem internet ke eth0. Buka browser (tidak perlu setting proxy di browser, karena sudah mode transparent :)), n coba buka oms google. Kalo gk da masalah, maka bridge + transparent proxy sukses diimplementasikan :) :)

Rabu, 25 Juli 2007

ARP Spoofing n Sniffing



Address Resolution Protocol (ARP) adalah protokol untuk mapping dari alamat IP (Internet Protocol) ke alamat fisik MAC (Media Access Control). Misal di suatu jaringan kita ingin mengirim paket ke host A 192.168.1.2, maka pertama kita harus tau sapa yg mempunyai alamat IP tsb. Maka ARP akan membroadcast pertanyaan tsb ke semua host yang ada di jaringan. Sang empunya alamat IP tsb akan menjawab kembali sahutan tsb dengan mengirimkan alamat MACnya. Alamat MAC ini akan disimpan di tabel ARP untuk memudahkan pencarian jika diperlukan pengiriman paket ke tujuan yang sama.

Kayak gimana sih bentuk format frame ARP? Terdiri dari 2 bagian, yaitu header ethernet dan paket ARP. Header ethernet berupa :
- 6 byte alamat tujuan
- 6 byte alamat pengirim
- 2 byte jenis frame ARP

Sedangkan paket ARPna berupa :
- 2 byte jenis alamat hardware (1 = ethernet)
- 2 byte jenis protokol yang di map (0800H = alamat IP)
- 1 byte ukuran alamat hardware
- 1 byte ukuran protokol
- 2 byte tipe operasi (1 = ARP request, 2=ARP reply, 3=*RARP request
,4=RARP reply)
- 6 byte alamat ethernet pengirim
- 4 byte alamat IP pengirim
- 6 byte alamat ethernet penerima
- 4 byte alamat IP penerima

*RARP (Reverse Address Resolution Protocol) digunakan untuk sistem komputer diskless, guna mendapatkan alamat IP mereka saat boot.

ARP Spoofing merupakan suatu kegiatan yang memanipulasi paket ARP. Misal paket X dari komputer A ditujukan untuk komputer B, ketika komputer A membroadcast paket ARP di jaringan, maka komputer C sang manipulator dapat "meracuni" (Posioning) paket ARP tsb agar paket X ditujukan ke komputer C terlebih dahulu baru diforward ke komputer B. Poisoning ini mengganti alamat MAC komputer B dengan alamat MAC komputer C di tabel ARP komputer A dan sebaliknya, alamat MAC komputer A diganti menjadi alamat MAC komputer C di tabel ARP komputer B. Jenis-jenis serangan yang bisa dilakukan dnegan ARP Spoofing diantarana adalah sniffing, Man in the Middle, MAC Flooding, DoS (Denial of Service), Hijacking n Cloning.

Apa ajah sih yg diperluin buat ARP Spoofing ini? Kalo aq sih pake arpspoof yang ada di paket dsniff-2.3 untuk OS Linux. Ohiya, sebelum menginstall dsniff ini perlu dicek apakah di sistem yang digunain dah terinstall libnet ma libnids. Jangan lupa untuk jenis attacking sniffing ato MIM perlu IP Forwarding diaktifkan (echo 1 > /proc/sys/net/ipv4/ip_forward).

Seperti biasa, unpack paket dsniff lalu configure n terakhir make install. Ohiya, pas saat make, aq sempet dapet error compiling module sshcrypto :

sshcrypto.c:30: error: parse error before "des_key_schedule"
....blablabla
....blablabla
*** Error code 1

Solusina kita buka n edit file sshcrypto.c di folder dsniff-2.3, tambahin :

#include <openssl/des.h>
#include <openssl/blowfish.h>

di deklarasi file header yang diperlukan. Bila dah kelar n gak da error lagi, coba jalanin si dsniff ato si arpspoof :)

Yuukk kita coba meracuni n ngendus paket antara komputer A 192.168.1.1 n komputer B 192.168.1.3, komputer C (attacker) 192.168.1.6.

jalanin si arpspoof terlebih dahulu :

root@slack:~# arpspoof -t 192.168.1.1 192.168.1.3 & >/dev/null
root@slack:~# arpspoof -t 192.168.1.3 192.168.1.1 & >/dev/null

kalo dah bener nanti di console akan muncul kayak gini :

0:c:29:3e:2d:46 0:15:e9:b5:83:62 0806 42: arp reply 192.168.1.3 is-at 0:c:29:3e:2d:46
0:e0:29:63:d1:6 0:15:e9:b5:83:62 0806 42: arp reply 192.168.1.3 is-at 0:e0:29:63:d1:6

Setelah itu bisa kita endus pake dsniff ato tcpdump, misal mo pake tcpdump bisa kita capture hasilna ke file, pake :

root@slack:~# tcpdump -i eth0 -w endus.txt

dimana eth0 adalah interface card dan endus.txt adalah nama file outputna :). Kalo file tsb dibuka masi kaco isina >.<, jadi bisa kita liat pake tcpdump juga, pake :

root@slack:~# tcpdump -r endus.txt

hehehehe lumayan asik kan ARP Spoofing, gak hanya buat sniffing juga tapi bisa kita blok koneksi tertentu misal :

root@slack:~# tcpkill -9 host www.playboy.com

Untuk matiin proses si arpspoof n tcpdump bisa dengan cara :

root@slack:~# killall arpspoof
root@slack:~# killall tcpdump

:) :)

Rabu, 18 Juli 2007

PC164 DEC ALPHA Server part - 2


Setelah ganti bahasa si NT 4.0, pgn jajal install linux di ALPHA. Menurut referensi dari www.alphalinux.org, ada beberapa distro linux yang bisa diinstal di architecture ALPHA. Diantarana itu ada Debian, CentOS, slackware n dll... Cari2 referensi lain dari oms google, katana kalo linux/unix di ALPHA hanya dukung SRM Console :(, akhirna harus diupgrade firmware si ALPHA jadi SRM Console... dapet dari http://ftp.digital.com/pub/Digital/Alpha/firmware/, aq pilih PC164 SRM Console. Donlod versi terbaruna, ekstrak ke floppy, trus dari menu ARC tinggal pilih upgrade firmware ato jalanin fwupdate.exe dari disketna :) :). Flashing...flashing si firmware, jadi deh SRM Console terinstall!!!

Humm.. bentukna si SRM Console mang bener2 "Console", alias perlu command2 buat jalanin fungsina... kebetulan ada manual-reference bagus dari situs red-hat, http://www.redhat.com/docs/manuals/linux/RHL-7-Manual/alpha-install-guide/s1-alpha-srm.html, hehehhehe bisa boot ke IDE ato SCSI, trus ngeliat Device yang terkoneksi n dll....

Untuk distro, aq pertama pilih si CentOS. Pertama kali booting dari CD dah ada msalah... akhirna coba si FreeBSD.... booting, installing, gk da masalah... eh ada masalah pas detek devicena :(... ya udah akhirna beralih ke Debian Etch :)....

Booting dari CD, partisi Disk, dll sampe jalanin si "pingu" Debian gak masalah! horeeeeeee!!!! Tapi gk kuatna donlod file ISOna itu, banyak betul :( ...

Sampe sekarang aq pake si Debian di box ALPHA, setting jadi bridge + install squid jadiin transparent proxy :) lancarrrrrrrrrrrr :) :)

Senin, 09 Juli 2007

Bikin PC lawas jadi PC Router.. My version! Part - 2


Berkat bantuan Mr. Edwin from webhq_nl@motherboards.mbarron.net, baru tau kalo mobo si cilik itu HOT-555 rev. 1.4. Dah lengkap dikirimin manual mobona ma dia, mulai ngutak-atik jumper buat naikin multiplier, system clock n voltage. Upsss... Pentium MMX itu perlu dual voltage, 2.8 v dan 3.3 v, jgn lupa ma settingan ini :). System clock diubah ke 66 MHz (sesuai manual), multiplier set ke 1:3.... Taraaaaaa akhirna processor dengan mulus berjalan di kisaran 166 MHz, kenapa cuman 166 MHz? ternyata dari chipset i430 VX mang ada beberapa yg cuman sanggup jalanin Pentium MMX secara maksimal di clock tersebut :( ya gpp lah, yg penting si cilik "agak" powerfull...

Karena nih PC pgn dijadiin PCRouter, maka NIC perlu lebih dari 1 (sukur2 bisa dipasang 3 :P). Aq pakein 3 NIC, macem2 deh merekna.. Maklum beli seken di deket kampus @ 12500 :)... Aq bikin kayak gini skemana :

Modem 192.168.1.1 ---- NIC 1 (Internet) 192.168.1.2
|--- NIC 2 (Lan) 192.168.0.1 ---- Switch LAN
|--- NIC 3 (Wireless_LAN) 10.0.0.1

Hardware dah selese, sekarang urusan OS... OS yg mo dipake tentuna OS Router, kayak Mikrotik (mikriting aq nyebutna :P), atau IPCop, n dll... Untuk IPCop lom pernah coba berhubung masi gagal installansi di mesin ALPHA :)...

Mikrotik yg aq pake versi 2.9.27, hehehe untuk eksperimen masih pake yang "gratisan" :P... Instalansi gak da kendala, tinggal pilih2 paket yang ingin diinstall (linux bgt!) trus save, reboot... :D :D

Dari mikrotik dah disediain tools management GUI, kayak winbox bahkan bisa diakses lewat web :D...

Kalo dah bisa login ke shellna si mikriting (default user : admin, pass : [blank]), bisa setting ip address buat masing2 NIC :

[admin@MiKriting] > /ip address add address=xxx.xxx.xxx.xxx/subnet interface=[NIC_NAME]

NIC_NAME adalah nama NIC, kalo binun bisa pake perintah /interface print, kira2 gini outputna di shellna si mikriting :

[admin@MiKriting] > /interface print
Flags: X - disabled, D - dynamic, R - running
# NAME TYPE RX-RATE TX-RATE MTU
0 wireless_lan ether 0 0 1500
1 R Internet ether 0 0 1500
2 R bridge1 bridge 0 0 1500
3 R lan ether 0 0 1500

Kalo binun nentuin NIC mana sih yang ke 1, 2, 3, dst.. bisa pake perintah :

[admin@MiKriting] > /interface ethernet blink [NIC_NAME}

Nanti liat di panel belakang, NIC mana yg lampu LEDna kedip2 :)

Kalo dah di add ip addressna, bisa liat konfigurasina dah bener pa lom dengan :

[admin@MiKriting] > /ip address print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 ;;; AP
10.0.0.1/24 10.0.0.0 10.0.0.255 wireless_lan
1 ;;; Internet
192.168.1.2/24 192.168.1.0 192.168.1.255 Internet
2 ;;; LAN
192.168.0.1/24 192.168.0.0 192.168.0.255 lan

Sekarang tinggal bikin NAT, Queue (kalo pake BW management :)), dll... tapi bersambung dulu... ngantuk >.<

Jumat, 06 Juli 2007

Bikin PC lawas jadi PC Router.. My version! Part - 1

Di rumah ada 1 PC lama (lawas) yg gak kepake, diubek2 ternyata masih bisa idup.... sebenarnya sih ni PC dapet dari temen (dihibahkan gitu :P), berhubung gak da HDna jadi gak isa diapa2in... Kebetulan gi pengen bikin WLAN (Wireless LAN), jadina butuh 1 router, ya udah mulai deh projek "rebirth" si PC ...

Spek umum dari PC lawas ni :

Processor : Pentium S - 120 Mhz
RAM (EDO) : 16 MB
Mobo : Merek gak tau, chipset i430VX (intel Triton)

Hardware pertama yang dicari adalah HD, ketemu di pasar loak jatinegara (dulu sih masih rame, sekarang dah pada berkurang akibat pembangunan busway), dapet Fujitsu 4.3 GB, hargana waktu itu sekitar 65 rebuan... Buat processor kayakna agak kurang mantap, jadina nyari di toko2 komputer deket kampus margaonda, dapet Pentium 233 MHz MMX... lumayan murah 1 biji hargana 15 rebu, eh kebetulan ada yg masih jual EDO RAM juga, 2 keping @ 16 MB hargana 5000 dua biji tuh :D :D sekalian beli HSF (Heatsink Fan) baut processorna, kasian nanti gak kuat kalo panas :D...

Buka casing PC "cilik" (cilik aq nyebutna, soalna ukuranna kayakna mini-Atx.. PC yg lain gede2, si ALPHA aje lebih gede dari si Pentium 4 >.<), copot processor lama, tambahin thermalpaste, pasang HSF... Taraaaaaaaaaa.... telah diupgrade si "cilik", EDO RAM tinggal pasang di 2 slot yg masih tersedia.. oiya, PC lawas biasana perlu konfigurasi RAM yang pasang2an, maksudna sekali pasang harus 2. Itu juga spekna harus sama >.<..

Ngetes booting, dah dikenalin ma si mobo blom ya? waksss, kok masih nampil 120 MHz!!?? Duh nyari info di paman google nemu kalo PC lawas itu perlu setting jumper buat multiplier, voltage ma system clock buat Processor baru >.<

Berhubung vendor mobona gak tau, akhirna dapet info kalo dari nomor seri BIOS (itu loh angka2 yg muncul pas pertama kali boot, biasana sih di bagian bawah layar) bisa diketahuin jenis BIOS + Vendor mobona. Dicatet trus main ke http://www.wimsbios.com/awardnumbers.jsp, cari2 referensi dari format nomor seri BIOS si "cilik" eh dapet! ternyata vendorna itu Shuttle HOLCO versi HOT-55x.

Waduh "x" dari HOT-55x itu paan ye? nyari2 di paman google juga gak da mobo seri yg "x" gitu, berarti mang "x" itu adalah angka, diasumsikan karena versi2 yang tersedia itu HOT-553 hingga HOT-559 :( ...

Akhirna nanya di forum http://motherboards.mbarron.net/forum/ , nyari2 sapa tau ada bisa setting jumper di mobo "cilik" ... mudah2an ada yg bales ... Amiiin :D :D

Bersambung dulu ye, nanti dilanjutin lagi :D :D