26/11/2012

Multidomain dan VirtualHost

Langkah-langkah Multidomain dan Virtual Host di ubuntu server 12.04, yaitu
 
 
Pastikan terlebih dahulu bahwa BIND9 telah terinstal di Ubuntu server anda sekalian.
Kemudian lakukan setting pada BIND9 tersebut dengan perintah

$ sudo nano /etc/bind/named.conf.local

Kemudian tambahkan zona baru untuk domain baru. Dalam percobaan kali ini saya menambahkan domain baru dengan nama jarkom1.com,jarkom2.com dan jarkom.net.

#zona jarkom1.com
Zone “jarkom1.com” {
Type master;
File “/etc/bind/zones/jarkom1.com.db”;
};

#zona jarkom2.com
Zone “jarkom2.com” {
Type master;
File “/etc/bind/zones/jarkom2.com”;
};


#zona jarkom.net
Zone “jarkom.net” {
Type master;
File “/etc/bind/zones/jarkom.net”;
};
 

#DNS reverse
Zone “9.17.10.in-addr.arpa” {
Type master;
File “/etc/bind/zones/jarkom-rev.db”;
};


Kemudian Jika kita tadi telah menambahkan domain baru pada Ubuntu kita sekarang waktunya kita mendefinisikan kembali zona domain yang baru dibuat tadi, pertama kita akan mendefinisikan domain jarkom1.com, adapun perintah yang digunakan yaitu :

$sudo nano /etc/bind/zones/jarkom1.com.db

Kemudian isikan didalamnya seperti berikut :

$TTL 3D
@ IN SOA      ns.jarkom1.com.          admin.jarkom1.com. (
2007062001
28800
3600
604800
38400
);

jarkom1.com.              IN        NS       ns.jarkom1.com.
@                                IN        A         10.17.0.198
www                           IN        A         10.17.0.198
TXT                             “Network Gateway”

Lakukan hal yang sama pada jarkom2.com

Lalu Setelah selesai mendefinisikan nama2 domain yang telah dibuat tadi waktunya sekarang kita membuat DNS Forwarding, adapun perintah yang digunakan

$sudo nano /etc/bind/named.conf.options

Kemudian isikan ipdan ISP atau server yang sudah ada seperti berikut

Forwarders {
10.10.1.1;
};

Keempat

Sekarang waktunya kita mengedit file resolv, dengan cara mengisikan ip komputer yang sudah diinstall di DNS. Perintah yang digunakan yaitu

$sudo nano /etc/resolv.conf

Kemudian isikan

Search jarkom1.com
Nameserver 10.17.0.198

Kelima

Selanjutnya kita akan membuat file jarkom-rev yang akan digunakan untuk reverse lookup. Adapun perintah yang digunakan yaitu

$sudo nano/etc/bind/zones/jarkom-rev.db

Kemudian isikan

$TTL 3D
@        IN        SOA                ns.jarkom1.com.          admin.jarkom1.com. (
2007062001
28800
604800
604800
86400
)
IN        NS                   ns,jarkom1.com.
198      IN        PTR                 5CA.jarkom1.com.

Keenam

Setelah selesai melakukan konfigurasi pada bind9 sekarang waktunya kita untuk merestart bind9 tersebut, adapun perintah yang digunakan yaitu :

$sudo /etc/init.d/bind9 restart

Jika semuanya oke, coba lakukan ping pada nama domain tersebut jika berhasil maka kita akan mendapatkan balasan reply jika tidak maka periksa lagi pengaturan pada bind9 yang telah dibuat tadi.

Ketujuh

Jika kita tadi telah selesai membuat multidomain sekarang waktunya kita membuat direktori untuk masing-masing domain yang tadi telah dibuat. Adapun perintah yang digunakan yaitu

$cd /var/www
$sudo mkdir jarkom1.com       jarkom.net
$sudo chmod 755 jarkom1.com           jarkom.net

Kedelapan

