Tampilkan postingan dengan label Admin Server. Tampilkan semua postingan
Tampilkan postingan dengan label Admin Server. Tampilkan semua postingan

Senin, 28 Februari 2011

Pra KBM Squid (Delay Pool)

Sumber: http://intrik.wordpress.com/2007/04/25/manajemen-bandwidth-di-squid-menggunakan-delay-pools/

Dokumen ini menjelaskan bagaimana cara mengkonfigurasikan proxy server anda untuk membatasi bandwidth download atau incoming traffic.
Berikut langkah-langkah pengkonfigurasian manajemen bandwidth di squid:
1. Pertama-tama periksa apakah squid telah berjalan di server dan telah dikonfiguraisi sebagai mesin proxy server.
2. Sebelum memulai memanajemen bandwidth di squid, kita jelaskan dulu komponen-komponen manajement bandwidth di squid :


delay_pools
Opsi ini untuk menspesifikasi berapa jumlah pool yang digunakan untuk membatasi jumlah bandwidth dari ACL. Opsi ini akan dirangkaikan bersama opsi delay_class dan delay_parameters yang akan dibahas di bawah ini.

delay_class
Opsi ini menspesifikasikan kelompok dari masing-masing pool yang telah didefinisikan pada opsi delay-pools. Ada tiga class yang didukung Squid, antara lain:
• class 1: Semua akses dibatasi dengan single bucket, artinya hanya bisa mendefinisikan overall bandwidth untuk suatu ACL saja, tidak bisa mendefinisikan bandwidth dengan lebih mendetail
• class 2: Semua akses dibatasi dengan single agregate dengan dua parameter bandwidth. Parameter pertama mendefinisikan berapa bandwidth maksimal yang didapatkan ACL, parameter kedua mendefinisikan berapa bandwidth overall untuk ACL yang spesifik yang ada pada network tersebut.
• class 3: Kelompok yang definisi bandwidth-nya paling mendetail. Parameter pertama mendefinisikan berapa bandwidth maksimal yang didapatkan ACL, parameter kedua mendefinisikan berapa bandwidth normal yang didapatkan ACL secara umum, dan parameter yang ketiga adalah mendefinisikan bandwidth yang didapatkan ACL jika mengakses ACL-ACL tertentu yang spesifik, misalnya file mp3.

delay_parameters
Opsi ini menspesifikasikan rumus bandwidth yang akan didapatkan oleh ACL yang akan memasuki delay_pool. Misalnya ada entry berikut ini pada delay_parameters:
delay_parameters 1 -1/-1 2100/4000
Angka 1 berarti rumus ini berlaku untuk pool 1. Angka -1/-1 berarti bandwidth maksimal yang diberikan Squid adalah tidak terbatas untuk pool ini.

Angka 2100/4000 berarti bandwidth yang didapatkan oleh ACL setelah masuk ke pool ini. Angka ini berada dalam kelipatan 8 b, sehingga untuk mendapatkan nilai bandwidth yang sebenarnya harus dikalikan delapan. Angka 2100 adalah bandwidth yang didapatkan ACL pada masa-masa normal. Jika dikalikan 8, maka bandwidth normal yang akan didapatkan ACL sekitar 18 Kbps. Angka 4000 adalah bandwidth maksimal yang didapatkan ACL pada masa-masa jalur sedang kosong. Jika dikalikan 8, maka bandwidth yang didapatkan sekitar 32 Kbps.

delay_access
Opsi ini mendefinisikan siapa-siapa ACL yang akan dimasukkan ke pool tertentu untuk mendapatkan “perlambatan” bandwidth. Bentuk umumnya adalah seperti ini:
delay_access 1 allow labprog
Opsi di atas berarti kita memasukkan ACL labprog ke dalam pool 1.

3. Jika sudah mengerti komponen-komponen delay pool, kita mulai konfigurasi delay pool .
Di umpamakan kita mempunyai bandwidth dari ISP sebesar 512kb, dan kita membuat rule seperti berikut ini:
- Batas kecepatan koneksi overall adalah 256 Kbps. per-network adalah 64 kbps. Sedangkan per-user/host dibatasi 2 Kbps jika digunakan untuk download file bertipe exe, mp3, vqf, tar.gz, gz, rpm, zip, rar, avi, mpeg, mpe, mpg, qt, ram, rm, iso, raw, dan wav. Jika tidak, maka koneksi perhost HANYA mengikuti aturan per-Network saja.

Penyelesaian:


Edit file /etc/squid/squid.conf
#vi /etc/squid/squid.conf
Lalu tambahkan contoh konfigurasi ini:
# Sebelum kita melakukan pembatasan, kita perlu mendefinisikan ACL network # # yang kita perlukan terlebih dahulu. ACL yang didefinisikan pada host bridge
# seperti di bawah ini:
acl lokal src 192.168.1.0/24# Kemudian kita membatasi maksimum download dengan tag di bawah ini:
# Batas kecepatan koneksi overall adalah 256 Kbps. per-network adalah
# 64 kbps. Sedangkan per-user/host dibatasi 2 Kbps jika digunakan untuk
# download file bertipe exe, mp3, vqf, tar.gz, gz, rpm, zip, rar, avi,
# mpeg, mpe, mpg, qt, ram, rm, iso, raw, dan wav. Jika tidak, maka
# koneksi perhost HANYA mengikuti aturan per-Network saja.

acl filegede url_regex -i \.exe
acl filegede url_regex -i \.mp3
acl filegede url_regex -i \.vqf
acl filegede url_regex -i \.gz
acl filegede url_regex -i \.rpm
acl filegede url_regex -i \.zip
acl filegede url_regex -i \.rar
acl filegede url_regex -i \.avi
acl filegede url_regex -i \.mpeg
acl filegede url_regex -i \.mpe
acl filegede url_regex -i \.mpg
acl filegede url_regex -i \.qt
acl filegede url_regex -i \.ram
acl filegede url_regex -i \.rm
acl filegede url_regex -i \.iso
acl filegede url_regex -i \.raw
acl filegede url_regex -i \.wav

