WNDW: Firewall

From OnnoWiki
Revision as of 15:48, 1 February 2019 by Onnowpurbo (talk | contribs) (→‎Pranala Menarik)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Gambar 3.26: Firewall mencegah PC untuk mengakses Internet secara langsung, namun memungkinkan akses melalui proxy server.

Cara yang lebih dapat diandalkan untuk memastikan bahwa PC tidak melewati proxy dapat menggunakan firewall. Firewall dapat dikonfigurasi agar hanya memperbolehkan server proxy HTTP untuk membuat permintaan ke Internet. Semua PC lain yang diblokir, seperti yang ditunjukkan dalam Gambar 3.26.

Mengandalkan firewall mungkin cukup mungkin tidak, tergantung bagaimana konfigurasi firewall. Jika hanya memblok akses dari LAN port 80 pada web server, akan ada cara untuk pengguna pandai untuk mengatasinya. Selain itu, mereka akan dapat menggunakan protokol lain yang lapar bandwidth seperti BitTorrent atau Kazaa.


Dua Card Jaringan

Gambar 3.27: Satu-satunya rute ke Internet melalui proxy.

Mungkin metode yang paling dapat diandalkan adalah memasang dua card jaringan di proxy server dan menghubungkan jaringan LAN kampus ke Internet seperti yang ditunjukkan di bawah ini. Dengan cara ini, tata letak jaringan menjadikannya secara fisik tidak mungkin untuk mencapai Internet tanpa melalui proxy server.

Proxy server dalam diagram ini seharusnya tidak mengaktifkan IP forwarding, kecuali administrator mengetahui apa yang mereka ingin membiarkan lewat.

Satu keuntungan besar pada desain ini adalah sebuah teknik yang dikenal sebagai transparan proxy dapat digunakan. Menggunakan transparent proxy berarti bahwa permintaan pengguna web secara otomatis akan diteruskan ke proxy server, tanpa perlu mengkonfigurasi web browser secara manual untuk menggunakannya. Ini secara efektif memaksa semua lalu lintas yang akan web cache, menghilangkan banyak kemungkinan pengguna membuat kesalahan, dan bahkan akan bekerja dengan perangkat yang tidak mendukung penggunaan manual proxy. Untuk informasi lebih rinci tentang konfigurasi transparent proxy dengan Squid, lihat:


Routing Berbasis Kebijakan

Salah satu cara untuk mencegah mem-bypass proxy menggunakan peralatan Cisco adalah dengan kebijakan routing. Router Cisco akan secara transparan meminta permohonan akses web ke server proxy. Teknik ini digunakan di Universitas Makerere. Keuntungan metode ini adalah bahwa, jika proxy server down, kebijakan rute dapat sementara dihapus, memungkinkan pelanggan untuk koneksi langsung ke internet.


Mirror Seluruh Situs

Dengan izin dari pemilik atau webmaster dari sebuah situs, seluruh situs dapat dimirror ke server lokal dimalam hari, jika tidak terlalu besar. Ini adalah sesuatu yang mungkin perlu dipertimbangkan untuk website yang penting untuk sebuah organisasi atau yang sangat populer dikalangan pengguna web. Ini mungkin ada beberapa kegunaan, tetapi memiliki beberapa potensi berbahaya. Misalnya, jika situs yang dimirror berisi CGI script atau konten yang dinamis interaktif yang memerlukan masukan dari pengguna, ini akan menimbulkan masalah. Salah satu contoh adalah situs yang membutuhkan orang untuk mendaftar secara online untuk konferensi. Jika seseorang mendaftarkan diri ke server mirror (dan script yang di mirror berjalan), maka operator situs yang asli-nya tidak akan memiliki informasi tentang orang yang mendaftar.

Karena situs mirror dapat melanggar hak cipta, teknik ini hanya dapat digunakan dengan izin dari situs yang bersangkutan. Jika situs menjalankan rsync, situs dapat menggunakan mirror rsync. Ini mungkin yang tercepat dan paling efisien untuk menjaga isi situs mirror tetap sinkron. Jika remote web server rsync tidak berjalan, yang disarankan untuk menggunakan perangkat lunak adalah program wget. Ini adalah bagian dari sebagian besar versi Unix / Linux. Sebuah versi Windows dapat dilihat di http://xoomer.virgilio.it/hherold/, atau tool paket Unix bebas Cygwin (http://www.cygwin.com/).

Sebuah skrip dapat mengatur untuk menjalankan setiap malam pada sebuah web server lokal dan lakukan berikut:

Ubah direktori ke web server root dokumen web server: misalnya, /var/www/ pada Unix, atau C:\Inetpub\wwwroot pada Windows.

Mirror situs web menggunakan perintah:

wget --cache=off-m http://www.python.org

Situs web yang di mirror akan ada di direktori www.python.org. Web server sebaiknya sekarang dikonfigurasi untuk melayani isi direktori sebagai virtual host berbasis nama. Mengatur lokal ke server DNS untuk entri palsu dari situs ini. Agar ini dapat bekerja, PC klien harus dikonfigurasi untuk menggunakan server DNS lokal sebagai DNS primer. (Hal ini dianjurkan dalam setiap kasus, karena lokal caching server DNS akan mempercepat waktu respon web).


Pre-populate cache menggunakan wget

Daripada menyiapkan sebuah situs web mirror seperti yang dijelaskan di bagian sebelumnya, pendekatan yang lebih baik untuk mengisi proxy cache menggunakan proses otomatis. Metode ini telah dijelaskan oleh J.J. Eksteen dan J.P.L. Cloete dari CSIR di Pretoria, Afrika Selatan, di sebuah kertas berjudul "Enhancing International World Wide Web Access in Mozambique Through the Use of Mirroring and Caching Proxies". Dalam makalah ini (tersedia di http://www.isoc.org/inet97/ans97/cloet.htm) mereka menjelaskan bagaimana proses tersebut bekerja:

"Sebuah proses otomatis yang mengambil situs home page dan yang ditentukan jumlah halaman tambahan (secara rekursif mengikuti link HTML pada halaman diambil) melalui penggunaan proxy. Daripada menulis halaman yang di ambil ke disk lokal, proses mirror membuang halaman yang diambil. Hal ini dilakukan dalam rangka untuk menghemat sumber daya sistem serta menghindari kemungkinan konflik hak cipta. Dengan menggunakan proxy sebagai perantara, halaman yang di ambil dijamin akan di cache oleh proxy seperti klien jika mengakses halaman. Bila klien mengakses halaman yang diambil, ia disajikan dari cache dan tidak melalui sambungan internasional yang padat. Proses ini dapat dijalankan di waktu off-peak untuk memaksimalkan pemanfaatan bandwidth dan tidak untuk bersaing dengan aktifitas akses lainnya."


Perintah berikut (dijadwalkan untuk berjalan di malam hari atau sekali setiap minggu) adalah yang diperlukan (berulang lagi untuk setiap situs yang memerlukan pra-populasi).

wget --proxy-on --cache=off --delete after -m http://www.python.org

Pilihan berikut mengaktifkan hal:

-m: Mirror seluruh situs. wget dimulai di www.python.org dan mengikuti semua hyperlink, sehingga semua sub-halaman didownload. 
--proxy-on: memastikan bahwa wget menggunakan server proxy. Hal ini dapat tidak diabaikan jika digunakan transparent proxy. 
--cache=off: memastikan konten yang segar akan diambil dari Internet, dan tidak lokal dari server proxy. 
--delete after: Menghapus yang copy di mirror. Konten yang dimirror tetap di proxy cache jika ada cukup ruang disk, dan parameter server proxy-caching ditetapkan dengan benar.

Selain itu, wget memiliki banyak pilihan lain; misalnya, untuk memberikan password untuk website yang memerlukan password. Ketika menggunakan tool ini, squid harus dikonfigurasi dengan ruang disk cukup untuk menampung semua situs pra-populasi dan lainnya (untuk penggunaan normal Squid melibatkan halaman selain yang pra-populasi). Untungnya, harddisk saat ini menjadi semakin murah dan ukuran disk yang jauh lebih besar dari sebelumnya. Namun, teknik ini hanya dapat digunakan dengan beberapa situs yang dipilih. Situs ini tidak boleh terlalu besar untuk proses selesai sebelum hari kerja dimulai, dan harus memperhatikan baik-baik sisa ruang harddisk.



Hirarki cache

Ketika suatu organisasi memiliki lebih dari satu proxy server, proxy cache dapat berbagi informasi di antara mereka. Misalnya, jika halaman web server yang ada di cache A, tetapi tidak dalam cache dari server B, pengguna terhubung melalui server B mungkin mendapatkan obyek cache dari server A melalui server B. Inter-Cache Protocol (ICP) dan Cache Array Routing Protocol (CARP) dapat berbagi informasi cache. CARP dianggap protokol yang lebih baik. Squid mendukung kedua protokol, dan MS ISA Server mendukung CARP. Untuk informasi lebih lanjut, lihat http://squid-docs.sourceforge.net/latest/html/c2075.html. Ini berbagi informasi dari cache mengurangi penggunaan bandwidth di organisasi di mana lebih dari satu proxy digunakan.


Spesifikasi proxy

Pada jaringan kampus universitas, seharusnya ada lebih dari satu server proxy, baik untuk kinerja dan juga untuk alasan cadangan. Pada hari ini dengan harddisk lebih murah dan lebih besar, server proxy yang ampuh dapat dibangun, dengan 50 GB atau lebih ruang harddisk yang dialokasikan untuk cache. Kinerja harddisk adalah penting, sehingga harddisk SCSI yang cepat akan melakukan yang terbaik (meskipun sebuah IDE berbasis Cache adalah lebih baik daripada tidak ada sama sekali). RAID atau mirroring tidak dianjurkan. Juga disarankan untuk menggunakan harddisk yang terpisah untuk cache yang terdedikasi. Misalnya, satu harddisk untuk cache, dan yang harddisk kedua untuk sistem operasi dan pencatatan cache. Squid dirancang untuk menggunakan RAM sebanyak yang dia dapat, karena bila data yang diambil dari RAM ini lebih cepat daripada jika berasal dari hard disk. Untuk jaringan kampus, gunakan memori RAM 1GB harus atau lebih:

  • Selain dari memori yang dibutuhkan untuk sistem operasi dan aplikasi lain, Squid memerlukan 10 MB RAM untuk setiap 1 GB dari disk cache. Oleh karena itu, jika ada 50 GB yang dialokasikan untuk ruang disk caching, Squid akan memerlukan tambahan memori 500 MB.
  • Mesin juga membutuhkan 128 MB untuk Linux dan 128 MB untuk Xwindows.
  • 256 MB lain harus ditambahkan untuk aplikasi lain dan agar semuanya dapat berjalan dengan mudah. Kinerja mesin akan meningkat dengan pesat dengan menginstall memori yang besar, karena ini mengurangi kebutuhan untuk menggunakan hard disk. Memori ribuan kali lebih cepat dari hard disk. Sistem operasi modern sering menyimpan data yang sering di akses dalam memori jika ada cukup tersedia RAM. Tetapi mereka menggunakan halaman file sebagai memori tambahan ketika mereka tidak memiliki cukup RAM.







Pranala Menarik