Sekarang waktunya kita melakukan konfigurasi untuk virtual hostnya. Sebelum melakukan konfigurasi pada apache2.conf pastikan terlebih dahulu anda telah menginstall apache2. Setelah itu lakukan konfigurasi pada apache2 tersebut dengan menggunakan perintah

$sudo nano /etc/apache2/apache2.conf

Kemudian isikan pada baris terakhir

ServerName 127.0.0.1
NameVirtualHost *:80

Kesembilan

Setelah selesai melakukan settingan pada apache2nya sekarang waktunya kita membuat direktori sites-available. Adapun perintah yang digunakan yaitu

$cd /etc/apache2/sites-available
$sudo nano jarkom1.com

Selanjutnya isikan perintah berikut

<VirtualHost *:80>
ServerName                jarkom1.com
ServerAlias                  www.jarkom1.com
DocumentRoot           /var/www/jarkom1.com          #disesuaikan dengan direktori yang telah dibuat sebelumnya
ErrorLog                     /var/log/apache2/jarkom1-error.log
CustomLog                 /var/log/apache2/jarkom1-access.log combined
</VirtualHost>

Kemudian simpan dan keluar dari teks editor. Kemudian lakukan hal yang sama untuk jarkom2.com

Kesepuluh

Selanjutnya kita akan mendisable VirtualHost default dan enable domain yang baru. Adapun perintah yang digunakan

$sudo a2dissite default
$sudo a2ensite jarkom1.com
$sudo a2ensite jarkom2.com

Kesebelas

Setelah mendisble semua VirtualHost dan Domain, sekarang waktunya melakukan reload pada apache dengan perintah

$sudo /etc/init.d/apache2 reload

Setelah selesai melakukan reload, lakukan browsing menggunakan lynx kemasing-masing domain dengan menggunakan perintah

Lynx http://jarkom1.com

Jika berhasil maka akan tampil file index.html yang telah dibuat sebelumnya.

08/11/2012

VSFTPD DAN TCPDUMP