# Kita buat dulu ACL untuk mendefinisikan file-file di atas dengan menggunakan # regularexpression. Kemudian kita mendefinisikan 2 delay pool untuk
# menampung bandwidth.
# Satu pool masuk dalam kategori class 2 untuk mendefinisikan aturan overall
# 256 Kbps dan per-network 64 Kbps. Satu pool lainnya masuk kategori class 3
# untuk mendefinisikan aturan tambahan jika user mendownload file-file yang
#didefinisikan dalam ACL url_regex dengan bandwidth maksimal 2 Kbps.


delay_pools 2
delay_class 1 3
delay_parameters 1 32000/32000 8000/8000 250/250
delay_access 1 allow lokal filegede
delay_access 1 deny all
delay_class 2 2
delay_parameters 2 32000/32000 8000/8000
delay_access 2 allow lokal
delay_access 2 deny all

Jika sudah selesai, simpan hasil konfigurasi dan restart squid


#/etc/init.d/squid restart

Kamis, 27 Januari 2011

Pra KBM PROXY

Sumber:
bikhorion.blogspot.com/2010/05/proxy.html
lecturer.eepis-its.edu/.../jarkom2%20-%204.%20NAT%20dan%20Proxy.pdf
http://smk7ambon.forumotion.com/t16-aplikasi-aplikasi-pada-jaringan
www.anggablog.wordpress.com/


Pengertian Proxy

Proxy adalah perantara antara ip satu ke ip yang lain. Apabila kita browsing atau mengakses suatu website (dengan ip tertentu) menggunakan proxy maka kita cukup mengambil data website tersebut dari pihak proxy tersebut yang selanjutnya proxylah yang berperan mengambilkan data dari server suatu situs dan kemudian menghantarkan ke ip kita atau sampai di komputer kita

Proxy-Server
Proxy server adalah sebuah server pada jaringan komputer yang memberikan pelayanan
pada komputer client untuk dapat melakukan koneksi tidak langsung (indirect connection) dengan jaringan yang lainnya. Client meminta koneksi ke arah proxy server kemudian server melakukan koneksi ke arah server tujuan, atau mengambil data dari dalam tempat penyimpanan sementara (cache). Ilustrasi Proxy dapat dilihat pada Gb. 3. Untuk mesin Linux, dapat menggunakan aplikasi “squid”. Dimana pada squid tersebut dapat melakukan pembatasan akses. File konfigurasi squid berada di direktori /etc/squid/, dan file konfigurasinya bernama “squid.conf”. Squid menggunakan port tertentu untuk menerima request dari client, defaultnya adalah 3128. Untuk menggunakan proxy, client dapat merubah preferences / options pada software web browsernya dengan mengarahkan IP proxy dan portnya.

CARA KERJA

Proxy bekerja dengan mendengarkan request dari client internal dan mengirim request tersebut ke jaringan eksternal seolah-olah proxy server itu sendiri yang menjadi client. Pada waktu proxy server menerima respon dan server publik, ia memberikan respon tersebut ke client yang asli seolah-olah ia public server.

Sebuah analogi; bila seorang mahasiswa meminjam buku di perpustakaan, kadang si mahasiswa tidak diperbolehkan langsung mencari dan mengambil sendiri buku yang kita inginkan dari rak, tetapi kita meminta buku tersebut kepada petugas, tentu saja dengan memberikan nomor atau kode bukunya, dan kemudian petugas tersebut yang akan mencarikan dan mengambilkan bukunya. Dalam kasus diatas, petugas perpustakaan tersebut telah bertindak sebagai perantara atau Proxy. Petugas tersebut juga bisa memastikan dan menjaga misalnya, agar mahasiswa hanya bisa meminjam buku untuk mahasiswa, dosen boleh meminjam buku semua buku, atau masyarakat umum hanya boleh meminjam buku tertentu.

Mungkin proses tersebut menjadi lebih lama dibandingkan bila kita langsung mencari dan mengambil sendiri buku yang kita inginkan. Namun bila saja setiap kali petugas mencari dan mengambil buku untuk seseorang, si petugas juga membuat beberapa salinan dari buku tersebut sebelum memberikan bukunya kepada orang yang meminta, dan menyimpannya di atas meja pelayanan, maka bila ada orang lain yang meminta buku tertentu, sangat besar kemungkinan buku yang diminta sudah tersedia salinannya diatas meja, dan si petugas tinggal memberikannya langsung. Hasilnya adalah layanan yang lebih cepat dan sekaligus keamanan yang baik.

Analogi diatas menjelaskan konsep dan fungsi dasar dari suatu proxy dalam komunikasi jaringan komputer dan internet. Proxy Server mempunyai 3 fungsi utama, yaitu,

  • Connection Sharing
  • Filtering
  • Caching
Konfigurasi Proxy Server Linux/Ubuntu

Sebelumnya, pastikan proses internet gateway (routing)sudah berjalan dalam komputer ini.
eth0 digunakan untuk ip internet
eth1, ip LAN

1. Instalasi
Pertama-tama install terlebih dahulu squid melalui synaptic atau melalui command prompt dengan cara :
# apt-get install squid
Setelah selesai maka Squid langsung dapat di konfigurasikan dengan cara :
# vi /etc/squid/squid.conf
Tetapi sebelum di edit terlebih dahulu backup dulu file aslinya agar kalau rusak bisa dikembalikan ke default :
# cp /etc/squid/squid.conf /etc/squid/squid.conf.bak

