Sunday, August 31, 2008

Langkah-langkah konfigurasi soutcast :

Langkah-langkah konfigurasi soutcast :

 

  1. Install dan jalankan Shoutcast Server di komputer yang ingin kita jadikan server. Untuk instalasi di Linux cukup ekstrak file “shoutcast-1-9-5-linux-glibc6.tar.tar” dan jalankan file “sc_serv”.
  2. Install Winamp dan Shoutcast DSP Plugin di komputer tempat kita akan mengalirkan content radio (mp3 music, dsb) ke Shoutcast Server.
  3. Jalankan Winamp, kemudian klik kanan dan pilih “Options” -> “Preferences”.
  4. Klik DSP/Effect di bagian Plug-ins dan pilih Nullsoft SHOUTcast Source DSP. Kemudian akan muncul satu window SHOUTcast Source dengan menu “Main”, “Output”, “Encoder”, “Input”.
  5. Pilih “Output” dan klik “Connect” untuk konek ke Shoutcast server, sebelumnya perlu diperhatikan beberapa hal di bawah:

a.       Cek “Address” apakah sudah sesuai dengan server anda. Pilih “localhost” apabila anda install server di tempat anda menginstall Winamp dan DSP Plugin.

b.       Password default adalah “Changeme” (tanpa tanda kutip). Anda dapat mengubah setting password ini di “sc_serv.ini” atau “sc_serv.conf” yang terletak satu direktori dengan Shoutcast Server. (C:\Program Files\SHOUTcast\ untuk versi Windows)

6.      Sekarang tinggal alirkan saja content (music, sound, dsb) ke Shoutcast Server. Caranya mudah, letakkan file mp3 di Winamp dan tekan tanda play, maka music anda akan ter-broadcast ke seluruh dunia maya.

7.      Cek dengan menjalankan Winamp dari komputer lain dan klik kanan pilih “Play” -> “URL” dan masukkan http://serveranda:8000. Ganti “serveranda” dengan nama domain atau IP address dimana Shoutcast server diinstal dan dijalankan.

8.      Pertanyaan lain yang muncul, bagaimana kalau kita ingin mengalirkan suara kita secara live? Siapkan microphone dan masukkan kabel microphone ke soundcard PC anda. Kemudian kembali ke Winamp anda, pada SHOUTcast source, pilih “Input”, kemudian ubah “Input device” dari “Winamp (recommended)” ke “Soundcard Input”. Lalu siapkan microphone di depan mulut anda, dan ucapkan “Selamat datang di Radio Internet saya yang tercinta ini”.

Posted by THE FORCE in 08:51:50 | Permalink | No Comments »

Saturday, August 30, 2008

web server

Web Server

 

Apache merupakan web server yang paling banyak dipergunakan di Internet. Program ini pertama kali didesain untuk sistem operasi lingkungan UNIX. Namun demikian, pada beberapa versi berikutnya Apache mengeluarkan programnya yang dapat dijalankan di Windows NT.
Berdasarkan sejarahnya, Apache dimulai oleh veteran developer NCSA httpd (National Center for Supercomputing Application). Saat itu pengembangan NCSA httpd sebagai web server mengalami stagnasi. ROB MC COOL meninggalkan NCSA dan memulai sebuah proyek baru bersama para webmaster lainnya, menambal bug, dan menambahkan fitur pada NCSA httpd. Mereka mengembangkan program ini lewat mailing list. Dengan berpijak pada NCSA httpd versi 1.3, Team Apache mengeluarkan rilis pertama kali secara resmi Apache versi 0.6.2

Beberapa dukungan Apache :
1. Kontrol Akses.
Kontrol ini dapat dijalankan berdasarkan nama host atau nomor IP
2. CGI (Common Gateway Interface),
yang paling terkenal untuk digunakan adalah perl (Practical Extraction and Report Language), didukung oleh Apache dengan menempatkannya sebagai modul (mod_perl)
3. PHP (Personal Home Page/PHP Hypertext Processor);
program dengan metode semacam CGI, yang memproses teks dan bekerja di server. Apache mendukung PHP dengan menempatkannya sebagai salah satu modulnya (mod_php). Hal ini membuat kinerja PHP menjadi lebih baik
4. SSI (Server Side Includes)

Instalasi
Instalasi yang dibahas berikut adalah modus instalasi standar (default). Metode instalasi Apache (sejak Versi 1.3) ada dua macam, yakni dengan metode APACI (Apache 1.3 Autoconf-style Interface) atau dengan cara pada versi sebelumnya. Sebelum mulai instalasi, pastikan mesin Anda memenuhi beberapa hal :
• Ruang hardisk kosong sebanyak 12 Megabyte. Sebagai tambahan kurang lebih 3 Megabyte untuk modul-modul yang akan dipasang.
• Pastikan mesin Anda memiliki ANSI-C Compiler. Untuk Linux yang paling ideal adalah gcc (GNU C Compiler).
• Perl interpreter (tidak harus) untuk menjalankan beberapa skrip konfigurasi. Jika tidak ada tidak akan mengganggu instalasi secara keseluruhan. Hanya saja beberapa skrip tidak akan dijalankan.
• Dukungan Dynamic Share Object (DSO) (tidak harus), yang memungkinkan Apache menjalankan modul sebagai bagian dari run time-nya.
Platform yang didukung oleh Apache saat ini :

1. Linux
2. SunOS
3. UnixWare
4. FreeBSD
5. Solaris
6. AIX
7. OpenBSD
8. IRIX
9. SCO
10. NetBSD
11. HPUX
12. BSDI
13. Digital Unix
Yang belum didukung sama sekali adalah ultrix.
Setelah mengecek beberapa syarat yang harus dipenuhi, lanjutkan dengan instalasi. Berikut prosedur instalasi, dengan asumsi bahwa Anda sudah memperoleh file sumber Apache:
$ tar -zxvf apache_2.0.X.tar.gz
$ ./configure -prefix=PREFIX
$ make
$ su -
password:
# make install
dan pada distro Redhat/Fedora Core sudah ada paket rpm apache, untuk mengetahuinya lakukan pengecekan :
#prm -qa | grep apache
Konfigurasi
File konfigurasi Apache terletak di direktori /etc/httpd/conf , tergantung direktori yang Anda set saat configure Apache ditahap instalasi). Nama filenya adalah httpd.conf,srm.conf dan access.conf.
httpd.conf merupakan file yang dieksekusi pertama kali saat Apache dijalankan. Didalamnya berisi konfigurasi secara umum. srm.conf adalah file konfigurasi yang dieksekusi setelah httpd.conf. Disarankan untuk membiarkan file konfigurasi ini tetap kosong. Dan access.conf merupakan konfigurasi untuk memfilter host-host yang boleh mengakses layanan Apache.
File konfigurasi apache terbagi menjadi :File Konfigurasi Apache
Secara default, Apache memisahkan file konfigurasinya menjadi 3 bagian, yakni httpd.conf, srm.conf dan access.conf. Namun semua binary program pada distribusi yang dicobakan menyatukannya dalam satu file yakni httpd.conf. File ini dibagi menjadi 3 bagian utama :
1. Global environment
Berisi konfigurasi Apache secara umum, seperti berapa banyak user dapat mengakses pada saat yang bersamaan.
2. Section (Main) Configuration
Konfigurasi utama yang tidak termasuk dalam virtual host. Bagian ini juga termasuk seting default untuk virtual host.

3. Virtual host
Konfigurasi untuk virtual host, yakni memanggil nomor IP dan DNS yang berbeda meskipun masih dalam satu administrasi oleh Apache.
Berikut pembahasan beberapa contoh pilihan konfigurasi file httpd.conf. Pilihan yang disampaikan di sini mengacu pada file httpd.conf yang diberikan secara default oleh Apache selesai instalasi.
Httpd.conf
Edit file httpd dan sesuaikan dengan kondisi yang diinginkan. Baris yang ada tanda # adalah komentar.
ServerType [standalone/inetd]
Pilihan untuk menentukan apakah menjalankan Apache sebagai http daemon sendiri atau lewat inetd. Pilihan inetd hanya untuk platform Unix.
Port 80
Port yang dipergunakan oleh server. Jika menggunakan port 1023, jalankan httpd sebagai root.
User nobody
Group nogroup
Nama user dan group yang menjalankan httpd. Perlu dicatat di mesin HPUX, user nobody tidak ada akses ke memori, dan disaranakan untuk membuat user dan grup khususu untuk menjalankan httpd.
ServerAdmin root@domain.Anda.com
Alamat yang dipergunakan untuk mengirim/memberitahukan halaman-halaman yang dibuat secara otomatis oleh server. Misalnya, pesan-pesan kesalahan.
ServerName domain.anda.com
Dipergunakan untuk seting nama yang akan diberikan kepada user. Anda dapat pergunakan nama lain selain nama host Anda. Untuk pemberian nama, harus nama DNS yang valid, sesuai dengan seting name server yang mencatat mesin Anda. Lihat bahasan tentang server DNS.
srm. Conf ( Server resource master )
DocumentRoot “/var/www/html”
Direktori utama yang dipergunakan untuk menyimpan file html. Anda bisa membuat link simbolik jika ingin meletakkannya dalam direktori lain.
Pilihan ini biasanya diikuti beberapa atribut yang memastikan bahwa direktori tersebut diakses secara benar oleh user, dengan kontrol tertentu tanpa mengganggu keamanan dari direktori yang dilayankan pada publik. Untuk keterangan singkat dari atribut yang ada pada tiap direktori,
UserDir public_html
Nama direktori yang ditambahkan ke dalam direktori home dari user, jika ada permintaan user. Misal, permintaan http://nama.domain.anda/~dk akan membuat direktori public_html di direktori home untuk user fade. Anda dapat memberikan seting secara default dari direktori tersebut, misalnya :

