Author Archives: gtoms

How to email FROM specific IPs, using Postfix

Clientku di India baru saja menambah 4 (internet protocol) IP address baru pada server colocationnya di Ohio USA. Kemudian dia memintaku untuk setup ke empat IP tersebut ke dalam server colo nya dan setup outgoing mail pada setiap IP untuk setiap domainnya. Secara dia mempunyai 5 domain dan 1 domain sudah running pada IP utama (eth0) di server sebelumnya.

Untuk memasukkan ke 4 IP lainnya ke dalam servernya sangat mudah dilakukan dengan settingan IP Alias di linux pada eth0, sehingga terdapat eth0:0, eth0:1, eth0:2, eth0:3.

Untuk mensetting outgoing mail pada masing-masing IP sesuai alamat domainnya atau istilah kerennya “Other Postfix instance” sedikit memusingkan. Akhirnya kembali ke laptop ehhhh…. postfix.org dengan membaca kembali Postfix main.cf file format.  Setelah berpusing ria memainkan alur logika dan otak atik eksperiment aku menemukan beberapa langkah untuk mensetup permintaan orang India ini.

Konfigurasi utama di postfix yang sudah jalan pada server ini ada pada /etc/postfix dan /var/spool/postfix.  Dengan IP 209.51.x.100 dan domain namadomain100.net.in

Isi didalam konfigurasi /etc/postfix/main.cf yang perlu dicermati agar bisa kita gunakan dalam kasus ini adalah : queue_directory, myhostname, smtp_bind_address, inet_interfaces, alternate_config_directories.  Untuk direktory adalah /etc/postfix, /var/spool/postfix, /etc/init.d/postfix

Berikut langkah untuk membuat semuanya menjadi nyata didalam dunia maya dengan contoh setup pada salah satu IP tambahan yaitu IP 209.51.x.200 dengan namadomain200.net.in :

1. Kita buat copy direktory dan file pada konfigurasi utama postfix yang sudah berjalan dengan perintah cp -rp /etc/postfix /etc/postfix200

2. Edit /etc/postfix/main.cf dan tambahkan :
alternate_config_directories = /etc/postfix200
smtp_bind_address = 209.51.x.100
inet_interfaces = 209.51.x.100
myhostname = mail.namadomain.net.in

3. Pada Postfix instance kita harus membuat direktori /var/spool sendiri dan tidak share dengan /var/spool utama dengan perintah mkdir /var/spool/postfix200

4. Kita edit /etc/postfix200/main.cf untuk memasukkan tambahan IP dengan hosname ke domain lain.
queue_directory = /var/spool/postfix200
smtp_bind_address = 209.51.x.200
inet_interfaces = 209.51.x.200
myhostname = mail.namadomain200.net.in

5. Jalankan postfix -c /etc/postfix200 check

6. Untuk running Postfix instance kita haru buat scripts baru agar tidak bentrok dengan yang utama,
cp /etc/init.d/postfix /etc/init.d/postfix200

7. Edit /etc/init.d/postfix200
Ganti semua path yang ke /etc/postfix menjadi /etc/postfix200, termasuk untuk /var/spool/,  /var/lock/subsys/, jadi mengikuti path postfix200.

8. Jalankan postfix200 : postfix -c /etc/postfix200 start

9. Cek pake netstat -nltup :

tcp  0  0 209.51.xxx.100:25  0.0.0.0 *LISTEN  13733/master

tcp 0  0 209.51.xxx.200:25  0.0.0.0  * LISTEN 13957/master

jika services master muncul dengan binding ke IP 209.51.xxx.100 dan 209.51.xxx.200 dengan port 25 sudah sukses nih memasukkan IP lain untuk outgoing mail.

10. Cek pakai mail client dan masukkan settingan pada outgoing mail : mail.namadomain200.net.in lalu kirim email ke gmail. Jika sukses cek email tersebut di webmail gmail dan klik messages header dengan mengklik Show original : Hasilnya sbb :

Delivered-To: henry.gultom@gmail.com
Received: by 10.150.92.11 with SMTP id p11cs198399ybb;
        Thu, 31 Jul 2008 10:25:16 -0700 (PDT)
Received: by 10.114.25.19 with SMTP id 19mr10440208way.225.1217525114616;
        Thu, 31 Jul 2008 10:25:14 -0700 (PDT)
Return-Path: <kumar@namadomain200.net.in>
Received:from mail.namadomain200.net.in (x.xxx.xlhost.com [209.51.xxx.200])
        by mx.google.com with ESMTP id 4si50043yxq.8.2008.07.31.10.25.14;
        Thu, 31 Jul 2008 10:25:14 -0700 (PDT)

Baris yang dibold menunjukkan instalasi beda IP untuk outgoing mail smtp berhasil, email FROM specific IPs pada postfix sudah jalan.

Sekarang bagaimana dengan 3 IP dan 3 domain lainnya?

Tinggal ulangi langkah 1,3,4,5,6,7,8,9,10 diatas dan untuk langkah ke 2 hanya menambahkan path alternate_config_directories ke path lainnya seperti : alternate_config_directories = /etc/postfix300 dst. Ini dilakukan pada file /etc/postfix/main.cf

Dalam artikel ini nama domain dan IP disamarkan.

Contact me :
henry@gultom.or.id

upgrade dns server