2. Konfigurasi Squid
Selanjutnya konfigurasi script Squid :
# vim /etc/squid/squid.conf
Akan muncul file konfigurasi squid yang sangat panjang, berikut langkah-langkah yang harus diperhatikan….
a. HTTP Port : Merupakan port yang digunakan untuk menjalankan Squid
# http_port 3128
http_port 192.168.10.1:8080
#log dan error
access_log /var/log/squid/access.log squid
error_directory /usr/share/squid/errors
logfile_rotate 7

b. Visible Host Name : Agar jika terjadi error Squid dapat menemukan hostname yang valid
visible_hostname localhost
localhost bisa diganti menjadi ip (e.g 192.168.10.254) atau domain seperti proxykoe.com
c. Cache Manager : Untuk mendefinisikan email address dari Cache Manager Squid
cache_mgr admin@domain.com
d. Direktori Cache Squid : Mendefinisikan letak direktori squid beserta besarannya.
Angka 500 menunjukkan ukuran direktori dalam MB
Angka 16 menunjukkan jumlah sub direktori tingkat 1
Angka 256 menunjukkan jumlah subdirektori tingkat 2 dari subdirektori tingkat 1
Jumlah diatas makin besar makin baik
cache_dir ufs /var/spool/squid 500 16 256
e. Filtering : Ini merupakan bagian terpenting dari Squid, dengan ini kita bisa mngatur rule-rule, dari mulai siapa saja yang bisa mengakses internet sampai website apa yang diizinkan untuk di akses.

Access List (acl) : Siapa saja yang dapat mengakses Internet
acl all src all
acl manager proto cache_object
acl localnet src 192.168.10.1/255.255.255.0
#############################################################
### BANDWIDTH MANAJEMEN
##############################################################
acl admin src “/etc/squid/admin
acl situs url_regex “/etc/squid/situs”
acl download urlpath_regex “/etc/squid/download”
#################################################################
acl denied_domains dstdomain “/etc/squid/denied_domains.acl”

http_access allow manager localhost
http_access deny manager
# Only allow purge requests from localhost
http_access allow purge localhost
http_access deny purge
http_access allow localhost
http_access allow admin
http_access deny workhours denied_domains
http_access allow localnet
http_access deny all
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access allow CONNECT !SSL_ports

#delay pools 0, untuk bandwidth management
delay_pools 3
delay_class 1 1
delay_class 2 1
delay_class 3 1
#unlimitted access untuk admin
delay_parameters 1 -1/-1
delay_access 1 allow admin
delay_access 1 deny all
#pembatasan kecepatan akses untuk “situs” dimana kecepatan maksimum hanya 2kbps jika #besarnya situs lebih dari 64kB
delay_parameters 2 2000/64000
delay_access 2 allow situs
delay_access 2 deny all
#pembatasan kecepatan akses untuk “download” dimana kecepatan maksimum hanya 1kbps jika #besarnya download lebih dari 32kB
delay_parameters 3 1000/32000
delay_access 3 allow download
delay_access 3 deny all

keluar dari squid.conf dan menyimpan yang sudah dirubah dengan perintah
:wq

bagaimana dan apa saja yang membatasi akses sudah kita nyatakan perintahnya dan Access List,
acl admin src “/etc/squid/admin
maka yang pertama kita lakukan adalah membuat dan menuliskan apa saja yang dalam “admin”, dengan cara:
vim /etc/squid/admin

192.168.10.26
192.168.10.5
192.168.10.4
192.168.10.100
192.168.10.102
192.168.10.157
192.168.10.249
192.168.10.250
192.168.10.15
192.168.10.14

Keluar dan simpan, dengan perintah, :wq
Maka IP-IP di atas, adalah IP yang mendapat hak penuh sebagai admin.

acl situs url_regex “/etc/squid/situs”
– vim /etc/squid/situs
gudangupload
easyshare
savefile
megaupload
share
boxing
tube
movie
facebook

Keluar dan simpan, dengan perintah, :wq

acl download urlpath_regex “/etc/squid/download”, diedit dengan perintah:
vim /etc/squid/download, dan dituliskan
./doc$
./exe$
./pdf$
./xls$
./docx$
./mpeg$
./tar.gz$
./tar.bz2$
./mp3$
./jpg$
./jpeg$

Keluar dan simpan, dengan perintah, :wq

IP Forwarding, agar transparent proxy dapat diterapkan, maka kita harus mengaktifkan Ip Forwarding dengan memberikan nilai 1 pada file “/proc/sys/net/ipv4/ip_forward” dengan cara :

# echo 1 > /proc/sys/net/ipv4/ip_forward

Tetapi perintah tersebut harus kita jalankan auto startup, agar jika komputer squid mati kita tidak perlu repot2 menjalankan perintah tersebut secara terus menerus.
Berikutnya kita harus menjalankan ip_tables agar client dapat meredirect port squid server kita dengan perintah :

# iptables -A PREROUTING -t nat -p tcp –dport 80 -j REDIRECT –to-port 8800

Kemudian restart proxy dengan perintah :
# /etc/init.d/squid restart

Kamis, 19 Agustus 2010

Admin Server (Virtual Host, HTTPS, Web Server)

1.Virtual Host

Sumber 1:


Virtual Host merupakan layanan dari Apache, seolah-olah server Apache kita berada pada banyak mesin. Apache mendukung dua tipe virtual host; berdasarkan IP address dan berdasarkan hostname. Perbedaan dari kedua tipe ini adalah ; tipe berdasarkan IP address, kita harus menggunakan 1 ip address untuk 1 virtual host yang akan kita gunakan.dengan kata lain, 1 domain 1 ip address. Sedangkan tipe berdasarkan hostname, kita dapat menggunakan 1 ip address untuk banyak virtual host, dengan kata lain, 1 ip address bisa digunakan untuk banyak domain. ( domain yang ingin di gunakan, terlebih dahulu di pointing ke ip address server anda ).

