Minggu, 15 Februari 2009

Belajar Menjadi Hacker




Hacker dengan keahliannya dapat melihat & memperbaiki kelemahan perangkat lunak di komputer; biasanya kemudian di publikasikan secara terbuka di Internet agar sistem menjadi lebih baik. Sialnya, segelintir manusia berhati jahat menggunakan informasi tersebut untuk kejahatan - mereka biasanya disebut cracker. Pada dasarnya dunia hacker & cracker tidak berbeda dengan dunia seni, disini kita berbicara seni keamanan jaringan Internet.
Saya berharap ilmu keamanan jaringan di tulisan ini digunakan untuk hal-hal yang baik - jadilah Hacker bukan Cracker. Jangan sampai anda terkena karma karena menggunakan ilmu untuk merusak milik orang lain. Apalagi, pada saat ini kebutuhan akan hacker semakin bertambah di Indonesia dengan semakin banyak dotcommers yang ingin IPO di berbagai bursa saham. Nama baik & nilai sebuah dotcom bisa jatuh bahkan menjadi tidak berharga jika dotcom di bobol. Dalam kondisi ini, para hacker di harapkan bisa menjadi konsultan keamanan bagi para dotcommers tersebut - karena SDM pihak kepolisian & aparat keamanan Indonesia amat sangat lemah & menyedihkan di bidang Teknologi Informasi & Internet. Apa boleh buat cybersquad, cyberpatrol swasta barangkali perlu di budayakan untuk survival dotcommers Indonesia di Internet.
Berbagai teknik keamanan jaringan Internet dapat di peroleh secara mudah di Internet antara lain di http://www.sans.org, http://www.rootshell.com, http://www.linuxfirewall.org/, http://www.linuxdoc.org, http://www.cerias.purdue.edu/coast/firewalls/, http://www.redhat.com/mirrors/LDP/HOWTO/. Sebagian dari teknik ini berupa buku-buku yang jumlah-nya beberapa ratus halaman yang dapat di ambil secara cuma-cuma (gratis). Beberapa Frequently Asked Questions (FAQ) tentang keamanan jaringan bisa diperoleh di http://www.iss.net/vd/mail.html, http://www.v-one.com/documents/fw-faq.htm. Dan bagi para experimenter beberapa script / program yang sudah jadi dapat diperoleh antara lain di http://bastille-linux.sourceforge.net/, http://www.redhat.com/support/docs/tips/firewall/firewallservice.html.
Bagi pembaca yang ingin memperoleh ilmu tentang jaringan dapat di download secara cuma-cuma dari http://pandu.dhs.org, http://www.bogor.net/idkf/, http://louis.idaman.com/idkf. Beberapa buku berbentuk softcopy yang dapat di ambil gratis dapat di ambil dari http://pandu.dhs.org/Buku-Online/. Kita harus berterima kasih terutama kepada team Pandu yang dimotori oleh I Made Wiryana untuk ini. Pada saat ini, saya tidak terlalu tahu adanya tempat diskusi Indonesia yang aktif membahas teknik-teknik hacking ini - tetapi mungkin bisa sebagian di diskusikan di mailing list lanjut seperti kursus-linux@yahoogroups.com & linux-admin@linux.or.id yang di operasikan oleh Kelompok Pengguna Linux Indonesia (KPLI) http://www.kpli.or.id.
Cara paling sederhana untuk melihat kelemahan sistem adalah dengan cara mencari informasi dari berbagai vendor misalnya di http://www.sans.org/newlook/publications/roadmap.htm#3b tentang kelemahan dari sistem yang mereka buat sendiri. Di samping, memonitoring berbagai mailing list di Internet yang berkaitan dengan keamanan jaringan seperti dalam daftar http://www.sans.org/newlook/publications/roadmap.htm#3e.
Dijelaskan oleh Front-line Information Security Team, "Techniques Adopted By 'System Crackers' When Attempting To Break Into Corporate or Sensitive Private Networks," fist@ns2.co.uk http://www.ns2.co.uk. Seorang Cracker umumnya pria usia 16-25 tahun. Berdasarkan statistik pengguna Internet di Indonesia maka sebetulnya mayoritas pengguna Internet di Indonesia adalah anak-anak muda pada usia ini juga. Memang usia ini adalah usia yang sangat ideal dalam menimba ilmu baru termasuk ilmu Internet, sangat disayangkan jika kita tidak berhasil menginternetkan ke 25000 sekolah Indonesia s/d tahun 2002 - karena tumpuan hari depan bangsa Indonesia berada di tangan anak-anak muda kita ini.
Nah, para cracker muda ini umumnya melakukan cracking untuk meningkatkan kemampuan / menggunakan sumber daya di jaringan untuk kepentingan sendiri. Umumnya para cracker adalah opportunis. Melihat kelemahan sistem dengan mejalankan program scanner. Setelah memperoleh akses root, cracker akan menginstall pintu belakang (backdoor) dan menutup semua kelemahan umum yang ada.
Seperti kita tahu, umumnya berbagai perusahaan / dotcommers akan menggunakan Internet untuk (1) hosting web server mereka, (2) komunikasi e-mail dan (3) memberikan akses web / internet kepada karyawan-nya. Pemisahan jaringan Internet dan IntraNet umumnya dilakukan dengan menggunakan teknik / software Firewall dan Proxy server. Melihat kondisi penggunaan di atas, kelemahan sistem umumnya dapat di tembus misalnya dengan menembus mailserver external / luar yang digunakan untuk memudahkan akses ke mail keluar dari perusahaan. Selain itu, dengan menggunakan agressive-SNMP scanner & program yang memaksa SNMP community string dapat mengubah sebuah router menjadi bridge (jembatan) yang kemudian dapat digunakan untuk batu loncatan untuk masuk ke dalam jaringan internal perusahaan (IntraNet).
Agar cracker terlindungi pada saat melakukan serangan, teknik cloacking (penyamaran) dilakukan dengan cara melompat dari mesin yang sebelumnya telah di compromised (ditaklukan) melalui program telnet atau rsh. Pada mesin perantara yang menggunakan Windows serangan dapat dilakukan dengan melompat dari program Wingate. Selain itu, melompat dapat dilakukan melalui perangkat proxy yang konfigurasinya kurang baik.
Setelah berhasil melompat dan memasuki sistem lain, cracker biasanya melakukan probing terhadap jaringan dan mengumpulkan informasi yang dibutuhkan. Hal ini dilakukan dengan beberapa cara, misalnya (1) menggunakan nslookup untuk menjalankan perintah 'ls ' , (2) melihat file HTML di webserver anda untuk mengidentifikasi mesin lainnya, (3) melihat berbagai dokumen di FTP server, (4) menghubungkan diri ke mail server dan menggunakan perintah 'expn ', dan (5) mem-finger user di mesin-mesin eksternal lainnya.
Langkah selanjutnya, cracker akan mengidentifikasi komponen jaringan yang dipercaya oleh system apa saja. Komponen jaringan tersebut biasanya mesin administrator dan server yang biasanya di anggap paling aman di jaringan. Start dengan check akses & eksport NFS ke berbagai direktori yang kritis seperti /usr/bin, /etc dan /home. Eksploitasi mesin melalui kelemahan Common Gateway Interface (CGI), dengan akses ke file /etc/hosts.allow.
Selanjutnya cracker harus mengidentifikasi komponen jaringan yang lemah dan bisa di taklukan. Cracker bisa mengunakan program di Linux seperti ADMhack, mscan, nmap dan banyak scanner kecil lainnya. Program seperti 'ps' & 'netstat' di buat trojan (ingat cerita kuda troya? dalam cerita klasik yunani kuno) untuk menyembunyikan proses scanning. Bagi cracker yang cukup advanced dapat mengunakan aggressive-SNMP scanning untuk men-scan peralatan dengan SNMP.
Setelah cracker berhasil mengidentifikasi komponen jaringan yang lemah dan bisa di taklukan, maka cracker akan menjalan program untuk menaklukan program daemon yang lemah di server. Program daemon adalah program di server yang biasanya berjalan di belakang layar (sebagai daemon / setan). Keberhasilan menaklukan program daemon ini akan memungkinkan seorang Cracker untuk memperoleh akses sebagai 'root' (administrator tertinggi di server).
Untuk menghilangkan jejak, seorang cracker biasanya melakukan operasi pembersihan 'clean-up' operation dengan cara membersihkan berbagai log file. Dan menambahkan program untuk masuk dari pintu belakang 'backdooring'. Mengganti file .rhosts di /usr/bin untuk memudahkan akses ke mesin yang di taklukan melalui rsh & csh.
Selanjutnya seorang cracker dapat menggunakan mesin yang sudah ditaklukan untuk kepentingannya sendiri, misalnya mengambil informasi sensitif yang seharusnya tidak dibacanya; mengcracking mesin lain dengan melompat dari mesin yang di taklukan; memasang sniffer untuk melihat / mencatat berbagai trafik / komunikasi yang lewat; bahkan bisa mematikan sistem / jaringan dengan cara menjalankan perintah 'rm -rf / &'. Yang terakhir akan sangat fatal akibatnya karena sistem akan hancur sama sekali, terutama jika semua software di letakan di harddisk. Proses re-install seluruh sistem harus di lakukan, akan memusingkan jika hal ini dilakukan di mesin-mesin yang menjalankan misi kritis.
Oleh karena itu semua mesin & router yang menjalankan misi kritis sebaiknya selalu di periksa keamanannya & di patch oleh software yang lebih baru. Backup menjadi penting sekali terutama pada mesin-mesin yang menjalankan misi kritis supaya terselamatkan dari ulah cracker yang men-disable sistem dengan 'rm -rf / &'.
Bagi kita yang sehari-hari bergelut di Internet biasanya justru akan sangat menghargai keberadaan para hacker (bukan Cracker). Karena berkat para hacker-lah Internet ada dan dapat kita nikmati seperti sekarang ini, bahkan terus di perbaiki untuk menjadi sistem yang lebih baik lagi. Berbagai kelemahan sistem di perbaiki karena kepandaian rekan-rekan hacker yang sering kali mengerjakan perbaikan tsb. secara sukarela karena hobby-nya. Apalagi seringkali hasil hacking-nya di sebarkan secara cuma-cuma di Internet untuk keperluan masyarakat Internet. Sebuah nilai & budaya gotong royong yang mulia justru tumbuh di dunia maya Internet yang biasanya terkesan futuristik dan jauh dari rasa sosial.
Pengembangan para hobbiest hacker ini menjadi penting sekali untuk keberlangsungan / survival dotcommers di wahana Internet Indonesia. Sebagai salah satu bentuk nyatanya, dalam waktu dekat Insya Allah sekitar pertengahan April 2001 akan di adakan hacking competition di Internet untuk membobol sebuah server yang telah di tentukan terlebih dahulu. Hacking competition tersebut di motori oleh anak-anak muda di Kelompok Pengguna Linux Indonesia (KPLI) Semarang yang digerakan oleh anak muda seperti Kresno Aji (masaji@telkom.net), Agus Hartanto (hartx@writeme.com) & Lekso Budi Handoko (handoko@riset.dinus.ac.id). Seperti umumnya anak-anak muda lainnya, mereka umumnya bermodal cekak - bantuan & sponsor tentunya akan sangat bermanfaat dan dinantikan oleh rekan-rekan muda ini.
Mudah-mudahan semua ini akan menambah semangat pembaca, khususnya pembaca muda, untuk bergerak di dunia hacker yang mengasyikan dan menantang. Kalau kata Captain Jean Luc Picard di Film Startrek Next Generation, "To boldly go where no one has gone before".