Boss besar urusan ISP kantorku suruh aku cek DNS kantor apakah terkena dampak Dan Kaminsky DNS cache poisoning.  Kemudian kulanjutkan dengan pengecekan melalui situs :

http://www.doxpara.com/
https://www.dns-oarc.net/oarc/services/dnsentropy
https://www.dns-oarc.net/oarc/services/porttest
#dig +short porttest.dns-oarc.net TXT
#dig @4.2.2.3 +short porttest.dns-oarc.net TXT

pingin juga pakai metasploit dan exploit bailiwicked :D

Dari pengujian diatas diketahui versi Bind (the Berkeley Internet Name Domain) yang terinstall sebagai DNS Server terdapat DNS cache poisoning. Dan sudah seharusnya di patch. Akhirnya aku dijinkan eksekusi server dengan hard upgrade, bukan soft upgrade.  Kalau soft upgarde hanya mem-patch dns servernya ke versi yang sudah bebas vulnerable. Tapi aku usulkan untuk hard upgrade dalam arti sekalian sistem operasi nya dan bind nya di upgrade.  Installasi fresh dari awal. Pekerjaan ini dilakukan pada mesin Primary DNS, dan mesin Secondary DNS. Semua client kantor di Jakarta dan luar Jakarta memakai kedua DNS ini sebagai koneksi ke internet. Sehingga harus dilakukan upgrade ini untuk menghindari hal-hal yang tidak diinginkan. Sistem operasi DNS memakai Debian, dan melalui mailing list Debian Security aku juga menerima pemberiahuan akan dns cache poisoning ini :

http://lists.debian.org/debian-security-announce/2008/msg00184.html

Installasi ini dilakukan pada mesin Secondary DNS dulu dan kemudian dilanjutkan ke Primary DNS, sehingga tidak ada down time untuk DNS ke seluruh client. Aku pinginnya Secondary DNS turun mesin diganti yang baru, tapi karena semua serba mendadak jadinya pergantian mesin Secondary DNS menyusul setelah bagian gudang mengirimkan mesin baru ke NOC.  Eksekusinya malam menjelang dini hari.  Menurut pengelola ISC Bind, dalam waktu dekat mereka juga akan mengeluarkan patch kembali pada versi Bind  9.3.4-P1.1 dengan versi P2. Nampaknya harus terus memantau aktifitas di ISC Bind untuk mengetahui release-release terbaru mereka untuk DNS Server versi Bind.

Berikut proses instalasi yang sempat di dokumentasikan.

Instalasi dan Konfigurasi Hard Upgrade Primary DNS(Bind-Chroot)

Instalasi dan Konfigurasi Hard Upgrade Secondary DNS(Bind-Chroot)

Multiple DNS implementations vulnerable to cache poisoning

DNS(Domain Name System), berfungsi untuk mengatur proses penterjemahan nama domain ke nomor IP atau sebaliknya. DNS merupakan sistem yang menyimpan informasi tentang nama host dan nama domain dalam bentuk basis data tersebar (distributed database) di dalam jaringan komputer, misalkan Internet.

DNS diimplementasikan dalam sebuah system melalui software BIND (Berkeley Internet Name Domain), djbdns , Daniel J. Bernstein‘s DNS), MaraDNS, QIP (Lucent Technologies), NSD (Name Server Daemon), PowerDNS, Microsoft DNS. Perangkat lunak tersebut memakai metode DNS.

Bulan Juli 2008 dunia IT digemparkan dengan penemuan Dan Kaminsky, Director of Penetration Testing, IOactive yang mengangkat kembali kelemahan pada DNS Cache Poisoning. 3 tahun lalu kasus ini pernah diungkap oleh Ian Green dengan topik DNS Spoofing.  Cuman kali ini Dan Kaminsky sangat serius mengungkap kelemahan ini, kemudian beredar di internet exploit bailiwicked yang dapat digunakan untuk dapat meracuni nameserver cache dalam waktu 5-10 detik.  Dari rilis pemberitahuan US-CERT diberitahukan beberapa perangkat lunak DNS yang terkena dampak Racun Dan Kaminsky ini. Salah satunya ISC BIND. Dan ISC juga merilis patch softwarenya yang vulnerable melalui pemberitahun di situsnya.

Menurut Jaikumar Vijayan, Computerworld :

DNS servers are responsible for routing all Internet traffic to their correct destinations. The so-called cache-poisoning vulnerability that Kaminsky discovered could allow attackers to redirect Web traffic and e-mails to systems under their control, according security researchers. The flaw exists at the DNS protocol level and affects numerous products from multiple vendors.

Untuk memastikan ini, aku coba install Bind yang belum dipatch, pada salah satu server untuk menjadi sasaran. Lalu melalui laptop aku install Metasploit dan menjalankan expolit bailiwicked AU-EX-2008-0002.txt & CAU-EX-2008-0003.txt, untuk meracuni server Bind yang sudah kuinstall.

hasilnya :

client 202.51.212.xx query (cache) ‘com/ANY/IN’ denied: 30 Time(s)
client 202.51.212.xx query (cache) ‘gmail.com/ANY/IN’ denied: 32
Time(s)
client 202.51.212.xx query (cache) ‘hotmail.com/ANY/IN’ denied: 31
Time(s)
client 202.51.212.xx query (cache) ‘net/ANY/IN’ denied: 30 Time(s)
client 202.51.212.xx query (cache) ‘nosuch.domain/ANY/IN’ denied:
30 Time(s)
client 202.51.212.xx query (cache) ‘www.yahoo.com/ANY/IN’ denied: 31
Time(s)

