Selamat Datang !

Tugas sekolah si pimen :D

Jumat, 28 Januari 2011

Proxy Server Linux dengan Squid


Bagi sebagian rekan-rekan yang mau membuat proxy server dengan Linux, atau bagi adik-adik Ilmu Komputer USD yang mau coba-coba belajar bikin proxy, saya ingin membagikan pengalaman kecil saya dalam membuat proxy menggunakan Linux. Meski banyak software untuk membuat proxy server, saya memilih squid karena paketnya sudah ter-include dalam distro yang saya gunakan (Fedora Core) dan hampir sebagian proxy server Linux menggunakan squid. Untuk spesifikasi hardware yang saya gunakan, dapat dilihat di artikel Proxy Server di tempat kerja saya. Proxy server tersebut menggunakan squid versi 2.6-12 pada distro Fedora Core 6 yang saya fungsikan sebagai:

Menyimpan halaman web di proxy untuk mempercepat akses Internet.

Akses kontrol Internet berdasarkan IP Address. Menggunakan 2 network yang berbeda (saya fungsikan juga sebagai router – dengan IP Forwarding), untuk ini, saya menggunakan 3 NIC pada 1 server.

Blacklist daftar situs terlarang secara manual.

Membatasi ukuran download File dengan ekstension tertentu dan hanya berlaku pada jam tertentu.

Pesan Error dalam format Bahasa Indonesia.

Rule untuk memperbolehkan akses Internet hanya protokol tertentu saja.

Langkah-langkah yang saya lakukan:

Instal aplikasi squid
Edit file konfigurasi squid
Buat direktori dan file blacklist untuk blacklist secara manual
Buat direktori dan file untuk pesan error dalam bahasa indonesia
Check konfigurasi firewall yang diterapkan di proxy
Jalankan servicenya
Test konfigurasi di proxy dan client
File konfigurasi squid: /etc/squid/squid.conf (versi saya)

#SQUID 2.6.STABLE12
#Author by: http://fxekobudi.net

# OPTION JARINGAN
# —————————————————————————–
http_port 3128
icp_port 0

# OPTION UKURAN CACHE
# ——————————————————————-
cache_mem 256 MB
cache_swap_low 94
cache_swap_high 96
maximum_object_size 16384 KB
minimum_object_size 4 KB
maximum_object_size_in_memory 2048 KB
fqdncache_size 1024
cache_replacement_policy heap GDSF
memory_replacement_policy heap GDSF

# DIREKTORI LOG DAN CACHE
# ——————————————————————
cache_dir aufs /var/spool/squid 9000 16 256
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log none

# TUNING CACHE PROXY
# ——————————————————————
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
negative_ttl 1 minutes

# TIMEOUT
# —————————————————————–
half_closed_clients off
# ————————————-
# Memblok situs terlarang (blacklist)secara manual
# ————————————-
acl noblacklist dstdomain “/etc/squid/blacklist/no-blacklist.txt”
acl katablacklist url_regex -i “/etc/squid/blacklist/kata-blacklist.txt”
acl domainblacklist dstdomain “/etc/squid/blacklist/domain-blacklist.txt”
acl ipblacklist dst “/etc/squid/blacklist/ip-blacklist.txt”

acl tdkbebasdownload time 08:00-13:00

# AKSES KONTROL
# ——————————————————————
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
# ————————————-
# Daftar IP address
# ————————————-
acl lab1 src 192.168.254.1-192.168.254.40/255.255.255.255
acl staf-it src 192.168.254.41-192.168.254.42/255.255.255.255
acl lab2 src 192.168.254.43-192.168.254.44/255.255.255.255
acl ruang1 src 192.168.1.1-192.168.1.8/255.255.255.255
acl ruang2 src 192.168.1.11-192.168.1.17/255.255.255.255

# ————————————-
# Memblok situs terlarang secara manual
# ————————————-
http_access allow noblacklist
http_access deny katablacklist
http_access deny domainblacklist
http_access deny ipblacklist

