Sabtu, 13 April 2013

Proxy Server


Cara Install Squid Proxy :


  1. Pertama-tama install terlebih dahulu squid melalui terminal atau melalui command prompt dengan cara :
    apt-get install squid
  2. Setelah selesai maka Squid langsung dapat di konfigurasikan dengan cara :
    nano /etc/squid/squid.conf
  3. Tetapi sebelum di edit terlebih dahulu backup dulu file aslinya agar kalau rusak bisa dikembalikan ke default :
    nano /etc/squid/squid.conf /etc/squid/squid.conf.bak
  4. Baru kemudian kita mulai bermain-main dengan konfigurasi script Squid :
    nano /etc/squid/squid.conf
Cara setting konfigurasi Squid Proxy :


Biasanya untuk mengatur kecepatan internet kita lakukan Filtering:

  1. 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 : Siapa saja yang dapat mengakses Internet
  • contoh perintah : acl c1 src 170.0.0.101
  • acl : merupakan perintah access list
  • user : nama user yang memiliki IP atau group
  • src : merupakan source ip yang digunakan, bisa menggunakan range jika ingin membuat group

         2. Filtering Waktu : Memberikan izin akses berdasarkan waktu dan hari
  • perintah : acl waktu-akses time MTWHFA 08:00-16:00
  • acl : perintah access list
  • waktu-akses : caption untuk perintah acl
  • time : perintah squid utk mendefinisikan waktu
  • MTWHFA : merupakan perintah squid untuk mendefinisikan waktu
  • M : Monday, T : Tuesday, etc…..
  • 08:00-16:00 : Merupakan waktu yang diperbolehkan untuk memberikan akses internet ke penggunaFiltering Website : Memfilter website apa saja yang tidak boleh diakses oleh pengguna.
  • misal kita melarang untuk mendownload file .pdf .mp3 dan .doc
  • acl file url_regex -i \.pdf$ \.doc$ \.mp3$
     3.Untuk membatasi kecepatan kita menggunakan delay pool
contoh:
delay_pool 1
delay_class 1 2 
                  delay_access 1 allow c1
                  delay_parameters 2500/2500 2500/2500

script di atas membatasi kecepatan user c1 menjadi max 2,5 KBps

4.Untuk membuat user lain dapat menggunakan proxy maka proxy harus di export terlebih dahulu dengan cara:
export http_proxy=ip_proxy:port_proxy

Web Server : SSL


Disini kita mendapat kasus bagaimana configurasi webserver agar dapat menggunakan SSL pada Apache HTTP Server anda dengan studi kasus :  self-signed-certificate.

1. Masuk ke komputer host Anda. Disini, saya memakai komputer host bernama Didik yang berlaku sebagai web server

2. Matikan apache -> service apache2 stop

3. a2enmod ssl

4. Generate CSR : openssl req -new > new.ssl.csr
Generating a 1024 bit RSA private key ................++++++ ........................++++++ writing new private key to 'privkey.pem' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----- 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) [AU]:Enter Code Here State or Province Name (full name) [Some-State]:Enter State Here Locality Name (eg, city) []:Enter City Here Organization Name (eg, company) [Internet Widgits Pty Ltd]:Enter Company Name Organizational Unit Name (eg, section) []:Org Unit (if you have one) Common Name (eg, YOUR name) []:First and Last NameEmail Address []:Work Email Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:Leave Blank An optional company name []:Optional

5. Generate Certificate
openssl rsa -in privkey.pem -out new.cert.key
 openssl x509 -in new.ssl.csr -out new.cert.new.ssr.csr -req -signkey new.cert.key -days (berapa jumlah hari)
 cp new.cert.cert /etc/ssl/certs/server.crt
 cp new.cert.key /etc/ssl/private/server.key

6. Konfigurasi apache
nano /etc/apache2/sites-available/mydomain.net
kalau di komputer saya, nano /etc/apache2/sites-available/default
Kemudian isi code berikut di baris terbawah :
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key

Web Server : UML


Disini kita akan lebih belajar banyak tentang UML. UML (Unified Modeling Language) adalah sebuah bahasa untuk menetukan, visualisasi, kontruksi, dan mendokumentasikan artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak. Artifact dapat berupa model, deskripsi atau perangkat lunak) dari system perangkat lunak, seperti pada pemodelan bisnis dan system non perangkat lunak lainnya.
Nah sebelum itu, kita harus mengenal dulu nih apa yang disebut dengan topologi jaringan.Topologi jaringan adalah hal yang menjelaskan hubungan geometris antara unsur-unsur dasar penyusun jaringan, yaitu node, link, dan station. Berikut contoh topologi jaringan.