ho..ho…gawat nih, ayo patch dns server anda segera, khususnya ISP(internet services provider).

Proyek di India

Kebetulan aku ikut mailing list postfix-users@postfix.org dimana tempat ngumpulnya para pengguna Postfix di seluruh dunia. Penemu Postfix Wietse Venema’s juga ada dalam milist, beliau sangat aktif memberikan saran masukan dan sebagainya. Sehingga milist ini sangat bermanfaat dan hidup membahas permasalahan mailserver yang menggunakan postfix.

Secara tidak sengaja aku menemukan salah satu postingan di milist tersebut yang meminta/provide commercial installation & support untuk mailservernya dengan 5 domain.

Aku langsung kirim email ke yang bersangkutan dan berikut balasannya :

I have few domains hosted. I need frontend from where I can add / remove email, change password & check email. I am planning to host 5 domains initially.
Outgoing emails would be authenticated by userID and password created through control panel. Mail server should be secured & should not be open relay. I shall enable SSH so that you can access it remotely. I shall give you root access of the server.

I have a budget of US$x00. Payment will be by paypal. 50% immediately & balance 50% on completion.

Let me know:
1. Whether you have expertise to perform the above task.
2. Whether terms and conditions are agreeable to you.

Kindly reply
K. Gandhi

Setelah komunikasi melalui email dan yahoo messenger kita deal untuk harga dan requirement yang disepakati bersama. Client ku ini tinggal di Oshiwara, Mumbai, India. Dan server yang akan di remote berada di Ohio USA dan dihost oleh xlhost.com merupakan server dedicated yang disewa clientku ini. Server dedicated ini sudah berisi sistem operasi Linux Centos 5.2 dengan aplikasi ssh aktif dengan ip public/static sehingga bisa di remote. Spesifikasi servernya Intel Core 2 Duo E4400, 2.0GHz, 800MHz, 2MB L2 Cache 1GB DDR2 RAM, 80GB SATA HDD, 1000GB Transfer, 10Mbps Uplink, 5 IP Addresses.

Waktu pekerjaan aku minta 2 hari karena aku tidak punya waktu 1 hari full untuk konsentrasi mengerjakan custom server nya, sehingga memakai sistem cicil dalam waktu-waktu istirahat dan tidurku.

Proyek ini sukses dengan installasi pada  OS: Centos 5.2 (Final) sbb :
– MTA: Postfix
– Domain Key (DKIM), for outgoing email
– Control Panel:  ISPConfig
– Statistics – MailGraph, Queuegraph
– Antispam Spamassasin dan Anti virus Clamav
– Dovecot( POP3, IMAP Server)
– Squirrelmail webmail

yang agak lama saat setting ISPconfig, untungnya ispconfig sangat cocok dengan Centos sehingga semua proses berjalan lancar tanpa ada kesulitan yang berarti. Setelah payment lewat paypal kuterima, aku baru tahu perusahaan clientku ini adalah IKON Infoservices Pvt Ltd yang berada di Mumbai India. Dari postfix dapat dollar deh.. :)

Membuat Radio Online (skema 1)

Tentunya dunia broadcast sudah tidak asing lagi di Indonesia, dan dengan tidak sampai hitungan 1 jam kita bisa memiliki sebuah stasiun radio online yang bisa digunakan untuk bisnis ataupun hanya sekedar ingin selalu bisa bersama dengan kerabat dan teman untuk mendengarkan lagu – lagu favorit, cd audio, seminar atau apapun yang ingin diperdengarkan pada khalayak di Indonesia. Bisa juga untuk broadcast media untuk lagu – lagu ciptaan sendiri dengan domain sendiri. Dengan instalasi dan konfigurasi Radio Online, kini lagu – lagu atau semua media audio dapat dengan mudah didengar oleh siapa saja. Jadi Radio Online itu adalah menyiarkan secara live lewat internet semua siaran analog dari studio radio.

Aku mencoba latihan membuat radio online secara live, sebelum final proyek pembuatan radio online swasta di Balikpapan.  Aku menerima proyek pembuatan radio online salah satu radio swasta di Balikpapan setelah survey ke studio mereka yang sudah memiliki perangkat radio untuk siaran langsung menggunakan gelombang radio FM.  Radio mereka ini memiliki content siaran news, religius, dan dakwah.  Proyek ini masih menunggu finishing ruangan untuk server dan penarikan bandwidth internet dedicated ke kantor radio mereka.

Setelah memahami cara kerja/knowledge tentang radio online, ada 2 skema yang bisa dibuat dalam implementasi radio online ini. Pada latihan sekarang aku memakai skema 1, dan skema 2 akan aku implementasi di final proyek sebuah radio swasta di Balikpapan.  Sebenarnya tidak jauh berbeda implementasi skema 1 dan skema 2, perbedaannya hanya pada penempatan PC DJ(disk jockey) dan server streaming yang digunakan serta jumlah bandwidth internet yang dipakai baik dari sisi PC DJ dan server streaming.  Konfigurasi software didalamnya juga berbeda sesuai kemauan masing-masing.  Simplenya sebagai berikut :

Skema1 :

Komponen A : User(listener)—->Internet<—-Server Streaming Radio.

Komponen B : PC/komputer DJ—->Internet.