Berikut adalah langkah-langkah membuat Virtual Host :

1. buat sebuah file yang akan menangani konfigurasi Virtual Host kita pada direktori /etc/apache2/sites-available

cd /etc/apache2/sites-available

touch cyberbox

2. edit file tersebut dan tambahkan konfigurasi Virtual host yang kita kehendaki

nano cyberbox

berikut adalah contoh konfigurasi Virtual Host untuk domain cyberbox.on.web.id

===================begin file===========================

NameVirtualHost 212.241.214.21

ServerAdmin cyberbox@telkom.net

DocumentRoot /var/www/html

Options FollowSymLinks

AllowOverride None

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

# Uncomment this directive is you want to see apache2’s

# default start page (in /apache2-default) when you go to /

#RedirectMatch ^/$ /apache2-default/

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg.

LogLevel warn

CustomLog /var/log/apache2/access.log combined

ServerSignature On

Alias /doc/ “/usr/share/doc/”

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

Allow from 127.0.0.0/255.0.0.0 ::1/128

=======================EOF=================================

Penjelasan :

NameVirtualHost 212.241.214.21 = nama virtual host kita ( masukkan ip anda )

= domain dan listening port yang ingin kita gunakan

DocumentRoot /var/www/html = document ROOT tempat dimana file-file web kita di akses.

save dan keluar dari text editor.

3. Buat file symbolic di direktori /etc/apache2/sites-enabled yang mengarah ke file /etc/apache2/sites-available/cyberbox

sudo a2ensite cyberbox /etc/apache2/sites-available/cyberbox

4. Tambahkah domain yang telah kita set menjadi virtual host di file /etc/hosts

echo “ipaddress domain.com domain” >> /etc/hosts

contoh : echo “212.241.214.21 cyberbox.on.web.id cyberbox” >> /etc/hosts

5. reload server Apache

sudo /etc/init.d/apache2 reload

6. Jika tidak terjadi error, coba akses virtual host yang sudah kita masukkan dengan browses.

http://cyberbox.on.web.id/

Sumber2:

Virtual Host merupakan cara untuk mengatur banyak website atau URL di dalam satu mesin atau satu IP. Misalkan kita mempunyai banyak domain tapi hanya mempunyai 1 IP public atau 1 server. Cara untuk mengatasi masalah itu adalah dengan cara membuat virtualhost yang ada di settingan apachenya. Virtual Host bisa anda gunakan setelah anda menginstall package-package apache dan sudah pasti web server anda sudah berjalan dengan baik.

Sekarang kita langsung saja masuk ke dalah konfigurasi. Misalkan saya mempunya 2 buah domain [aminudin.net dan kelelawar.net] saya kebingungan karena saya hanya mempunyai 1 server, solusinya adalah anda harus mengarahkan domain tersebut ke IP server kita untuk contoh silahkan baca http://aminudin.net/?p=230 . kemudian seterusnya konfigurasi di sisi server nya kita lakukan konfigurasi virtualhost anda edit file yang berada di /etc/apache2/http.conf. anda masukan text virual host,sebagai contoh begini :


ServerAdmin webmaster@aminudin.net
ServerName aminudin.net
DocumentRoot /home/amin
CustomLog /hom/amin/log/aminudin.net.log combined


ServerAdmin webmaster@kelelawar.net
ServerName kelelawar.net
DocumentRoot /home/kelelawar
CustomLog /home/kelelawar.net/log/kelelawar.net.log combined

Penjelasan:

<<–Awal dari virtual host ServerAdmin webmaster@kelelawar.net <<– Nama admin domain ServerName kelelawar.net <<– Nama domain yang akan masuk ke server kita DocumentRoot /home/kelelawar <– File domain kelelawar.net CustomLog /home/kelelawar.net/log/kelelawar.net.log combined <<– Dimana File Log website diletakan <<– Penutup VirtualHost

# untuk file log, anda membuat terlebih dahulu file kosong
# ex: amin@root~#touch /home/kelelawar/log/kelelawar.net.log

Berikutnya yang harus anda lakukan adalah restart apache:

amin@root~#/etc/init.d/apache2 restart

Jadi secara simple adalah VirtualHost itu adalah belokan dimana directory masing2 domain tersebut.

Jika anda mempunya 1 domain atau 2 masih bisa dibilang belum memusingkan untuk configurasi file http.conf-nya. Tetapi jika anda sudah mempunya banyak domain diarahkan ke 1 server, misal anda mempunya 10 domain hayoooo gimana? saya juga pernah mengalami hal serupa, file di http.conf itu banyak sekali nama domain dan hampir serupa bentuknya, bisa lelah mata kita melihatnya. Untuk masalah seperti itu anda sebaiknya membuat file configuration yang baru. Coba anda membuat directory dimana file konfigurasi domain tersebut berada.

ex: /home/vhost/aminudin.net.conf
/home/vhost/kelelawar.net.conf

Setelah itu coba anda pindahkan semua konfigurasi masing2 domain ke file konfigurasi domain tersebut, misal vhost aminudin.net di pindah ke /home/vhost/aminudin.net.conf. Setelah itu anda edit file yang bernama apache2.conf yang berada di /etc/apache2/apache2.conf kemudian anda cari baris yang ada text Include /etc/apache2/http.conf kemudian anda tambahkan baris di bawahnya itu sebagai contoh anda masukan Include /home/vhost/aminudin.net.conf dan Include /home/vhost/kelelawar.net.conf. kemudian karena file http.conf itu sudah kosong filenya maka anda kasih # di text Include /etc/apache2/http.conf menjadi #Include /etc/apache2/http.conf. tanda # itu menandakan bahwa yang berada di baris tersebut hanya komentar jadi tidak di tanggapi oleh apache tersebut. Kemudian setelah anda beres ini itu maka tinggal anda melakukan restart apache nya [amin@root~#/etc/init.d/apache2 restart].


