Dellah Piero


My Foto
July 12, 2007, 3:47 am
Filed under: About my job

Pantai Sundak



Compiling dan upgrading kernel
June 25, 2007, 3:03 pm
Filed under: About my job

Kernel adalah jantung dari operating system, tanpa kernel, Linux tidak bisa berjalan.  Oleh sebab itu, extra hati-hati diperlukan saat kita membangun kernel. Ketika mengcompile kernel dengan “security and optimized in mind” , yang perlu kita perhatikan adalah: Menjaga agar code yang kita compile benar-benar yang diperlukan oleh mesin.
Ada beberapa alasan mengapa hal ini harus dilakukan:

Kernel akan bekerja lebih cepat, karena code yang dijalankan hanya sedikit.
Saving Memory, kernel parts tidak pernah di swap di virtual memory.
Lebih stabil, karena kernel tidak akan berusaha probing device yang tidak ada.
Lebih secured, karena bagian yang tidak perlu dapat dimanfaatkan oleh attacker untuk meng-akses mesin.
Kernel relatif akan berada dalam kondisi secured apabila anda membangun monolithic kernel. Monolithic kernel adalah sebuah kernel Linux yang tidak mengandung loadable modules, semua modules yang dibutuhkan mesin kita kompile bersama kernel, oleh karenanya, proses membuat monolithic kernel tidak membutuhkan bagian make modules dan make modules_install. Ingat, monolithic kernel artinya hanya menjawab setiap pertanyaan dalam config dengan Y(yes) atau N(no) saja, tidak ada jawaban M(modules). Apabila anda membuat mesin untuk keperluan ip masquerade atau ppp dial up, hal ini tidak dapat dilakukan, karena fungsi dialup dan ip masquerade membutuhkan modules yang terpisah. Bila ini yang anda inginkan, bangunlah sebuah modularized kernel dengan tetap mengikutsertakan pilihan ppp dan masquerade modul.

Langkah-langkah :
Apakah mesin anda mempunyai paket kernel?
[root@die /]# rpm -qa | grep kernel
kernel-headers-2.2.17-25mdk
kernel-2.2.17-25mdk
kernel-source-2.2.17-25mdk
kernelcfg-0.5-5
: paket yang digunakan untuk mengkonfigurasi kernel daemon
Cara Mengcompilenya adalah dengan cara:
make menuconfig  | config (text) |xconfig (grafik)
: memilih paket yang dibutuhkan
make dep
:  menentukan dependency
make clean
: membersihakn kernel source tree dari sisa sisa kompilasi yang tidak dibutuhkan
make bzImage | zImage
:  proses building

Setelah langkah diatas selesai dilakukan, kernel linux yang terkompresi sudah berada di /usr/src/linux/arch/i386/bzImage dan siap di install. Akan tetapi, sebelum melakukan instalasi, apabila anda memilih Yes pada “Enable loadable module support” (CONFIG_MODULES), dan meng-kompilasi beberapa options sebagai modules (misalnya MASQ modules) anda harus melakukan dua langkah lagi untuk mengakhiri proses building
Make modules
:compile module yang dipilih
Make modules_install
: Modules yang sudah anda kompilasi akan di install ke directory /lib/modules/2.2.17-25mdk.

Seperti telah anda ketahui, kernel image yang terkompresi terletak di

/usr/src/linux/arch/i386/boot/bzImage. File ini harus anda copy ke direktori /boot dan berikan nama yang sesuai.Syntax nya adalah:

cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-{kernel-version}

File module-info adalah link file yang menunjuk pada directory modules kernel lama anda, karena dalam artikel ini kita menggunakan monolithic kernel (tidak menggunakan modules), file ini tidak kita perlukan lagi. Begitu juga dengan file initrd-2.2.17-25mdk.img, ini adalah file image yang dibuat pada saat instalasi Mandrake. File ini dapat anda hapus, namun saya menganjurkan untuk menyimpannya sebagai backup. Apabila sudah terbukti kernel yang anda buat dapat bekerja dengan baik, file file ini dapat kita hapus. Apabila anda membangun kernel yang dynamic, dalam artian anda melakukan kompilasi modules, anda perlu membuat initrd image. Initrd image ini berisi informasi mengenai kernel modules yang di load sewaktu proses booting. Biasanya adalah driver SCSI, dan beberapa modules lain yang diperlukan untuk booting mesin. Berikut syntax yang dipakai untuk membuat initrd image.