http_access allow manager localhost
http_access deny manager
# ————————————-
# Rule yang saya terapkan
# ————————————-
http_access allow lab1
http_access allow staf-it
http_access allow lab2
http_access allow ruang1
http_access allow ruang2

acl magic_words2 url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .tar.bz2 .bz2 .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .raw .wav .iso

# Cancel download if file is bigger than 2 MB = 2000×1024 byte = 2048000 byte
reply_body_max_size 2048000 allow magic_words2 tdkbebasdownload

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all

# PARAMETER ADMINISTRATOR
# —————————————————————–
cache_mgr fxekobudi@gmail.com
cache_effective_user squid
cache_effective_group squid
visible_hostname proxy.fxekobudi.local

# PESAN ERROR DALAM BAHASA INDONESIA
# ——————————————————————–
error_directory /usr/share/squid/errors/Indonesian

Agar fungsi blacklist manual itu dapat digunakan, buat direktori berisi file-file disebutkan dalam blacklist manual:

# mkdir /etc/squid/blacklist
# cd /etc/squid/blacklist/
# vim no-blacklist.txt
# vim kata-blacklist.txt
# vim domain-blacklist.txt
# vim ip-blacklist.txt

Minimal dimasukkan satu item untuk masing-masing file tersebut, karena jika tidak, maka saat kita melihat error log squid sesaat setelah service dijalankan, akan ada pesan error tidak menemukan item pada file tersebut…

Selain itu, saya juga menyertakan konfigurasi untuk pesan Error dari Proxy squid dalam bentuk bahasa indonesia, agar user di tempat kerja saya lebih mudah memahami maksudnya… Ide pesan error ini kemudian menjadi inspirasi saya saat mengkonfigurasi redirect SquidGuard untuk mengarah kepada file yang sengaja saya buat di root direktori web server proxy.
Untuk melakukannya, tinggal copykan saja pesan Error dalam bahasa Inggris ke direktori lokasi pesan error berbahasa Indonesia.

# cp /usr/share/squid/errors/English /usr/share/squid/errors/Indonesian

trus terjemahkan file-filenya…

Untuk menjalankan servicenya, gunakan saja perintah:

# /sbin/service squid start

Oh ya, Anda juga perlu menambahkan di konfigurasi Firewall menggunakan Iptable agar client diperbolehkan mengakses Internet ini melalui proxy, request client ke proxy dengan IP address yang terdaftar diperbolehkan melalui port 3128 (atau 8080) tergantung konfigurasi yang Anda gunakan… Saya jadi ingat waktu pertama kali mencoba, koneksi internet di server pake proxy udah jalan, tapi kok clientnya ngga bisa akses, eh ternyata emang client belum diperbolehkan akses ke IP address dan portnya proxy… Hehe. Agar bisa akses ke proxy, rule iptable-nya untuk file /etc/sysconfig/iptables harus memuat rule ini: (saya pakai konfigurasi firewall bawaan Fedora Core)

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3128 -j ACCEPT

Untuk menerapkan IP forwarding, saya edit file /etc/sysctl.conf dan memberi nilai 1 (enable) untuk direktive:

net.ipv4.ip_forward = 0 menjadi net.ipv4.ip_forward = 1

Selasa, 18 Januari 2011

Perbedaan Xammp, Innodb, dan Heat

1. Xammp

XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem oprasi, dan merupakan kompilasi dari beberapa program.

Fungsinya adalah sebagai server yang berdiri sendiri (local host), yang terdiri atas program Apache HTTP server,MySQL database, dan penerjemah bahasa yang ditulis denganbahasa pemprograman PHP dan perl Dengan menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi web server Apache, PHP dan MySQL secara manual. XAMPP akan menginstalasi dan mengkonfigurasikannya secara otomatis untuk anda atau auto konfigurasi. Nama XAMPP merupakan singkatan dari X (empat sistem operasi apapun),Apache, MySQL, PHP dan perl. program ini tersedia dalam GNU general publik license danbebas, merupakan web server yang mudah digunakan yang dapat melayani tampilan halaman web yang dinamis.

Bagian penting Xammp :