Komponen A dan Komponen B dihubungkan oleh koneksi bandwidth internet yang berbeda.

Skema 2 :

User(listener)—–>Internet<—-Server Streaming Radio+PC DJ<—-Mixer Audio(radio analog)<—-Penyiar(microphone), Tape, CD Player.

pada skema 2 komponen A dan B digabung, berada dalam satu server menggunakan bandwidth internet yang sama.

Pada latihan live ini aku memakai skema 1 karena aku tidak bisa berada dekat perangkat mixer audio di studio radio. Perangkat skema 1 yang di ujicobakan sbb :

Untuk Komponen A :  sebagai Server Streaming Radio aku gunakan server VPS(Virtual Private Servers ), memory 256 MB,  space 20 GB,  O/S Linux Ubuntu-Server8.04, dengan bandwidth internet 512 kbps(kilo bit per second). Server ini terletak di Gedung Cyber(IIX Jakarta). User(listener) akan membaca IP publik yang ada di server ini dengan port koneksi yang sudah kita buka melalui konfigurasi file software streaming radio yang dalam implementasi ini menggunakan SHOUTcast Server.

Untuk komponen B : Uji coba pertama menggunakan laptop ku sebagai PC/komputer DJ dengan bandwidth internet 3,5G HSDPA IndosatM2, Uji coba kedua menggunakan komputer biasa dengan bandwidth internet dedicated 128 kbps. Kedua uji coba ini sukses berjalan baik dan berkomunikasi dengan server streaming SHOUTcast pada komponen A. Untuk O/S menggunakan Windows XP Profesional SP2, Winamp, Plugin winamp

SHOUTcast DSP Plugin, dan kumpulan lagu-lagu mp3.

Instalasinya sebagai berikut :

Komponen A : Server Streaming Radio SHOUTcast VPS sudah terinstall O/S Linux Ubuntu-Server8.04 dengan IP static : 202.145.xx.xxx, settingan IP ini sudah bisa keluar ke Internet. Setelah Instalasi Sistem operasi dan konfigurasi IP maka aku install software Streaming Radio menggunakan SHOUTcast server for Linux. Berikut Instalasi dan konfigurasi SHOUTcast for server.

root@iixsvr:/home/user1# wget http://www.shoutcast.com/downloads/sc1-9-8/sc_serv_1.9.8_Linux.tar.gz
–21:17:07–  http://www.shoutcast.com/downloads/sc1-9-8/sc_serv_1.9.8_Linux.tar.gz
=> `sc_serv_1.9.8_Linux.tar.gz’
Resolving www.shoutcast.com… 207.200.98.25
Connecting to www.shoutcast.com|207.200.98.25|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 60.840 (59K) [application/x-gzip]

100%[=================================>] 60.840  127.06K/s

21:17:10 (126.91 KB/s) – `sc_serv_1.9.8_Linux.tar.gz’ saved [60840/60840]

root@iixsvr:/home/user1# tar -zxvf sc_serv_1.9.8_Linux.tar.gz
README.TXT
sc_serv.conf
sc_serv
root@iixsvr:/home/user1# ls
README.TXT  sc_serv  sc_serv_1.9.8_Linux.tar.gz  sc_serv.conf
root@iixsvr:/home/user1# mkdir shoutcast

pindahkan file README.TXT  sc_serv  sc_serv.conf ke dalam folder shoutcast.

root@iixsvr:/home/user1/shoutcast# nano sc_serv.conf

disini aku edit sesuai kebutuhan latihan dulu saja pada beberapa bagian berikut :
maxuser 32
password renata
port 8000
adminpassword 123456

(save config)
ctrl-x untuk save dan exit dari editor nano.

Maxuser maksudnya jumlah user(listener) yang dapat mengakses/terkoneksi mendengarkan radio kita, Password disini maksudnya adalah password yng akan kita masukkan pada DSP Plugin Winamp pada PC DJ, Port 8000 adalah port SHOUcats server ini yang dibuka/digunakan untuk streaming radio. Adminpassword adalah passowrd admin untuk interface mengadministrasi SHOUTcats Server via web based..

Selesai mengedit file sc_serv.conf Aku jalankan servicesnya :

root@iixsvr:/home/user1/shoutcast# ./sc_serv sc_serv.conf
*******************************************************************************
** SHOUTcast Distributed Network Audio Server
** Copyright (C) 1998-2004 Nullsoft, Inc.  All Rights Reserved.
** Use “sc_serv filename.ini” to specify an ini file.
*******************************************************************************
Event log:
<06/30/08@21:21:18> [SHOUTcast] DNAS/Linux v1.9.8 (Feb 28 2007) starting up…
<06/30/08@21:21:18> [main] pid: 4554
<06/30/08@21:21:18> [main] loaded config from sc_serv.conf
<06/30/08@21:21:18> [main] initializing (usermax:32 portbase:8000)…
<06/30/08@21:21:18> [main] No ban file found (sc_serv.ban)
<06/30/08@21:21:18> [main] No rip file found (sc_serv.rip)
<06/30/08@21:21:18> [main] opening source socket
<06/30/08@21:21:18> [main] source thread starting
<06/30/08@21:21:18> [source] listening for connection on port 8001
<06/30/08@21:21:18> [main] opening client socket
<06/30/08@21:21:18> [main] Client Stream thread [0] starting
<06/30/08@21:21:18> [main] client main thread starting
<06/30/08@21:21:46> [sleeping] 0 listeners (0 unique)
<06/30/08@21:21:47> [main] SIGINT; exiting!(0 unique)

