Cryptography

Security is not a Product, its a Process

Membuat Dial In Callback Server

Apa itu dialin and callback server? Bagi newbie seperti saya (pada saat mengenal computer) tentu saja merupakan kata yang langka. Sederhananya dialin server adalah sebuah server yang melayani client dialup melalui jalur/line telephone menggunakan protokol pptp.

In a PPP dialin server setup, users dial in through a telephone line and modem to establish a PPP connection with a remote server. It is possible to make a Linux box call back the user who dialed the server. This document describes the step-by-step procedure to set up a Linux-based callback server.

 

 

Kebutuhan Software (pre configuration)

Kebetulan OS yang saya pakai ada Fedora yang merupakan turunan langsung dari redhat :

redhat:~# uname -a
Linux redhat 2.6.14.3 #1 Tue Dec 13 19:28:51 SGT 2005 i686 i686 i386 GNU/Linux

PERHATIAN: Anda memerlukan hak root/superuser untuk melakukan ini!

Pertama-tama pastikan bahwa di system anda telah ada paket-paket berikut:

  • pppd

  • mgetty Untuk melihat apakah paket tersebut sudah ada di system kita, lakukan:

redhat:~# whereis pppd
pppd:

Jika hasilnya seperti di atas, berarti paket pppd belum terinstall di system anda, maka saya (memakai Redhat Family) melakukan instalasi memakai rpm saja:

redhat:~# rpm -ivh ppp-2.4.2-6.4.FC3.i386.rpm

Berikutnya, kita check apakah paket mgetty sudah ada. Sekali lagi lakukan :

redhat:~# whereis mgetty
mgetty:

Sama seperti sebelumnya, paket mgetty belum terinstall.

redhat:~# rpm -ivh mgetty-1.1.31-4_FC3.i386.rpm

Sekarang semua paket yang dibutuhkan sudah terinstall di system, mari kita lanjutkan ke tahap berikutnya.

Jika anda menggunakan distro lain, silahkan menggunakan paket sesuai dengan distro anda!

Kebutuhan Hardware (modem)

Dalam hal ini saya menggunakan External modem yang terhubung ke COM1 di computer, ini berarti /dev/ttyS0 di Linux. Jika anda menggunakan COM2 ini berarti /dev/ttyS1. Pastikan bahwa modem yang anda gunakan telah di support oleh Linux. Jika anda menggunakan softmodem (internal modem) yang menggunakan chipset conexant, silahkan meluncur ke http://www.linuxant.com. Saya tidak akan membahas bagaimana cara meng-install driver softmodem tersebut, karena saya tidak mempunyai banyak waktu untuk melakukan percobaan.
Setelah menghubungkan kabel data modem ke port COM1, saya jalankan perintah:

redhat:~# kudzu

Maka kudzu akan mendeteksi apakah ada hardware baru (dalam hal ini modem) yang terhubung ke system kita.

Configurasi (dialin)

Berikut adalah step-by-step yang saya lakukan

1. Buat group ppp dan user pppuser:

redhat:~# groupadd -g 96 ppp
redhat:~# useradd pppuser -u 96 -g 96 -s /usr/sbin/ppplogin

2. Buat file /usr/sbin/ppplogin yang isinya:

#!/bin/sh
#/etc/ppp/ppplogin
# PPP login script
mesg n
stty -echo
exec /usr/sbin/pppd -detach modem debug crtscts

3. Set access attributes file /usr/sbin/ppplogin yang barusan dibuat:

redhat:~# chmod 750 /usr/sbin/ppplogin
redhat:~# chown root:ppp /usr/sbin/ppplogin

4. Set access attributes directory /etc/ppp (optional):

redhat:~# chmod 775 /etc/ppp
redhat:~# chown root:root -R /etc/ppp

5. Set access attributes file /usr/sbin/pppd:

redhat:~# chmod 750 /usr/sbin/pppd
redhat:~# chmod u+s /usr/sbin/pppd

6. Tambahkan entry berikut di file /etc/inittab jika modem anda terkoneksi di COM1:

S0:2345:respawn:/sbin/mgetty ttyS0 -D /dev/ttyS0

Atau, jika modem terpasang juga di COM2:

S1:2345:respawn:/sbin/mgetty ttyS1 -D /dev/ttyS1

7. Restart init.

redhat:~# init q

8. Tambahkan entry berikut di file /etc/mgetty/login.config:

/AutoPPP/ – – /usr/sbin/pppd auth +pap -chap login -detach

Untuk baris lainnya silahkan dicomment.

9. Buat file /etc/ppp/options.ttyS0 jika modem anda di COM1 atau /etc/ppp.options.ttyS1 jika anda menggunakan COM2, yang isinya:

192.168.76.254:192.168.76.99
debug

Keterangan: baris pertama kolom pertama isi dengan IP server anda, kolom kedua diisi alokasi IP untuk client ppp anda Silahkan sesuaikan dengan IP di network anda.

10. Edit file /etc/ppp/options:

#lock (default)
-detach
asyncmap 0
modem
crtscts
proxyarp
lock
require-pap
refuse-chap
ms-dns 192.168.76.254 # Isi IP DNS 1
ms-dns 202.51.209.6 # Isi IP DNS 2
usepeerdns

11. Edit file /etc/ppp/pap-secrets:

# Secrets for authentication using PAP
# client server secret IP addresses
pppuser * password *