· htdoc adalah folder tempat meletakkan berkas-berkas yang akan dijalankan, seperti berkas PHP, HTML dan skrip lain.

· phpMyAdmin merupakan bagian untuk mengelola basis data MySQL yang ada dikomputer. Untuk membukanya, buka browser lalu ketikkan alamat http://localhost/phpMyAdmin, maka akan muncul halaman phpMyAdmin.

· Kontrol Panel yang berfungsi untuk mengelola layanan (service) XAMPP. Seperti menghentikan (stop) layanan, ataupun memulai (start).


2.
Innodb

Innodb adalah jenis storage engine MYSQL yang di gunakan untuk menyimpan data yang sengat besar, lebih dari MYISAM. Tapi INNODB juga punya kekurangan yaitu membutuhkan Resource Hardware yang lebih tinggi.

Beberapa fasilitas yang bisa dilakukan oleh Innodb diantaranya :

· Cascade On Delete : fasilitas untuk melakukan delete ketika nilai pada reference di hapus

· Sedangkan Cascade on Update : fasilitas yang melakukan update otomatis pada table yang mengacu ke tabel tersebut

Untuk mengaktifkan Innodb pada MySQL dapat dilakukan dengan cara :

1. buka my.ini atau my.cfg
2. cari tulisan #default-storage-engine=INNODB
3. ganti menjadi default-storage-engine=INNODB
#untuk menjadikan Innodb sebagai type database default
4. cari tulisan skip-innodb
5. ubah menjadi #skip-innodb

3. Heap

Heap adalah sebuah binary tree dengan ketentuan sebagai berikut :

· Tree harus complete binary tree

- Semua level tree mempunyai simpul maksimum kecuali pada level terakhir.

- Pada level terakhir, node tersusun dari kiri ke kanan tanpa ada yang dilewati.

· Perbandingan nilai suatu node dengan nilai node child-nya mempunyai ketentuan berdasarkan jenis heap, diantaranya :

- Max Heap mempunyai ketentuan bahwa nilai suatu node lebih besar atau sama dengan ( >= ) dari nilai childnya.

- Min Heap mempunyai ketentuan bahwa nilai suatu node lebih kecil atau sama dengan ( <= ) dari nilai childnya.

4. Kesimpulan

Kesimpulannya adalah perbedaan dari Xammp, Innodb, dan Heat adalah terletak pada fungsi dan kegunaannya. Software Xammp berfungsi sebagai server (localhost) yang bersifat auto configuration. Sehingga kita tidak perlu lagi melakukan instalasi dan konfigurasi web server Apache, PHP dan MySQL secara manual.

Sedangkan Innodb adalah storage engine pada MySQL yang berfungsi sebagai tempat penyimpanan data. Heap adalah binary tree.

Minggu, 16 Januari 2011

Dedicated Router

  • Definisi
Router adalah sebuah device yang berfungsi untuk meneruskan paket-paket dari sebuah network ke network yang lainnya (baik LAN ke LAN atau LAN ke WAN) sehingga host-host yang ada pada sebuah network bisa berkomunikasi dengan host-host yang ada pada network yang lain. Router menghubungkan network-network tersebut pada network layer dari model OSI, sehingga secara teknis Router adalah Layer 3 Gateway.


Ada berbagai jenis router yang diproduksi oleh vendor tertentu untuk keperluan jaringan berupa sebuah peralatan yang dirancang khusus
untuk berfungsi sebagai router (dedicated router) atau router yang berdiri sendiri yaitu sebuah peralatan yang berfungsi melakukan proses hubungan koneksi dua buah model jaringan atau lebih, seperti Cisco, Juniper, 3Com, baynetwork, dan lainnya.

Selain router dedicated ada juga router yang menggunakan PC router yaitu PC yang digunakan sebagai router (routing), biasanya yang digunakan adalah PC-Multihomed yaitu computer yang memiliki lebih dari 1 NIC (Network Interface Card).