Sampai disini instalasi dan konfigurasi komponen A selesai. Tetapi masih belum menerima koneksi streaming dari PC DJ yang akan kita setup.

Komponen B : Uji coba nya menggunakan laptopku dengan sistem operasi Windows XP Profesional SP 2. Dengan catatan koneksi internet di laptop sudah jalan menggunakan HSDPA IM2. Berikut tahapannya :

– Install  Winamp versi 5 keatas(sebaiknya yang terbaru), unduh di www.winamp.com

– Install SHOUTcast DSP Plugin for windows, unduh di http://www.shoutcast.com/downloads/shoutcast-dsp-1-9-0-windows.exe

-Konfigurasi plugin SHOUTcast DSP dan Winamp untuk memasukkan lagu-lagu yang ingin kita streaming kan.

Berikut screenshot gambarnya :

Di laptopku sebagai bandwidth internet untuk PC DJ memakai IM2 HSDPA yang sudah terkoneksi baik.

ini langkah menginstal SHOUTcast DSP Plugin, sebelumnya harus sudah install winamp dahulu. Jadi anggap Winamp sudah terinstall dan sekarang install SHOUTcast DSP Plugin, Klik 2 kali file shoutcast-dsp-1-9-0-windows.exe yang sudah kita unduh. Lalu ikut petunjuk seperti di gambar Next-Next-Next saja,

Disini DSP Plugin diinstall di folder Winamp yang sudah terinstall sebelumnya,

Sampai disini proses instalasi SHOUTcast DSP Plugin untuk winamp selesai, tinggal konfigurasi menu didalam DSP Plugin.

Jalankan Winamp—lalu klik ‘Option’—-‘Preferences’

Pada menu sebelah kiri ‘Pilih DSP/EFFECT’—–klik 2 kali ‘Nullsoft SHOUTCast Sources DSP v1.0.0(dsp_sc.dll)’ di menu sebelah kanan,

Sebuah menu akan muncul dengan TAB konfigurasi : ‘Main’, ‘Output’, ‘Encoder’, ‘Input’.

Pilih ‘Ouput’ dan aku edit bagian ‘Output Configuration’ sbb :

‘Address’ : 202.145.xx.xxx (ini adalah IP Server Streaming Shoutcast yang sudah dikonfigiurasi diatas)
‘Port’: 8000 (port yang akan dimasukin/diopen dari jalur PC DJ ke SHOUTcast Radio Streaming secara online) Password : masukkan password yang kita masukkan pada file sc_serv.conf sebelumnya. Jadi konfigurasi disini sama dengan konfigurasi yang kita edit pada file sc_serv.conf,

Pilih ‘Encoder’ dan rubah Encoder Setting menjadi ‘128kbps, 44.100kHz Mono’ ini tergantung keinginan masing-masing. Lalu kembali ke bagian Output dan klik tombol Conect, nanti terlihat ada proses Status Sent berapa bytes lihat gambar dibawah.

Lagu mp3 yang kita input di Winamp akan distreaming ke server Shoutcast, agar dapat didengarkan user(listener).

Setelah Conect, klik Tab Main dan lihat Input Level berjalan, Kita juga bisa mengalirkan lagu-lagu ke playlist winamp dan menjalankannya.

Klik juga Input dan kita lihat bar input level tanda koneksi berjalan. Disini Input device aku pilih Winamp, kalau aku berada pada skema 2 maka Input Device harus diganti menjadi Soundcard Input. Secara Line in Soundcard akan tersambung ke Mixer Audio penyiar/tape/cd player.

User(listener) akan mendengar Radio online ini melalui browser dengan alamat : http://202.145.xx.xxx:8000/listen.pls File listen.pls digenerate otomatis oleh SHOUTcast Server.

Kita cek event log pada server linux Streaming Shoutcast, terlihat salah satu listener dengan ip 202.51.xxx.xxx sedang mendengarkan lagu streaming ini :

<06/30/08@21:34:17> [source] connected from 124.81.149.194
<06/30/08@21:34:17> [source] icy-name:Marching band ; icy-genre:Drum Band
<06/30/08@21:34:17> [source] icy-pub:1 ; icy-br:128 ; icy-url:http://www.trendmarching.or.id
<06/30/08@21:34:17> [source] icy-irc:#trendmarching ; icy-icq:0 ; icy-aim:gtomslinux
<06/30/08@21:34:49> [source] no data (30s timeout). disconnecting.
<06/30/08@21:35:18> [source] connected from 124.81.149.194
<06/30/08@21:35:18> [source] icy-name:Marching band ; icy-genre:Drum Band
<06/30/08@21:35:18> [source] icy-pub:1 ; icy-br:128 ; icy-url:http://www.trendmarching.or.id
<06/30/08@21:35:18> [source] icy-irc:#trendmarching ; icy-icq:0 ; icy-aim:gtomslinux
<06/30/08@21:40:38> [dest: 202.51.xxx.xxx] starting stream (UID: 0)[L: 1]{A: WinampMPEG/5.52}(P: 0)
<06/30/08@21:46:15> [dest: 202.51.xxx.xxx] connection closed (337 seconds) (UID: 0)[L: 0]{Bytes: 4914967}(P: 0)

Jika kita browsing ke http://202.145.xx.xxx:8000 akan menemukan Status Lagu, Song History dan Admin Page untuk interfaces User(Listener). Tapi Admin Page hanya bisa dibuka menggunakan password yang kita masukan pada file sc_serv.conf

Demikianlah proses instalasi dan konfigurasi Radio Online skema 1 sebagai latihan, kesokan harinya aku coba PC/Komputer lain dengan bandwidth lebih baik dalam kondisi banyak listener dan suara streaming terdengar baik, bersih dan tidak delay, yah kadang ada juga delay sedikit, tinggal di tunning.

Untuk Skema2 yang berhadapan langsung dengan audio mixer dan penyiar akan aku susul artikelnya setelah penyelesaian proyek tersebut on site di Balikpapan. 

Resources :  www.shoutcast.com, forum SHOUTcast technical support.

Contact me :
henry@gultom.or.id

setup mailserver

Untuk mensetup sebuah mailserver tidak makan waktu lama, dengan catatan semua software dan kawan-kawannya telah menjadi favorit makanan sehari-hari.

Minggu lalu via telepon aku deal dengan salah seorang yang membutuhkan jasa tersebut, dari perkenalan,teknis penginstalan, sampai deal harga semua via telepun, sangking ngebetnya nih orang pingin hari itu juga dilaksanakan, sampai dia rela antar komputer servernya ke tempat saya. Setelah saya bicarakan teknis dan apa-apa saja yang diperlukan akhirnya mengerti. Dan disepakati keesokan harinya untuk dilakukan di kantornya secara live.

Kebetulan dapat off  dari kantor, aku isi waktu dengan mendatangi kantornya di Gedung Patra Jasa Jl. Gatot Subroto. Aku hanya bawa cd netinstall Debian 4 Etch. Karena teknisnya insalasi sistem operasi on site, dan konfigurasi secara remote.  Untuk Instalasi sistem operasi Debian Etch untuk server hanya butuh waktu 1 jam jika tidak ada kendala berarti khususnya koneksi ke internet, karena untuk system instalasi dasar masih membutuhkan koneksi ke internet dalam tahap akhir instalasi ini. 1 jam selanjutnya aku seting essential program yang diperlukan dalam instalasi mailserver ini.  Bagian IT yang memakai jasanya ikut dan tampak serius melihat setiap proses instalasi ini, sembari belajar silahkan dilihat dan ditanya macam2 juga, kataku dalam hati. Stelah semua selesai termasuk menginstall ssh untuk keperluan remote kurang dari 3 jam aku pulang, karena ada janji dengan temanku urursan keluarga. Nanti malam dilanjutkan kataku, karena di sana servernya hidup terus jadi bisa remote nanti sebelum tidur menyelesaikan konfigurasi mailserver.

Malamnya aku remote ke mesinnya yang ada di lantai 17 Gedung Patra Jasa dari rumah menggunakan IM2. Lumayan cepat karena sama-sama masih dalam jalur IIX Indonesia, hanya lintas ISP saja.

Kebutuhan yang diinginkan client inilah adalah POP3, SMTP, Antivirus, Anti Spam, Webmail, Mail Admin via web, firewall.   Karena alur instalasi ini sudah sering kulakukan jadi tidak sulit lagi, semua berjalan cepat dan lancar.  Software-software yang di tanamkan ke servernya adalah : Qmail dkk, Vpopmail, Mysql, Vqadmin, Postifx, Amavisdnew, Spamassassin, Pyzor, Razor, DCC, SaneSecurity, Clamav, Aide, iptables, SquirrelMail, fail2ban. Tanpa basa basi server disana ikut saja apa yang kuketik, dan kurang dalam waktu 3 jam konfigurasi selesai. Testing create email baru, test mengunakan mailclient, smtp oke semua. Cek ketangguhan firewal oke(server sendiri kok di hack hehehhe…). Done !!

Besok pagi ngantor seperti biasa dan koordinasi dengan bagian IT nya, bahwa pekerjaan telah selesai, tinggal training dan tanya jawab dalam mengadministrasi mailserver tersebut.

repair table mysql

Menganalisa masalah pada sebuah system yang sedang running(produksi) haruslah cepat dan tepat untuk menghindari downtime yang lama. Salah satu server yang saya handle mengalami masalah, kebetulan saat terjadi masalah saya tidak berada di office sehingga trouble shoot yang bisa dilakukan secara remote. Rekan di bagian Network Operation Centre(NOC) melaporkan kejadian ini via telepon bahwa service pop3 ini mengalami masalah di kantor dan sejumlah client, server email pop3 yang menggunakan operating system linux sangat diperlukan untuk kebutuhan mail hosting client kantorku.

Langkah menghadapi kasus ini adalah melihat log error yang terjadi baik pada mail client dan log error pada mailserver.

Saya mencoba menggunakan mail client untuk test tarik email dan didapat error sebagai berikut :

There was a problem logging onto your mail server. Your Password was rejected. Account: ‘mail.namadomain.net’, Server: ‘mail.namadomain.net’, Protocol: POP3, Server Response: ‘vmysql: error creating table ‘vlog’: Table ‘vlog’ already exists’, Port: 110, Secure(SSL): No, Server Error: 0x800CCC90, Error Number: 0x800CCC92