2.HTTPS

HTTPS singkatan dari HyperText Transport Protocol Secure, memiliki pengertian sama dengan HTTP tetapi dengan alasan keamanan (security), HTTPS memberi tambahan Secure Socket Layer (SSL). Umumnya website yang menggunakan HTTPS ini adalah website yang memiliki tingkat kerawanan tinggi yang berhubungan dengan masalah keuangan dan privacy dari pelanggannya seperti website perbankan dan investasi.
Teknologi HTTPS protocol mencegah kemungkinan "dicurinya" informasi penting (credit card adalah contoh yang paling serinf disebut-sebut) yang dikirimkan selama proses komunikasi berlangsung antara user dengan web server (atau sebaliknya). Secara teknis, website yang menggunakan HTTPS akan melakukan enkripsi terhadap informasi (data) menggunakan teknik enkripsi SSL. Dengan cara ini meskipun seseorang berhasil "mencuri" data tersebut selama dalam perjalanan user web server, orang tersebut tidak akan bisa membacanya karena sudah diubah oleh teknik enkripsi SSL.

Untuk mengenali suatu website menggunakan SSL atau tidak, cukup dengan memperhatikan informasi di depan alamat website pada browser. Apabila alamat website diawali dengan https:// maka bisa dipatikan website tersebut sudah menggunakan teknologi SSL. Cara lain yaitu dengan melihat "icon kunci" di pojok kanan bawah browser, apabila "icon" tersebut terlihat dalam posisi terkunci maka website tersebut aman.

Konfigurasi HTTPS

1. Aktifkan modul ssl dengan menggunakan perintah:
$ sudo a2enmod ssl
2. Buatlah sertifikat, sertifikat ini digunakan untuk koneksi https/ssl (enkripsi)
$ sudo apache2-ssl-certificate
creating selfsigned certificate
replace it with one signed by a certification authority (CA)
enter your ServerName at the Common Name prompt
If you want your certificate to expire after x days call this
programm
with -days x
Generating a 1024 bit RSA private key
..................................++++++
..........................++++++
writing new private key to '/etc/apache2/ssl/apache.pem'
-----
You are about to be asked to enter information that will be
incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished
Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:ID
State or Province Name (full name) [Some-State]:Jawa Barat
Locality Name (eg, city) []:Cimahi
Organization Name (eg, company; recommended) []:Mozmoz
Organizational Unit Name (eg, section) []:
server name (eg. ssl.domain.tld; required!!!)
[]:https.murtilabibmuslim.blogspot.com
Email Address []:murtimozmoz666@yahoo.com
3. Setelah itu buat file /etc/apache2/sites-available/https, dibawah baris:
$ sudo vi /etc/apache2/sites-available/https
Dengan isi file seperti berikut:
NameVirtualHost 192.168.0.1:443

SSLEngine ON
SSLOptions +FakeBasicAuth +ExportCertData
+CompatEnvVars +StrictRequire
SSLCertificateFile /etc/apache2/ssl/apache.pem
ServerName https.murtilabibmuslim.blogspot.com
ServerAdmin webmaster@murtilabibmuslim.blogspot.com
DocumentRoot /var/www/murti

4. Aktifkan site https, dengan perintah
$ sudo a2ensite https
5. Setelah itu edit file /etc/apache2/ports.conf, lalu tambakan baris Listen 443
pada file tersebut.
6. Restart apache
$ sudo /etc/init.d/apache2 restart
7. Test lah hasil konfigurasi pada browser klien dengan mengetikan url
https://https.murtilabibmuslim.blogspot.com/

3.Web Server

Pengertian Web Server

Web server merupakan software yang memberikan layanan data yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman - halaman web yang umumnya berbentuk dokumen HTML

Macam - macam Web Server diantanya:

Apache Web Server - The HTTP Web Server

1.Apache Tomcat
2.Microsoft windows Server 2003 Internet Information Services (IIS)
3.Lighttpd
4.Sun Java System Web Server
5.Xitami Web Server
6.Zeus Web Server

Namun web yang terkenal dan yang sering digunakan adalah Apache dan Microsoft Internet Information Service (IIS).

Cara kerja web server :

1. Cara kerja Web Server Web server merupakan mesin dimana tempat aplikasi atau software beroperasi dalam medistribusikan web page ke user, tentu saja sesuai dengan permintaan user.

2. Hubungan antara Web Server dan Browser Internet merupakan gabungan atau jaringan Komputer yg ada di seluruh dunia. Setelah terhubung secara fisik, Protocol TCP/IP (networking protocol) yg memungkinkan semua komputer dapat berkomunikasi satu dengan yg lainnya. Pada saat browser meminta data web page ke server maka instruksi permintaan data oleh browser tersebut di kemas di dalam TCP yg merupakan protocol transport dan dikirim ke alamat yg dalam hal ini merupakan protocol berikutnya yaitu Hyper Text Transfer Protocol (HTTP). HTTP ini merupakan protocol yg digunakan dalam World Wide Web (WWW) antar komputer yg terhubung dalam jaringan di dunia ini. Untuk mengenal protocol ini jelas sangan mudah sekali dimana setiap kali anda mengetik http://… anda telah menggunakannya, dan membawa anda ke dunia internet. Data yg di passing dari browser ke Web server disebut sebagai HTTP request yg meminta web page dan kemudian web server akan mencari data HTML yg ada dan di kemas dalam TCP protocol dan di kirim kembali ke browser. Data yg dikirim dari server ke browser disebut sebagai HTTP response. Jika data yg diminta oleh browser tidak ditemukan oleh si Web server maka akan meninbulkan error yg sering anda lihat di web page yaitu Error : 404 Page Not Found.