mkinitrd initrd-{kernel-version).img {kernel-version}

Proses instalasi kernel selesai sampai disini. Selanjutnya adalah melakukan editing /etc/lilo.conf.
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=00
default=linux
image=/boot/vmlinuz-2.2.17-25mdk
label=linux
initrd=/boot/initrd-2.2.17-25mdk.img
read-only
root=/dev/hda9

image=/boot/vmlinuz-2.2.16
label=linux-OLD
initrd=/boot/initrd-2.2.16.img
read-only
root=/dev/hda9

patching kernel : upgrading ke lebih baru
[root@die root]# cp /home/echo/2.2.18
/usr/src/linux
[root@die root]# cd
/usr/src/linux
[root@die linux]# patch -p1 < 2.2.18

Setelah itu proses kompilasi dan instalasi seperti langkah diatas.
Kompilasi kernel dengan tarball (tar.gz)

Yang pertama kali adalah uninstall seluruh paket kernel, kemudian ekstrak kernel yang baru di /usr/src, dan lakukan perubahan softlink.Untuk memulai kompilasi,anda harus pastikan bahwa  file  /usr/include/linux,/usr/include/asm dan /usr/include/scsi adalah symboliclink yang mengacu ke source kernel. Kita menghapus dulu link file yang ada, kemudian menambahkan link file yang benar, seperti di bawah ini.
[root@die linux]# cd /usr/include
[root@die include]# rm -f asm linux
scsi
[root@die include]# ln -s
/usr/src/linux/include/asm-i386 asm
[root@die include]# ln -s /usr/src/linux/include/linux linux
[root@die include]# ln -s
/usr/src/linux/include/scsi scsi

 Step ini sangat penting, karena direktori /usr/include berisi kernel
headers yang diperlukan agar anda bisa meng-compile kernel atau program.
Pastikan tidak ada dependency problem dan .o files yang tertinggal.
[root@die include]# cd
/usr/src/linux
[root@die linux]# make mrproper



Firewall di warnet
June 25, 2007, 2:38 pm
Filed under: About my job

Sebuah warnet mempunyai beberapa komputer klien yang saling terhubung lewat jaringan. Server kita bisa kita gunakan sebagai pintu gerbang (router/gateway) untuk menyambungkan semua komputer klien ke internet. Sebuah router/gateway dapat berfungsi pula untuk mengamankan jaringan kita dari ancaman dunia luar, karena untuk masuk ke dalam jaringan kita, seorang hacker harus berhasil mengecoh server/gateway sehingga bisa masuk ke dalam jaringan kita.
Telah kita ketahui bersama bahwa klien diberi alamat private, yang artinya alamat tersebut tidak boleh (bisa) keluar. Agar klien dapat mengakses internet, maka nomor Ipnya harus diubah sehingga yang muncul bukan IP privatenya, tetapi IP realnya. Hal tersebut dinamakan Masquerading. Aplikasi firewall yang digunakan adalah ipfwadm, ipchains, dan ipfw. Untuk linux kernel 2.2.xx digunakan ipchains, sedangkan untuk 2.0.xx digunakan ipfwadm, ipfw digunakan oleh freeBSD, dan IP Tables digunakan untuk kernel 2.4.x.
Konfigurasi Kernel
Kernel harus dikompile supaya mendukung masquerade, firewall. Caranya adalah sebagai berikut:

Networking options:

Network firewalls y

IP:Firewalling y

IP:TCP syncookie support y

IP:masquerading y

IP:ICMP masquerading y

Selanjutnya di file /etc/sysconfig/network
#enabling packet forwarding
net.ipv4.ip_forward = 1
Selanjutnya kita harus mendetect (modprobe nama_modul) modul-modul masquarade yang ada di /lib/modules/2.2.x.x/ipv4/ :
ip_masq_autofw.o
ip_masq_cuseeme.o
ip_masq_ftp.o
ip_masq_irc.o
ip_masq_mfw.o
ip_masq_portfw.o
ip_masq_quake.o
ip_masq_raudio.o
ip_masq_user.o
ip_masq_vdolive.o
Supaya siap setiap kali restart, maka perlu kita tempatkan di /etc/rc.local dengan sbb:
Insmod /lib/modules/2.2.17-5mdk/ip_masq_irc.o dan dibawahnya dilanjutkan dengan modul berikutnya