Untuk desain route sederhana dapat digunakan Default Gateway sedangkan untuk kondisi jaringan yang sudah begitu kompleks dapat menggunakan routing static atau kedua-duanya secara kombinasi yakni menggunakan default gateway dan static route apda titik-titik tertentu. Tabel routing terdiri atas ebtri-entri rute dan setiap entri rute terdiri dari IP address, tanda untuk menunjukkan routing langsung atau tidak langsung, alamat router, dan nomor interface.

Cisco Hierarchical Model


Cisco Hierachical Model terbagi ke dalam tiga layer, yaitu:

  • Core Layer, merupakan layer terluar. Pada layer ini bertanggung jawab untuk mengirim traffic scara cepat dan andal. Tujuannya hanyalah men-switch traffic secepat mungkin (dipengaruhi oleh kecepatan dan latency). Device yang digunakan pada layer ini sebaiknya device yang mampu menerima data dalam jumlah besar dan dapat mengirim data dengan cepat.
Pada bagian Inti terdapat interkoneksi utama atau akses utama dari network dan yang akan mengoptimalkan transport antar sites. Bisa berupa perangkat Switching di Layer 2 atau Layer 3 yang tugas pokonya sebagai interkoneksi semua sumber daya. Contohnya perangakt Switching Layer 3 yang bertugas forward dan routing semua paket masuk dan keluar network, fungsi firewall dan sistem keamanan lainnya juga bisa di implementasikan di Hirarki Core ini.

Kegagalan pada core layer dan desain fault tolerance untuk level ini dapat dibuat sbb :

Yang tidak boleh dilakukan :
• tidak diperkenankan menggunakan access list, packet filtering, atau routing VLAN.
• tidak diperkenankan mendukung akses workgroup.
• tidak diperkenankan memperluas jaringan dengan kecepatan dan kapasitas yang lebih besar.

Yang boleh dilakukan :
• melakukan desain untuk keandalan yang tinggi ( FDDI, Fast Ethernet dengan link yang redundan atau ATM).
• melakukan desain untuk kecepatan dan latency rendah.
• menggunakan protocol routing dengan waktu konvergensi yang rendah.

  • Distribusi Layer, pada layer ini sering disebut juga workgroup layer, merupakan titik komunikasi antara access layer dan core layer. Fungsi utamanya adalah routing, filtering, akses WAN, dan menentukan akses core layer jika diperlukan. Menentukan path tercepat/terbaik dan mengirim request ke core layer. Core layer kemudian dengan cepat mengirim request tersebut ke service yang sesuai.
Device yang diguna kan pada layer ini sebaiknya device yang mampu menetapkan policy terhadap jaringan dan mampu melakukan peyaringan/filter paket dan bertindak sebagai firewall. Router bias ditempatkan pada distribusi layer ini. di bagian distribusi akan ditugaskan untuk mendistribusikan semua pengaturan di hirarki Core ke Access dan yang akan membuat kebijakan koneksi. Distribusi lebih ditekankan untuk mempermudah pengaturan dan menyebarkan resource yang ada di network sesuai dengan aturan yang telah dibuat. Peralatan pada hirarki ini biasanya berupa Switching di layer 2.

  • Akses Layer, merupakan layer yang terdekat dengan user. Pada layer ini menyediakan aksess jaringan untuk user/workgroup dan mengontrol akses dan end user local ke Internetwork. Sering di sebut juga desktop layer. Resource yang paling dibutuhkan oleh user akan disediakan secara local. Kelanjutan penggunaan access list dan filter, tempat pembuatan collision domain yang terpisah (segmentasi). Teknologi seperti Ethernet switching tampak pada layer ini serta menjadi tempat dilakukannya routing statis.
Sebaiknya device yang terpasang dapat berfungsi menghubungkan antar host dan dapat mengatur collision domain. di bagian inilah semua perangkat disebarkan dan di interkoneksikan ke semua end point sumber daya yang ada misalnya terminal user dan sebagainya. Peralatan bisa berupa router layer 3 atau switching layer 2.

Sabtu, 15 Januari 2011

Identifikasi Dedicated Router