kali ini saya akan membahas mengenai Vsftpd dan Tcpdump. 
TCPdump adalah tools yang berfungsi mengcapture, membaca atau mendumping paket yang sedang ditransmisikan melalui jalur TCP. TCPdump diciptakan untuk menolong programer ataupun administrator dalam menganalisa dan troubleshooting  aplikasi networking. Seperti pisau yang bermata dua (hal ini sering kali disebut-sebut), TCPdump bisa digunakan untuk bertahan dan juga bisa digunakan untuk menyerang. 
Utility ini juga seringkali digunakan oleh para cracker untuk melaksanakan perkerjaannya, karena TCPdump bisa mengcapture atau mensniff semua paket yang diterima oleh network interface. 
Sebagai contoh, digunakan network yang terdiri dari tiga komputer yang dihubungkan menggunakan hub. Komputer pertama, menggunakan Windows™ 98  dengan IP address 192.0.0.1, sedang melakukan koneksi melalui telnet ke komputer  kedua yang menggunakan Slackware 8.0 dengan IP address 192.168.0.2 dan host ketiga komputer Redhat 7.1 dengan IP address 192.168.0.3 yang menggunakan utility TCPdump. Alasan untuk membedakan Operating System yang digunakan adalah untuk menunjukkan bahwa TCP/IP dapat berkomunikasi dengan baik pada dua platform yang berbeda. 
Untuk menjalankan TCPdump, ketik perintah tcpdump di console anda pada host 192.168.0.3 sebagai root. Output yang diperlihatkan di bawah ini adalah output yang bergulir non-stop, terus berganti baris tanpa henti hingga anda menekan Ctrl+C .
# tcpdump
tcpdump: listening on eth0
05:22:27.216338 burner.ssh > prime.1035:
P3797249897:3797249949(52) ack 2183278948 win 8576 (DF) [tos 0x10]
Contoh output yang berulang diatas menyatakan bahwa salah satu computer sedang menjalankan ssh client untuk koneksi ke server ssh di Redhat 7.1 (192.168.0.3) yang mengakibatkan trafik pada network (untuk menghasilkan output seperti diatas anda harus menjalankan ssh server pada Redhat 7.1 dan menggunakan ssh client untuk melakukankoneksi ke server dengan Slackware 8.0 (ini hanya contoh sementara). 
Memang banyak sekali output yang dikeluarkan oleh TCPdump. Lalu apakah maksud dari output-output tersebut? Output pada TCPdump menampilkan informasi-informasi tentang PDU yang diambil dari frame yang dibaca/dicapture. Keterangan berikut dapat menjelaskan arti output pada contoh diatas (tcpdump -nn host 192.168.0.2 and port 23): 
Field Contents Keterangan
19:20:00.804501  : Deskripsi waktu
192.168.2.10.1221  :  Alamat IP asal dengan nomor port 1221
192.168.2.165.23  : Alamat IP tujuan dengan nomor port 23
S flag/Bendera
2565655403 Nomor urutan data /data sequence number
win 16384 Window size

Sebenarnya masih banyak data field yang ditampilkan pada output, yang tidak disebutkan pada keterangan diatas. Manual pages dari TCPdump mempunyai penjelasan yang cukup tentang output yang ditampilkan. Pemahaman yang baik tentang operasi dan konstruksi dari sebuah protokol sangat dibutuhkan untuk melakukan analisa data. Utility ini juga mempunyai kemampuan untuk menganalisa PDU yang memulai dan mengakhiri suatu koneksi TCP/IP. TCP mempunyai mekanisme khusus untuk membuka dan menutup suatu koneksi. Untuk menjamin bahwa startup dan shutdown koneksi benar-benar terjadi, TCP menggunakan metode dimana ada tiga pesan yang ditukar, metode ini sering juga disebut three-way-handshake.
nah agan2 sekarang sudah mulai tahukan apa TCPDUMP dan fungsinya. selanjutnya ane akan menjelaskan mengenai FTP Server. Oke Lanjut !!!!!
FTP
FTP (File Transfer Protocol) adalah mekanisme yang digunakan untuk men-transfer data (baca: file) antar komputer lewat Internet, atau network. Dalam konteks website (blog misalnya), FTP digunakan untuk men-transfer file dari komputer kita ke server hosting, sehingga file ini kemudian bisa diakses di website kita secara online menggunakan web browser. 
Setidaknya dua komputer terlibat dalam proses transfer ini: FTP server dan FTP client. FTP server menjalankan software di server (hosting) dan siap menerima permintaan transfer dari FTP client (berupa software FTP client di komputer kita, misalnya CuteFTP, SmartFTP, NCFTP, WSFTP). Untuk bisa melakukan aktifitas FTP, kita memerlukan FTP account (username dan password). Setelah FTP client terhubung dengan FTP server, kita bisa melakukan upload file ke server, download file dari server, mengganti nama file di server, menghapus file, dan banyak operasi lainnya. 
Salah satu kelemahan utama dari FTP adalah kurang (atau bahkan tidak ada)-nya metode enkripsi, baik dalam pengiriman data account (password) dan pengiriman data. Karena faktor ini, direkomendasikan untuk menggunakan cara lain untuk men-transfer file lewat internet, misalnya SCP dan SSH Tunnel. SCP client yang cukup populer adalah WinSCP untuk Windows.
Selesai sudah penjelasan singkat mengenai TCPDUMP dan VSFTPD-nya agan2 sekarang kita akan coba mempraktekannya.
Oke agan kita langsung menuju langkah kerjanya ya Hehe
Siapkan 2 buah komputer, dimana 1 komputer menggunakan Sistem Operasi Windows dan 1-nya lagi menggunakan Sistem Operasi Ubuntu 12.04
Pada komputer yang menggunakan Sistem Operasi Ubuntu lakukan penginstalan VSFTPD dengan cara sebagai berikut :
sudo apt-get instal vsftpd
Setelah proses instalasi selesai selanjutnya lakukan konfigurasi, dengan menggunakan perintah sebagai berikut :
sudo nano /etc/vsftpd.conf

Kemudian hilangkan tanda # pada local_enable=YES dan write_enable=YES dan
dan beritanda # pada chroot_local_user=YES
Selanjutnya restart vsftpd dengan perintah
Sudo /etc/init.d/vsftpd restart
Kemudian masuklah ke ftp yang telah anda buat dengan menggunakan perintah sebagai beriku :
ftp 10.17.0.198 (alamat ip komputer anda)
Kemudian masuklah username dan password jika berhasil artinya vsftpd agan2 sudah berjalan.
Selanjutnya hubungkan komputer yang menggunakan Sistem Operasi Ubuntu 12.04 dan Windows dengan menggunakan kabel cross
Lalu pada komputer yang menggunakan sistem operasi Windows masuklah ke ftp yang telah dibuat tadi, dengan cara
Buka command prompt
Lalu ketikkan : ftp 10.17.0.200
Selanjutnya login dengan username dan password yang sama jika berhasil ambil data yang ada dikomputer server dengan menggunakan perintah berikut:
get index.html
catatan :
(index.html adalah data yang ada pada komputer server untuk mengetahui data apa saja yang ada dikomputer server agan2 sekalian bisa menggunakan perintah ls)
Kemudian jalan perintah tcpdump pada komputer server dengan menggunakan perintah berikut:
tcpdump –i eth1 | grep ftp
           
            catatan :
eth1 adalah port Ethernet yang agan2 sekalian gunakan untuk mengetahui port yang agan2 gunakan bisa menggunakan perintah ifconfig
Maka akan muncul hasil tcpdump sebagai berikut pada komputer server
08:07:20:257384 IP 10.17.0.19.1107 > 10.17.0.198.ftp: Flags [.], ack 624, win 64658, length 0 08:07:20.270310 IP 10.17.0.19.1114 > 10.17.0.198.ftp-data: Flags [F.], seq 1, ack 132, win 64905, options [nop,nop,TS val 41123 ecr 924669], length 0
08:07:20.270327 IP 10.17.0.198.ftp-data > 10.17.0.1114: Flags [.], ack 2,  win 1825, option [nop,nop, TS val 924673 ecr 41123], length 0-

Web Server (APACHE & PHP)


Kali ini saya akan membahas mengenai Web Server dengan menggunakan Apache.

Web server adalah software server yang menjadi tulang belakang dari World Wide Web (www). Web server menunggu permintaan dari client yang menggunakan browser seperti netscape navigator, internet explorer, Mozilla, dan program browser lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu dan kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format standar yang disebut dengan format SGML (Standard General Markup Language). Dimana data yang berupa format ini kemudian akan ditampilkan oleh browser sesuai dengan kemampuan browser itu. Contohnya ialah bila data yang dikirim berupa data gambar maka browser yang hanya mampu menampilkan text (misalnya lynx) tidak akan mampu menampilkannya dan jika ada akan menampilkan alternatifnya saja.
Tapi untuk saat ini umumnya para pengguna internet lebih banyak menggunakan format HTML (Hyper Text Markup Language) karena penggunaanya yang sederhana dan mudah untuk dipelajari. Kata Hyper Text disana mempunyai arti bahwa seorang pengguna internet dengan web browsernya dapat membuka dan membaca dokumen-dokumen yang ada dalam komputernya atau bahkan komputer yang jauh tempatnya sekalipun.

 Web server apache ini mempunyai kelebihan yaitu :
  • Apache termasuk dalam kategori freeware (software gratisan)  
  •  Apache mudah sekali proses instalasinya jika disbandingkan dengan web server lainnya seperti NCSA, IIS, dan lain-lain.
Selain kelebihan tersebut apache juga mendukung penambahan modul-modul, diantaranya modul yang sering digunakan yaitu PHP. PHP (Personal Home Page Tool) adalah salah satu jenis alat yang digunakan untuk membuat halaman web anda menjadi lebih menarik, lebih aman, dan lebih dinamik. Pada dasarnya PHP hamper mirip dengan script yang lainnya seperti asp, Javascript, Visual Basil atau yang lainnya. Keuntungan dari PHP ini yaitu tidak diperlukan tambahan pada sisi webclient seperti halnya Javascript dan Visual Basil Script, sehingga lebih mudah penggunaanya.
Adapun beberapa keunggulan dari PHP yaitu :
  1.  Autentikasi http menggunakan PHP menggunakan fungsi header() yang ada dalam modul apache PHP.
  2. Pembuatan file GIF menggunakan library GD yang dikompilasi saat menginstal PHP.
  3. PHP dapat menerima metoda upload file.
  4.  Mendukung penggunaan cookie.
  5. Mendukung integrasi dengan database. 
  6.  Mendukung ekspresi regular seperti ereg(), ereg_replace() dan lainnya.
  7. Penangan kesalah berdasarkan tingkat kesalahan.
lANGKAH-LANGKAH:
Periksa terlebih dahulu koneksi ke gateway, ked ns server dan ke server repository dengan cara melakukan ping
  • Install apache2 yang akan digunakan sebagai web server dengan menggunakan perintah
  • Sudo apt-get install apache2
  • Setelah proses instalasi selesai maka jalankan apache2 tersebut dengan perintah
  • Sudo /etc/init.d/apache2 restart
  • Kemudian jalankan nmap-nya dengan perintah
  • nmap –p80 localhost
  • nmap –p80 10.17.0.198 (merupakan alamat ip komputer)
  • jika benar maka akan muncul output sebagai berikut 
 output proses nmap localhost:
Starting nmap 5.21 (http://nmap.org) at 2002-01-01 07:12 WIT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000068s latency).
Port state service
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
Output proses nmap ipaddress
Starting nmap 5.21 (http://nmap.org) at 2002-01-01 07:17 WIT
Nmap scan report for 10.17.0.198
Host is up (0.000068s latency).
Port state service
80/tcp open http


Selanjutnya install lynx dengan cara
Sudo apt-get install lynx
Setelah proses intalasi selesai browser ke alamat ip komputer agan2 dengan cara
Lynx 10.17.0.198
Sampai disini jika proses benar maka kita akan membuat file html. Langkah pertama yaitu
Masuk ke direktori www dengan cara
Cd/var/www
Kemudian
Sudo nano index.html
Isikan
<html>
<head>
<tittle>coba-coba</tittle>
</head>
<body>
<Isikan Text>
</body>
</html>
Jika selesai save dan keluar 
Selanjutnya browsing ke alamat IP , jika proses benar maka nantinya akan tampil tulisan sesuai yang dibuat antara body

Langkah pertama install php pada web server agan2, dengan cara
Sudo apt-get install php5 libapache2-mod-php5
Jika proses instalasi selesai restart apache dengan perintah
Sudo /etc/init.d/apache2 restart
Selanjutnya buat halaman php dan letakkan pada direktori www, yaitu dengan cara masuk terlebih dahulu ke direktori www
cd/var/www
kemudian
sudo nano test.php
kemudian isikan
<?php
phpinfo()
?>
Jika selesai save dan keluar dari nano
Selanjutnya browsing ke website sambil menjalankan tcpdump, jika proses benar maka akan tampil output seperti berikut :
Pada saat proses mengambil (get)
08:07:20:257384 IP 10.17.0.19.1107 > 10.17.0.195.ftp: Flags [.], ack 624, win 64658, length 0 08:07:20.270310 IP 10.17.0.19.1114 > 10.17.0.195.ftp-data: Flags [F.], seq 1, ack 132, win 64905, options [nop,nop,TS val 41123 ecr 924669], length 0
08:07:20.270327 IP 10.17.0.195.ftp-data > 10.17.0.1114: Flags [.], ack 2,  win 1825, option [nop,nop, TS val 924673 ecr 41123], length 0
Pada saat proses meletakkan (put)
08:13:28.971080 IP 10.17.0.195.1107 > 10.17.0.19.1107: Flags [P.], seq 249:271, ack 862, win 64540, length 22
08:13:28.971127 IP 10.17.0.195.ftp > 10.17.0.19.1107: Flags [R], seq 923375208, win 0, length 0