Konfigurasi Ipchains
Pertama-tama kita harus menginstall paket, yaitu
# rpm –ivh ipchains-1.3.9-8mdk.i586
Daemonnya adalah /etc/rc.d/init.d/ipchains start|stop|status
Konfigurasinya ada di /etc/sysconfig/firewall
Tool /sbin/ipchains digunakan untuk memasukkan dan menghapus semua aturan yang dinamakan chains. Secara default mempunyai 3 aturan, yaitu:
Chains input, yang diterpakan pada paket yang datang, sebelum dilewatkan ke bagian lain dari network kita
Chains output, yang diterpakan ke paket sebelum keluar dari jaringan kita
Chains forward, diterapkan pada paket yang lewat chains input , jika memenuhi kriteria tertentu maka paket tersebut dilewatkan ke suatu port atau host (misalnya transparent proxy)

Jika sebuah paket lewat, maka paket tersebut akan di tes seuai dengan chains yang ada, apabila sampai baris terakhir lolos, maka paket tersebut boleh lewat.
Target, ketentuan apa yang dilakukan terhadap paket yang cocok
Target ada 6, yaitu:
Accept, paket boleh lewat
Deny, paket tidak boleh lewat, tanpa pemberitahuan
Reject, paket ditolak dengan pemberitahuan
Redirect, mengirim paket ke suatu port, diikuti dengan nomor port yang dituju
Return, mengirim ke bagian akhir dari chains

Selain diatas terdapat perintah untuk menambah chains, yaitu
-A chain menambah aturan chains
-D chain [nomor rule) menghapus aturan chains
-I chain [nomor rule] memasukkan aturan ke chains sebelum nomor rule
-R chain [nomor rule] mengganti nomor rule
-F chain flush, yaitu menghapus semua chains
-L chain menampilkan chains
-N chain membuat chain baru (user defined chain)
-X chain menghapus chain yang dibuat (user defined chains)
-P chain target mengeset target default ke suatu target

Selain itu terdapat options untuk ipchains
-s [alamat/mask] | [port :port] asal paket
-d [alamat/mask] [port:port] alamat tujuan paket
-I interface dari dan ke interface
-p protocol paket protokol
-j target [port] target
–icmp-type type tipe icmp, hanya untuk rule yang menerapkan –p icmp
-l log paket ke syslog
! kependekan dari not, bisa diterapkan misalnya –p ! icmp, berarti untuk semua paket selain icmp

CONTOH PENERAPAN
Ipchains –A forward –s 172.20.102.0/24 –d 0.0.0.0/0 –j MASQ

Artinya bahwa semua paket yang berasal dari network 172.16.0.0/255.255.255.0 menuju ke mana saja (keluar), maka seolah-olah berasal dari IP realnya. Konfigurasi ini dinamakan IP Masquerading.
Jika interface eth1 kita beri alamat 172.20.102.1, dan terhubung dengan komputer lain di network 172.20.102.0/24., sehingga semua paket yang berasal dari network itu yang lewat eth1 boleh keluar, sedangkan yang bukan berasal dari eth1 (Ip spoofing) ditolak.
Ipchains –A output –s 172.20.102.0/24 –i eth1 –d 0.0.0.0/0 –j ACCEPT
Ipchains –A output –s 172.102.20.0/24 –i ! eth1 –d 0.0.0.0/0 –j REJECT
Untuk menghilangkan semua rule kita bisa menggunakan ipchains –F
Dan untuk menyimpan konfigurasi kita, sehingga bisa dibaca lagi oleh daemon ipchains, maka :
Ipchains-save > /etc/sysconfig/ipchains

Penerapan Ipchains di warnet
Warnet hanya membutuhkan ipchains untuk penerapan teknik IP masquerading.



Linux General Security
June 25, 2007, 2:01 pm
Filed under: About my job