Dari log error diatas didapat letak permasalahan ada pada table vlog pada database vpopmail yang menggunakan Mysql.

Untuk lebih menelusuri apa yang terjadi pada table vlog, saya remote ke server pop3 yang berada di Gedung Cyber Lt IV, dan melihat log

# tail -f /var/log/mail.log

…………snip……………………..
May 21 11:05:55 mailserver vpopmail[5112]: vchkpw-pop3: password fail renata@namadomain.net:202.51.xxx.xxx
May 21 11:05:55 mailserver mysqld[5030]: 080521 11:05:55 [ERROR] /usr/sbin/mysqld: Table ‘./vpopmail/vlog’ is marked as crashed and should be repaired
………..snip………………….

Dari log aiats saya langsung dapat mengetahui bahwa table vlog yang terdapat didalam table vpopmail mengalami crash dan harus direpair.

Langkah selanjutnya adalah login ke mysql
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 445
Server version: 5.0.32-Debian_7etch5 Debian etch distribution

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> use vpopmail;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+——————–+
| Tables_in_vpopmail |
+——————–+
| dir_control |
| domain_alias |
| lastauth |
| valias |
| vlog |
| vpopmail |
+——————–+
6 rows in set (0.00 sec)

mysql> REPAIR TABLE vlog;
+—————+——–+———-+————————————————+
| Table | Op | Msg_type | Msg_text |
+—————+——–+———-+————————————————+
| vpopmail.vlog | repair | warning | Number of rows changed from 1263639 to 1263640 |
| vpopmail.vlog | repair | status | OK |
+—————+——–+———-+————————————————+
2 rows in set (49.13 sec)

done

Kunci penyelesaian masalah ini ada pada baris command REPAIR TABLE vlog;

Jika proses repair table vlog tersebut gagal, maka siapkan solusi lain yaitu dengan menimpa/replace table vlog yang rusak dengan table vlog pada server backup.

Kemudian cek log kembali di server dan aku coba login menggunakan mail client kembali, dan berhasil tanpa muncul kembali log error sebelumnya, lalu saya telepon ke bagian NOC/CRC(Customer Response Centre) kantor untuk memberitahukan trouble shoot sudah selesai. Service POP3 sudah up kembali.

Server remote admin

Saat ini di perusahaan baik yang berbasis IT(information Technology) maupun non IT tampaknya tidak bisa terlepas dari perangkat teknologi informasi. Kebanyakan perusahaan memiliki karyawan yang bekerja di bidang IT dan IT Department selalu ada menjadi bagian motor kelancaran operasional bagi perusahaan-perusahaan tersebut.

Tahun ini sudah memasuki tahun kedua aku membantu(konsultan) di perusahaan non IT bernama Pruexcellent. Koordinator IT nya sangat serius memikirkan pengembangan IT di kantornya, dari pertama hanya memiliki satu server dan satu switch/hub, sekarang sudah bertambah. Pengembangan bisnis di kantor ini juga meningkat dari penambahan ruang kantor dan jumlah karyawan sejalan dengan penambahan kebutuhan  infrastruktur IT. Infrastruktur IT nya bertambah dari jumlah switch, server, bandwidth internet, dan perangkat multimedia audio video untuk menunjang kebutuhan operasional semua karyawannya yang peningkatannya luar biasa dibanding tahun pertama.

Punya kepuasan tersendiri bagi saya membantu teman disana demi suksesnya operasional di kantornya. Kebutuhan sistem IT mereka diimplementasikan dalam installasi dan konfigursi server-server untuk kebutuhan file data internet email web dan sebagainya. Yang pasti Linux sebagai sistem operasi bagi server-server mereka menjadi yang utama.  Secara Linux tangguh, handal, free, dan manja untuk membantu semua pekerjaan kantor mereka dengan target-target masa depan.  Barvo….Mr. Linggar !

ruang server pruexcellent

migrasi server radius

Server radius kantor yang lama sering bermasalah sehingga diputuskan migrasi ke server baru dengan spek yang lebih baik untuk menjalankan fungsi radiator, mysql didalam sistem operasi Linux yang menggunakan distribusi ‘mbah’ Debian.  Semua proses dimulai dari instalasi sistem operasi Linux Debian 4 Etch, Radiator-3.14, Mysql 5, memindahkan data mysql dan konfigurasi config Radiator dari server lama ke server baru.

Konsep kerja radius sebagai berikut :

RADIUS (Remote Authentication Dial-In User Service), adalah suatu metode standar (protokol) yang mengatur komunikasi antara NAS dengan AAA server. Dalam hal ini server AAA yang digunakan dapat juga disebut sebagai server RADIUS, dan paket-paket data yang terlibat dalam komunikasi antara keduanya disebut sebagai paket RADIUS.

Ketika NAS menerima permintaan koneksi dari user, NAS akan mengirimkan informasi yang diperolehnya dari user ke server RADIUS. Berdasarkan informasi tersebut, server RADIUS akan mencari dan mencocokkan informasi mengenai user tersebut pada databasenya, baik internal, eksternal, maupun server RADIUS lain. Jika terdapat informasi yang cocok, server RADIUS akan mengizinkan user tersebut untuk menggunakan jaringan. Jika tidak, maka user tersebut akan ditolak. Berdasarkan informasi ini, NAS memutuskan apakah melanjutkan atau memutuskan koneksi dengan user. Selanjutnya, NAS mengirimkan data ke server RADIUS untuk mencatat semua kegiatan yang dilakukan user dalam jaringan.