Keterangan:
eth0 : eth0 yang diatas adalah tuntap.
eth1: daemon ke topologi

Buka terminal di Ubuntu Anda, lalu ketik :
ssh -X –l c11 10.151.36.205
Setelah itu Anda akan dimintai password. Isi password tersebut.
Lalu buatlah file script. Caranya:
nano run.sh
Kemudian isi di dalamnya
uml_switch -unix switche22 > /dev/null < /dev/null &
xterm -T router -e linux ubd0=router,uml umid=router eth0=tuntap,,,10.151.70.89 eth1=daemon,,,switche22 mem=50M &
xterm -T host1 -e linux ubd0=host1,uml umid=host1  eth0=daemon,,,switche22 mem=50M &
xterm -T host2 -e linux ubd0=host2,uml umid=host2 eth0=daemon,,,switche22 mem=50M &
xterm -T host3 -e linux ubd0=host3,uml umid=host3 eth0=daemon,,,switche22 mem=50M &

Penjelasan:
systax awal: uml_switch -unix switche22 > /dev/null < /dev/null &
xterm -T router -e linux ubd0=router,uml umid=router eth0=tuntap,,,10.151.70.89$ : uml umid : router berarti kita menamai komputer virtual kita dengan nama router. tuntap 10.151.70.89 adalah tuntap saya. Sedangkan mem=50M adalah pengalokasian memori RAM kita sebesar 50Mb. dan adalah membuatnya sebagai daemon.

. Karena disini tadi saya memberi nama fil dengan nama run.sh, maka saya cukup ketikbash run.sh
Nah, file tersebut digunakan untuk menjalankan UML. Masalahnya bagaimana cara mematikannya? Caranya adalah membuat script untuk mematikannya. Berikut scriptnya:
nano stop.sh
lalu isi code di dalamnya:
uml_mconsole router halt &
uml_mconsole host1 halt &
uml_mconsole host2 halt &
uml_mconsole host3 halt &
Penjelasan:
uml_mconsole [nama uml kita] halt &[& artinya daemon]
Lalu run file yang telah Anda buat tadi. Caranya, bash [nama_file_anda]
Maka akan muncul komputer virtual Anda. Proses ini kadang berlangsung sangat lama, tergantung banyaknya user yang aktif di jaringan tersebut.

Sekarang konfigurasi 4 host tersebut.
- komputer router bertindak sebagai router
- komputer host1 bertindak sebagai web server
- komputer host2 bertindak sebagai proxy server
- komputer host3 bertindak sebagai client
Sekarang, kita masuk ke komputer virtual router. Pertama kali, login dan masukan password Anda.
1. Install update. Caranya: apt-get update
2. Edit file rc.local. Caranya: nano /etc/rc.local
Tambahkan di baris sebelum exit 0 dengan:
    iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    iptables -t nat -A POSTROUTING -o eth0 -j  MASQUERADE
3. Edit  nano /etc/sysctl.conf
uncoment #net.ipv4.ip_forward=1. Hilangkan tanda #
4. setting interface: nano /etc/network/interfaces. Berikut code-nya:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
        address 10.151.70.90 (tuntap Anda +2)
        netmask 255.255.255.0 (default)
        gateway 10.151.70.89 (tuntap Anda+1)
auto eth1
iface eth1 inet static
        address 172.16.0.3 (digit terakhir terserah Anda)
        netmask 255.255.255.0 (default)
4. reboot
5. coba cek dengan cara ping its.ac.id (karena menggunakan jaringan ITS)
Sekarang, kita masuk ke komputer virtual host1 . Disini dia bertindak sebagai webservernya. Hampir mirip dengan yang pertama, tapi disini kita perlu installphpmyadmin, apache2 dan lynx. Step-stepnya:
1. Update dulu komputer Anda: apt-get update
2. apt-get install phpmyadmin
3. apt-get install apache2
4. apt-get install lynx
5. reboot
6. ping its.ac.id
Sekarang, kita masuk ke komputer virtual host2. Hampir mirip dengan yang pertama, tapi disini kita perlu install phpmyadmin, apache2 dan lynx. Step-stepnya:
1. Update dulu komputer Anda: apt-get update
2. apt-get install squid3
3. reboot
4. ping its.ac.id
Sekarang, kita masuk ke komputer virtual host3. Hampir mirip dengan yang pertama, tapi disini kita perlu install lynx. Step-stepnya:
1. Update dulu komputer Anda: apt-get update
2. apt-get install lynx  (lynx itu bertindak sebagai browser Anda)
3. reboot
4. ping its.ac.id

Twitter Delicious Facebook Digg Stumbleupon Favorites More