Seorang hacker dapat memanfaatkan semua kelemahan yang ada di server. Karena itu hendaknya server haruslah dikonfigurasi dengan sangat hati-hati, dan seluruh hal-hal sekecil-kecilnya, yang dapat dimanfaatkan oleh hacker harus ditutup. Sebagai seorang netadmin, kita harus tahu apa saja program yang berjalan di server, dan apabila terdapat program yang tidak perlu dijalankan hendaknya diuninstall saja.
A. /etc/profile
Kita harus waspada apabila menggunakan account root. Maka kita bisa mengkonfigurasi batasan seorang user idle (tidak melakukan aktifitas apapun).TMOUT=3600, membuat seorang user termasuk root apabila tidak aktif selama 1 jam, otomatis akan logout sendiri.

B. /etc/inetd.conf dan /etc/services
Mekanisme inetd kita sebut sebagai super server. Kita bisa mengkonfigurasi daemon dari sini. Inetd diikuti oleh mekanisme tcp warppers, yang membuat program tcpd menjalankan autentifikasi dan autorisasi terhadap program (daemon sebenarnya) yang akan dijalankan dan mencatat seluruh request terhadap service yang ada di /etc/inetd.conf. Program tcpd akan membuat log di /var/log/secure. Biasanya service yang dibuka dari sini adalah telnet, pop3, imap, talk (talkd dan ntalk), finger, auth. Masing-masing daemon akan membuka port-port yang dapat melayani service-servicenya. Untuk mengatur port mana saja yang boleh dibuka, adalah /etc/service. Untuk mengatur dari mana saja tcpd beserta service yang mengkutinya, kita harus mengkonfigurasi /etc/hosts.allow, /etc/hosts.deny.

C. Membatasi user yang bisa su ke root
Langkah pertama adalah menambah file /etc/pam.d/su dengan dua buah baris perintah:
Auth sufficient /lib/security/pam_rootok.so debug

Auth required /lib/security/pam_wheel.so group=wheel

Langkah kedua adalah menambahkan nama user ke /etc/group di group bernama wheel

Wheel admin,Tukul

D. Mengamankan dengan kernel

Kita bisa mengubah konfigurasi tertentu dari kernel tanpa mengcompilenya, dengan cara memodifikasi file /etc/sysctl.conf.

Untuk mencegah DOS (denial of service attact)

Net.ipv4.tcp_sysncookies = 1

Jika linux mempunyai service masquerade

Net.ipv4.ip_always_defrag = 1

Mencegah IP spoofing

Net.ipv4.conf.all.rp_filter = 1

Untuk mencatat spoofed packet, source routed packet, dan redirect packet

Net.ipv4.conf.all.log_martians = 1

Semua konfigurasi diatas dapat berjalan setelah merestart network service. /etc/rc.d/init.d/network restart

 



Persamaan Cinta dan Api
March 5, 2007, 10:49 am
Filed under: About love

* Cinta itu ibarat api

* Kalo kita paham cinta sama dengan kita paham akan api

* Seperti kalo kita menggunakan api dengan salah atau main-main maka kita akan hangus , terbakar dan mendapatkan bencana.

* Sebaliknya jika kita menggunakan api dengan benar maka kita bisa mendapatkan kehangatan dan kebahagiaan.

* Itu juga yang bisa dialami cinta jika kita salah dalam menjalani cinta maka akan merasakan sakit yang amat dalam tapi jika kita bisa jalani cinta dengan benar maka kebahagiaan akan selalu datang dan membawa kehidupan yang semakin baik.

* Jadi janganlah bermain cinta….



Karena Kusayang Kamu
March 5, 2007, 10:48 am
Filed under: About love

* Seandainya ini semua ga terjadi maka aku juga ga akan duakan cinta kalian

* Tapi ini dah terjadi kenyataan pahit telah terbuka kalo aku menduakan kalian selama ini

* Sakit aku sakit dan kalian juga sangat sakit

* Tapi mungkin ini karma yang aku dapet aku ga bisa jalan lagi ma kalian berdua

* Mungkin hikmah yang aku ambil aku harus jalani hidupku yang seperti dulu lagi

* Tapi dari hatiku yang paling dalam aku pingin ucapkan ” Aku masih sayang kamu “



Broken Hearth
March 2, 2007, 8:35 pm
Filed under: About love

I Don’t Like to be  a Broken Hearted ……

Coz Love is hurt’s




Follow

Get every new post delivered to your Inbox.