AllowOverride FileInfo AuthConfig Limit
Options MultiViewsIndexes SymLinksIfOwnerMatch IncludesNoExec

Order allow,deny
Allow from all

Order deny,allow
Deny from all

Kesulitan dalam penerapan direktori ini biasanya adalah Access Forbidden atau User not Found. Untuk itu pastikan bahwa :
1. User yang bersangkutan terdaftar dalam sistem
2. Pemilik daemon httpd punya hak baca terhadap direktori tersebut.
3. Perhatikan konfigurasi file .htaccess yang ada di tiap direktori.
DirectoryIndex index.html index.htm default.htm
Nama file yang dijalankan secara otomatis pada saat membuka indeks direktori. Anda dapat memasukkan nama lain dengan spasi, sebagaimana contoh di atas.
AccessFileName .htaccess
Nama file yang dilihat saat mengakses masing-masing direktori. File ini untuk informasi kontrol akses. Hal ini berkaitan dengan pilihan berikut :

Order allow,deny
Deny from all

Pilihan tersebut menghindarkan file .htaccess untuk dibaca user lewat web. File ini perlu dilindungi karena berisi informasi host-host yang punya hak akses atau tidak. Pastikan Anda mengubah file di sini jika Anda mengubah AccessFileName yang telah didefinisikan sebelumnya.
CacheNegotiatedDocs
Memungkinkan proxy untuk menyimpan cache web dari server. Jika Anda menghilangkan pilihan ini (dengan memberi tanda pagar di depannya, maka Apache akan mengirim ‘Pragma: no-cache’ pada setiap dokumen yang diakses. Hal ini berarti jika user mengakses lewat proxy, maka Apache meminta proxy tersebut untuk tidak melakukan caching terhadap halamannya.
UseCanonicalName On
Jika diset off maka server akan mengembalikan response hostname:port jika canonical name diakses. Jika diset on, maka Apache akan menggunakan ServerName dan port untuk membentuk canonical name.
TypesConfig /var/lib/apache/conf/mime.types
Direktori tempat menyimpan file mime.types.
DefaultType text/plain
Default MIME types yang digunakan jika sebuah dokumen tidak dikenal. Disarankan untuk menggunakan ‘text/plain’ jika mayoritas file html atau teks. Jika mayoritas gambar atau aplikasi, disarankan untuk menggunakan ‘application/octet-stream’
AddType application/x-httpd-php3 .php3
Dipergunakan untuk membuka file dengan memasukkan dalam mime.types tanpa harus mengeditnya. Yang sering digunakan misalnya untuk memproses modul php, sebagaimana contoh diatas.
AddHandler cgi-script .cgi
Dipergunakan untuk memetakan ‘handlers’ yang dipergunakan dan perintah yang dijalankan pada file dengan ekstensi tertentu. Contoh di atas untuk menjalankan skrip dengan ekstensi .cgi. Contoh lainnya adalah :
AddHandler server-parsed.shtml
AddHandler send-as-is asis
AddHandler imap-file map
AddHandler type-map var
ErrorDocument 404/missing.html
Dipergunakan untuk membuat file error response sendiri. Respon ini mempunyai tiga bentuk :
• Teks murni; misal
ErrorDocument 404 “File yang Anda akses tidak tersedia.

• Menunjuk file lokal; misal
ErrorDocument 404 /cgi-bin/missing_handler.pl
• Menunjuk file eksternal
ErrorDocument 402 http://server.lain.com/info_daftar.html
Virtual Hosts
Bagian ini berisi pilihan jika Anda akan menggunakan domain atau hostnames lebih dari satu dalam satu server.
Untuk dapat memanfaatkan Virtual Hosts, pertama Anda harus mendefinisikan dulu nomor IP dan port yang dipergunakan, minimal satu. Contoh :
NameVirtualHost 192.168.0.134:80
NameVirtualHost 192.168.0.134
Contoh konfigurasi Virtual Hosts dapat dilihat sebagai berikut :

ServerAdmin minuxer@bontet.com
DocumentRoot /home/html/linux/www.mail.bontet.com
ServerName www.webmail.bontet.com
ServerAlias webmail.bontet.com
ErrorLog logs/webmail.bontet.com-error_log
CustomLog logs/webmail.bontet.com-access_log common

 

“ghoen”

Posted by THE FORCE in 15:30:52 | Permalink | No Comments »

Menggunakan Konfigurasi File .htaccess

Menggunakan Konfigurasi File .htaccess


Apache web server memiliki beberapa pilihan konfigurasi yang tersedia untuk admin server. Di lingkungan hosting yang di-share seperti paket share hosting di jagoanhosting.com , anda tidak punya akses untuk konfigurasi utama Apache sehingga anda terpaksa menggunakan konfigurasi default. Tapi anda bisa saja mengganti beberapa default setting dengan membuat/mengubah sebuah file bernama .htaccess

File .htaccess adalah file teks ASCII sederhana yang terletak di direktori www atau di sebua sub direktori folder www. anda bisa membuat atau mengedit file ini di Text Editor (Notepad) dan kemudian meng-uploadnya ke direktori yang ingin anda ubah setting-nya. Pastikan bahwa file tersebut diupload dalam format ASCII bukan BINARY, dan pastikan file permission untuk file tsb telah diset menjadi 644 (rw-r–r–). Hal tersebut memungkinkan server untuk mengakses file tapi mencegah user untuk mengakses file tersebut dari browser mereka

Perintah2 di dalam file .htaccess mempengaruhi direktori tempatnya berada dan semua subdirektorinya. Bila anda meletakkan file .htaccess di direktori www, maka hal tersebut akan mempengaruhi semua website anda.

Hampir semua perintah .htaccess dirancang untuk ditempatkan dalam satu baris. Jika text editor anda otomatis me-wrap (memotong baris), maka anda harus men-disable fungsi tersebut. Perhatikan juga bahwa perintah .htaccess adalah case-sensitive

Tolong diperhatikan bahwa kami tidak men-support perubahan default setting. Informasi di sini mungkin saja bekerja atau juga tidak.

Beberapa hal yang bisa anda lakukan dengan .htaccess antara lain :

Customize Error Messages

Jika anda ingin mengubah halaman error server, anda bisa menggunakan .htaccess untuk mendefinisikan pesan error anda sendiri. Kemampuan ini didiskusikan di bagian Custom Error Message dari manual ini. Contoh syntax ini adalah:

ErrorDocument 500 /error.html

Override SSI Settings

Secara default, hanya page dengan extensi .shtml yang bisa menjalankan server-side termasuk SSI di server. Anda bisa mengubah hal tersebut di file .htaccess

Jika anda mau mengubah konfigurasi tersebut sehingga SSI bisa bekerja dengan dokumen HTML, anda bisa membuat file.htaccess dan menguploadnya ke direkroti utama www. Tambahkan baris berikut ke file tsb

AddType text/html .html
AddHandler server-parsed .html

Jika anda mau dokumen .html dan .htm untuk menjalankan SSI, buat file .htaccess dengan tambahan baris berikut

AddType text/html .html
AddHandler server-parsed .html
AddHandler server-parsed .htm

Change Your Default Home Page

Agar user bisa mengakses site anda hanya dengan nama domain saja (http://www.site.net) tanpa harus menulis nama file secara jelas (http:www.site.net/file.html), anda harus mempunyai file index di direktori www. Nama file yang bisa diterima antara lain index.html, index.htm, index.cgi, index.php dll. Pastikan bahwa file tsb bernama index.*

Ada tingkatan dalam pemberian nama tersebut. Jika anda punya index.cgi & index.html di direktori anda maka server akan menampilkan index.cgi karena .cgi memiliki tingkatan yang lebih tinggi daripada .html

Dengan .htaccess, anda bisa mendefinisikan file index tambahan atau bisa juga mengubah urutan tingkatannya. Untuk mendefiniskan hoeronymous.html sebagai halaman index, tambahkan baris berikut ke file .htaccess

DirectoryIndex hieronymous.html

Hal ini akan membuat server mencari file bernama hieronymous.html. Jika server menemukannya maka server akan menampilkannya. Tapi bila tidak, maka server akan menampilkan error 404 Missing Page

Untuk mengubah urutan tingkatan, masukkan perintah DirectoryIndex dengan nama-nama file dalam satu baris. Urutan penulisan file2 tersebut menentukan urutan tingkatan, contohnya:

DirectoryIndex hieronymous.html index.cgi index.php index.html

Enable Directory Browsing

Untuk alasan keamanan, kami telah menghilangkan default setting yang memungkinkan directory indexing. Opsi inilah yang memungkinkan isi dari direktori untuk ditampilkan di browser jika direktori tersebut tidak mempunyai halaman index

Contohnya, jika anda membuat sebuah http call ke direkori seperti http://yourdomain.com/images/, maka browser akan menampilkan daftar images di dalam direktori tersebut

Jika anda mengingikan opsi ini pada direktori tertentu, anda bisa mengaktifkannya dengan menambahkan baris berikut ke file .htaccess

Options +Indexes

Block Users from Accessing Your Web Site

Jika anda ingin mem-blok access untuk beberapa individu dan anda mengetahui IP / domain name yang digunakan, tambahkan baris berikut :
order deny,allow
deny from 123.456.789.000

deny from 456.78.90.
deny from .aol.com
allow from all
Pada contoh di atas, user dg IP 123.456.789.000 akan diblok. Semua user antara 456.78.90.000 sampai 456.78.90.999 akan diblok. Dan semua user yang terhubung dari AOL.com akan diblok. Jika mereka mencoba mengakses site-mu, maka akan tampil error 403 Forbidden (”You do not have permission to access this site”)

Redirect Visitors to a New Page or Directory

Misalkan anda membuat ulang seluruh websitemu, me-rename halaman & direktori. Maka pengunjung halaman lama akan mendapat error 404 File Not Found. Masalah tersebut dapat diatasi dengan melakukan redirect dari halaman lama ke halaman yang baru. Contohnya bila halaman lama-mu adalah oldpage.html dan halaman baru adalah newpage.html maka perintahnya adalah:
Redirect permanent /oldpage.html http://www.mydomain.com/newpage.html

Jika anda me-rename direktori, maka command-nya adalah:

Redirect permanent /olddirectory http://www.mydomain.com/newdirectory/

Perhatikan bahwa nama direktori yang lama ditulis dengan relative path, sementara yang baru ditulis dengan URL absolut

Prevent Hot Linking and Bandwidth Leeching

Untuk mencegah orang lain me-link secara langsung ke direktori image anda dari website mereka, gunakan:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]

Perintah tersebut akan membuat direktori image hanya bisa diakses bila user sedang mengakses www.mydomain.com

Jika anda merasa jengkel, anda bisa membuat sebuah image alternatif bila direktori image-mu di-link. Contohnya image nosteal.gif yang bertuliskan: “Stealing is Bad … visit http://mydomain.com to see the real picture that belongs here.” Maka gunakan perintah:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.mydomain.com/dontsteal.gif [R,L]

Prevent viewing of .htaccess or other files

Untuk mencegah user mengakses file .htaccess, ketikkan perintah:
order allow,deny
deny from all

Jika anda mau mencegah pengaksesan file lain, ganti nama file .htaccess dengan nama file yang lain

“ghoen”

 

Posted by THE FORCE in 15:28:48 | Permalink | No Comments »

Langkah Instalasi FreeBSD 4

Langkah Instalasi FreeBSD 4

 

Langkah Instalasi FreeBSD
--Panduan Singkat
Tulisan ini merupakan sebuah prosedur ringkas cara menginstalasi FreeBSD. Tetapi
disini ditambahkan fungsi portupgrade -ai (mengganti semua port, dengan
konfirmasi), yang memerlukan beberapa konfigurasi lokal dalam  file
pkgtools.conf. Tujuan uraian ini adalah memakai cvsup.sh &&
build-world-kernel.sh, dan terbangunnnya sistem yang dapat memberitahu anda apa
yang harus dikerjakan kemudian agar instalasi lengkap dengan sedikit usaha. Bagi
pemula, sebaiknya pada waktu praktek mengikuti langkah langkah berikut
didampingi rekan yang telah terbiasa dengan instalasi FreeBSD. Penjelasan
tentang perintah dalam FreeBSD silahkan lihat FreeBSD Handbook. Setelah anda
sukses melakukan instalasi FreeBSD, gantilah kernel anda, dan instalasi beberapa
port-nya.
Anda perlu perhatikan perintah instant-server dan instant-workstation
meta-ports, yang menyatukan layanan yang diperlukan dan aplikasi dekstop.
Terutama jika anda mengetik
cd /usr/ports/misc/instant-workstation && make
sistem anda akan menginstalasi berbagai macam software yang bermanfaat secara
otomatis.
Dalam uraian ini tidak dijelaskan bagaimana mengubah script yang ada, anda
mungkin harus memutuskan mengedit script dalam sistem anda nantinya dan
disesuaikan dengan data teknis jaringan komputer anda. Pengeditan script bisa
dilakukan dengan mengetik perintah vi namafilenya, setelah muncul filenya
barulah anda edit atau isi dengan data teknis jaringan anda seperti nama host,
IP address, netmask dll.
Catatan: Perintah $myself dan $hostname, yang dipakai dibawah ini tidak
ditujukan sebagai variabel shell sebenarnya. Ketika anda melihat mereka,
langsung masukan saja data yang sesuai dengan jaringan komputer anda. Postfix
akan memakai variable yang ada didalam file main.cf, ingat --  nama variabel
dalam posfix (tidak ditulis italic) dan dapat diakses langsung, jadi Postfix
dapat melakukan substitusi variabel secara sendiri.
Catatan: File file yang dipakai dalam prosedur ini ditujukan untuk pemakaian
umum, dan meliputi berbagai saran. Namun ini belum tentu sesuai atau optimal
bagi kebutuhan sistem anda. Akan tetapi cara berikut ini dapat merupakan awal
yang baik bagi instalasi sistem anda. Disarankan untuk mendownload file resource
bari uraian ini dari  http://www.reppep.com/~pepper/freebsd/install/reppep.tgz,
kemudian lihat dan sesuaikan dengan kebutuhan anda lalu copikan ke  direktori
/root/reppep untuk melanjutkan prosedur berikut nya.
Dasar Instalasi (sysinstall)
  Instalasi semua file distribusinya ("Semua source sistem, binari dan sistem  X
  Window").
  Instalasi koleksi port.
  Konfigurasi network.
  Tambahkan :
    bash
    cvsup
    ispell
    kde
    mozilla-gtk
    portupgrade
    rsync
    samba
    screen
    sudo
  Catatan: Jika anda ingin setiap user mempunyai group personal-nya (seperti
  yang ada pada Linux & Panther), buatlah group group baru pertama kali pada
  saat melakukan sysinstall. pastikan setiap langkah pembuatan account user,
  tiap user mempunyai group 0 (wheel) member-- sebab dengan cara su akan
  mengalami kurang cocok.
Setup Dasar dan Account
  Serial console dibuat enable dengan mengetikan : echo "-hD" > /boot.config
  tekan enter.
  Bila anda tidak melakukan itu pada terminal serial didalam sysinstall, lakukan
  sekarang dengan cara mengetikan : echo 'ttyd0 "/usr/libexec/getty std.9600"
  dialup on secure' >> /etc/ttys lalu tekan enter.
  Ketikan: visudo # uncomment full access for %wheel lalu tekan enter.
  Ketikan: cd /root && ftp
  http://www.reppep.com/~pepper/freebsd/install/reppep.tgz && tar xzf reppep.tgz
  && ls -lt reppep      kemudian anda tekan tombol enter,  ambilah file file
  tambahan yang disarankan berikut patch-nya, dan bukalah pada untuk direktori
  /root/reppep -- bila anda punya patch local, buka jugalah file file itu untuk
  patch lokal anda.
  Jika anda punya pacth lokal, bukalah file file itu dengan cara mengetikan. tar
  xzf local.tgz && ls -lt reppep tekan enter.
  Ketikan: patch /etc/ssh/sshd_config /root/reppep/sshd_config.diff tekan enter.

  Instalasilah file kernel anda dan tetapkan konfigurasinya dalam direktori
  /usr/src/sys/i386/conf.
  Ketikan: cd /etc && cp /root/reppep/make.conf . && cat /root/reppep/rc.conf*
  >> rc.conf && vi resolv.conf rc.conf make.conf && egrep -v '(^$|^#)' rc.conf |
  sort | more # tuliskan semua konfigurasi jaringan komputer anda pada file
  rc.conf.local; pastikan tidak ada variabel yang anda tuliskan dua kali didalam
  file rc.conf.  
  Ketikan: mkdir -p /home/ports/distfiles && cd /usr/ports && rmdir distfiles &&
  ln -s /home/ports/distfiles # preserves ports across rebuilds
  Ketikan:  mkdir -p /usr/sup && cp /root/reppep/cvsupfile
  /root/reppep/periodic.conf /root/reppep/ntp.conf /etc && cp
  /root/reppep/refuse /usr/sup && vi /etc/cvsupfile /etc/ntp.conf
  /usr/sup/refuse
  Ketikan: mkdir -p ~root/bin ~root/log
  Ketikan: cd /root/reppep && cp build-world-kernel.sh cvsup.sh /root/bin &&
  chmod u+x /root/bin/*.sh && rehash
  Ketikan: patch /usr/local/etc/pkgtools.conf /root/reppep/pkgtools.conf.diff
Mengubah Source, Kernel dan World (dengan tipe terbaru, lakukan secara periodik)
Catatan: Rekomendasi dari FreeBSD ada di
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html, walau
agak susah tetapi secara teori cukup aman. Jika anda masih kurang jelas dg apa
yang anda lakukan disini ataupun dengan mengikuti langkah dari situs tadi,
bacalah prosedur yang tertulis didalam Handbook FreeBSD.
Peringatan: Langkah ini muda merusak sistem anda, atau mengunci anda sendiri,
ketika melakukan perubahan kernel atau world. pastikan anda memiliki akses
console (PS/2-style atau serial) sebelum melakukan perubahan.
  cvsup.sh # mengubah dasar FreeBSD  yaitu source (kernel & world), dan pohon
  port; tidak akan berpengaruh terhadap port yang telah terinstall
  cd /usr/src && mergemaster -p # mergemaster akan membutuhkan banyak waktu,
  sehinga akan lebih b aik melakukannya sebelum sistem down.
  build-world-kernel.sh
  make installkernel
  shutdown -r now
  Pembuatan kernel baru.
  shutdown now # single-user
  cd /usr/src && make installworld
  mergemaster
  shutdown -r now
  Editlah tiap file konfigurasi  tambahan ang ada dalam direktori /etc or
  /usr/local/etc.
  Ujilah sambungan komputer anda ke jaringan dan firewal-nya (mungkin memakai
  perintah ipfw list).
Catatan: Jika anda memakai bagian ini sebagai panduan dalam pengubahan sistem
yang sedang beroperasi, dan bukan sistem yang baru anda buat, jangan lupa
lakukan perintah portupgrade -ai pada saat kernel & world yang baru anda buat
sudah selesai dikerjakan..
Mengkonfigurasi BIND
  cd /etc/namedb && sh make-localhost && mv named.root named.root.old && dig
  @m.root-servers.net. ns . > named.root && vi named.conf && grep named
  /etc/rc.conf # konfigurasikan domain promer dan domain slave & instalasilah
  file file zona; bisa dilihat dengan menyetel opsi named_enable="YES"
  Catatan: Konfigurasi BIND disini dioperasikan sebagai root tanpa partisi
  pengamanan khusus. Situs
  http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-dns.html
  memberikan instruksi untuk menjalankan BIND dalam sebuah kondisi chroot, dan
  BIND mungkin juga dioperasikan dalam kondisi jail. Kedua opsi tersebut cukup
  melindungi BIND dari serangan, dan bisa anda pertimbangkan, tetapi tidak akan
  dijelaskan dalam uraian ini.
Instalasi Port
  cd /usr/ports/lang/perl5.8 && make install && rehash && use.perl port && perl
  --version
  portupgrade -a && portversion |grep -v = # mencoba mengubah apa saja.
  portinstall analog cronolog curl docproj-nojadetex htmldoc lsof lynx-ssl
  minicom netatalk nmap nut procmail webmin apache2 squirrelmail
  p5-Mail-SpamAssassin drac imap-uw postfix && rehash # customized or perl-based

  cd /usr/local/etc && cp smb.conf.default smb.conf && vi smb.conf # disini
  pasword enkripsi diset enable, lalu melakukan disable terhadap local master,
  dan disable printer; Disini juga dituliskan  pembatasan akses dari IP seperti
  yang dituliskan dalam  firewall yang ada dalam file smb.conf, sehingga semua
  program terkontrol melalui file yang sama.
  echo "- -noddp -passwdminlen 6 -loginmaxfail 6 -uamlist uams_dhx.so" >>
  /usr/local/etc/afpd.conf
  cd /usr/local/etc/rc.d && patch netatalk.sh /root/reppep/netatalk.sh.diff #
  disable atalk, pap, & nbp
  mkdir -p /var/log/samba && cd /usr/local/etc/rc.d && cp netatalk.sh.sample
  netatalk.sh && cp samba.sh.sample samba.sh
  Konfigurasikan XFree86 (disini tidak akan dijelaskan lebih rinci) lihatlah
  situs http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/x-config.html.

  Sekali XFree86 bekerja, pasti anda ingin menginstalasi KDE secara otomatis
  pada saat boot, coba lakukan perintah berikut : echo 'ttyv9
  "/usr/local/bin/kdm" xterm on secure' >> /etc/ttys, or use KDE with startx:
  echo exec startkde > ~/.xinitrc
Mengkonfigurasi Mail
  cd /etc/mail && mv mailer.conf mailer.conf.sendmail && cp
  /root/reppep/mailer.conf .
  cd /usr/local/etc && cp /root/reppep/procmailrc . && vi procmailrc
  patch /etc/inetd.conf /root/reppep/inetd.conf.diff && patch /etc/pam.conf
  /root/reppep/pam.conf.diff # for imap-uw
  vi /usr/local/etc/mail/spamassassin/local.cf # customize SpamAssassin
  echo localhost > /usr/local/etc/dracd.host && /usr/local/etc/rc.d/dracd.sh
  start
  vi /etc/aliases && newaliases # forward for $myself & root
  Jika memakai Postfix Virtual Host, editlah dengan cara ketikan: vi
  /etc/mail/virtual && postmap /etc/mail/virtual
  cd /usr/local/etc/postfix && cat /root/reppep/main.cf.* >> main.cf && vi +
  /usr/local/etc/postfix/main.cf && postfix stop ; killall sendmail ; postfix
  check && postfix start && sleep 1 && tail /var/log/maillog
  cd /usr/ports/mail/imap-uw && make cert && chmod -x /usr/local/certs/imapd.pem
  # follow prompts
  Bila diinginkan port terpasang lakukan: portinstall -f mysql-server # -f to
  get around the hold in pkgtools.conf
Mengkonfigurasi Apache & SquirrelMail
  mkdir -p /var/log/httpd /home/httpd && mv /usr/local/www/data
  /home/httpd/htdocs && mv /usr/local/www/cgi-bin /home/httpd && cd
  /usr/local/etc/apache2 && patch httpd.conf /root/reppep/httpd.conf.diff &&
  touch vhost.conf
  Either apply a local patch (patch httpd.conf
  /root/reppep/httpd.conf.diff.local), or vi httpd.conf (set ServerAdmin &
  ServerName dan lihatlah securitynya)
  apachectl configtest && apachectl graceful
  mkdir -p ssl.crt ssl.key && cp /usr/local/certs/imapd.pem ssl.key/server.key
  && cp /usr/local/certs/imapd.pem ssl.crt/server.crt && vi ssl.???/* vhost.conf
  && apachectl stop && apachectl configtest && apachectl startssl && apachectl
  fullstatus # remove cert from server.key & key from server.crt
  cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini
  cd /usr/local/www/squirrelmail && ./configure
  Test https://$hostname/mail/.
  Menguji Squirell Mail (dg cara mengunencryp IMAP ke localhost) & telnet
  $hostname imap akan gagal, jika diblok oleh firewall.
  Tambahkan plugin tambahan yang anda inginkan untuk SquirrelMail .
webmin
  cd /usr/local/lib/webmin/ && ./setup.sh
  Visit https://$hostname:10000/
  Konfogurasi Webmin: IP Access Control: aturlah "Only allow from listed
  addresses" to 127.0.0.1 & trusted IPs.
  User Webmin: Buanglah semua modul yang tidak diperlukan.
  Bila  mysql-server terinstalasi didalam server anda, Konfigurasi webmin
  dilakukan dibawah: Servers.
  /usr/local/etc/rc.d/webmin.sh-dist stop # pakailah argumen  start nanti, untuk mengoperasikan webmin bila diperlukan.

 

Posted by THE FORCE in 15:27:08 | Permalink | No Comments »

DHCP Server Step-by-Step

DHCP Server Step-by-Step

 

IP dinamik, dokumen ini menjelaskan secara singkat mengeset DHCP
di mesin Linux. Hanya terjemahan.

DHCP Server Step-by-Step

Apa itu DHCP
DHCP (Dynamic Host Configuration Protocol) adalah protocol dimana
alamat IP secara otomatis diberikan dari server ke clients. Artinya
DHCP server menghandle pemberian alamat IP, sehingga komputer
yang lain dalamnetwork tidak perlu secara manual mengeset alamat
Ip-nya. Mensetting DHCP server berarti kita mengurangi pekerjaan
kebutuhan setup setting network pada setiap PC yang terkoneksi
dalam satu jaringan.

Untuk setup DHCP server di linux (disini digunakan Redhat 6.0)
diperlukan

        LAN yag bekerja dengan baik
        dhcpd (dhcp-2.0b1pl6-6.i386.rpm or newer)

Di redhat 6.0 semua yang dibutuhkan dalam kernel telah terkompiled in.
Jika dalam komputer anda ada beberapa network device misalnya:

        eth0 - nyambung ke  Internet
        eth1 - nyambung ke LAN

Anda harus hati2 dalam menentukan interface mana yang akan
mempunyai DHCP service. Misalkan diingankan DHCP server menjawab
request hanya dari eth1, dan tidak untuk eth0 yang yang tekoneksi ke ISP.

Download DHCP server software
Cari di http://ww.rpmfind.net
atau
nohup wget -t0 ftp://ftp.isc.org/isc/dhcp/dhcp-3.0b1pl17.tar.gz

Mengkonfigurasi /etc/dhcpd.conf
Setelah DHCP (either by RPM or by source) terinstall, buat file konfigurasi
/etc/dhcpd.conf. Misalkan internal IP network address adalah 192.168.0.x   
maka konfigurasi kira2 akan seperti ini

# /etc/dhcpd.conf
# DHCPD Configuration
default-lease-time 86400;       # one day
max-lease-time 86400;           # one day

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.2 192.168.0.250;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.1;
        ## The IP address of the name server
        option domain-name-servers 192.168.0.1;
        option domain-name "mydomain.com";
        ## If you have Samba acting as a WINS server
        option netbios-name-servers 192.168.0.1;
        option netbios-dd-server 192.168.0.1;
        option netbios-node-type 8;
        option netbios-scope "";
}
Jika di Linux box anda memiliki Samba dan DNS maka diperluka ekstra
options yang spesifik dalam konfigurasinya. Jika DNS server anda
123.123.123.123 dan 123.123.123.124 maka diperlukan options berikut:

option domain-name-servers 123.123.123.123 123.123.123.124;

Jika tidak menggunakan Samba acting as a primary WINS server maka
bagian "option netbios-" perlu anda hapus atau di comment out.

Configuring /etc/rc.d/init.d/dhcpd
Jika menginstall DHCP dari paket rpm akan langsung didapat filestart up
/etc/rc.d/init.d/dhcpd  Agar berjalan baik maka perlu di ubah sedikit

#!/bin/sh
#
# dhcpd         This shell script takes care of starting and stopping
#               dhcpd.
#
# chkconfig: 2345 65 35
# description: dhcpd provide access to Dynamic Host Control Protocol.

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -f /usr/sbin/dhcpd ] || exit 0
[ -f /etc/dhcpd.conf ] || exit 0

# See how we were called.
case "$1" in
  start)
        # Start daemons.
        echo -n "Starting dhcpd: "
        /sbin/route add -host 255.255.255.255 dev eth1 2> /dev/null
        daemon /usr/sbin/dhcpd eth1
        echo
        touch /var/lock/subsys/dhcpd
        ;;
  stop)
        # Stop daemons.
        echo -n "Shutting down dhcpd: "
        /sbin/route del -host 255.255.255.255 dev eth1 2> /dev/null
        killproc dhcpd
        echo
        rm -f /var/lock/subsys/dhcpd
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  status)
        status dhcpd
        ;;
  *)
        echo "Usage: dhcpd {start|stop|restart|status}"
        exit 1
esac

exit 0

Diperlukan penambahan
/sbin/route add -host 255.255.255.255 dev eth1 2> /dev/null
pada saat startup, dan penambahan options eth1 ketika dhcpd dijalankan
agar fungsi DHCP server hanya dapat direquest dari eth1

Menjalankan DHCP
Sebelum mejalankan DHCP pertama kali perlu dibuat dulu file leases kosong

# touch /etc/dhcpd.leases

Jika file startpup diatas telah dibuat jalankan dengan

# /etc/rc.d/init.d/dhcpd start

Atau jalakan manual seperti script diatas. Slesai, untuk setup di Windows sebagai
client maka perlu ditulis server yang memberikan alamat Ip dinamik, dan name server.

Diterjemahkan dari :
http://dcfonline.sfu.ca/ying/linux/dhcpd/index.html
Posted by THE FORCE in 15:23:50 | Permalink | No Comments »

Bagaimana Memfilter di Linux ?

Bagaimana Memfilter di Linux ?

Apa yang Anda ketahui tentang Squid? Squid sering diartikan secara pendek sebagai proxy. Lalu apa itu proxy? Squid sebagai proxy dapat dimanfaatkan untuk berbagai kebutuhan, antara lain 3 hal berikut. Pertama, komputer yang menjalankan Squid dapat bertindak sebagai gateway (gerbang atau jalur khusus) ke Internet bagi komputer lain dalam jaringan lokal. Kedua, Squid sebagai cache, artinya dapat berfungsi untuk menampung informasi (web) yang pernah diakses sebuah komputer, sehingga mempercepat akses komputer lainnya ke isi web tersebut. Ketiga, Squid sebagai filter atau penyaring terhadap pengaksesan web-web yang tidak diinginkan, misalnya web berisi pornografi.

Bagaimana agar setiap pengguna dipastikan mengakses Internet melalui Squid? Untuk ini kita dapat menerapkan transparent proxy. Transparent proxy dapat menggunakan gabungan antara Squid dengan Ipchains. Dengan transparent proxy, setiap Browser pada komputer yang menggunakan gateway ini secara otomatis melewati proxy.


Fokus tulisan singkat ini adalah web filtering, khusunya pornografi. Namun, secara singkat saya akan menjelaskan juga cara mengaktifkan Squid dan Ipchains. Tulisan ini hanya merupakan hasil dari pengalaman, dengan pengujian menggunakan Linux distribusi RedHat 6.2 dan Mandrake 7.2. Anda bebas untuk mencoba atau meniru, namun resiko ditanggung sendiri, misalnya dimaki-maki orang lain karena Anda telah membatasi haknya :-)

 

Konfigurasi Squid Sederhana 

Untuk mengaktifkan Squid sebagai gateway dan cache-proxy tanpa filtering, Anda hanya perlu mengedit sebuah baris pada file /etc/squid/squid.conf. (Tentu saja setelah Anda memastikan bahwa Squid sudah terinstall).  

http_access deny all

diubah menjadi:

http_access allow all

Catatan: all ini adalah semua alamat IP (Internet Protocol) yang didefinisikan oleh perintah berikut ini (telah ada pada bebarapa baris sebelumnya):

acl all src 0.0.0.0/0.0.0.0

Setelah menyimpan perubahan tersebut, sebagai root jalankan Squid dengan perintah ini:

# squid -z

(Ini hanya untuk pertama kali Squid di-start) 

# squid

Atau menggunakan script yang telah tersedia, misalnya:

# /etc/rc.d/init.d/squid restart

Konfigurasi Ipchains

Squid tidak dapat melewatkan permintaan untuk mengakses email (SMTP dan POP3), RealAudio, irc (chatting). quake (game) dan VideoLive. Ipchains dapat melewatkan (forwarding) semuanya, misalnya dengan tipe masquerading (MASQ), yaitu mewakili komputer beralamat IP lokal dalam mengakses Internet. Perintah berikut ini untuk mengaktifkan forwarding dan module-module yang diperlukan.

# echo 1 > /proc/sys/net/ipv4/ip_forward
# depmod -a
# modprobe ip_masq_ftp
# modprobe ip_masq_irc
# modprobe ip_masq_raudio

Perintah ipchains berikut berfungsi untuk mengizinkan semua komputer dengan alamat IP (jaringan) 10.2.0.0 mengakses internet dengan alamat IP bebas (any/0 atau 0/0). 

# ipchains -A forward -j MASQ -s 10.2.0.0/24 -d any/0

Catatan: Jika alamat IP jaringan Anda berbeda (misalnya 192.168.0.0), ganti 10.2.0.0 dengan 192.168.0.0. Anda juga dapat mengatur untuk alamat IP tertentu, misalnya 10.2.0.13/32. 

/etc/rc.d/rc.local

Transparent Proxy

Fungsi transparent proxy di sini adalah membelokkan (REDIRECT) permintaan web atau port 80 ke proxy atau port 3128 (nilai default untuk Squid). 

Perintah Ipchains diubah menjadi seperti ini:

 

# ipchains -F

# ipchains -A input -p tcp -d 10.2.0.0/24 www -j ACCEPT

# ipchains -A input -p tcp -d any/0 www -j REDIRECT 3128

# ipchains -A forward -d any/0 -j MASQ

 

Catatan: Baris pertama di atas untuk menghapus konfigurasi sebelumnya. Baris kedua untuk mengakses web internal tanpa lewat proxy. Baris ketiga untuk membelokkan permintaan web yang lain ke proxy dengan port 3128. Baris keempat untuk mengakses bebas semua informasi di Internet selain web.

Konfigurasi Squid (squid.conf) perlu ditambah dengan 4 baris ini:

 httpd_accel_host virtual
 httpd_accel_port 80
 httpd_accel_with_proxy on
 httpd_accel_uses_host_header on

Konfigurasi Squid untuk Filter Situs Porno

Dalam contoh ini saya menggunakan 3 cara untuk memfilter situs porno. Pertama, saya menyaring berdasarkan nama domain atau URL lengkap. Misalnya, untuk melarang akses ke www.playboy.com, saya menambahkan 2 baris ini pada file squid.conf (sebelum baris http_access allow localhost dan http_access allow all):

 acl cara-1 dstdomain www.playboy.com
 http_access deny cara-1

Catatan: Kelemahan cara pertama ini, saya masih dapat mengakses playboy.com, sehingga perlu membuat beberapa baris acl atau mengganti www.playboy.com dengan nama file (dalam tanda petik 2). Misalnya, saya membuat file domain-terlarang, yang berisi daftar nama domain yang tidak ingin diakses (dalam satu kolom). Lalu, saya mengubah baris pertama menjadi acl cara-1 dstdomain “/etc/squid/domain-terlarang”.

Contoh isi file “domain-terlarang”:
www.playboy.com
playboy.com 
penthouse.com 
asiangirls.com 
nudecelebs.com

Cara kedua, saya menggunakan penyaringan berdasar kata atau huruf yang terkandung pada nama domain. Misalnya, untuk menyaring domain yang mengandung kata porno, saya menambahkan 2 baris ini:

acl cara-2 url_regex -i porno
http_access deny cara-2

Anda dapat mengganti kata porno dengan nama file, misalnya “kata-terlarang” dengan isi antara lain sebagai berikut:

porno
phorno
nude
lesbi
xxx
homo
sex

Kedua cara di atas masih dapat ditembus bila kita tahu alamat IP homepage playboy.com atau yang mengandung unsur porno. Kalau ingin lebih aman, kita dapat menyaring berdasarkan alamat IP tersebut. Misalnya, dengan perintah nslookup playboy.com, saya dapat menemukan alamat IP playboy.com, yaitu 209.247.228.203, 209.247.228.201, 206.251.29.35 (ada 3 buah). Untuk itu saya menambahkan 2 baris berikut (dan membuat file bernama ip-terlarang yang berisi 4 baris IP playboy.com):

acl cara-3 dst "/etc/squid/ip_terlarang"
http_access deny cara-3

Contoh isi file “ip-terlarang” (ini hanya untuk domain playboy.com):

209.247.228.203
209.247.228.201
206.251.29.35

 

“Ghoen”

Posted by THE FORCE in 14:43:07 | Permalink | No Comments »

Secure Shell ( SSH )

SSH (SECURE SHELL) DAN SSL (SECURE SOCKET LAYER)
Oleh : Ghoen
I. PENDAHULUAN
Perkembangan Internet yang cukup pesat membawa pengaruh yang cukup besar bagi
pihak-pihak yang memanfaatkan internet ini untuk melakukan berbagai hal misalnya tukarmenukar
data, transaksi online, promosi dan lain-lain. Seiring dengan kemajuan tersebut
kebutuhan akan keamanan dan kelancaran dalam berinternet sangat diperlukan karena kemajuan
teknologi internet berbanding lurus dengan kejahatan-kejahatan yang ada dalam internet itu
sendiri.
Dengan adanya kejahatan-kejahatan internet ini para pengguna semakin tidak aman dan
menjadi intaian para penjahat setiap kali mereka berinternet, maka diperlukan solusi yang bisa
membatu agar data yang dipertukarkan bisa aman dan bisa sampai ketujuan sesuai dengan yang
diinginkan. Salah satu solusi yang ditawarkan adalah dengan menggunakan metode enkripsi
yaitu suatu metode yang digunakan untuk mengamankan data dengan mengubah data asli
kedalam bentuk unicode dengan aturan tertentu. Ada beberapa metode enkripsi yang bisa
digunakan diantaranya adalah dengan metode secure shell (SSH) dan Secure Socket Layer
(SSL).
II. METODE PENULISAN
Dalam penulisan makalah ini dalam pengambilan datanya digunakan metode :
1. Studi literatur/artikel dari internet
2. Studi litertur dari majalah Neotek
III. PEMBAHASAN
1. Pengertian SSH (Secure Shell) dan SSL (Secure Socket Layer)
Pada awalnya SSH dikembangkan oleh Tatu Yl nen di Helsinki University of
Technology. SSH memberikan alternatif yang secure terhadap remote session tradisional dan
file transfer protocol seperti telnet dan relogin.Protokol SSH mendukung otentikasi terhadap
remote host, yang dengan demikian meminimalkan ancaman pemalsuan identitas client lewat IP
address spoofing maupun manipulasi DNS. Selain itu SSH mendukung beberapa protokol
enkripsi secret key (DES,TripleDES,IDEA, dan Blowfish) untuk membantu memastikan
privacy dari keseluruhan komunikasi, yang dimulai dengan username/password awal.SSH
menyediakan suatu virtual private connection pada application layer, mencakup interactive
logon protocol (ssh dan sshd) serta fasilitas untuk secure transfer file (scd). Setelah meng-instal
SSH, sangat dianjurkan untuk mendisable telnet dan rlogin. Implementasi SSH pada linux
diantaranya adalah OpenSSH.
SSH merupakan paket program yang digunakan sebagai pengganti yang aman untuk
rlogin, rsh dan rcp. Ia menggunakan public-key cryptography untuk mengenkripsi komunikasi
antara dua host, demikian pula untuk autentikasi pemakai. Ia dapat digunakan untuk login
secara aman ke remote host atau menyalin data antar host, sementara mencegah man-in-themiddle
attacks (pembajakan sesi) dan DNS spoofing atau dapat dikatakan Secure Shell adalah
program yang melakukan loging terhadap komputer lain dalam jaringan, mengeksekusi perintah
lewat mesin secara remote, dan memindahkan file dari satu mesin ke mesin lainnya.
SSL (Secure Socket Layer) dikembangkan oleh Netscape untuk mengamankan HTTP
dan sampai sekarang masih inilah pemanfaatan utama SSL. SSL menjadi penting karena
beberapa produk umum seperti Netscape Communicator, Internet Explorer, dan WS_FTP Pro,
yang merupakan produk yang lazim digunakan, menggunakan SSL. Secure Sockets Layer,
adalah metode enkripsi yang dikembangkan oleh Netscape untuk memberikan keamanan di
Internet. Ia mendukung beberapa protokol enkripsi dan memberikan autentikasi client dan
server. SSL beroperasi pada layer transpor, menciptakan saluran enkripsi yang aman untuk data,
dan dapat mengenkripsi banyak tipe data. Hal ini dapat dilihat ketika mengunjungi site yang
aman untuk melihat dokumen online aman dengan Communicator, dan berfungsi sebagai dasar
komunikasi yang aman dengan Communicator, juga dengan enkripsi data Netscape
Communication lainnya. Atau dapat dikatakan bahwa SSL merupakan Protokol berlapis. Dalam
tiap lapisannya, sebuah data terdiri dari panjang, deskripsi dan isi. SSL mengambil data untuk
dikirimkan, dipecahkan kedalam blok-blok yang teratur, kemudian dikompres jika perlu,
menerapkan MAC, dienkripsi, dan hasilnya dikirimkan. Di tempat tujuan, data didekripsi,
verifikasi, dekompres, dan disusun kembali. Hasilnya dikirimkan ke klien di atasnya
Kegunaan SSH dan SSL
SSL dirancang untuk mengamankan sesi web, sedangkan SSH dirancang untuk
menggantikan protokol telnet dan FTP. Keduanya mempunyai banyak fitur lain, tetapi tujuan
utamanya memang untuk mengamankan komunikasi melalui internet.
SSL telah digunakan untuk mengamankan protokol-protokol yang insecure menjadi
secure. SSL menjadi perantara antara pemakai dengan protokol HTTP dan menampilkan
HTTPS kepada pemakai. Hal yang sama dapat dilakukan pula terhadap protokol-protokol
insecure lain seperti POP3, SMTP, IMAP dan apasaja yang merupakan aplikasi TCP.
Adapun SSH merupakan produk serbaguna yang dirancang untuk melakukan banyak
hal, yang kebanyakan berupa penciptaan tunnel antar host. Beberapa implementasi SSH
tergantung pada SSL libraris karena SSH dan SSL menggunakan banyak menggunakan
algoritma enkripsi yang sama (misalnya TripleDES(Pengembangan dari DES oleh IBM). ),
Algoritma enkripsi lain yang didukung oleh SSH di antaranya BlowFish (BRUCE SCHNEIER),
IDEA (The International Data Encryption Algorithm), dan RSA (The Rivest-Shamir-Adelman).
Dengan berbagai metode enkripsi yang didukung oleh SSH, Algoritma yang digunakan dapat
diganti secara cepat jika salah satu algoritma yang diterapkan mengalami gangguan.
SSH tidak berdasarkan SSL seperti halnya HTTPS berdasarkan SSL. SSH mempunyai
jauh lebih banyak kelebihan daripada SSL, dan keduanya tidak berhubungan satu sama lain.
Keduanya merupakan dua protokol yang berbeda, namun dalam mencapai tujuan-tujuannya
mungkin saling tumpang tindih.
SSL tidak memberi apa-apa kecuali handshake dan enkripsi. Diperlukan aplikasi untuk
membuat SSL menjalankan tugasnya. SSH sebaliknya menjalankan menjalankan sendiri banyak
hal. Dua hal penting SSH adalah console login (menggantikan telnet) dan secure filetransfer
(menggantikan FTP), tetapi dengan SSH anda juga memperoleh kemampuan membentuk source
tunnel untuk melewatkan HTTP,FTP,POP3, dan apapun lainnya melalui SSH tunel.
Tanpa adanya traffic dari suatu aplikasi, SSL tidak melakukan apa-apa, tetapi SSH
sudah membentuk encrypted tunel antara dua host yang memungkinkan untuk melakukan login
shell, file transfer, dan lain sebagainya.
HTTPS menggunakan SSL untuk menjalankan HTTP yang secure dan HTTPS itu
dapat dilewatkan melalui tunel yang dibentuk oleh SSH.
Cara Kerja SSH dan SSL
1. Cara Kerja SSH
Misalkan suatu client mencoba mengakses suatu linux server melalui SSH. SH daemon
yang berjalan baik pada linux server maupun SSH client telah mempunyai pasangan
public/private key yang masing-masing menjadi identitas SSH bagi keduanya. Langkah-langkah
koneksinya adalah sebagai berikut :
Langkah 1
Client bind pada local port nomor besar dan melakukan koneksi ke port 22 pada server.
Lankah 2
Client dan server setuju untuk menggunakan sesi SSH tertentu. Hal ini penting karena SSH v.1
dan v.2 tidak kompatibel.
Langkah 3
Client meminta public key dan host key milik server.
Langkah 4
Client dan server menyetujui algoritma enkripsi yang akan dipakai (misalnya TripleDES atau
IDEA).
Langkah 5
Client membentuk suatu session key yang didapat dari client dan mengenkripsinya
menggunakan public key milik server.
Langkah 6
Server men-decrypt session ky yang didapat dari client, meng-re-encrypt-nya dengan public key
milik client, dan mengirimkannya kembali ke client untuk verivikasi.
Langkah 7
Pemakai mengotentikasi dirinya ke server di dalam aliran data terenkripsi dalam session key
tersebut.
Sampai disini koneksi telah terbentuk, dan client dapat selanjutnya bekerja secara interaktif
pada server atau mentransfer file ke atau dari server. Langkah ketujuh diatas dapat dilaksanakan
dengan berbagai cara (username/password, kerberos, RSA dan lain-lain).
2. Cara Kerja SSL
Cara kerja SSL dapat kita lihat dengan tahapan – tahapan :
Langkah 1
Client membentuk koneksi awal ke server dan meminta koneksi SSL.
Langkah 2
Bila server yang dihubungi telah dikonfigurasi dengan benar, maka server ini akan
mengirimkan client public key miliknya.
Langkah 3
Client membandingkan sertifikat dari server ke basisdata trusted authorities. Bila sertifikat ini
terdaftar di situ, artinya client mempercayai (trust) server itu dan akan maju kelangkah 4. Bila
sertifikat itu terdaftar, maka pemakai harus menambahkan sertifikat ini ke trusted database
sebelum maju ke langkah 4.
Langkah 4
Client menggunakan Public Key yang didapatnya untuk men-enkrip sesi dan mengirimkan
session key ke server. Bila server meminta sertifikat client di langkah2, maka clent harus
mengirimkannya sekarang.
Langkah5
Bila server di-setup untuk menerima sertifikat, maka server akan membandingkan sertifikat
yang diterimanya dengan basisdata trusted authorities dan akan menerima atau menolak
koneksi yang diminta.
Bila kondisi ditolak, suatu pesan kegagalan akan dikirimkan ke client. Bila koneksi diterima,
atau bila server tidak di-setup untuk menerima sertifikat, maka server akan men-decode session
key yang didapat dari client dengan privete key milik server dan mengirimkan pesan berhasil ke
client yang dengan demikian membuka suatu secure data chanel.
3. Implementasi SSH dan SSL
Implementasi SSH terlihat dalam produk-produk berikut :
FreeSSH
OpenSSH (Unix, Windows)
LSH (unix)
PuTTY (Windows)
Okhapkin s port of SSH1(windows)
MacSSH (Macintosh)
TeraTerm (windows)
MindTerm (Inix, Windows)
NitfyTelnet 1.1 SSH (Machintosh)
Commercial SSH
SSH communication Security (unix, windows)
F-Secure SSH (unix,Windows)
Secure CRT, SecureFX (windows)
Vshell (Windows)
Implementasi SSL
Terdapat dua implementasi SSL: SSLeay dan OpenSSL. Microsoft menerapkan versi SSH-nya
sendiri yang dikenal sebagai TSL atau Transport Layer Security (disebut juga sebagai SSL
v.3.1), namun tidak mendapat banyak dukungan diluar produk-produk Microsoft sendiri.
IV. KESIMPULAN
1. SSH maupun SSL digunakan untuk mengamankan komunikasi melalui internet
2. SSH mendukung otentikasi terhadap remote host, sehingga meminimalkan ancaman
pemalsuan identitas client lewat IP address spoofing maupun manipulasi DNS.
3. SSH mendukung beberapa protokol enkripsi secret key (DES,TripleDES,IDEA, dan
Blowfish) untuk membantu memastikan privacy dari keseluruhan komunikasi, yang
dimulai dengan username/password awal
4. SSL mendukung beberapa protokol enkripsi dan memberikan autentikasi client dan
server
5. SSL beroperasi pada layer transpor, menciptakan saluran enkripsi yang aman untuk data,
dan dapat mengenkripsi banyak tipe data
V. DAFTAR PUSTAKA
NEOTEK Vol III No.04 Januari 2003
http://www.polibatam.ac.id/~webmaster/print.php?sid=73
Posted by THE FORCE in 13:52:12 | Permalink | No Comments »

openvpn server

Praktikum Jaringan Komputer 2
Modul 5
OpenVPN
TUJUAN:
1. Mahasiswa mampu memahami cara kerja VPN
2. Mahasiswa mampu menggunakan aplikasi VPN
3. Mahasiswa mampu memahami troubleshot jaringan VPN
DASAR TEORI:
OpenVPN
OpenVPN adalah aplikasi open source untuk Virtual Private Networking (VPN), dimana
aplikasi tersebut dapat membuat koneksi point-to-point tunnel yang telah terenkripsi.
OpenVPN menggunakan private keys, certificate, atau username/password untuk melakukan
authentikasi dalam membangun koneksi. Dimana untuk enkripsi menggunakan OpenSSL.
Langkah-langkah membangun jaringan VPN adalah :
1. Pada VPN gateway membuat shared key dan certificate
2. Mengirimkan key tersebut kepada client yang akan melakukan koneksi
3. Membangun koneksi dengan menggunakan key yang telah didapat dari suatu VPN
Gateway
Untuk menggunakan openVPN perlu dilakukan installasi, pada OS Debian dapat dilakukan
dengan cara :
# apt-get install openvpn
Gb 1. Langkang-langkah VPN
Mempersiapkan Certificate Authority (CA) certificate dan Key
Untuk mempersiapkan key pada openvpn dapat dilakukan dengan bantuan tools “easy-rsa”,
dimana tools tersebut terdapat di /usr/share/doc/openvpn/examples. Salin tools tersebut
kedirektori /root, dengan cara
# cp /usr/share/doc/openvpn/examples/easy-rsa/ /root -Rf
Kemudian gunakan tools tersebut dengan masuk ke direktori tersebut
# cd /root/easy-rsa
Key dan certificate yang dibuat akan disimpan pada direktory “/root/easy-rsa/keys”
Untuk mengenerate CA dapat dilakukan dengan cara
~/easy-rsa# . ./vars
~/easy-rsa# ./clean-all
~/easy-rsa# ./build-ca
Pada perintah “build-ca”, akan muncul beberapa pertanyaan, isi dengan :
– Country Name : ID
– State or Province : East Java
– Locality Name : Surabaya
– Organization Name : JARKOM2
– Organization Unit : VPN
– Common Name : router3.eepis-its.edu (isi dengan VPN Gateway)
– Email : admin@eepis-its.edu (isi dengan email masing-masing)
Membuat certificate dan key untuk server (VPN Gateway)
Untuk membuat key dan certificate disisi server dapat dilakukan dengan cara :
~easy-rsa# ./build-key-server server
Kemudian akan muncul beberapa pertanyaan yang mirip dengan perintah sebelumnya.
Namun pada pertanyaan “Common Name” isikan dengan “nama server/router”.
– Common Name : router3.eepis-its.edu
Apabila ada pertanyaan password[], kosongkan. Sedangkan pada pertanyaan “Sign the
certificate? [y/n]:” dan “1 out of 1 certificate requests certified, commit? [y/n]”, ketik y
Membuat certificate dan key untuk client
Untuk membuat key dan certificate yang akan digunakan oleh client, dapat dilakukan dengan
cara :
~easy-rsa# ./build-key client
Kemudian akan muncul beberapa pertanyaan yang mirip dengan perintah sebelumnya.
Namun pada pertanyaan “Common Name” isikan dengan “nama server/router”.
– Common Name : router3.eepis-its.edu
Sedangkan pada pertanyaan “Sign the certificate? [y/n]:” dan “1 out of 1 certificate requests
certified, commit? [y/n]”, ketik y
Membuat Parameter dari Diffie Hellman
Parameter Diffie Hellman digunakan oleh 2 pengguna untuk melakukan pertukaran key
rahasia melalui media yang tidak aman.
Untuk membuatnya dapat dilakukan dengan cara :
~easy-rsa# ./build-dh
Pemindahan Keys dan Certificate
Setelah membuat key dan certificate. Diperoleh key dan certificate yang disimpan di
direktory “keys”
– ca.crt
– ca.key
– dhxxxx.pem, dimana xxxx adalah jumlah enkripsi yang digunakan
– server.crt
– server.csr
– server.key
– client.crt
– client.csr
– client.key
Kemudian pindahkan key dan certificate tersebut pada direktori /etc/openvpn, sedangkan
ca.crt, ca.key, client.crt, client.csr dan client.key harus dipindah ke PC client yang akan
membuat koneksi dengan VPN gateway.
Membuat konfigurasi untuk OpenVPN
Konfigurasi disisi VPN gateway menggunakan server.conf sedangkan disisi PC client adalah
client.conf. Contoh file konfigurasi bisa diambil dari
/usr/share/doc/openvpn/examples/sample-config-files/
Pada VPN gateway
Salin key dan certificate yang dibutuhkan (dh1024.pem, ca.* dan server.*). dengan cara :
~easy-rsa# cp keys/ca.* /etc/openvpn
~easy-rsa# cp keys/server.* /etc/openvpn
~easy-rsa# cp keys/dh1024.pem /etc/openvpn
Salin file konfigurasi ke direktori /etc/openvpn, dengan cara :
#gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz >
/etc/openvpn/server.conf
Rubah pada file konfigurasi /etc/openvpn/server.conf, pada bagian :
;local a.b.c.d
Apabila IP dari VPN Gateway adalah 202.154.187.2 maka ganti a.b.c.d dengan
202.154.187.2. Sesuaikan dengan IP Router yang akan dijadikan VPN Gateway. Sehingga file
tersebut dirubah menjadi:
local 202.154.187.2
Dengan menghilangkan tanda ; didepannya!!!
Menjalankan OpenVPN dengan cara :
# /etc/init.d/openvpn start
Apabila sebelumnya, openvpn sudah berjalan. Lakukan :
# /etc/init.d/openvpn restart
Pada Client
Salin key dan certificate (ca.* dan client.*) dari server atau VPN Gateway yang diperlukan ke
dalam direktori /etc/openvpn. Dapat dilakukan dengan mendownload atau mengambil
dengan menggunakan protocol sftp.
Salin contoh file konfigurasi client.conf ke direktori /etc/openvpn, dengan cara
# cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/
Rubah file konfigurasinya dengan cara
# vim /etc/openvpn/client.conf
Pada bagian :
remote my-server-1 1194
Menjadi :
remote 202.154.187.2 1194
Dimana 202.154.187.2 adalah IP server OpenVPN, ganti IP tersebut dengan IP VPN Gateway
yang dituju.
Jalankan OpenVPN pada client dengan perintah :
# /etc/init.d/openvpn restart
Perangkat TUN
Pada server dan client setelah konfigurasi sempurna, akan muncul perangkat baru. Perangkat
tersebut dapat dicek dengan perintah :
# ifconfig
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
PERALATAN:
1. PC Router dengan 2 LAN Card atau lebih
2. PC Client
3. Switch
4. Aplikasi OpenVPN (linux / windows)
Catat semua langkah-langkah yang dilakukan praktikum pada laporan sementara !!!
LANGKAH-LANGKAH PRAKTIKUM:
Jaringan dengan NAT
1. Persiapkan jaringan sesuai dengan topologi gambar
2. Set agar PC Router :
- Interface ke arah switch menggunakan IP DHCP
- Interface ke arah client menggunakan IP : 192.168.1.1 (khusus kelompok1)
- Aktifkan IP_forward : # echo 1 > /proc/sys/net/ipv4/ip_forward
- NAT, dengan cara : # iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j
MASQUERADE
3. Set agar PC Client :
- Menggunakan IP : 192.168.1.100 (khusus untuk kelompok1)
- Default gateway kearah IP 192.168.1.1 (khusus kelompok1), dengan cara :
Gb 2: Topologi Praktikum OpenVPN
# route add default gw 192.168.1.1
- Menggunakan DNS server 202.154.187.2, dengan cara :
# echo “nameserver 202.154.187.2” > /etc/resolv.conf
4. Pastikan dari Client bisa ping ke arah server 202.154.187.2 !!!
OpenVPN
5. Lakukan installasi OpenVPN di PC Router dan Client
6. PC Router kelompok ganjil akan melakukan tunnel dengan client kelompok ganjil,
begitu juga dengan kelompok genap !!!
7. Pada PC router akan bertindak sebagai VPN Gateway
8. Lakukan persiapan Certificate Authority (CA) di server
1. Menyalin “easy-rsa”
2. Membuat CA dengan menggunakan “build-ca”
3. Membuat key dan certificate untuk server
4. Membuat key dan certificate untuk client
5. Membuat Diffie Hellman parameter
6. Menyalin key dh1024.pem, ca.* dan server.* ke direktori /etc/openvpn
7. Menyalin server.conf ke /etc/openvpn
8. Rubah bagian “local”
9. Jalankan openvpn
9. Lakukan persiapan di Client
1. Ambil certificate dan key ca.* dan client.* dari server, letakkan di /etc/openvpn di
PC Client
2. Salin “client.conf” kedalam /etc/openvpn
3. Rubah bagian “remote”
4. Jalankan openvpn
10.Lakukan “ifconfig”, catat perangkat baru yang terbentuk dari OpenVPN
11.Lakukan mtr dari server ke client dan dari client ke server dengan menggunakan IP
OpenVPN
REFERENSI
1. OpenVPN, http://www.openvpn.net
2. Wikipedia, http://www.wikipedia.org, “OpenVPN”
Posted by THE FORCE in 13:46:55 | Permalink | No Comments »