Apache, MySQL, PHP
Apache adalah salah satu aplikasi web server yang terbaik karena kehandalannya,
kecepatannya, dan selain itu apache juga bersifat open source. Apache secara default terdapat
di distro – distro linux.
MySQL merupakan salah satu software database yang sangat terkenal di dunia.
Terkenal karena kecepatan, kemudahan penggunaan, konektifitas dan sekuritas yang baik,
serta harga yang masih cenderung gratis untuk pengguna tertentu.
PHP adalah bahasa pemograman yang bersifat server side dan menyatu dengan HTML.
Server side adalah sintaks dan perintah-perintah yang kita berikan akan sepenuhnya dijalankan
di server sedangkan yang diterima klien hanya HTML biasa.

Cara1:

Iinstal LAMP (Linux-Apache-MySQL-PHP) di Ubuntu 9.04 (Jaunty Jackalope) versi Desktop

Instalasi LAMP:
LAMP Ubuntu Jaunty Jackalope Gunakan Synaptic Package Manager dan command apt-get (lebih sering menggunakan apt-get karena lebih cepat). Repository paket langsung dari internet yang dihubungkan melalui Proxy Server di tempat kerja saya.

  1. Dari desktop Gnome, pilih System -> Administration -> Synaptic Package Manager.
  2. Setelah berada pada window Synaptic Package Manager, pilih Edit -> Mark Packages by Task.
  3. Kemudian pilih LAMP server dan jalankan instalasinya.
  4. Untuk instal phpMyAdmin, silahkan Search dan ketikkan phpmyadmin.

Jika teman2 ingin menggunakan command apt-get atau aptitude ini tutorialnya:

  1. Instal Apache: sudo apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert
  2. Instal PHP: sudo apt-get install libapache2-mod-php5 libapache2-mod-ruby libapache2-mod-python php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
  3. Instal MySQL: sudo apt-get install mysql-server mysql-client libmysqlclient15-dev
  4. Instal phpMyAdmin: sudo apt-get install phpmyadmin

Konfigurasi Web Server Apache:

Edit file /etc/apache2/sites-enabled/000-default, rubah pada bagian:


Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

menjadi:


Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

  • Aktifkan module rewrite (untuk mengaktifkan URL ramah Drupal), gunakan command: $ sudo a2enmod rewrite, sehingga akan muncul:Module rewrite installed; run /etc/init.d/apache2 force-reload to enable.
  • Jalankan/restart web server apache untuk mengaktifkan perubahan yang sudah dilakukan dengan command: $ sudo /etc/init.d/apache2 restart, jika berhasil maka akan muncul:

Restarting web server apache2
…waiting [ok]

  • Rubah root direktory web server dengan command:$ sudo chown -R [nama-user] /var/www

Maksudnya agar [nama-user] memiliki akses full terhadap root direktori web server, sehingga memudahkan pengelolaan web saat kita login menggunakan user [nama-user] nantinya.

Konfigurasi MySQL:
phpMyAdmin Ubuntu Jaunty JackalopeUntuk mengelola database MySQL saya menggunakan phpMyAdmin. Saya hanya perlu menambahkan user baru selain root untuk akses database nantinya.
1.Dari browser arahkan URL ke: http://localhost/phpmyadmin. Kemudian masukkan username root dan password.
2.Setelah login dihalaman phpMyAdmin, pilih tab Hak Akses. Kemudian tambahkan pengguna baru, beri hak atas akses database untuk host localhost.


Cara2:

1. Setelah MySQL terinstall dengan baik, ubah password user root yang terdapat di
MySQL, dengan menggunakan perintah berikut:
$ sudo su
# mysqladmin -u root -p password passwordbaru
Catatan: ubah passwordbaru dengan password yang diinginkan. Setelah itu restart
MySQL.
# /etc/init.d/mysql restart
2. Selanjutnya kita tambahkan user lain kedalam database MySQL, dengan
mengetikan perintah berikut:
# mysql -u root –p
Enter password: passwordbaru
mysql> use mysql;
mysql> INSERT INTO user (host, user, password, select_priv, insert_priv,
update_priv, delete_priv, create_priv, drop_priv) VALUES
('localhost','pick',PASSWORD('123'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
mysql> flush privileges;
mysql> exit;
3. Agar php dapat bekerja dengan mysql, kita harus mengedit file
/etc/php5/apache2/php.ini. Hilangkan tanda komentar pada ;extension=mysql.so
Sebelum:
;extension=mysql.so
Sesudah:
extension=mysql.so
Konfigurasi Apache Web Server
Berikut adalah langkah-langkah mengkonfigurasi Web Server:
1. Buat file /etc/apache2/sites-available/skullnet
$ sudo vi /etc/apache2/sites-available/skullnet
Dengan isi file seperti berikut :
NameVirtualHost 192.168.0.1:80

ServerAdmin webmaster@skull.net
ServerName www.skull.net
DocumentRoot /var/www/skullnet
ScriptAlias /cgi-bin/ /var/www/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews
+SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn,
error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On

Edit option-option berikut, sehingga sesuai dengan keadaan server anda :
 ServerAdmin
Option ini mendefinisikan admin webmaster.
 DocumentRoot
Document root adalah di rektori tempat dokumen web anda.
Contoh : DocumentRoot /var/www/skullnet
 ServerName
Option ini berfungsi mendefinisikan nama server kita. Secara default option ini
tidak ada, buat option ini secara manual. Contoh: ServerName www.skull.net
 ScriptAlias dan Directory “/var/www/cgi-bin/"
Option ini berfungsi mendefinisikan direktori cgi-bin.
2. Setelah membuat dan menyimpan file tersebut, buat direktori /var/www/skullnet
untuk menyimpan file-file web kita dan buat direktori /var/www/cgi-bin.
$ sudo mkdir -p /var/www/skullnet
$ sudo mkdir -p /var/www/cgi-bin
3. Langkah selanjutnya yaitu membuat simbolik links kedalam direktori
/etc/apache2/sites-enabled, gunakan perintah berikut:
$ sudo a2ensite skullnet
4. Selanjutnya kita buang simbolik link konfigurasi default, karena kita sudah
menggunakan konfigurasi yang baru yaitu sekolahnet
$ sudo a2dissite default
5. Restart apache
$ sudo /etc/init.d/apache2 restart
6. Sekarang waktunya uji coba. Buat file /var/www/skullnet/info.php dengan isi file
sebagai berikut:
$ sudo vi /var/www/skullnet/info.php
7. Lakukan browsing dari klien menuju alamat http://www.sekolah.net/info.php


Kamis, 05 Agustus 2010

Admin Server (Resume DNS Security)

Resume DNS Security
A.Pengertian DNS
Domain Name System (DNS) adalah distribute database system yang digunakan untuk pencarian nama
komputer (name resolution) di jaringan yang mengunakan TCP/IP (Transmission Control
Protocol/Internet Protocol). DNS biasa digunakan pada aplikasi yang terhubung ke Internet seperti web
browser atau e-mail, dimana DNS membantu memetakan host name sebuah komputer ke IP address.
Selain digunakan di Internet, DNS juga dapat di implementasikan ke private network atau intranet

B.Nama Server/Name Server,Zona dan Resolver

-Nama Server/Name Server dan Zona

Program yang menyimpan informasi tentang domain name space disebut server nama(name server). Server nama biasanya mempunyai informasi yang lengkap mengenai bagian-bagian dari domain name space yang disebut zona (zone), yang biasanyadiambil dari file atau dari Server nama lainnya. Server nama mempunyai otoritas (authority) untuk zona tersebut, dan Server nama juga dapat mempunyai otoritas untuk banyak zona.

-Resolver

Resolvers merupakan client yang mengakses Server nama. Umumnya resolver
melakukan :
• Query sebuah server nama.
• Menginterpretasikan respon (dapat berupa resource record atau sebuah error).
• Mengirimkan kembali informasi kepada program yang memintanya.
Dalam BIND (Berkeley Internet Name Domain), implementasi UNIX untuk sebuah server DNS, resolver hanya merupakan sebuah set library routines yang menghubungkan kedalam program seperti telnet dan ftp. Bahkan hal ini bukan merupakan proses yang terpisah dengan menggabungkan sebuah query, mengirim dan menunggu sebuah jawaban, dan untuk mengirimkan kembali query yang tidak mendapat jawaban.

Jadi
1.Sebuah program aplikasi pada host yang mengakses domain system disebut sebagai resolver
2.Resolver mengontak DNS server, yang biasa disebut name server
3.DNS server mengembalikan IP address ke resolver yang meneruskan ke aplikasi yang membutuhkan IP address.

C.Cara Kerja DNS



D.File-File yang harus di konfigurasi

• Konfigurasi named.conf
• Konfigurasi file zone
• Konfigurasi resolv.conf
• Konfigurasi hosts
• Konfigurasi sysctl.conf
• Konfigurasi host.conf

atau

Standard
n named.conf di dalam /etc
n named.ca di dalam /var/named
n named.local di dalam /var/named

Jika ingin membuat master server maka harus ada:
n file zone -> mapping dari nama ke IP
n file reverse zone -> mapping dari IP ke nama

Blok dalam named.conf
n options — List konfigurasi global dan default
n include — berisi path file lain yang diperlukan
n acl — IP address dalam access control list
n server — properties khusus untuk remote servers
n zone — informasi khusus untuk zona

E.KONFIGURASI DNS SECURITY

a.Untuk men deny(menolak koneksi)

options {
....

allow-transfer {none;}; // no transfer by default

....

};

....

zone "example.com in{

....

allow-transfer {10.0.1.2;}; // this host only

....

};

b.Jika BIND yang berjalan pada sistem Anda, statusnya dapat diinterogasi dengan mengeluarkan perintah berikut:

# ps aux |grep named

c.Dan hasil dari pencarian sebagai berikut:

named 36120 0.0 0.9 5372 4376 ?? Is 1:02PM 0:00.11 named -u named

d.untuk menetapkan waktu jalankan user id bind

# id named
uid=25(named) guid=25(named) groups=25(named)

e.Tanggapan UID sebelumnya menunjukkan sudah ada. Jika akun pengguna tidak ada, respon berikut dikembalikan:

id: named: no such user
f.Coba lagi dengan mengikat id, dan jika masih tidak ada pengguna yang valid, kemudian buat user yang unik dan
kelompok, sebagai berikut:

# groupadd -r named

g. Perintah sebelumnya menambahkan grup dengan nama dengan kelompok pertama sistem account bebas(R-argumen). Kehadiran kelompok dapat dikonfirmasikan dengan vigr perintah, yang menampilkan dan memungkinkan pengeditan daftar kelompok dalam sistem (gunakan: q! untuk keluar vigr tanpa membuat perubahan).

# useradd -c 'Bind daemon' -d /var/named -s /sbin/nologin -g named -r named

h. Untuk membuat dan mengatur hak akses serta menulis file run time (log dan PID), gunakan berikut
perintah:

# cd /var/log

# mkdir named

# touch named/example.log

# chown named:dnsadmin named/*

# chmod 0660 named/*

# cd /var/run

# mkdir named

# touch named/named.pid

# chown named:named/*

# chmod 0664 named/*

h.. Set hak akses pada setiap direktori kunci, seperti ditunjukkan pada berikut

# cd /var/named
# chown named:named keys/*

# chmod 04000 keys/*

i.Set hak akses pada setiap file zona pribadi

# cd /var/named
# chown -R dnsadmin:root master/private/*

# chmod -R 0660 master/private/*
j. Set hak akses pada setiap file zona DDNS:
# cd /var/named
# chown -R named:root masters/ddns/*

# chmod -R 0660 masters/ddns

k. Set hak akses pada tampilan-private menyertakan file:
cd /var/named

chown -R dnsadmin:root views/*
chmod -R 0660 views/*

Tambahan

Pada tingkat mikro, layanan DNS sangat penting untuk pengoperasian Internet. Pada mikro atau ditingkat lokal, layanan DNS sangat penting bagi operasi suatu perusahaan atau dalam pencarian website tercinta. Dalam semua kasus, investasi yang tepat dalam keamanan harus dilakukan untuk memastikan efektivitas dan keamanan dari sistem DNS. DNS yang bersifat publik system. Artikel ini memperkenalkan keamanan DNS, dengan tujuan memungkinkan pembaca untuk memilih teknik yang sesuai untuk tingkatan yang dianggap merupakan ancaman. Sayangnya, istilah DNSSEC (DNS Security) memiliki reputasi buruk karena kompleksitas yang dirasakan, dan sering digunakan untuk menutupi seluruh baigan keamanan DNS. Ada banyak aspek DNS keamanan, mulai dari yang relatif sederhana untuk mengimplementasikan untuk yang lebih kompleks. artikel ini membagi keamanan menjadi empat bagian:

1. Administrative Security: bagian dari artikel ini yang mencakup penggunaan hak akses file, konfigurasi server, konfigurasi BIND, dan sandboxes (atau chroot jail’s).

2. Transfer Zone: Kecuali sistem konfigurasi multimaster yang sedang digunakan, transfer Zone sangat penting untuk beroprasi secara Normal.

3. Dynamic Updates: selalu update mengekspos file master zone dari kemungkinan terjadi korup, kehancuran, atau keracunan.

4. Zona integrity: sangat penting, bahwa zona data yang digunakan oleh salah satu DNS lain atau end User(klient) benar (yaitu, tanggapan query belum dirusak dan kembali data hanya berasal dari pemilik zona), maka DNSSEC diperlukan.

Setiap alur data merupakan sumber potensial ancaman.

DNS Aliran Data Normal

Setiap aliran data -yaitu, setiap nomor baris dalam Gambar merupakan sumber potensi ancaman.

Dalam Tabel mendefinisikan hasil potensi ancaman pada setiap titik dan kemungkinnan solusinya.



Klasifikasi Keamanan

1. Local threats

2. Server-Server

3. Server-Client

4. Client-Clinet

Deny All, Allow Selectively

Sewaktu mengijinkan Oprasi, misal dalam notifikasi atau Zone Transfer, itu mungkin menjadi berharga dalam melarang serentak oprasi dan meng-Enable kan dengan selektif

options {

....

allow-transfer {none;}; // no transfer by default

....

};

....

zone "example.com in{

....

allow-transfer {10.0.1.2;}; // this host only

....

};

Melihat apakah Proses Bind telah beroprasi

# PS aux |grep named

Mensetting Bind untuk beroprasi secara Runtime

# groupadd -r named

# useradd -c 'Bind daemon' -d /var/named -s /sbin/nologin -g named -r named


Untuk membuat dan mengatur hak akses serta menulis file run time (log dan PID), gunakan berikut
perintah:

# cd /var/log

# mkdir named

# touch named/example.log

# chown named:dnsadmin named/*

# chmod 0660 named/*

# cd /var/run

# mkdir named

# touch named/named.pid

# chown named:named/*

# chmod 0664 named/*

Set hak akses pada setiap direktori kunci, seperti ditunjukkan pada berikut

# cd /var/named

# chown named:named keys/*

# chmod 04000 keys/*

Set hak akses pada setiap file zona pribadi

# cd /var/named

# chown -R dnsadmin:root master/private/*

# chmod -R 0660 master/private/*

Set hak akses pada setiap file zona DDNS:

# cd /var/named

# chown -R named:root masters/ddns/*

# chmod -R 0660 masters/ddns

Set hak akses pada tampilan-private menyertakan file:

#cd /var/named

#chown -R dnsadmin:root views/*

#chmod -R 0660 views/*

DNSSEC

DNSSEC mendefinisikan sebuah proses dimana name server dikonfigurasi secara suitably configured yang dapat memverifikasi dan integritas hasil query dari sebuah signed zone.

DNSKEY, dan Next Secure (NSEC) RRs, digunakan oleh DNSSEC. Untuk mengaktifkan security-aware, menerima name server untuk melakukan hal berikut :

  • Authentication bahwa data yang diterima hanya bisa berasal dari zona yang diminta.
  • Verifikasi integritas data. Data yang diterima di server nama query adalah data yang dikirim dari tanya bernama server. Isi data yang dilindungi, bukan saluran komunikasi.
  • Verifikasi bahwa jika sebuah respons negatif (NXDOMAIN) diterima untuk permintaan tuan rumah, yang menargetkan catatan tidak ada.

Island of Security


Chains of Trust


Implementasi DNSSEC

Untuk mengilustrasikan proses pelaksanaan DNSSEC, prosedur berikut ini akan dijelaskan dengan contoh:

  • Mengamankan example.com zona menggunakan ZSK terpisah dan KSK
  • Membuat terpercaya jangkar untuk example.com di server nama di ns1.example.net
  • Mengamankan zona sub.example.comMenambahkan RR DS untuk sub.example.com ke example.com untuk menciptakan zona aman delegasi dalam rantai kepercayaan
  • Rolling yang ZSK dan KSK untuk example.com

Mengamankan Zona example.com

Zona example.com, yang akan ditandai selama proses ini, adalah sebuah Island Security dan file zone seperti yang ditunjukkan di sini :