12. Sekarang silahkan dicoba dialup ke server kita dari client. Jika client menggunakan System Operasi Windows silahkan buat koneksi melalui dial up networking, login menggunakan username: pppuser dan password: password Pastikan sampai dilangkah ini koneksi dari client ke server sudah jalan, check apakah client sudah mendapatkan IP (contoh) 192.168.76.99
Jika sudah sukses pada tahap ini, mari kita lanjutin untuk setting callback nya, jika belum mungkin ada yang terlewati, silahkan check lognya.

Configurasi CallBack (Server)

Jika dial in sudah berjalan sempurna, sebenarnya setting callback sangat mudah, tidak seperti yang saya bayangkan sebelumyašŸ™‚
Berikut adalah tahap yang dilakukan:

1. Buat user back.

redhat:~# useradd back

2. Buat file kosong /ete/mgetty/callback.conf.

redhat:~# touch /ete/mgetty/callback.conf

3. Edit file /etc/mgetty/login.config tambahkan entry berikut :

back – – /usr/sbin/callback -S 12011976

12011976 adalah tanggal lahir saya :)… hehehhe yang benar itu nomor tujuan yang akan dicallback oleh si server, jadi isi saja nomor telp rumah anda, bukankah tujuannya agar kita bisa main internet sambil memonitor jaringan/computer di kantor dari rumah, tapi pulsa kantor yang bayaršŸ˜€

4. Selesai
Configurasi untuk callback server sampai di sini. Dan ini dijamin berjalan. Sekarang yang perlu dilakukan adalah configurasi di sisi client.

Configurasi CallBack (client Windows)

Sebagai client saya menggunakan OS Windows XP professional, tapi configurasinya sama untuk versi Windows lainnya.

1. Jalankan control panel, kemudian buka Phone and modem options. Di tab modems pilih modem yang akan digunakan (jika terdapat lebih dari 1 modem) untuk melakukan koneksi ke callback server dan click Properties. Sekarang masuk ke tab advanced, masukan entry berikut dibagian extra initialization commands.

&c0s0=1

2. Masih dalam Control Panel click Network Connetions, click kanan di koneksi dialup yang sudah kita buat pilih Properties masuk ke tab Security dan check options Show Terminal Window di bagian Interactive logon and scripting

3. Sekarang coba jalankan koneksi dialup,
Setelah terkoneksi dengan server, maka akan muncul After Dial Terminal window, yang meminta kita untuk memasukan username, ketik back dan tekan enter:

Fedora Core release 3 (Heidelberg)
Kernel 2.6.14.3 on an i686

redhat login:back

Dialing continues in the background, all further messages will
be written to the logfile ‘/var/log/mgetty.log.callback’.
Please look there for errors / diagnostics.

NO CARRIER

Sampai di sini, server akan melakukan pemutusan koneksi dengan client secara otomatis, selang beberapa detik (sekitar 35 detik), server akan melakukan panggilan ke nomor yang telah kita set pada file /etc/mgetty/login.config. Berikut tampilan lengkap yang muncul di After Dail Terminal Window

Fedora Core release 3 (Heidelberg)
Kernel 2.6.14.3 on an i686

redhat login:back
Dialing continues in the background, all further messages will
be written to the logfile ‘/var/log/mgetty.log.callback’.
Please look there for errors / diagnostics.

NO CARRIER

RING
CARRIER 33600

PROTOCOL: LAP-M

COMPRESSION: V.42BIS

CONNECT 33600
Connection established, please wait…
…ok

Fedora Core release 3 (Heidelberg)
Kernel 2.6.14.3 on an i686

redhat login:

Perhatian: Jika terminal line in dari telkom terpasang juga (parallel) dengan pesawat telephone, maka pada saat muncul tulisan RING di atas, pesawat telephone anda akan berdering, jangan diangkat!!

Pada beberapa modem, RING akan terjadi selama 3 kali.

Click Done.
Sampai di sini setting callback di sisi client menggunakan OS Windows selesai.

Configurasi CallBack (client Linux)

Untuk client yang menggunakan linux, mungkin akan lebih sulit, dan kebetulan saya belum sempat mencoba, jadi silahkan anda coba sendirišŸ˜€

1. Buat file /etc/ppp/options yang berisi:

lock
defaultroute
noipdefault
modem
115200
crtscts
debug
passive
asyncmap 0

2. Buat file /etc/ppp/peers/pppcallback yang berisi:

ttyS1 19200 crtscts
connect ‘/usr/sbin/chat -v -f /etc/ppp/chat-callback’
noauth

3. Buat file /etc/ppp/chat-callback yang berisi:

ABORT BUSY
ABORT VOICE
ABORT “NO DIALTONE”
ABORT “NO ANSWER”
“” ATZ
OK ATDT123456 # Telephone number of server
CONNECT \d\d
ogin: \q\dback
TIMEOUT 90
RING AT&C0S0=1
ogin: \q\dpppuser
assword: \q\dpassword

Sesuaikan isi file di atas sesuai dengan nomor telephone yang dipasang dimodem server (dial-in server). Juga username dan password disesuaikan dengan username dan password yang anda telah buat di server.
Pada beberapa modem mungkin anda perlu mengganti ATZ dengan AT&FX2

4. Buat file /usr/bin/pppcall yang berisi:

#!/bin/bash
/usr/sbin/pppd -detach call pppcall &

5. Set access attributes file tersebut agar executable

redhat:~# chmod 755 /usr/bin/pppcall

Sekarang anda bisa melakukan dialup ke server dengan menjalankan file /usr/bin/pppcall

February 1, 2007 - Posted by | Linux

1 Comment »

  1. Lah.. ini kan tulisanku.. kok malah ada di sini ? Copy paste kok gak ada tulisan sumbernya?

    Duh..
    Schatje

    Comment by Schatje | January 12, 2008


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: