UNIVERSITAS BINA NUSANTARA
Jurusan Teknik Informatika Fakultas Ilmu Komputer Skripsi Sarjana Komputer Semester Ganjil Tahun 2006/2007
Web wizard untuk konfigurasi squid proxy server
Emma 0700709981
Willy Gunawan 0700710964 ABSTRAK
Administrasi jarak jauh adalah sebuah hal yang sangat diperlukan dalam melakukan pengaturan sebuah jaringan. Tujuan penelitian ialah menghasilkan sebuah aplikasi berbasis web dengan format wizard yang ditujukan untuk melakukan administrasi jarak jauh pada squid proxy server dan mengurangi penggunaan command line interface. Tujuan lainnya adalah mempermudah administrasi squid proxy server bagi admin pemula dengan menyediakan Graphical User Interface.
Metode penelitian yang digunakan adalah dengan melakukan studi kepustakaan dan rekayasa dengan uji coba pada lab. Aplikasi ini dibuat dengan fasilitas help area yang ditujukan untuk memudahkan pengguna dalam melakukan administrasi squid proxy server dan dirancang untuk dapat bekerja pada LINUX distro Fedora Core 5 yang difungsikan sebagai coresident server dan Internet explorer 6.0 yang difungsikan sebagai web browser pada client yang menggunakan sistem operasi Microsoft Windows. Setelah dilakukan penelitian, diperoleh kesimpulan bahwa aplikasi ini dapat melakukan administrasi jarak jauh dan mengaktifkan ataupun menonaktifkan squid proxy server. Kata Kunci: web wizard, squid, proxy server, squid proxy server, konfigurasi
vi PRAKATA
Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada pihak-pihak yang telah memberikan dukungan, bantuan, nasihat, dan bimbingan dalam penyusunan skripsi ini, yaitu:
1. Bapak Prof. Dr. Gerardus Polla, M.App.Sc selaku Rektor Universitas Bina Nusantara.
2. Bapak H. Mohammad Subekti, BE. M.Sc selaku Ketua Jurusan Teknik
Informatika Universitas Bina Nusantara.
3. Bapak Fredy Purnomo, S.Kom., M.Kom selaku Sekretaris Jurusan Teknik Informatika Universitas Bina Nusantara.
4. Bapak Lukas Siswanto Tanutama, Ir., MM selaku dosen pembimbing skripsi yang telah banyak membantu dan memberikan pengarahan, saran, solusi, dan dukungan moral dalam penyusunan skripsi ini.
5. Seluruh Dosen Universitas Bina Nusantara yang telah memberikan bekal pengetahuan kepada penulis.
6. Orang tua dan segenap keluarga yang senantiasa memberikan semangat, dukungan dan doa demi keberhasilan penulis.
7. Rekan-rekan penulis dan pihak lainnya yang tidak dapat penulis sebutkan satu persatu yang telah memberikan dukungan, bantuan serta sumbangan saran dan ide kepada penulis selama penyusunan skrpsi ini.
Jakarta, 24 Januari 2007
DAFTAR ISI
Halaman Judul Luar ... i
Halaman Judul Dalam ... ii
Halaman Persetujuan Hardcover... iii
Halaman Pernyataan Dewan Penguji ... iv
Abstrak ... v
Prakata... vi
Daftar Isi ... vii
Daftar Tabel ... xii
Daftar Gambar... xv
BAB 1 Pendahuluan... 1
1.1 Latar Belakang ... 1
1.2 Ruang Lingkup... 3
1.3 Tujuan dan Manfaat ... 4
1.4 Metodologi ... 4
1.5 Sistematika Penulisan ... 6
BAB 2 Landasan Teori... 8
2.1 Jaringan ... 8
2.2 Sistem Operasi Jaringan... 9
2.2.1 Jaringan Client-Server... 9
2.2.2 Jaringan Peer to Peer... 10
2.3 OSI ... 11
viii
2.4.1 Prinsip Kerja Internet Protocol (IP) ... 14
2.4.2 Subnetting ... 17
2.4.3 CIDR ... 19
2.4.4 Prinsip Kerja Transmission Control Protocol (TCP) ... 20
2.4.5 Komponen Fisik dalam Jaringan TCP/IP... 22
2.5 Proxy Server... 23
2.5.1 Fungsi Proxy Server... 24
2.5.1.1 Pemblokiran URL ... 24
2.5.1.2 Pemfilteran Content ... 25
2.5.1.3 Pengecekan Konsistensi ... 25
2.5.1.4 Pemblokiran Routing ... 26
2.5.1.5 Logging dan Alerting ... 27
2.5.1.6 Caching ... 27
2.5.1.7 Reverse Proxy Load Balancing... 28
2.5.2 Kelemahan Proxy Server... 29
2.5.2.1 Single Point of Failure ... 30
2.5.2.2 Persyaratan Client ... 30
2.5.2.3 Persyaratan Layanan ... 31
2.5.2.4 Kerentanan Inti Sistem Operasi ... 32
2.5.2.5 Dampak terhadap Kinerja ... 33
2.6 Squid Proxy Server ... 33
2.6.1 Cara Kerja Squid Proxy Server ... 34
2.6.2 Hubungan dan Hirarki antar Squid Proxy Server ... 35
2.6.4 Pencatatan Aktivitas/Log ... 38
2.6.5 Manajemen dan Monitoring Log ... 40
2.6.6 Penggunaan Squid Proxy Server Secara Colocation dan Coresident... 41
2.6.7 Tag-tag Squid ... 42
2.6.7.1 Network Options ... 42
2.6.7.2 Options Which Affect the Neighbor Selection Algorithm... 45
2.6.7.3 Options Which Affect the Cache Size ... 48
2.6.7.4 Logfile Pathnames and Cache Directories ... 51
2.6.7.5 Options for External Support Programs... 54
2.6.7.6 Options for Tuning the Cache ... 60
2.6.7.7 Timeouts... 63
2.6.7.8 Access Control ... 65
2.6.7.9 Administrative Parameters ... 70
2.6.7.10 Options for the Cache Registration Service ... 72
2.6.7.11 HTTPD-Accelerator Options ... 72
2.6.7.12 Miscellaneous... 73
2.6.7.13 Delay Pool Parameters ... 83
2.8 NAT vs Proxy Server ... 94
2.8.1 Network Address Translation (NAT)... 94
2.8.2 Proxy Server... 95
2.9 HTML ... 96
2.10 Apache HTTP Server ... 98
2.11 PHP ... 99
x
2.13 Javascript... 102
2.14 Webmin ... 103
2.15 Web ... 104
2.16 Wizard ... 105
BAB 3 Analisis dan Perancangan Sistem ... 106
3.1 Analisis... 106
3.2 Perumusan Masalah ... 107
3.3 Pemecahan Masalah ... 108
3.3.1 Deskripsi Tentang Sistem ... 108
3.3.2 Rancangan Struktur Sistem... 110
3.3.3 Rancangan Struktur Navigasi Sistem ... 112
3.3.3.1 Struktur Menu... 113
3.3.3.2 State Transition Diagram... 129
3.3.3.3 Tabel Database MySQL ... 181
3.3.3.4 Diagram Alir Proses File ... 207
BAB 4 Implementasi dan Evaluasi ... 209
4.1 Implementasi ... 209
4.2 Sarana yang Dibutuhkan dalam Implementasi... 210
4.2.1 Sarana Perangkat Lunak... 210
4.2.1.1 Sarana Perangkat Lunak Server ... 210
4.2.1.2 Sarana Perangkat Lunak Client... 210
4.2.2 Sarana Perangkat Keras... 210
4.2.2.1 Sarana Perangkat Keras Server ... 210
4.3 Proses Instalasi Sistem ... 211
4.3.1 Memberikan Password untuk MySQL... 211
4.3.2 Konfigurasi File Sudoers ... 212
4.3.3 Langkah-langkah Instalasi Web Wizard ... 213
4.4 Cara Pengoperasian Web Wizard... 214
4.4.1 Tampilan Layar Menu Login ... 215
4.4.2 Tampilan Layar Menu wizard01... 217
4.4.3 Tampilan Layar Menu wizard02... 221
4.4.4 Tampilan Layar Menu wizard08... 222
4.4.5 Tampilan Layar Menu delaypool ... 224
4.4.6 Tampilan Layar Menu delayaccess... 225
4.4.7 Tampilan Layar Menu Shell... 226
4.4.8 Tampilan Layar Menu advanced... 227
4.5 Evaluasi ... 228
4.5.1 Perbandingan aplikasi web wizard dengan aplikasi lain... 228
4.5.2 Hasil yang didapat saat melakukan pengujian perangkat lunak... 230
4.5.3 Perbandingan sebelum dan sesudah melakukan pengujian perangkat lunak... 231
BAB 5 SIMPULAN DAN SARAN... 232
5.1 Simpulan ... 232
5.2 Saran... 233
DAFTAR PUSTAKA ... 234
RIWAYAT HIDUP... 236 LAMPIRAN
xii
DAFTAR TABEL
Tabel 2.1 Dengan 3 bit terbentuk 8 subjaringan ... 19
Tabel 2.2 Algoritma penghapusan objek ... 38
Table 2.3 Deskripsi macam-macam log... 38
Tabel 3.1 config01 ... 181 Tabel 3.2 http_port ... 181 Tabel 3.3 https_port ... 182 Tabel 3.4 config02 ... 182 Tabel 3.5 config03 ... 183 Tabel 3.6 config04 ... 184 Tabel 3.7 cachedir ... 184 Tabel 3.8 config05 ... 185 Tabel 3.9 authparam... 186 Tabel 3.10 config06 ... 187 Tabel 3.11 config07 ... 188 Tabel 3.12 config09 ... 188 Tabel 3.13 config10 ... 189 Tabel 3.14 config11 ... 191 Tabel 3.15 config12 ... 194 Tabel 3.16 option_https... 194 Tabel 3.17 cachepeer... 194 Tabel 3.18 cachepeeroptions... 195 Tabel 3.19 cachedomain... 195
Tabel 3.20 neighbordomain ... 196 Tabel 3.21 pattern... 196 Tabel 3.22 acl ... 197 Tabel 3.23 follow ... 198 Tabel 3.24 indirect ... 198 Tabel 3.25 access ... 199 Tabel 3.26 reply ... 199 Tabel 3.27 icp... 199 Tabel 3.28 miss ... 200 Tabel 3.29 cache... 200 Tabel 3.30 ident... 200 Tabel 3.31 tos ... 200 Tabel 3.32 addr ... 201 Tabel 3.33 header ... 201 Tabel 3.34 body... 201 Tabel 3.35 extacl ... 201 Tabel 3.36 extaclopt ... 202 Tabel 3.37 cachemgract ... 203 Tabel 3.38 cachemgrpass ... 203 Tabel 3.39 alwaysdirect ... 203 Tabel 3.40 neverdirect... 204 Tabel 3.41 headeraccess... 204 Tabel 3.42 headerreplace ... 204 Tabel 3.43 snmpaccess... 204
xiv Tabel 3.44 denyinfo ... 205 Tabel 3.45 delaypool... 205 Tabel 3.46 index_dpool... 205 Tabel 3.47 delayclass ... 205 Tabel 3.48 delayaccess... 205 Tabel 3.49 delayparam ... 206 Tabel 3.50 bucketlevel ... 206 Tabel 3.51 brokenposts ... 206 Tabel 3.52 shell ... 206
Tabel 4.1 Perbandingan Web Wizard dan Command Line Interface... 229
DAFTAR GAMBAR
Gambar 2.1 OSI Model ... ... 13
Gambar 2.2 Protokol-protokol pada transport layer ... 15
Gambar 2.3 State diagram kerja TCP... 22
Gambar 3.1 Rancangan Data flow pada sistem ... 111
Gambar 3.2 Contoh diagram linear reciprocal navigation (rocketface, 2006)... 112
Gambar 3.3 Struktur menu Wizard ... 113
Gambar 3.4 Struktur menu Wizard01 ... 114
Gambar 3.5 Struktur menu Wizard02 ... 115
Gambar 3.6 Struktur menu Wizard03 ... 116
Gambar 3.7 Struktur menu Wizard04 ... 117
Gambar 3.8 Struktur menu Wizard05 ... 118
Gambar 3.9 Struktur menu Wizard06 ... 119
Gambar 3.10 Struktur menu Wizard07 ... 120
Gambar 3.11 Struktur menu Wizard08 ... 121
Gambar 3.12 Struktur menu Wizard08 ACL ... 121
Gambar 3.13 Struktur menu Wizard08 Follow x forwarded for... 121
Gambar 3.14 Struktur menu Wizard08 uses indirect client ... 122
Gambar 3.15 Struktur menu Wizard08 HTTP access... 122
Gambar 3.16 Struktur menu Wizard08 HTTP reply access... 122
Gambar 3.17 Struktur menu Wizard08 ICP access... 122
Gambar 3.18 Struktur menu Wizard08 miss access... 122
xvi
Gambar 3.20 Struktur menu Wizard08 ident lookup access... 123
Gambar 3.21 Struktur menu Wizard08 TCP outgoing tos... 123
Gambar 3.22 Struktur menu Wizard08 TCP outgoing address... 123
Gambar 3.23 Struktur menu Wizard08 reply header max size ... 123
Gambar 3.24 Struktur menu Wizard08 reply body max size... 124
Gambar 3.25 Struktur menu Wizard09 ... 124
Gambar 3.26 Struktur menu Wizard10 ... 124
Gambar 3.27.1 Struktur menu Wizard11 ... 125
Gambar 3.27.2 Struktur menu Wizard11 ... 126
Gambar 3.28.1 Struktur menu Wizard12 ... 127
Gambar 3.28.2 Struktur menu Wizard12 ... 128
Gambar 3.29 Struktur menu delaypool configuration... 129
Gambar 3.30 Struktur menu shell ... 129
Gambar 3.31 STD Menu Login ... 129
Gambar 3.32 STD Menu Wizard01 ... 130
Gambar 3.33 STD Menu new http ... 131
Gambar 3.34 STD Menu edit http... 131
Gambar 3.35 STD Proses delete http ... 131
Gambar 3.36 STD Menu new https... 132
Gambar 3.37 STD Menu edit https ... 132
Gambar 3.38 STD Proses delete https... 132
Gambar 3.39 STD Menu Wizard02 ... 133
Gambar 3.40 STD Menu new cache peer ... 134
Gambar 3.42 STD Proses delete cache peer ... 134
Gambar 3.43 STD Menu new cache peer domain ... 135
Gambar 3.44 STD Menu edit cache peer domain ... 135
Gambar 3.45 STD Proses delete cache peer ... 135
Gambar 3.46 STD Menu new neighbor type domain ... 136
Gambar 3.47 STD Menu edit neighbor type domain ... 136
Gambar 3.48 STD Proses delete neighbor type domain ... 136
Gambar 3.49 STD Menu Wizard03 ... 137
Gambar 3.50 STD Menu Wizard04 ... 137
Gambar 3.51 STD Menu Wizard05 ... 138
Gambar 3.52 STD Menu new external acl type... 138
Gambar 3.53 STD Menu edit external acl type... 139
Gambar 3.54 STD Proses delete neighbor type domain ... 139
Gambar 3.55 STD Menu Wizard06 ... 140
Gambar 3.56 STD Menu new refresh pattern ... 140
Gambar 3.57 STD Menu edit refresh pattern... 141
Gambar 3.58 STD Proses delete refresh pattern ... 141
Gambar 3.59 STD Menu Wizard07 ... 141
Gambar 3.60 STD Menu Wizard08 ... 142
Gambar 3.61 STD Wizard08_acl... 143
Gambar 3.62 STD Menu new acl... 143
Gambar 3.63 STD Menu edit acl ... 144
Gambar 3.64 STD Proses delete acl... 144
xviii
Gambar 3.66 STD Menu new follow... 145
Gambar 3.67 STD Menu edit follow... 146
Gambar 3.68 STD Proses delete follow... 146
Gambar 3.69 STD Wizard08_indirect ... 146
Gambar 3.70 STD Proses Update indirect ... 147
Gambar 3.71 STD Wizard08_access ... 147
Gambar 3.72 STD Menu new http access... 148
Gambar 3.73 STD Menu edit access... 148
Gambar 3.74 STD Proses delete access ... 148
Gambar 3.75 STD Wizard08_reply ... 149
Gambar 3.76 STD Menu new http reply access... 149
Gambar 3.77 STD Menu edit http reply access ... 150
Gambar 3.78 STD Proses delete http reply access... 150
Gambar 3.79 STD Wizard08_icp... 151
Gambar 3.80 STD Menu new icp access ... 151
Gambar 3.81 STD Menu edit icp access... 152
Gambar 3.82 STD Proses delete icp access ... 152
Gambar 3.83 STD Wizard08_miss ... 153
Gambar 3.84 STD Menu new miss access... 153
Gambar 3.85 STD Menu edit miss access ... 153
Gambar 3.86 STD Proses delete miss access... 154
Gambar 3.87 STD Wizard08_cache ... 154
Gambar 3.88 STD Menu new cache peer access ... 155
Gambar 3.90 STD Proses delete cache peer access ... 155
Gambar 3.91 STD Wizard08_ident... 156
Gambar 3.92 STD Menu new ident lookup access ... 156
Gambar 3.93 STD Menu edit ident lookup access... 157
Gambar 3.94 STD Proses delete ident lookup access ... 157
Gambar 3.95 STD Wizard08_tos... 158
Gambar 3.96 STD Menu new tcp outgoing tos... 158
Gambar 3.97 STD Menu edit tcp outgoing tos ... 159
Gambar 3.98 STD Proses delete tcp outgoing tos... 159
Gambar 3.99 STD Wizard08_addr ... 160
Gambar 3.100 STD Menu new tcp outgoing address ... 160
Gambar 3.101 STD Menu edit tcp outgoing address... 161
Gambar 3.102 STD Proses delete tcp outgoing address ... 161
Gambar 3.103 STD Wizard08_header... 161
Gambar 3.104 STD Proses Update header... 162
Gambar 3.105 STD Wizard08_body... 162
Gambar 3.106 STD Menu new reply body max size ... 163
Gambar 3.107 STD Menu edit reply body max size... 163
Gambar 3.108 STD Proses delete reply body max size ... 163
Gambar 3.109 STD Menu Wizard09 ... 164
Gambar 3.110 STD Menu Wizard10 ... 164
Gambar 3.111.1 STD Menu Wizard11 ... 165
Gambar 3.111.2 STD Menu Wizard11 ... 166
xx
Gambar 3.113 STD Menu edit deny info... 167
Gambar 3.114 STD Proses delete deny info ... 167
Gambar 3.115 STD Menu new cache manager password ... 168
Gambar 3.116 STD Menu edit reply cache manager password... 168
Gambar 3.117 STD Proses delete cache manager password ... 168
Gambar 3.118 STD Menu new always direct ... 169
Gambar 3.119 STD Menu edit always direct... 169
Gambar 3.120 STD Proses delete always direct ... 169
Gambar 3.121 STD Menu new never direct ... 170
Gambar 3.122 STD Menu edit never direct ... 170
Gambar 3.123 STD Proses delete never direct ... 170
Gambar 3.124 STD Menu new header access ... 171
Gambar 3.125 STD Menu edit header access ... 171
Gambar 3.126 STD Proses delete header access ... 171
Gambar 3.127 STD Menu new header replace ... 172
Gambar 3.128 STD Menu edit header replace... 172
Gambar 3.129 STD Proses delete header replace ... 172
Gambar 3.130 STD Menu new snmp access ... 173
Gambar 3.131 STD Menu edit snmp access ... 173
Gambar 3.132 STD Proses delete snmp access ... 173
Gambar 3.133 STD Menu Wizard12 ... 174
Gambar 3.134.1 STD Wizard12_delaypool pada saat tidak terdapat data delay pool.... 175
Gambar 3.134.2 STD Wizard12_delaypool pada saat terdapat data delay pool... 175
Gambar 3.136 STD Menu edit delay pool ... 176
Gambar 3.137 STD Proses delete delay pool ... 176
Gambar 3.138.1 STD Wizard12_delaypool pada saat tidak terdapat data delay access. 177 Gambar 3.138.2 STD Wizard12_delaypool pada saat terdapat data delay access... 177
Gambar 3.139 STD Menu new delay access ... 178
Gambar 3.140 STD Menu edit delay pool ... 178
Gambar 3.141 STD Proses delete delay pool ... 178
Gambar 3.142 STD Menu new broken posts ... 179
Gambar 3.143 STD Menu edit broken posts... 179
Gambar 3.144 STD Proses delete broken posts ... 179
Gambar 3.145 STD Shell ... 180
Gambar 3.146 STD Menu Advanced... 180
Gambar 3.147 Diagram file yang dibuat pada setiap modul... 208
Gambar 4.1 Jaringan lokal dengan sebuah proxy server... 209
Gambar 4.2 Menu Login ... 215
Gambar 4.3 Pesan kesalahan pada proses login... 216
Gambar 4.4 Pesan kesalahan jika user belum login... 217
Gambar 4.5 Menu Wizard01... 217
Gambar 4.6 Menu add http_port ... 219
Gambar 4.7 Menu edit http_port... 219
Gambar 4.8 Button next pada menu Wizard01... 220
Gambar 4.9 Pesan kesalahan pada menu Wizard01... 220
Gambar 4.10 Menu Wizard02... 221
xxii
Gambar 4.12 Menu Wizard08... 223
Gambar 4.13 Menu konfigurasi acl pada Wizard08 ... 224
Gambar 4.14 Menu delaypool pada saat belum terdapat data delaypool... 225
Gambar 4.15 Menu delaypool setelah terdapat data delaypool ... 225
Gambar 4.16 Menu delayaccess sebelum terdapat data delayaccess... 226
Gambar 4.17 Menu delayaccess setelah terdapat data delayaccess ... 226
Gambar 4.18 Menu shell pada saat pertama kali diakses... 227
Gambar 4.19 Menu Advanced ... 227