Kamis, 25 Desember 2008

LINUX

Setting Sederhana Mailserver & Proxy di Linux Mandrake 8.0

Onno W. Purbo

Pada tulisan ini, saya mencoba membahas setting sederhana untuk membuat mailserver & proxy server di Linux Mandrake 8.0. Keberadaan mailserver & proxy server menjadi sangat strategis bagi WARNET, server di sekolah, server di kantor dll. Proses setting menjadi sangat sederhana, karena sangat di bantu oleh interface grafik (GUI) Mandrake 8.0, baik yang melalui Windows KDE maupun Webmin (https://localhost:10000).

Tulisan ini di fokuskan untuk konfigurasi jaringan berupa sebuah LAN dengan workstation Windows / Linux (tidak masalah), dengan salah satu PC di LAN bertindak sebagai server. PC server tsb. menjalankan Linux Mandrake 8.0 & sambungan dial-up ke Internet. Tentunya cerita menjadi lebih sederhana kalau LAN tersebut mempunyai sambungan dedicated (24 jam) ke Internet.

Jika anda menggunakan Linux Mandrake 8.0, sebaiknya ethernet PC server mengunakan alamat IP 192.168.0.1. PC workstation di LAN dapat menggunakan IP statik keluarga 192.168.0.x, atau automatis memperolehnya dari PC Server melalui DHCP. DHCP di PC server dapat di aktifkan secara automatis pada saat mengaktifkan Internet Connection Sharing, caranya Desktop  Mandrake Control Center  Network & Internet  Connection Sharing (sesudah itu tekan Next beberapa kali, seperti di Windows). Perlu di catat, sebetulnya pada saat connection sharing di aktifkan, Linux Mandrake 8.0 juga akan menjalankan Network Address Translation (NAT) menggunakan software iptables. Dengan aktifnya NAT, sebetulnya mekanisme proxy sudah berjalan. Kebaikan NAT, maka PC workstation di LAN dapat langsung berhubungan ke Internet tanpa perlu menset proxy server. Kira-kira mirip dengan mekanisme yang dilakukan oleh Winroute (di Windows).

Bagi anda yang iseng & mencoba proxy menggunakan Squid (kalau di Windows sama dengan Wingate). Squid merupakan proxy server yang standar digunakan di Linux, biasanya sudah terinstall pada saat kita install Linux Mandrake. Jika Squid di aktifkan dengan benar, workstation di LAN dapat mengakses ke Internet dengan menset proxy server pada alamat 192.168.0.1 port 3128. Untuk menset Squid, secara sederhana dapat dilakukan melalui Webmin (https://localhost:10000). Setelah memasukan user root & password-nya  Servers  Squid  Access Control  Proxy Restriction. Ubah ACL untuk All dari Deny (tidak di ijinkan) menjadi Allow (di ijinkan). Maka semua PC Workstation di LAN dapat mengakses Internet dengan menggunakan Squid sebagai proxy server pada port 3218.

Pada titik ini, anda sudah dapat tersambung ke Internet & menshare akses ke semua PC di LAN untuk browsing di Internet. Selanjutnya, kita akan membahas cara memberikan servis e-mail ke user di LAN. Skenario yang dikembangkan disini adalah, masing-masing user mempunyai mailbox di Internet (dapat di yahoo.com atau mailbox lainnya yang dapat di ambil menggunakan POP3 dari jauh). PC Server Linux, akan mengambilkan mail masing-masing user & di letakan di mailbox masing-masing sehingga user dapat membaca e-mail masing-masing secara lokal tanpa melalui Webmail & menghabiskan pulsa telkom. Selanjutnya, semua e-mail yang akan dikirim ke Internet di antrikan terlebih dulu di PC Server, untuk kemudian secara bersama-sama dikirimkan ke Internet pada saat hubungan dengan Internet dilakukan. Dengan cara demikian PC Server sebetulnya tidak perlu terhubung 24 jam ke Internet jika hanya memberikan servis e-mail saja. Jumlah user di Linux hanya dibatasi oleh besarnya hardisk yang kita pasang di Server. Perlu dicatat, untuk e-mail antar user pada PC server tidak perlu dilakukan hubungan melalui Internet tapi secara langsung e-mail akan dikirim ke mailbox masing-masing user.

Setup user di Linux Mandrake 8.0 sangat dimudahkan oleh KDE (antara lain menggunakan Userdrake) melalui Start  Configuration  Other  Userdrake. Kita cukup memasukan informasi nama, login & password dari user tsb, maka user tersebut akan dibuatkan mailbox & folder oleh Linux Mandrake 8.0. Pada titik ini, antar user di PC Server Linux Mandrake 8.0 dapat saling berkiriman e-mail tanpa perlu tersambung ke Internet. Untuk User yang ingin membaca e-mailnya di PC Workstation di LAN (bukan di Server), dapat menset POP3 Server 192.168.0.1 & SMTP Server 192.168.0.1, dimana 192.168.0.1 adalah alamat IP PC Server Linux Mandrake 8.0.

Langkah selanjutnya, kita perlu menset PC Server Linux Mandrake 8.0 agar dapat mengirimkan e-mail ke Internet & menjadi relay e-mail bagi semua user di PC Workstation di LAN. Pada Linux Mandrake 8.0, default program mail transport yang digunakan adalah postfix. File konfigurasi postfix terletak di /etc/postfix/main.cf. Hanya ada dua (2) kalimat yang perlu di aktifkan pada file konfigurasi ini, yaitu:

relayhost = smtp.indo.net.id
mynetworks = 192.168.0.0/24, 127.0.0.0/8

Tentunya e-mail akan tetap tersimpan di antrian Postfix sampai anda mendial (menghubungkan) PC server tersebut ke Internet. Jika anda mempunyai dedicated line (24 jam), maka cerita ini berhenti sampai di sini. Sayangnya, sebagian besar bangsa Indonesia masih berkutat dengan teknik dial-up yang murmer. Kita perlu sekali-sekali mendial ke Internet untuk mengambil & membuang e-mail yang ada di antrian. KPPP adalah software di KDE untuk mendial ke Internet.Melalui Start  Networking  Remote Access  Internet Dialer, maka KPPP akan di aktifkan. Pada bagian KPPP Setup kita dapat menset nomor telepon ISP, modem, kecepatan modem dll.

Jika telah terhubung ke Internet melalui hubungan dial-up, e-mail yang ada di antrian postfix dapat di paksa di buang ke Internet dengan perintah (melalui login root):

# postfix flush

Pada titik ini, anda sudah bisa saling berkirim e-mail pada rekan di PC server & membuang e-mail ke Internet. Bagian yang mungkin akan membuat kepala pusing adalah mengambil e-mail dari Internet. Kepala akan menjadi sangat pusing, jika anda menginginkan mempunyai domain di Internet sendiri – karena anda harus registrasi domain, mencari primary DNS, secondary DNS, MX server dll. Penjelasan lebih jauh tentang hal ini ada di buku “Teknologi Warung Internet”. Tapi proses ini akan menjadi dimudahkan jika anda rela semua user menggunakan domain Free Webmail, seperti yahoo.com dll. Artinya semua user harus menset pada MS Outlook Express atau Kmail-nya bahwa e-mail address mereka adalah user@yahoo.com.

Dengan asumsi bahwa semua user mempunyai e-mail di http://mail.yahoo.com & sudah di aktifkan melalui option di http://mail.yahoo.com agar bisa di POP. Maka yang kita lakukan hanya perlu menset program fetchmail agar bisa mengambil semua mail di yahoo.com & meletakan pada mailbox lokal yang benar. Setting fetchmail terdapat di file ~/.fetchmailrc. Biasanya ~/.fetchmailrc saya letakan di directory /root karena root yang akan mengambilkan semua e-mail dari masing-masing user tsb. Isi /root/.fetchmailrc kira-kira sbb:

poll pop.mail.yahoo.com protocol pop3
user "ani" password "rahasia_ani" is "ani" here;
poll pop.mail.yahoo.com protocol pop3
user "ayu" password "rahasia_ayu" is "ayu" here;
poll pop.mail.yahoo.com protocol pop3
user "paijo" password "rahasia" is "paijo" here;
poll pop.mail.yahoo.com protocol pop3
user "carox" password "gombal" is "carox” here;

Dengan cara demikian e-mail ani@yahoo.com, ayu@yahoo.com, paijo@yahoo.com dan carox@yahoo.com akan di ambil oleh fetchmail dan akan di simpan di mailbox lokal ani, ayu, paijo dan carox.

Agar fetchmail dapat jalan dengan baik, ganti permission .fetchmailrc ke 710 dengan cara:

# chmod 710 .fetchmailrc

Pengambilan semua mail tersebut dapat dilakukan dengan mudah, dengan menjalankan perintah:

# fetchmail –v

Ah selesai sudah, PC server anda bisa memberikan servis e-mail & Web untuk semua workstation di LAN. Selamat menikmati Open Source.