Server RADIUS dan NAS berkomunikasi melalui paket-paket RADIUS. Paket-paket RADIUS ini memiliki format sesuai dengan yang ditentukan oleh IETF melalui dokumen RFC 2865 mengenai RADIUS, dan RFC 2866 mengenai RADIUS accounting. Paket-paket RADIUS dikirimkan oleh NAS dan server RADIUS berdasarkan pola request/response : NAS mengirimkan request dan menerima response dari server RADIUS. Jika NAS tidak menerima response dari server atas suatu request, NAS dapat mengirimkan kembali paket request secara periodik sampai dicapai suatu masa timeout tertentu, dimana NAS tidak lagi mengirimkan request kepada server, dan menyatakan bahwa server sedang down/tidak aktif. Setiap paket memiliki fungsi tersendiri, apakah untuk authentication atau untuk accounting. Setiap paket RADIUS dapat menyertakan nilai-nilai tertentu yang disebut atribut (attributes). Atribut-atribut ini bergantung pada jenis paket (authentication atau accounting), dan jenis NAS yang digunakan. Informasi detail mengenai format paket dan nilai-nilai dari masing-masing field dalam paket RADIUS dapat dilihat pada RFC 2865 dan RFC 2866.

Fungsi authentication dilakukan melalui field-field pada paket access-request. Fungsi authorization dilakukan melalui atribut-atribut pada paket access-accept. Fungsi accounting dilakukan melalui atribut-atribut pada paket-paket accounting (paket start, stop, on, off, dll).

Keamanan pada komunikasi antara NAS dengan server RADIUS dijamin dengan digunakannya konsep shared secret. Shared secret merupakan rangkaian karakter alfanumerik unik yang hanya diketahui oleh server RADIUS dan NAS, dan tidak pernah dikirimkan ke jaringan. Shared secret ini digunakan untuk mengenkripsi informasi-informasi kritis seperti user password. Enkripsi dilakukan dengan cara melewatkan shared secret yang diikuti dengan request authenticator (field pada paket access request dari NAS yang menandakan bahwa paket tersebut merupakan paket access request) pada algoritma MD5 satu arah, untuk membuat rangkaian karakter sepanjang 16 oktet, yang kemudian di-XOR-kan dengan password yang dimasukkan oleh user. Hasil dari operasi ini ditempatkan pada atribut User-Password pada paket access request. Karena shared secret ini hanya diketahui oleh NAS dan server RADIUS, dan tidak pernah dikirimkan ke jaringan, maka akan sangat sulit untuk mengambil informasi user-password dari paket access request tersebut.

NAS dan server RADIUS terhubung melalui jaringan TCP/IP. Protokol yang digunakan adalah UDP (User Datagram Protocol), dan menggunakan port 1812 untuk authentication, dan port 1813 untuk accounting.

Selengkapnya (Instalasi & Migrasi)

masang speedy

Kemarin bos yang punya Nanny & Governess School Kelapa Gading minta aku cariin koneksi internet apa yang cocok untuk bisa dipsang di kantornya di daerah Kelapa Gading.  Di kantornya ada 5 komputer yang mau dishare agar bisa internetan, dan keperluan mereka yang penting adalah email.

Aku saranin pake Speedy saja karena lagi promo bulan Maret kemarin, aku juga kasih brosur paket personal internet broadband punya kantor ku yang untuk daerah Kelapa Gading sudah masuk coveragenya memakai jaringan ODMA. Karena beda di registrasinya akhirnya jatuh pilihan ke Speedy.

Saya salute dengan proses registrasi Telkom Speedy karena sangat cepat banget dan kooperatif. Saya hanya isi registrasi via website mereka di : http://www.telkomspeedy.com/new/register.php kemudian 2 jam kemudian ditelepon perihal data-data yang sudah saya masukkan di online registrasi mereka.  Dan diberitahukan akan dihubungi kembali. Kemudian keesokan hari ada sms memberitahukan agar melakukan pembayaran di Plasa Telkom, untuk daerah Kelapa Gading bisa ke Telkom Rawamangun, atau Plasa Telkom di Kelapa Gading. Karena sibuk saya belum sempat urus,  lalu saya telpon ke Karyawannya agar menyiapkan KTP Bapak, dan NPWP perusahaan dan minta mereka yang urus administrasi ke Telkom, eh…karyawannya bilang saya aja yang urus semua.  Sampai sore saya juga belum bisa urus, lalu saya balas sms ke nomer tersebut mengatakan mungkin besok.  Besok pagi saya ditilpun dan dikatakan biar pihak Telkom yang datang ke kantor, dan nanti proses administrasi dibayar ditempat saat selesai pemasangan.  Lalu janjian besok pagi ketemu di kantor.

Besoknya, kebetulan dapat off dari kantor jadi dapat bantuin proses pemasangan dikantor. Besoknya saya ke Kelapa Gading untuk lihat agar perkejaan beres.  Proses pemasangan ADSL Speedy dan setting dari pihak Telkom berjalan cepat, dan disharing ke  komputer di sana agar dapat internetan. Maklum di sana IT nya ndak ada,  jadi aku bantuin settingan mail client yang terkoneksi ke website hosting mereka.

Beberapa staff nya tak ajarin juga bagaimana tarik email, kirim email pake attachment dan sebagainya.