Saat ini kita akan mengindentifikasi perangkat Dedicated Router Cisco Catalyst 3620. Untuk mengetahui spesifikasi dari router ini dan perangkat-perangkat Cisco Catalyst yang lain, dapat dilakukan dengan cara memperhatikan teks pada saat perangkat dalam keadaan booting. Atau jika tidak sempat memperhatikan teksnya, daat juga dilakukan dengan melihat output dari perintah berikut ini :

Router#show version
Cisco Internetwork Operating System Software  
IOS ™ 3600 Software (C3620-IK9O3S7-M), Version 12.3(25), RELEASE SOFTWARE (fc1)  
Copyright (c) 1986-2008 by cisco Systems, Inc.  
Compiled Mon 28-Jan-08 20:16 by alnguyen   

ROM: System Bootstrap, Version 11.1(20)AA2, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)  

Router uptime is 23 minutes  
System returned to ROM by reload  
System image file is “flash:c3620-ik9o3s7-mz.123-25.bin”   

This product contains cryptographic features and is subject to United  
States and local country laws governing import, export, transfer and  
use. Delivery of Cisco cryptographic products does not imply  
third-party authority to import, export, distribute or use encryption.  
Importers, exporters, distributors and users are responsible for  
compliance with U.S. and local country laws. By using this product you  
agree to comply with applicable laws and regulations. If you are unable  
to comply with U.S. and local laws, return this product immediately.   

A summary of U.S. laws governing Cisco cryptographic products may be found at: 
 http://www.cisco.com/wwl/export/crypto/tool/stqrg.html   
If you require further assistance please contact us by sending email to  
export@cisco.com.   

cisco 3620 (R4700) processor (revision 0×81) with 60416K/5120K bytes of memory.  
Processor board ID 24807256  
R4700 CPU at 80MHz, Implementation 33, Rev 1.0  
Bridging software.  
X.25 software, Version 3.0.0.  
2 FastEthernet/IEEE 802.3 interface(s)  
32 terminal line(s)  
DRAM configuration is 32 bits wide with parity disabled.  
29K bytes of non-volatile configuration memory.  
32768K bytes of processor board System flash (Read/Write)   

Configuration register is 0×2102   

Router# 

Dari Output diatas, dapat disimpulakan spesifikasi sebagai berikut.

Processor (CPU) : Cisco 3600 (R4700) processor (revision 0×81)

RAM : DRAM (32bit) = 59 MB ; SRAM = 5 MB

ROM : 29 KB

Flash Memory : 32 MB

Versi IOS : IOS 3600 Software (C3620-IK9O3S7-M) Version 12.3(25)

Image : c3620-ik9o3s7-mz.123-25.bin (terletak pada flash memory)

NIC : 2 Fast Ethernet/IEEE 802.3 , X.25

Hierarchical Network Design

Berikut adalah topologi pengklasifikasian network design secara herarki:


Cisco 7200 Series Router dipilih sebagai core layer dengan prioritas WAN yang mempunyai high-performance pada kualitas servisnya (Quality of Service). Router ini dipilih karena mendukung berbagai kepadatan, kinerja juga persyaratan layanan. Router ini pun masuk kedalam kategori high-end untuk Customer Pemises Equipment (CPE).

Kemudian, pada Distribution Layer kita pilih Cisco Catalyst 6500 Switch karena switch ini bekerja pada layer 3 dan dapat mengatasi solusi Routing juga Virtual Switching. Switch ini pun dapat meningkatkan efisiensi operasional dan meminimalkan downtime. Serta mendukung Layer 3 Mulprotocol, menyediakan dukungan hardware untuk kelas enterprise dan penyedia layanan skala tabel routing serta mendukung IPv6 dengan kinerja tinggi, sehingga dapat dipertimbangkan untuk ditempatkan di Distribution Layer.

Dan yang terakhir untuk Access Layer, kita pilih Cisco 2600 Series Router yang dapat menangani solusi routing LAN maupun Inter-VLAN Routing. Model ini mempunyai kinerja dan performa sekuritas yang telah ditingkatkan.