SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
TUTORIAL                                        Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial
Squid Proxy Server




Step By Step
Konfigurasi Squid Proxy Server
dengan Berbagai Studi Kasus
Bagian 1 dari 2 Artikel
Proxy Server adalah server yang berguna sebagai perantara antara client dengan server
gateway sebelum berhubungan ke Internet. Dengan adanya proxy server ini, maka url /
situs yang sering di-browsing akan semakin terasa semakin cepat terakses oleh user,
karena telah disimpan di dalam cache proxy. Selain itu, proxy server juga memiliki fungsi
lainnya, di antaranya autentifikasi user, memblok situs, memblok banner, dan lain-lain.



B
         agi para administrator warnet          4. Memblok banner menggunakan redirec-           Check dengan mengetikkan perintah di
         atau kantor, pasti pernah berpikir        tor adzap.                                    bawah ini dari konsole :
         bagaimana caranya agar loading         5. Membatasi ukuran file (kuota) yang             # rpm -qa | grep squid
situs yang dibuka oleh user terasa lebih           bisa di-download oleh user pada interval
cepat, dapat memblok situs-situs porno             waktu tertentu.                               Jika sudah ada, lanjut ke bagian konfi-
yang sering membawa spyware, membatasi          6. Autentifikasi user.                            gurasi, jika belum ada, ikuti langkah in-
ukuran download file user, autentifikasi user     7. Transparant Proxy.                            stallasi squid di bawah ini.
mana saja yang diperbolehkan browsing,                                                           Masuk ke Menu Utama, System Settings,
me-redirect suatu situs porno ke situs yang        Adapun distro yang dipakai penulis            Add/Remove Application. Masukkan
lain, dan sebagainya.                           dalam menyusun penulisan ini adalah Fe-          password root Anda.
    Jika itu permasalahannya, maka jawaban-     dora Core 3, dan seharusnya dapat di terap-      Setelah tampil menu Add or Remove
nya adalah si administrator dapat membuat       kan juga pada pengguna distro lainnya.           Packages, lihat dibagian Servers, lalu klik
sebuah mesin proxy server untuk menjem-         Untuk mempersingkat waktu, silakan baca          bagian Web Server, klik Details, lalu check
batani hubungan dari Internet ke user. Me-      langkah-langkahnya di bawah ini:                 di bagian software squid.
sin proxy ini akan bertindak sebagai pemfil-                                                      Klik tombol Update. Masukkan CD se-
ter paket yang datang dari Internet, baik itu   Instalasi Squid Proxy Server                     suai dengan permintaan installer.
melalui port http atau ftp, sebelum sampai         Instalasi software Squid Proxy Server
ke user. Salah satu software proxy terbaik         dapat dilakukan dari source ataupun        Konfigurasi squid proxy server
yang ada di GNU/Linux adalah Squid. Squid          yang sudah berbentuk binary. Untuk pe-     Selanjutnya kita akan mulai mengonfigurasi
adalah software proxy server open source           tunjuk instalasi Squid dari source dapat   squid, pertama, buat direktori cache.
dengan banyak fitur.                                Anda lihat pada file INSTALL yang ter-      (Catatan : tanda # berarti perintah dijalan-
    Pada artikel kali ini, penulis akan            dapat pada tarball squid.                  kan oleh root user).
menjelaskan cara konfigurasi Squid untuk:           Diasumsikan Anda sudah menginstalla-       # cd /
1. Memberi hak akses Internet agar hanya           sikan Fedora Core 3 di komputer Anda.      # mkdir /cache
    dapat digunakan oleh komputer dengan           Dan bagi pengguna distro lain, Anda        # chown squid.squid /cache -Rf
    nomor IP tertentu.                             tinggal menyesuaikan langkah-lang-
2. Memblok situs terlarang secara manual.          kahnya saja.                                  Setelah membuat direktori /cache, se-
3. Memblok situs terlarang dengan meng-            Selanjutnya adalah lihat di Sistem Linux   lanjutnya kita mulai mengonfigurasikan
    gunakan program redirector Squid-              anda, apakah Squid sudah terinstalasi di   squid.
    Guard.                                         Sistem Linux Anda.                         # cd /etc/squid



68 INFOLINUX 08/2005                                      www.infolinux.web.id
Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial                          TUTORIAL
                                                                                                       Squid Proxy Server



# mv squid.conf squid.conf.bak                  cache_peer ini sesuai dengan ISP      # acl definisi (bagian ini
# touch squid.conf                              yg anda gunakan.                      berisikan batasan-batasan yang
# chmod 640 squid.conf                          cache_peer proxies.telkom.net.id      akan dilakukan oleh server
                                                parent 8080 3130 default              squid).
   Berikutnya, penulis akan menjelaskan         cache_peer proxy-sby.telkom.net.      # Dan bagian ini adalah inti
konfigurasi squid sesuai dengan kriteria         id sibling 8080 3130 round-robin      dari penerapan kebijakan yang
yang telah penulis jelaskan.                                                          ada di proxy server
                                                # memory (bagian ini berisikan        acl all src 0.0.0.0/0.0.0.0
1. Konfigurasi Squid untuk membatasi            besarnya memori yang akan             acl manager proto cache_object
   hak akses Internet agar hanya dapat          digunakan oleh squid                  acl localhost src 127.0.0.1/255.
   digunakan oleh komputer dengan nomor         # untuk menyimpan in transit          255.255.255
   IP tertentu.                                 object dan hot object).               acl SSL_ports port 443 563
Studi Kasus :                                   # Besar angka yang aman dipakai       acl Safe_ports port 80 21 443
Misalkan di suatu PT XYZ terdapat tiga buah     adalah ¼ dari jumlah memori yang      563 70 210 1025-65535
divisi. Sebut saja divisi perusahaan tersebut   ada.                                  acl Safe_ports port 280
dengan DivisiA, DivisiB, dan DivisiC.           cache_mem 32 MB                       # http-mgmt
   DivisiA memiliki IP range antara                                                   acl Safe_ports port 488
   192.168.0.20 – 192.168.0.60                  # direktori (bagian ini               # gss-http
   DivisiB memiliki IP range antara             berisikan tentang direktori yang      acl Safe_ports port 591
   192.168.0.61 – 192.168.0.100                 akan digunakan sebagai tempat         # filemaker
   DivisiC memiliki IP range antara             penyimpanan cache/ objek website      acl Safe_ports port 777
   192.168.0.101 – 192.168.0.140                squid).                               # multiling http
                                                # Maksud perintah dibawah ini         acl CONNECT method CONNECT
Persyaratannya :                                adalah : pertama jenis file           acl divisia src 192.168.0.20-
1. PT XYZ ingin agar DivisiA dan DivisiB        system yang dipakai adalah ufs,       192.168.0.60/255.255.255.255
   memiliki hak akses ke Internet.              lalu /cache adalah nama               acl divisib src 192.168.0.61-
2. PT XYZ ingin agar DivisiC tidak memi-        direktorinya. Ukuran cache            192.168.0.100/255.255.255.255
   liki hak akses ke Internet.                  sebesar 1000 MB, lalu 16 dan 256      acl divisic src 192.168.0.101-
3. Komputer salah seorang staf yang ada di      adalah jumlah direktori yang          192.168.0.140/255.255.255.255
   divisi C, yang memiliki IP 192.168.0.130     terdapat di dalam /cache pada         acl udinc src 192.168.0.130/255.
   dibolehkan memiliki hak akses ke Inter-      level 1 dan 2.                        255.255.255
   net.                                         cache_dir ufs /cache 1000 16 256
                                                                                      # rule (bagian ini berisikan
   Untuk memenuhi persyaratan tersebut,         # log (bagian ini berisikan           keterangan untuk membiarkan atau
cobalah untuk mengedit file squid.conf,          tentang lokasi file log yang          menolak bagian acl
seperti di bawah ini :                          akan digunakan squid).                # yang telah dibuat).
# vi squid.conf                                 cache_access_log /var/log/squid/      http_access allow manager
                                                access.log                            http_access allow localhost
# port (bagian ini berisikan                    cache_log /var/log/squid/cache.       http access allow udinc
port yang akan digunakan oleh                   log                                   http_access allow divisia
squid)                                          cache_store_log /var/log/squid/       http_access allow divisib
http_port 3128                                  store.log                             http_access deny divisic
icp_port 3130                                   client_netmask 255.255.255.0          http_access deny !Safe_ports
tcp_outgoing_address 0.0.0.0                    unlinkd_program /usr/lib/squid/       http_access deny CONNECT !SSL_
udp_incoming_address 0.0.0.0                    unlinkd                               ports
udp_outgoing_address 0.0.0.0                                                          http_access deny all
                                                #refresh pattern
# cache_peer (bagian ini                        refresh_pattern     ^ftp:     1440
berisikan hubungan proxy server                 20% 10080                             #http_reply_access
yang ada dilokal ke server #                    refresh_pattern     ^gopher: 1440     http_reply_access allow all
proxy lainnya. Hubungan ini                     0% 1440
terdiri atas dua jenis yaitu                    refresh_pattern          .    0       # icp access
parent dan sibling).                            20% 4320                              icp_access allow all
# Sesuaikan atau tanyakan alamat



                                                       www.infolinux.web.id                        INFOLINUX 08/2005   69
TUTORIAL                                           Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial
Squid Proxy Server



 # display message                                 membuka situs-situs porno pada waktu           acl myNet src 192.168.0.0/255.
 cache_mgr supriyanto@infolinux.                   jam kerja. Hal ini tentunya membuat risih      255.255.255
 co.id                                             beberapa pegawai lainnya dan dapat menu-       acl all src 0.0.0.0/0.0.0.0
 cache_effective_user squid                        runkan image perusahaan. Maka dari itu,        acl manager proto cache_object
 cache_effective_group squid                       PT XYZ ingin membuat suatu aturan untuk        acl localhost src 127.0.0.1/255.
 visible_hostname infolinux.co.id                  pemfilterannya yang datang dari Internet        255.255.255
                                                   sebelum sampai ke user.                        acl SSL_ports port 443 563
   Setelah itu Save, dan restart service squid                                                    acl Safe_ports port 80 21 443
untuk melihat perubahan yang telah dilaku-         Persyaratannya:                                563 70 210 1025-65535
kan.                                               1. PT XYZ ingin agar semua komputer Di-        acl Safe_ports port 280
 # service squid restart                              visi A dan Divisi B yang terhubung ke In-   # http-mgmt
                                                      ternet tidak dapat mengakses situs-situs    acl Safe_ports port 488
    Sekarang coba tes, apakah setting-an              terlarang yang telah didefinisikan oleh      # gss-http
yang telah anda simpan telah berhasil.                administrator.                              acl Safe_ports port 591
Caranya, masukkan dahulu setting HTTP              2. PT XYZ ingin agar beberapa komputer         # filemaker
proxy dan portnya di web browser user Di-             yang ada diDivisi A yang memiliki range     acl Safe_ports port 777
visi C. Di Mozilla Firefox Anda bisa men-             IP dari 192.168.0.20 – 192.168.0.30 dapat   # multiling http
setting-nya dari menu Edit, Preferences. Di           mengakses ke situs apa saja yang ada di     acl CONNECT method CONNECT
Tab General, klik Connection Settings. Isi-           Internet (tidak termasuk ke dalam per-      acl divisia src 192.168.0.20-
kan HTTP Proxy dan Port-nya, sesuai de-               syaratan 1).                                192.168.0.60/255.255.255.255
ngan IP server proxy Anda dan port proxy           3. PT XYZ menginginkan juga IP situs por-      acl divisib src 192.168.0.61-
yang digunakan.                                       no tersebut juga diblok. Karena biasanya    192.168.0.100/255.255.255.255
    Jika komputer dengan IP divisi C kecu-            jika si user sudah ahli, maka hanya de-     acl divisic src 192.168.0.101-
ali komputer yang memiliki IP 192.168.0.30            ngan mengetikkan alamat IP-nya lang-        192.168.0.140/255.255.255.255
tidak bisa membuka halaman situs, berarti             sung di kolom alamat Url yang ada di        acl bebasbuka src 192.168.0.20-
langkah-langkah yang anda lakukan sudah               web browser, situs porno tersebut tetap     192.168.0.30/255.255.255.255
benar. Coba juga di salah satu user yang ada          dapat diakses.                              acl udinc src 192.168.0.130/255.
di DivisiA atau DivisiB, jika user ini bisa        4. PT XYZ menginginkan juga agar kali-         255.255.255
membuka halaman situs berarti tidak ada               mat-kalimat yang berbau porno, yang
masalah pada konfigurasi squid yang telah              dimasukkan oleh user melalui search         # rule (bagian ini berisikan
dibuat, atau dengan kata lain Anda telah              engine atau alamat situs, dapat langsung    keterangan untuk membiarkan atau
berhasil men-setting squid untuk kasus                terblok oleh proxy server.                  menolak bagian acl
pertama.                                                                                          # yang telah dibuat).
                                                      Untuk memenuhi persyaratan tersebut,        http_access deny domainterlarang
2. Memblok situs terlarang secara manual.          cobalah untuk mengedit file squid.conf,         !bebasbuka
Studi kasus:                                       seperti di bawah ini :                         http_access deny kataterlarang
PT XYZ memiliki suatu problem di mana               # vi squid.conf                               !bebasbuka
banyak karyawannya yang “dewasa” suka                                                             http_access deny ipterlarang
                                                    .................                             !bebasbuka
                                                    .................                             http_access allow manager
                                                    .................                             http_access allow localhost
                                                    # acl definisi (bagian ini                    http access allow udinc
                                                    berisikan batasan-batasan yang                http_access allow divisia
                                                    akan dilakukan oleh server                    http_access allow divisib
                                                    # squid).                                     http_access deny divisic
                                                    # Dan bagian ini adalah inti                  http_access deny !Safe_ports
                                                    dari penerapan kebijakan yang                 http_access deny CONNECT !SSL_
                                                    ada di proxy server                           ports
                                                    acl domainterlarang dstdomain “/              http_access deny all
                                                    etc/squid/domain-terlarang.txt”
                                                    acl kataterlarang url_regex -i                #http_reply_access
                                                    “/etc/squid/kata-terlarang.txt”               http_reply_access allow all
                                                    acl ipterlarang dst “/etc/squid/              .................
Sesuaikan dengan settingan IP proxy server anda.    ip-terlarang.txt”                             .................



70 INFOLINUX 08/2005                                          www.infolinux.web.id
Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial                                          TUTORIAL
                                                                                                                         Squid Proxy Server



    Setelah itu Save, dan buat tiga buah file
yang bernama domain-terlarang.txt, kata-
terlarang.txt, dan ip-terlarang.txt di direc-
tori /etc/squid.
# cd /etc/squid
# touch domain-terlarang.txt
# touch kata-terlarang.txt
# touch ip-terlarang.txt
# vi domain-terlarang.txt
17tahun.com
www.playboy.com
www.nude.com
www.sex.com
www.porn.com
www.hardcore.com
   dan seterusnya, yang menurut Anda
   adalah domain situs porno.

# vi kata-terlarang.txt
                                                Tampilan Access Denied Dari Squid.
sex
lesbian                                              dasarkan kata yang telah anda definisi-      192.168.0.34 TCP_DENIED/403 1393
lolita                                               kan di file kata-terlarang.txt               GET http://www.17tahun.com/ -
homo                                            2.   Ketikkan di alamat url alamat IP suatu      NONE/- text/html
xxx                                                  situs, misal : 70.84.171.179. Jika hasil-   1119498365.737    369
hot                                                  nya adalah tulisan ERROR, berarti squid     192.168.0.34 TCP_DENIED/403 1415
17tahun                                              telah berhasil memblok situs berdasar-      GET http://www.17tahun.com/
porn                                                 kan ip yang telah Anda definisikan di file    favicon.ico - NONE/- text/html
   dan seterusnya, yang menurut Anda adalah          ip-terlarang.txt
   kata-kata yang menunjuk ke situs porno.      3.   Ketikkan di alamat url nama suatu situs,    3. Memblok situs terlarang menggunakan
                                                     misal : www.17tahun.com. Jika hasilnya         program redirector SquidGuard
# vi ip-terlarang.txt                                adalah tulisan ERROR, berarti squid         Pada studi kasus kedua, Anda telah mem-
                                                     telah berhasil memblok situs berdasar-      pelajari bagaimana cara memblok suatu
70.84.171.179                                        kan nama situs yang telah Anda definisi-     situs secara manual. Yaitu dengan menam-
216.163.137.3                                        kan di file domain-terlarang.txt             bahkan daftar nama situs, daftar IP situs,
64.74.96.243                                    4.   Test sekali lagi dengan mengetikkan url     maupun kalimat secara manual. Mungkin
209.81.7.23                                          situs yang tidak termasuk ke dalam salah    kalau jumlah situs yang ingin kita blok ma-
213.193.215.179                                      satu situs yang diblok. Jika situs terse-   sih berjumlah puluhan, hal tersebut tidak
216.130.180.165                                      but dapat diakses berarti settingan squid   menjadi masalah buat administrator. Tapi
   dan seterusnya, yang menurut Anda adalah          tersebut sudah memenuhi semua per-          perlu diingat bahwa jumlah situs jenis ini di
   ip-ip yang menunjuk ke situs porno.               syaratan yang diajukan.                     Internet sangat banyak jumlahnya. Apalagi
                                                5.   Test di salah satu komputer yang ber-IP     user biasanya masih saja ada yang dapat
  Restart service squid untuk melihat per-           192.168.0.20-192.168.0.30, jika kompu-      membuka situs porno, entah itu dari link
ubahan yang telah dilakukan.                         ter tersebut dapat membuka salah satu       yang dia dapat saat surfing maupun dari
# service squid restart                              situs yang di-blok, berarti semua per-      situs-situs hacking yang banyak bertebaran
                                                     syaratan sudah terpenuhi.                   di Internet.
   Test setting-an squid yang telah kita                                                             Pertanyaannya, apakah ada program
buat, misal dari browser mozilla firefox            Untuk lebih pastinya, Anda dapat men-         yang menyediakan database situs terla-
yang telah Anda setting dahulu http proxy       check log squid Anda, untuk memastikan           rang yang dapat diintegrasikan ke Squid?
dan port-nya.                                   apakah situs yang dimaksud telah terblok         Jawabannya ada. Anda dapat menggunakan
1. Ketikkan di url, www.google.com, lalu        atau belum.                                      salah satu program redirector Squid yang
   test dengan mengisikan kalimat sex. Jika      # tail -f /var/log/squid/store.                 bernama SquidGuard.
   hasilnya adalah tulisan ERROR, berarti        log                                                 SquidGuard berguna untuk mengindeks
   squid telah berhasil memblok situs ber-       1119498364.368    510                           url-url porno, hacking, drugs, dan lain-lain.


                                                                www.infolinux.web.id                                INFOLINUX 08/2005      71
TUTORIAL                                                         Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial
Squid Proxy Server



Dengan SquidGuard ini, kita tidak perlu                          6. Berikutnya konfigurasikan squidGuard.        acl {
bersusah payah lagi mencari dan menulis-                            Diasumsikan situs-situs yang termasuk         default {
kan domain-domain porno ke dalam suatu                              dalam database squidguard akan di re-            pass !adult !drugs all
file, karena database squidguard sudah me-                           direct ke situs http://www.eramuslim.            redirect 302:http://www.
nyediakan puluhan ribu situs porno dan                              com/. Anda dapat merubah alamat url              eramuslim.com
yang lainnya, yang didapat melalui scripts                          tersebut sesuai dengan keinginan anda.              }
robots yang dibuat dengan bahasa PERL.                               # vi /etc/squid/squidguard.                }
   Untuk lebih jelasnya, penulis akan                                conf
menjelaskan step-by-step pemakaian Squid-                                                                       Setelah kita konfigurasikan file /etc/
Guard.                                                                                                       squidguard.conf, berikutnya check apakah
1. Diharapkan Anda telah sukses men-                                 # Konfigurasi ini didapat               konfigurasi tersebut masih terdapat kesala-
   jalankan studi kasus pertama dan kedua.                           dari http://squidguard.mesd.            han atau tidak.
2. Pada studi kasus kali ini berbeda dengan                          k12.or.us/                              # /usr/bin/squidguard -v
   kasus sebelumnya. Studi kasus kali ini                            # Author By :                           SquidGuard: 1.2.0 Sleepycat
   dimisalkan semua komputer yang ada di                             supriyanto@infolinux.co.id              Software: Berkeley DB 4.2.52:
   semua divisi PT XYZ termasuk ke dalam                                                                     (March 2, 2004)
   jaringan yang terkena content filtering                            dbhome /var/lib/squidguard
   yang dilakukan oleh SquidGuard.                                   logdir /var/log/squidguard                 Kalau masih terdapat pesan kesalahan,
3. Download terlebih dahulu paket RPM                                                                        betulkan konfigurasi squidguard.conf terse-
   SquidGuard untuk Fedora Core 3 pada                               dest adult {                            but sampai benar.
   url berikut:                                                        log                 adult             1. Berikutnya edit file squid.conf pada ba-
   http://dag.wieers.com/packages/squid-                               domainlist          adult/               gian redirect program sehingga seperti di
   guard/                                                              domains                                  bawah ini :
   Atau Anda dapat mencarinya pada CD                                  urllist             adult/urls           # vi /etc/squid/squid.conf
   Majalah InfoLinux edisi ini.                                      }
4. Install paket tersebut dari konsole.                                                                         ..
      # rpm -ivh squidguard-1.2.0-                                   dest drugs {                               # log (bagian ini berisikan
      2.1.fc3.rf.i386.rpm                                               log                drugs                tentang lokasi file log yang
                                                                        domainlist         drugs/               akan digunakan squid).
5. Berikutnya ubah hak akses directory log                             domains                                  cache_access_log /var/log/
   squidGuard menjadi milik user Squid.                                 urllist            drugs/urls           squid/access.log
      # chown squid.squid /var/log/                                  }                                          cache_log /var/log/squid/
      squidguard -Rf                                                                                            cache.log
                                                                                                                cache_store_log /var/log/
                                                                                                                squid/store.log
                                                                                                                client_netmask 255.255.255.0
                                                                                                                unlinkd_program /usr/lib/
                                                                                                                squid/unlinkd


                                                                                                                # redirect program (bagian ini
                                                                                                                berisikan program tambahan
                                                                                                                yang akan digunakan
                                                                                                                # untuk meningkatkan kinerja
                                                                                                                squid).
                                                                                                                redirect_program /usr/bin/
                                                                                                                squidguard
                                                                                                                redirect_children 5


                                                                                                                #refresh pattern
                                                                                                                refresh_pattern ^ftp: 1440
                                                                                                                20% 10080
                                                                                                                refresh_pattern ^gopher: 1440
                                                                                                                0% 1440
Amati file access.log squid untuk melihat status yang terjadi.                                                  refresh_pattern . 0 20% 4320



72 INFOLINUX 08/2005                                                       www.infolinux.web.id
Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial                                           TUTORIAL
                                                                                                                          Squid Proxy Server




   # acl definisi (bagian ini
   berisikan batasan-batasan yang
   akan dilakukan oleh server
   # squid).
   # Dan bagian ini adalah inti
   dari penerapan kebijakan yang
   ada di proxy server
   acl myNet src 192.168.0.0/255
   .255.255.0
   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 SSL_ports port 443 563
   acl Safe_ports port 80 21 443
   563 70 210 1025-65535
   acl Safe_ports port 280
   # http-mgmt
   acl Safe_ports port 488                Squid me-redirect situs porno ke Eramuslim.com.
   # gss-http
   acl Safe_ports port 591                3. Lihat di daftar proses, apakah kedua pro-              ada dalam kategori database situs
   # filemaker                               gram redirector squid ini, sudah berjalan              squidguard. Sebagai contoh, saya akan
   acl Safe_ports port 777                   dengan baik.                                           melihat daftar situs porno yang terma-
   # multiling http                            # ps ax | grep squid                                 suk sebagai kategori adult pada squid-
   acl CONNECT method CONNECT                                                                       guard.
                                                  7542      ?   Ss      0:00      squid -D           # cd /var/lib/squidguard
   # rule (bagian ini berisikan                   7544      ?   S       0:01      (squid) -D
   keterangan untuk membiarkan                    7546      ?   Ss      0:00      (squidguard)      masuk ke directory kategori adult
   atau menolak bagian acl                        7547      ?   Ss      0:00      (squidguard)       # cd adult
   # yang telah dibuat).                          7548      ?   Ss      0:00      (squidguard)       # vi domains
   http_access allow manager                      7549      ?   Ss      0:00      (squidguard)
   http_access allow localhost                    7550      ?   Ss      0:00      (squidguard)       Coba Anda lihat salah satu situs yang ada
   http_access deny !Safe_ports                                                                  di file domains, lalu test dibuka dari browser
   http_access deny CONNECT                   Dapat dilihat pada daftar proses di atas,          salah satu user.
   !SSL_ports                                 bahwa program redirector squidguard                    Sebagai contoh, ada situs http://20-asian-
   http_access deny all                       sudah berjalan.                                    pics.com dalam file domains tersebut. Kita
                                              Cek juga daftar log squidguard, apakah             akan test apakah squidguard sudah berjalan
   #http_reply_access                         benar-benar sudah berjalan dengan baik             dengan baik atau belum. Caranya:
   http_reply_access allow all                atau belum.                                            Ketik http://20-asian-pics.com di brow-
                                               # tail -f /var/log/squidguard/                    ser anda. Lalu perhatikan hasil situs yang
   # icp access                                squidGuard.log                                    terbuka.
   icp_access allow all                                                                              Jika yang terbuka adalah situs www.era-
                                               2005-06-23 10:54:47 [4072]                        muslim.com, berarti squidguard sudah ber-
   # display message                           squidGuard 1.2.0 started                          jalan dengan baik di sistem anda. Atau de-
   cache_mgr                                   (1119498886.074)                                  ngan kata lain sudah berhasil untuk meredi-
   supriyanto@infolinux.co.id                  2005-06-23 10:54:47 [4072]                        rect situs http://20-asian-pics.com menjadi
   cache_effective_user squid                  squidGuard ready for requests                     situs www.eramuslim.com.
   cache_effective_group squid                 (1119498887.600)                                      Sampai di sini dahulu pembahasan menge-
   visible_hostname infolinux.                                                                   nai konfigurasi Squid. Bulan depan penulis
   co.id                                  4. Selanjutnya, lihatlah daftar situs-situs            akan melanjutkannya dengan studi kasus
                                             yang ada dalam database squidguard.                 berikutnya, yaitu studi kasus keempat sampai
2. Restart service squid Anda:               Biasanya daftar situs tersebut di squid-            studi kasus ketujuh. Sampai jumpa.
   # service squid restart                   guard bernama domains dan letaknya                  Supriyanto (supriyanto@infolinux.co.id)


                                                           www.infolinux.web.id                                     INFOLINUX 08/2005       73
TUTORIAL                                         Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial
Squid




Step By Step
Konfigurasi Squid Proxy Server
dengan Berbagai Studi Kasus
Bagian 2 dari 2 Artikel
Proxy server adalah server yang berguna sebagai perantara antara client dengan server
gateway sebelum berhubungan ke Internet. Dengan adanya proxy server ini, maka url /
situs yang sering di-browsing akan semakin terasa semakin cepat terakses oleh user,
karena telah disimpan di dalam cache proxy. Selain itu, proxy server juga memiliki fungsi
lainnya, di antaranya autentifikasi user, memblok situs, memblok banner, dan lain-lain.


P
       roxy server adalah server yang ber-       4. Memblok banner situs menggunakan               terinstalasi dengan baik di sistem Anda.
       guna sebagai perantara antara cli-           redirector adzap.                              # perl -v
       ent dengan server gateway sebelum         Pernahkah Anda membuka situs terkenal
berhubungan ke Internet. Dengan adanya           seperti yahoo mail, detik.com, ataupun situs   3. Berikutnya, extract source adzap yang
proxy server ini, maka url / situs yang sering   terkenal yang lainnya? Kalau Anda pernah          telah Anda download tersebut, ke direc-
di-browse akan semakin terasa semakin cepat      membuka situs tersebut, pasti akan meli-          tory /usr/local.
terakses oleh user, karena telah disimpan di     hat banyaknya banner yang menempel di             # tar -xzvf adzap-20050605.
dalam squid cache. Selain itu, proxy server      situs tersebut. Dengan terbukanya banner,         tar.gz -C /usr/local
juga memiliki fungsi lainnya, di antaranya       sebetulnya kita telah membuang bandwidth          # cd /usr/local/adzap
autentifikasi user, memblok situs, memblok        dengan sia-sia hanya untuk menampilkan
banner, dan lain-lain.                           banner itu.                                       Copy file-file berikut ke Document Root
   Pada edisi sebelumnya, saya sudah                 Lalu, adakah program redirector squid         Apache anda, misal di Fedora Core 3 ter-
menjelaskan tentang cara pengonfigurasian         yang dapat digunakan untuk memblok                letak di /var/www/html
Squid dengan membahas studi kasus per-           banner? Tentu ada, untuk melakukan hal            # cd /var/www/html
tama sampai dengan ketiga. Sesuai dengan         tersebut Anda dapat menggunakan salah             # mkdir adzap
janji penulis sebelumnya, sekarang akan          satu program redirector squid yang ber-           # cd adzap
melanjutkannya dengan studi kasus keem-          nama adzap. Dengan adzap gambar ban-              # cp /usr/local/adzap/zaps/*.
pat sampai dengan ketujuh. Dan studi kasus       ner yang ada akan diubah menjadi tulisan          gif /var/www/html/adzap
yang akan dibahas kali ini, yaitu:               adzap.                                            # cp /usr/local/adzap/zaps/*.
4. Memblok banner menggunakan redirec-               Untuk pembahasan lebih lanjut                 html /var/www/html/adzap
   tor adzap.                                    bagaimana setting redirector adzap dan            # cp /usr/local/adzap/zaps/*.
5. Membatasi ukuran file (kuota) yang             squidguard dapat berjalan bersamaan atau          js /var/www/html/adzap
   bisa di-download oleh user pada interval      dengan kata lain bagaimana menggunakan
   waktu tertentu.                               multiple redirector, ikuti langkah-langkah     4. Edit file wrapzap yang ada di /usr/local/
6. Autentifikasi user.                            di bawah ini:                                     adzap/scripts, pada bagian:
7. Transparant Proxy.                            1. Download program adzap dari internet.          zapper=/usr/local/adzap/
                                                     http://adzapper.sourceforge.net/adzap-        scripts/squid_redirect
   Untuk mempersingkat waktu, Anda                   20050605.tar.gz                               ZAB_BASE=http://localhost/
dapat dapat langsung membaca tutorial di         2. Pastikan perl, apache dan segala yang          adzap
bawah ini:                                           berkenaan dengan program ini sudah            .............................



70 INFOLINUX 09/2005                                        www.infolinux.web.id
Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial                                                                     TUTORIAL
                                                                                                                                                                Squid



     .............................                              0% 1440                                                  9. Test ke browser, dengan mengetikkan si-
     #exec “$zapper”                                            refresh_pattern . 0 20% 4320                                 tus yang terdapat banyak banner, misal:
     # exec /path/to/zapchain                                   .............................                                www.detik.com, jika Anda melihat banner
     “$zapper” /path/to/another/                                .............................                                yang terdapat pada situs detik.com telah
     eg/squirm                                                                                                               berubah menjadi tulisan This AdZaped,
     exec /usr/local/adzap/scripts/                         6. Setelah selesai, restart service squid Anda                   berarti Anda telah berhasil mengonfi-
     zapchain “$zapper” /usr/bin/                               # service squid restart                                      gurasikan squid untuk memblok banner
     squidguard                                                                                                              iklan.
                                                            7. Jalankan juga service apache Anda.                        10. Test juga dengan mengetikkan salah
5. Edit squid.conf, tambahkan baris berikut:                    # service httpd start                                        satu situs yang termasuk ke dalam daf-
     .............................                                                                                           tar blacklist squidguard (ex:// http://20-
     .............................                          8. Check apakah redirector adzap dan re-                         asian-pics.com). Jika situs tersebut te-
                                                               director squid guard sudah berjalan de-                       redirect ke situs http://www.eramuslim.
     #----------------------------                             ngan baik.                                                    com, artinya Anda telah dapat men-
     # redirect program (bagian ini                             # ps ax | grep squid_re                                      jalankan multiple redirector squid secara
     berisikan program tambahan                                 .............................                                bersamaan.
     yang akan digunakan                                        .............................                                Bahkan jika ingin menambahkan pro-
     # untuk meningkatkan kinerja                               9153 ? Ss     0:00 /usr/                                     gram redirector squid yang lain, Anda
     squid).                                                    bin/perl /usr/local/adzap/                                   hanya perlu menambahkan path pro-
     #Disini squid memanggil                                    scripts/zapchain /usr/local/                                 gramnya di file wrapzap.
     program wrapzap yang akan                                  adzap/scripts/squid_redirect                             11. Untuk melihat log file, url yang berhasil
     menjalankan dua buah #program                              /usr/bin/squidguard                                          di blok banner-nya, Anda dapat menge-
     redirector yang dipanggil                                  9156 ?        Ss     0:00                                    tikkan perintah berikut :
     oleh wrapzap yaitu redirector                              /usr/bin/perl /usr/local/                                      # tail -f /var/log/httpd/
     squid_re dan #redirector                                   adzap/scripts/zapchain /usr/                                   access_log
     squidguard                                                 local/adzap/scripts/squid_
                                                                redirect /usr/bin/squidguard                             5. Membatasi ukuran file (kuota) yang bisa
     redirect_program /usr/local/                               /usr/bin/perl -w /usr/local/                                di-download oleh user pada interval
     adzap/scripts/wrapzap                                      adzap/scripts/squid_redirect                                waktu tertentu.
     redirect_children 5                                        9164 ?        S      0:00                                Setelah melihat beberapa studi kasus di atas,
     #----------------------------                              /usr/bin/squidguard                                      mungkin ada peningkatan kecepatan pada
                                                                9168 ?        S      0:01                                waktu akses suatu sites yang dibuka oleh
     #refresh pattern                                           /usr/bin/perl -w /usr/local/                             user. Apalagi kalau situs tersebut sudah ter-
     refresh_pattern ^ftp: 1440                                 adzap/scripts/squid_redirect                             daftar kedalam cache squid.
     20% 10080                                                  .............................                               Selain itu, kecepatan akses juga bergan-
     refresh_pattern ^gopher: 1440                              .............................                            tung pada jalur bandwidth yang anda sewa




Banner situs yang belum diblok sebelum menggunakan adzap.                           Banner situs yang telah diblok setelah menggunakan adzap.




                                                                       www.infolinux.web.id                                                     INFOLINUX 09/2005   71
TUTORIAL                                                            Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial
Squid



dari ISP. Lalu ada juga faktor yang paling                          beberapa setting-an di file squid.conf. Baca                      atau menolak bagian acl #
penting yang paling berpengaruh pada                                langkah-langkah di bawah ini:                                    yang telah dibuat).
waktu akses suatu situs, yaitu kebiasaan                            1. Buka file squid.conf                                            http_access allow lan
beberapa user yang suka men-download di                                 # vi /etc/squid.conf                                          http_access deny manager
Internet. Mengambil suatu file (download)                                                                                              http_access allow localhost
dari Internet memang menyenangkan bagi                              2. Lalu edit pada bagian berikut:                                 http_access deny !Safe_ports
beberapa user, akan tetapi kalau tidak disia-                           .............................                                 http_access deny CONNECT
sati dengan baik hal ini justru menimbulkan                             .............................                                !SSL_ports
masalah bagi user lainnya. Saat men-down-                               # Note : Untuk Settingan                                      http_access deny all
load suatu file yang besar (ex:/ file iso cd                              Lengkapnya, dapat anda temukan
linux), biasanya bandwidth yang ada akan                                di CD InfoLINUX kali ini.                                     acl magic_words2 url_regex
berkurang secara drastis, sehingga user biasa                                                                                        -i ftp .exe .mp3 .vqf .tar.gz
yang ingin sekadar browsing merasa begitu                                # acl definisi (bagian ini                                  .gz .tar.bz2 .bz2 .rpm .zip
lambat waktu akses Internetnya. Dan kalau                               berisikan batasan-batasan                                    .rar .avi .mpeg .mpe .mpg .qt
sudah begini, hal ini tentunya akan menu-                               yang akan dilakukan oleh                                     .ram .rm .raw .wav .iso
runkan produktivitas kerja.                                              # server squid).
    Agar tidak terjadi hal yang demikian,                                acl lan src 192.168.0.0/255.                                 # Cancel download if file is
maka seorang administrator harus dapat me-                              255.255.0                                                    bigger than 2MB = 2000 X 1024
nentukan kebijakan yang berlaku pada saat                                acl all src 0.0.0.0/0.0.0.0                                 byte = 2048000 byte
user men-download suatu file dari Internet.                               acl manager proto cache_                                     reply_body_max_size
    Sebagai contoh, penulis akan menjelas-                              object                                                       2048000 allow magic_words2
kan dengan studi kasus agar dapat lebih                                  acl localhost src 127.0.0.1/                                tdkbebasdownload
mudah dipahami.                                                         255.255.255.255
Persyaratannya :                                                         acl SSL_ports port 443 563                                    # icp access
1. PT XYZ ingin agar semua komputer yang                                 acl Safe_ports port 80 21                                     icp_access allow lan
    terhubung ke Internet dibatasi jumlah                               443 563 70 210 1025-65535
    download-nya, yaitu ukuran file yang dapat                            acl Safe_ports port 280                                     .............................
    ter-download maksimal hanya 2 MB.                                    acl Safe_ports port 488                                     .............................
2. Ketentuan No. 1, hanya berlaku selama                                 acl Safe_ports port 591
    jam kerja, yaitu dari jam 08.00–17.30,                               acl Safe_ports port 777                               3. Restart service squid Anda, untuk meli-
    setelah lewat dari jam tersebut, user be-                            acl CONNECT method CONNECT                               hat perubahan:
    bas men-download file dengan ukuran                                   acl tdkbebasdownload time                                     # service squid restart
    file tak terbatas.                                                   08:00-17:30
                                                                                                                               4. Pada saat jam kerja, coba Anda test
   Untuk menerapkan hal di atas, yang per-                               # rule (bagian ini berisikan                             download suatu file dari Internet yang
lu Anda lakukan hanyalah menambahkan                                    keterangan untuk membiarkan                               besar filenya lebih dari 2 MB. Jika hasil-




Peringatan file yang tidak bisa didownload karena melebihi kuota.                          Metode authentifikasi Squid dengan menggunakan mysql-auth.




72 INFOLINUX 09/2005                                                           www.infolinux.web.id
Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial                                           TUTORIAL
                                                                                                                                         Squid



   nya adalah peringatan ERROR, maka                 untuk menjalankan service mysql.                   menjadi
   settingan yang Anda lakukan sudah ber-             # rpm -qa | grep mysql-devel                       $(INSTALL) -o squid -g
   hasil. Test juga men-download suatu file            mysql-devel-3.23.58-13                             squid -m 600 $(CONF) /etc/
   dengan ukuran kurang dari 2MB, jika                                                                   mysql_auth.conf
   dapat ter-download berarti sudah tidak             # service mysqld start
   ada masalah untuk pembatasan ukuran                                                               e. dan beri tanda remark (#) pada
   file download ini.                              4. Cari dan catat lokasi file mysql.h dan lib-          $(INSTALL) -o nobody -g
5. Ketika waktu jam kerja telah lewat, Test          mysqlclient.a                                       nogroup -m 600 $(CONF)
   juga men-download file dengan ukuran                $ locate mysql.h                                   /usr/local/squid/etc/mysql_
   file lebih dari 2 MB, jika hasilnya file             /usr/include/mysql/mysql.h                         auth.conf.default
   tersebut dapat ter-download, berarti ke-
   bijakan yang telah ditentukan telah ber-           $ locate libmysqlclient.a                         menjadi
   jalan dengan baik.                                 /usr/lib/mysql/                                    #$(INSTALL) -o nobody -g
                                                      libmysqlclient.a                                   nogroup -m 600 $(CONF)
6. Autentifikasi user menggunakan                                                                        /usr/local/squid/etc/mysql_
   mysql_auth                                     5. Berikutnya adalah Anda harus mengedit               auth.conf.default
Pada studi kasus kali ini, tidak ada hubu-           terlebih dahulu file Makefile program
ngannya dengan studi kasus sebelumnya.               mysql_auth.                                  6. Pindah ke directory src, dan edit file de-
Kali ini penulis akan menjelaskan metode              $ cd mysql_auth-0.8/                           fine.h
autentifikasi user dengan menggunakan                                                                 $ cd src/
username dan password yang terdaftar di
server.                                               $ vi Makefile                                  $ vi define.h
    Program autentifikasi yang akan penu-
lis jelaskan bernama mysql_auth. Dengan              Edit pada bagian-bagian berikut :               Edit pada bagian-bagian berikut:
mysql_auth ini, Anda akan lebih mudah                a. CFLAGS = -I/usr/local/                       #define CONFIG_FILE “/usr/
memanajemen username dan password,                       include -L/usr/local/lib                    local/squid/etc/mysql_auth.
karena dapat dihubungkan dengan interface                                                            conf”
yang dibuat dengan PHP maupun bahasa                    menjadi
lainnya.                                                 CFLAGS = -I/usr/include/                    menjadi
    Logika program ini berjalan sebagai                  mysql -L/usr/lib/mysql                      #define CONFIG_FILE “/etc/
berikut, jika username dan password yang                                                             mysql_auth.conf”
dimasukkan sesuai, maka program akan                 b. $(INSTALL) -o nobody -g
menghasilkan output OK, dan autentifi-                    nogroup -m 755 mysql_auth                7. Edit juga file mysql_auth.conf
kasi berhasil. Dan bila username maupun                  /usr/local/squid/libexec/                   $ vi mysql_auth.conf
password tidak sesuai, maka program akan                 mysql_auth
menghasilkan output ERR, dan autentifikasi                                                            Ubah pada bagian berikut :
akan gagal.                                             menjadi                                      a. mysqld_socket       /tmp/
    Kalau autentifikasi berhasil, maka user               $(INSTALL) -o squid -g                          mysqld.sock
akan dapat browsing ke Internet. Tetapi jika             squid -m 755 mysql_auth
autentifikasi gagal, user tersebut tidak dapat            /usr/bin/mysql_auth                            menjadi
browsing ke Internet.                                                                                    mysqld_socket    /var/lib/
    Untuk mempersingkat waktu, coba Anda             c. $(INSTALL) -o root -g root                       mysql/mysql.sock
ikuti penjelasan di bawah ini:                           -m 700 mypasswd /usr/local/
1. Download dahulu program mysql_auth-                   bin/mypasswd                                b. encrypt_password_form            NO
    0.8.tar.gz dari situs http://people.arxnet.
    hu/airween/mysql_auth/, atau Anda                   menjadi                                         menjadi
    dapat mencarinya pada CD majalah In-                 $(INSTALL) -o squid -g                          encrypt_password_form           YES
    foLINUX edisi ini.                                   squid -m 755 mypasswd /usr/
2. Setelah itu extract, file tersebut :                   bin/mypasswd                             8. Selanjutnya compile dan instal
    $ tar -xzvf mysql_auth-0.8.                                                                      $ cd mysql_auth-0.8/
    tar.gz                                           d. $(INSTALL) -o nobody -g
                                                         nogroup -m 600 $(CONF)                      $ make
3. Pastikan program mysql-devel sudah                    /usr/local/squid/etc/mysql_
   terinstal di sistem Anda, dan jangan lupa             auth.conf                                   $ su –c “make install”



                                                             www.infolinux.web.id                                   INFOLINUX 09/2005         73
TUTORIAL                                        Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial
Squid



9. Tambahkan database untuk autentifikasi            /usr/bin/mysql_auth                           masukkan username dan password yang
   user                                             auth_param basic realm Squid                  telah dibuat, sebagai contoh : username
    # cd scripts/                                   proxy-caching web server                      : supri, password: sup234.
                                                    auth_param basic children 5                   Jika masuk dan tidak mengalami ma-
    # mysql -u root -p < create_                    auth_param basic                              salah, berarti metode autentifikasinya
    scripts                                         credentialsttl 2 hours                        sudah berjalan dengan baik.
                                                    .............................
10. Sekarang coba Anda tes dengan menam-            .............................              7. Transparant proxy
    bahkan user ke tabel data yang ada di           # acl definisi (bagian ini                 Setelah menjelaskan keenam cara di atas,
    database mysql_auth dengan menggu-              berisikan batasan-batasan yang             akhirnya sampai juga pada cara terakhir yang
    nakan program mypasswd.                         akan dilakukan oleh server                 akan penulis jelaskan. Pada semua kasus se-
     # mypasswd supri sup234                        # squid).                                  belumnya, Anda harus men-setting secara
     Password record ADDED                          # Dan bagian ini adalah inti               manual setting-an proxy di web browser cli-
    succesfully.                                    dari penerapan kebijakan yang              ent agar dapat ber-Internet. Mungkin kalau
                                                    ada di proxy server                        hanya sepuluh client, hal itu tidak menjadi
   Anda dapat mengeceknya ke dalam tabel            .............................              masalah. Tetapi bagaimana jika komputer
   data yang ada di database mysql_auth,            .............................              yang harus disetting berjumlah ratusan,
   apakah record yang baru dimasukkan               acl butuhpasswd proxy_auth                 tentu hal ini akan merepotkan Anda sebagai
   oleh program nypasswd, sudah ada.                REQUIRED                                   administrator. Belum lagi jika suatu saat,
    # mysql -u root -p mysql_auth                   acl myNet src 192.168.0.0/255              terdapat lagi perubahan IP dan port proxy
    mysql> select *from data;                       .255.255.0                                 server yang digunakan.
    +-------+------------------+                    acl all src 0.0.0.0/0.0.0.0                    Untuk menyiasati hal tersebut, diperlu-
    | user | password          |                    acl manager proto cache_object             kan suatu cara agar Anda tidak perlu me-
    +-------+------------------+                    acl localhost src 127.0.0.                 masukkan secara manual setting-an proxy
    | supri | 79d544277322393c |                    1/255.255.255.255                          server yang berlaku. Caranya adalah Anda
    +-------+------------------+                    .............................              dapat menggunakan transparant proxy.
    1 rows in set (0.21 sec)                        .............................              Prinsip kerja transparant proxy adalah se-
                                                                                               buah firewall atau redirector lainnya akan
    Dapat Anda lihat hasilnya di atas, kalau        # rule (bagian ini berisikan               menangkap koneksi TCP yang ditujukan
    password yang kita masukkan untuk user          keterangan untuk membiarkan                ke port tertentu pada remote host, dan
    supri sudah langsung terenkripsi. Hal ini       atau menolak bagian acl                    kemudian akan mengarahkan koneksi
    karena setting-an yang terdapat di file          # yang telah dibuat).                      TCP tersebut ke proxy server lokal. Proxy
    mysql_auth.conf, di mana nilai variabel         .............................              server menggunakan header HTTP untuk
    encrypt_password_form di set menjadi            .............................              menentukan ke mana proxy akan melaku-
    YES.                                            # Baris ini juga                           kan koneksi dan request dari mana yang
11. Tes validasi user dan password yang telah       http_access allow butuhpasswd              akan di-proxy. Untuk mengaplikasikan
    anda buat dengan menggunakan pro-               http_access allow myNet                    transparant proxy, Anda dapat memerlu-
    gram mysql_auth                                 http_access allow manager                  kan aplikasi Iptables. Dengan Iptables, an-
    ERR                                             http_access allow localhost                da cukup membuat rule untuk menangkap
    # mysql_auth                                    http_access deny !Safe_ports               trafik yang ditujukan untuk port 80, dan
    supri coba                                      http_access deny CONNECT                   mengarahkan trafik ini ke port dari proxy
    supri sup234                                    !SSL_ports                                 server (biasanya 3128 atau 8080).
    OK                                                                                             Untuk lebih jelasnya, Anda dapat mengi-
                                                    # Baris ini juga                           kuti petunjuk yang diberikan ada di bawah
12. Setelah hasil validasi sudah benar, lang-       authenticate_ip_ttl 2 hours                ini:
    kah berikutnya adalah menghubungkan             http_access deny all                       1. Dimisalkan kali ini Anda sudah dapat
    program mysql_auth dengan squid. Un-                                                           menjalankan proxy server secara manual
    tuk itu Anda dapat mengedit file squid.          .............................                  dengan baik, sekarang tinggal bagaima-
    conf.                                           .............................                  na caranya agar dapat berjalan secara
    # vi /etc/squid.conf                                                                           transparant proxy.
    .............................               13. Test di browser, dengan mengetikkan ala-   2. Pastikan paket dan service iptables sudah
    .............................                   mat suatu situs, kemudian tekan Enter.         terinstal dengan baik di sistem Anda.
    # Tambahan untuk authentifikasi                 Jika muncul layar autentifikasi setelah     3. Squid terkonfigurasi dengan menggu-
    auth_param basic program                        anda menekan tombol Enter, coba Anda           nakan port 3128.


74 INFOLINUX 09/2005                                       www.infolinux.web.id
Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial                                  TUTORIAL
                                                                                                                               Squid



4. Alamat network yang digunakan adalah         Misal Squid berada pada komputer            Setelah itu, coba amati file access.log di
   192.168.0.0/24.                              yang ber-IP 192.168.0.4 dan port yang       mesin proxy Anda. Jika semuanya sudah
                                                digunakan adalah 3128 atau kita sebut       benar, seharusnya jika ada user yang se-
   Cara mengatur konfigurasi transparant         saja komputer ini dengan nama squid-        dang mengakses web, Anda sudah dapat
proxy:                                          box. Dan satunya lagi komputer yang         mengamati prosesnya dari mesin proxy
1. Pastikan kalau sistem telah mendukung        terhubung ke Internet langsung sebagai      tersebut.
   IP Forwarding. Caranya ubah parameter        firewall mempunyai IP 192.168.0.1 kita
   yang ada di /etc/sysctl.conf pada bagian     sebut saja komputer ini dengan nama          Demikian artikel tentang step by step
   ip_forward.                                  iptables-box. Dari komputer iptables-    konfigurasi Squid. Sebenarnya masih ba-
   net.ipv4.ip_forward = 0                      box, coba Anda ketikkan perintah beri-   nyak lagi fungsi Squid lainnya yang dapat
                                                kut untuk mengaktifkan transparant       anda telusuri lebih lanjut di file konfigurasi
   menjadi:                                     proxy di mesin squid-box.                Squid.conf. Pada artikel ini, penulis sudah
   net.ipv4.ip_forward = 1                      iptables -t nat -A PREROUTING            menjelaskan secara garis besar konfigurasi
                                                -i eth0 -s ! 192.168.0.4 -p              Squid yang sering digunakan oleh sebagian
   Setelah itu, restart service network Anda:   tcp --dport 80 -j DNAT                   besar administrator.
   # service network restart                    --to 192.168.0.4:3128                        Namun pada intinya, sesuaikan saja
                                                                                         dengan kebijakan yang benar-benar dibu-
2. Berikutnya edit file squid.conf Anda, ke-     iptables -t nat -A POSTROUTING           tuhkan oleh Anda. Terkadang tidak semua
   mudian tambahkan baris di bawah ini          -o eth0 -s 192.168.0.0/24                fungsi yang ada benar-benar dibutuhkan di
   pada bagian paling bawah dari file itu.       -d 192.168.0.4 -j SNAT                   dalam suatu jaringan.
   # transparent proxy                          –to 192.168.0.1                              Akhir kata, semoga dengan artikel sing-
   httpd_accel_host virtual                                                              kat ini, Anda dapat membuat proxy server
   httpd_accel_port 80                          iptables -A FORWARD -s                   yang andal tanpa terbentur masalah harga
   httpd_accel_with_proxy on                    192.168.0.0/24 -d 192.168.0.4            lisensi software proxy komersial yang ma-
   httpd_accel_uses_host_                       -i eth0 -o eth0 -p tcp --                hal. Indahnya dunia open source!
   header on                                    dport 3128 -j ACCEPT                     Supriyanto (supriyanto@infolinux.co.id)

3. Lakukan masquerading dengan menggu-
   nakan iptables. IP masquerading berguna
   untuk menghubungkan beberapa kom-
   puter yang terkoneksi ke sebuah kom-
   puter yang sudah terkoneksi ke Internet
   agar dapat mengakses ke Internet, atau
   istilahnya Internet Connection Sharing.
   iptables -A POSTROUTING
   -j MASQUERADE -t nat -s
   192.168.0.0/24 -o eth0


   Option -o tersebut tolong anda sesuai-
   kan dengan interface yang terdekat de-
   ngan jaringan luar.
4. Selanjutnya arahkan semua permintaan
   web pada port 80 ke port squid. Untuk
   kondisi ini, terdapat dua buah opsi.
   Jika squid dan firewall yang mengarah-
   kan berada pada satu komputer, guna-
   kan perintah ini:
   iptables -t nat -p tcp -A
   PREROUTING -s 192.168.0.0/24
   -d 0/0 –dport 80 -j REDIRECT
   –to-ports 3128


   Jika Squid dan firewall yang mengarah-
   kan tidak berada pada satu komputer.


                                                       www.infolinux.web.id                                INFOLINUX 09/2005      75

Weitere ähnliche Inhalte

Was ist angesagt?

Squid proxy-server
Squid proxy-serverSquid proxy-server
Squid proxy-serverDwi Wahyudi
 
(2012) 4.proxy pada ubuntu
(2012) 4.proxy pada ubuntu (2012) 4.proxy pada ubuntu
(2012) 4.proxy pada ubuntu Syiroy Uddin
 
Perkembangan web server
Perkembangan web server Perkembangan web server
Perkembangan web server fatek
 
Modul Solusi UN SMK TKJ Paket 1 - Membangun PC Router & Proxy Server
Modul Solusi UN SMK TKJ Paket 1 - Membangun PC Router & Proxy ServerModul Solusi UN SMK TKJ Paket 1 - Membangun PC Router & Proxy Server
Modul Solusi UN SMK TKJ Paket 1 - Membangun PC Router & Proxy ServerI Putu Hariyadi
 
Laporan 6
Laporan 6Laporan 6
Laporan 6hudakds
 
pembahasan soal UKK Paket1 SMK NEGERI 1 MAJAULENG
pembahasan soal UKK Paket1 SMK NEGERI 1 MAJAULENGpembahasan soal UKK Paket1 SMK NEGERI 1 MAJAULENG
pembahasan soal UKK Paket1 SMK NEGERI 1 MAJAULENGBaso Ilham
 
Keamanan Jaringan - Firewall Windows & IPTables Debian 7
Keamanan Jaringan - Firewall Windows & IPTables Debian 7Keamanan Jaringan - Firewall Windows & IPTables Debian 7
Keamanan Jaringan - Firewall Windows & IPTables Debian 7peter agustinus
 
Supriyanto squidproxyserver
Supriyanto squidproxyserverSupriyanto squidproxyserver
Supriyanto squidproxyserverHARRY CHAN PUTRA
 
9.1 gatewae server
9.1 gatewae server9.1 gatewae server
9.1 gatewae serverwayan abyong
 
konfigurasi proxy server
konfigurasi proxy serverkonfigurasi proxy server
konfigurasi proxy serverMuhammad Anang
 
Konfigurasi Web server APACHE2
Konfigurasi Web server APACHE2Konfigurasi Web server APACHE2
Konfigurasi Web server APACHE2syahrulfadillah16
 
Tutorial menginsatal konfigurasi linus debian server for lks
Tutorial menginsatal konfigurasi linus debian server for lksTutorial menginsatal konfigurasi linus debian server for lks
Tutorial menginsatal konfigurasi linus debian server for lksBellspyk Atow
 

Was ist angesagt? (18)

Squid proxy-server
Squid proxy-serverSquid proxy-server
Squid proxy-server
 
(2012) 4.proxy pada ubuntu
(2012) 4.proxy pada ubuntu (2012) 4.proxy pada ubuntu
(2012) 4.proxy pada ubuntu
 
Perkembangan web server
Perkembangan web server Perkembangan web server
Perkembangan web server
 
Modul Solusi UN SMK TKJ Paket 1 - Membangun PC Router & Proxy Server
Modul Solusi UN SMK TKJ Paket 1 - Membangun PC Router & Proxy ServerModul Solusi UN SMK TKJ Paket 1 - Membangun PC Router & Proxy Server
Modul Solusi UN SMK TKJ Paket 1 - Membangun PC Router & Proxy Server
 
Laporan 6
Laporan 6Laporan 6
Laporan 6
 
pembahasan soal UKK Paket1 SMK NEGERI 1 MAJAULENG
pembahasan soal UKK Paket1 SMK NEGERI 1 MAJAULENGpembahasan soal UKK Paket1 SMK NEGERI 1 MAJAULENG
pembahasan soal UKK Paket1 SMK NEGERI 1 MAJAULENG
 
Lapres https
Lapres httpsLapres https
Lapres https
 
Konfigurasi debian
Konfigurasi debianKonfigurasi debian
Konfigurasi debian
 
Kamdat proxy radius
Kamdat proxy radiusKamdat proxy radius
Kamdat proxy radius
 
Keamanan Jaringan - Firewall Windows & IPTables Debian 7
Keamanan Jaringan - Firewall Windows & IPTables Debian 7Keamanan Jaringan - Firewall Windows & IPTables Debian 7
Keamanan Jaringan - Firewall Windows & IPTables Debian 7
 
Soal ujikom 2013
Soal ujikom 2013Soal ujikom 2013
Soal ujikom 2013
 
Supriyanto squidproxyserver
Supriyanto squidproxyserverSupriyanto squidproxyserver
Supriyanto squidproxyserver
 
Lapres ftp
Lapres ftpLapres ftp
Lapres ftp
 
9.1 gatewae server
9.1 gatewae server9.1 gatewae server
9.1 gatewae server
 
konfigurasi proxy server
konfigurasi proxy serverkonfigurasi proxy server
konfigurasi proxy server
 
Konfigurasi Web server APACHE2
Konfigurasi Web server APACHE2Konfigurasi Web server APACHE2
Konfigurasi Web server APACHE2
 
Tutorial menginsatal konfigurasi linus debian server for lks
Tutorial menginsatal konfigurasi linus debian server for lksTutorial menginsatal konfigurasi linus debian server for lks
Tutorial menginsatal konfigurasi linus debian server for lks
 
konfigurasi ftp
konfigurasi ftpkonfigurasi ftp
konfigurasi ftp
 

Ähnlich wie Konfigurasi Squid Proxy Server

Ähnlich wie Konfigurasi Squid Proxy Server (20)

Arisnb proxy-squid-monitoring
Arisnb proxy-squid-monitoringArisnb proxy-squid-monitoring
Arisnb proxy-squid-monitoring
 
Arisnb proxy-squid-monitoring
Arisnb proxy-squid-monitoringArisnb proxy-squid-monitoring
Arisnb proxy-squid-monitoring
 
14001326 all-about-squid-apache - [the-xp.blogspot.com]
14001326 all-about-squid-apache - [the-xp.blogspot.com]14001326 all-about-squid-apache - [the-xp.blogspot.com]
14001326 all-about-squid-apache - [the-xp.blogspot.com]
 
Proxy server
Proxy serverProxy server
Proxy server
 
FreeBSD Proxy Server
FreeBSD Proxy ServerFreeBSD Proxy Server
FreeBSD Proxy Server
 
Squid apache
Squid apacheSquid apache
Squid apache
 
Transparan proxy
Transparan proxyTransparan proxy
Transparan proxy
 
Slide-IST104-IST104-Slide-10-11.pptx
Slide-IST104-IST104-Slide-10-11.pptxSlide-IST104-IST104-Slide-10-11.pptx
Slide-IST104-IST104-Slide-10-11.pptx
 
Proxy
ProxyProxy
Proxy
 
Blokir akses web_dgn_squid
Blokir akses web_dgn_squidBlokir akses web_dgn_squid
Blokir akses web_dgn_squid
 
FreeBSD Web Server
FreeBSD Web ServerFreeBSD Web Server
FreeBSD Web Server
 
Tutorial Menginstall Konfigurasi Router Debian 7
Tutorial Menginstall Konfigurasi Router Debian 7Tutorial Menginstall Konfigurasi Router Debian 7
Tutorial Menginstall Konfigurasi Router Debian 7
 
Instalasi Squid Proxy di Ubuntu
Instalasi Squid Proxy di UbuntuInstalasi Squid Proxy di Ubuntu
Instalasi Squid Proxy di Ubuntu
 
Tutorial mikrotik-step-by-step(1)
Tutorial mikrotik-step-by-step(1)Tutorial mikrotik-step-by-step(1)
Tutorial mikrotik-step-by-step(1)
 
Tutorial mikrotik-step-by-step
Tutorial mikrotik-step-by-stepTutorial mikrotik-step-by-step
Tutorial mikrotik-step-by-step
 
Delay pool on_proxy_squid
Delay pool on_proxy_squidDelay pool on_proxy_squid
Delay pool on_proxy_squid
 
Tutorial mikrotik-step-by-step
Tutorial mikrotik-step-by-stepTutorial mikrotik-step-by-step
Tutorial mikrotik-step-by-step
 
Squid proxy
Squid proxySquid proxy
Squid proxy
 
Al12
Al12Al12
Al12
 
Cbq
CbqCbq
Cbq
 

Konfigurasi Squid Proxy Server

  • 1. TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial Squid Proxy Server Step By Step Konfigurasi Squid Proxy Server dengan Berbagai Studi Kasus Bagian 1 dari 2 Artikel Proxy Server adalah server yang berguna sebagai perantara antara client dengan server gateway sebelum berhubungan ke Internet. Dengan adanya proxy server ini, maka url / situs yang sering di-browsing akan semakin terasa semakin cepat terakses oleh user, karena telah disimpan di dalam cache proxy. Selain itu, proxy server juga memiliki fungsi lainnya, di antaranya autentifikasi user, memblok situs, memblok banner, dan lain-lain. B agi para administrator warnet 4. Memblok banner menggunakan redirec- Check dengan mengetikkan perintah di atau kantor, pasti pernah berpikir tor adzap. bawah ini dari konsole : bagaimana caranya agar loading 5. Membatasi ukuran file (kuota) yang # rpm -qa | grep squid situs yang dibuka oleh user terasa lebih bisa di-download oleh user pada interval cepat, dapat memblok situs-situs porno waktu tertentu. Jika sudah ada, lanjut ke bagian konfi- yang sering membawa spyware, membatasi 6. Autentifikasi user. gurasi, jika belum ada, ikuti langkah in- ukuran download file user, autentifikasi user 7. Transparant Proxy. stallasi squid di bawah ini. mana saja yang diperbolehkan browsing, Masuk ke Menu Utama, System Settings, me-redirect suatu situs porno ke situs yang Adapun distro yang dipakai penulis Add/Remove Application. Masukkan lain, dan sebagainya. dalam menyusun penulisan ini adalah Fe- password root Anda. Jika itu permasalahannya, maka jawaban- dora Core 3, dan seharusnya dapat di terap- Setelah tampil menu Add or Remove nya adalah si administrator dapat membuat kan juga pada pengguna distro lainnya. Packages, lihat dibagian Servers, lalu klik sebuah mesin proxy server untuk menjem- Untuk mempersingkat waktu, silakan baca bagian Web Server, klik Details, lalu check batani hubungan dari Internet ke user. Me- langkah-langkahnya di bawah ini: di bagian software squid. sin proxy ini akan bertindak sebagai pemfil- Klik tombol Update. Masukkan CD se- ter paket yang datang dari Internet, baik itu Instalasi Squid Proxy Server suai dengan permintaan installer. melalui port http atau ftp, sebelum sampai Instalasi software Squid Proxy Server ke user. Salah satu software proxy terbaik dapat dilakukan dari source ataupun Konfigurasi squid proxy server yang ada di GNU/Linux adalah Squid. Squid yang sudah berbentuk binary. Untuk pe- Selanjutnya kita akan mulai mengonfigurasi adalah software proxy server open source tunjuk instalasi Squid dari source dapat squid, pertama, buat direktori cache. dengan banyak fitur. Anda lihat pada file INSTALL yang ter- (Catatan : tanda # berarti perintah dijalan- Pada artikel kali ini, penulis akan dapat pada tarball squid. kan oleh root user). menjelaskan cara konfigurasi Squid untuk: Diasumsikan Anda sudah menginstalla- # cd / 1. Memberi hak akses Internet agar hanya sikan Fedora Core 3 di komputer Anda. # mkdir /cache dapat digunakan oleh komputer dengan Dan bagi pengguna distro lain, Anda # chown squid.squid /cache -Rf nomor IP tertentu. tinggal menyesuaikan langkah-lang- 2. Memblok situs terlarang secara manual. kahnya saja. Setelah membuat direktori /cache, se- 3. Memblok situs terlarang dengan meng- Selanjutnya adalah lihat di Sistem Linux lanjutnya kita mulai mengonfigurasikan gunakan program redirector Squid- anda, apakah Squid sudah terinstalasi di squid. Guard. Sistem Linux Anda. # cd /etc/squid 68 INFOLINUX 08/2005 www.infolinux.web.id
  • 2. Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial TUTORIAL Squid Proxy Server # mv squid.conf squid.conf.bak cache_peer ini sesuai dengan ISP # acl definisi (bagian ini # touch squid.conf yg anda gunakan. berisikan batasan-batasan yang # chmod 640 squid.conf cache_peer proxies.telkom.net.id akan dilakukan oleh server parent 8080 3130 default squid). Berikutnya, penulis akan menjelaskan cache_peer proxy-sby.telkom.net. # Dan bagian ini adalah inti konfigurasi squid sesuai dengan kriteria id sibling 8080 3130 round-robin dari penerapan kebijakan yang yang telah penulis jelaskan. ada di proxy server # memory (bagian ini berisikan acl all src 0.0.0.0/0.0.0.0 1. Konfigurasi Squid untuk membatasi besarnya memori yang akan acl manager proto cache_object hak akses Internet agar hanya dapat digunakan oleh squid acl localhost src 127.0.0.1/255. digunakan oleh komputer dengan nomor # untuk menyimpan in transit 255.255.255 IP tertentu. object dan hot object). acl SSL_ports port 443 563 Studi Kasus : # Besar angka yang aman dipakai acl Safe_ports port 80 21 443 Misalkan di suatu PT XYZ terdapat tiga buah adalah ¼ dari jumlah memori yang 563 70 210 1025-65535 divisi. Sebut saja divisi perusahaan tersebut ada. acl Safe_ports port 280 dengan DivisiA, DivisiB, dan DivisiC. cache_mem 32 MB # http-mgmt DivisiA memiliki IP range antara acl Safe_ports port 488 192.168.0.20 – 192.168.0.60 # direktori (bagian ini # gss-http DivisiB memiliki IP range antara berisikan tentang direktori yang acl Safe_ports port 591 192.168.0.61 – 192.168.0.100 akan digunakan sebagai tempat # filemaker DivisiC memiliki IP range antara penyimpanan cache/ objek website acl Safe_ports port 777 192.168.0.101 – 192.168.0.140 squid). # multiling http # Maksud perintah dibawah ini acl CONNECT method CONNECT Persyaratannya : adalah : pertama jenis file acl divisia src 192.168.0.20- 1. PT XYZ ingin agar DivisiA dan DivisiB system yang dipakai adalah ufs, 192.168.0.60/255.255.255.255 memiliki hak akses ke Internet. lalu /cache adalah nama acl divisib src 192.168.0.61- 2. PT XYZ ingin agar DivisiC tidak memi- direktorinya. Ukuran cache 192.168.0.100/255.255.255.255 liki hak akses ke Internet. sebesar 1000 MB, lalu 16 dan 256 acl divisic src 192.168.0.101- 3. Komputer salah seorang staf yang ada di adalah jumlah direktori yang 192.168.0.140/255.255.255.255 divisi C, yang memiliki IP 192.168.0.130 terdapat di dalam /cache pada acl udinc src 192.168.0.130/255. dibolehkan memiliki hak akses ke Inter- level 1 dan 2. 255.255.255 net. cache_dir ufs /cache 1000 16 256 # rule (bagian ini berisikan Untuk memenuhi persyaratan tersebut, # log (bagian ini berisikan keterangan untuk membiarkan atau cobalah untuk mengedit file squid.conf, tentang lokasi file log yang menolak bagian acl seperti di bawah ini : akan digunakan squid). # yang telah dibuat). # vi squid.conf cache_access_log /var/log/squid/ http_access allow manager access.log http_access allow localhost # port (bagian ini berisikan cache_log /var/log/squid/cache. http access allow udinc port yang akan digunakan oleh log http_access allow divisia squid) cache_store_log /var/log/squid/ http_access allow divisib http_port 3128 store.log http_access deny divisic icp_port 3130 client_netmask 255.255.255.0 http_access deny !Safe_ports tcp_outgoing_address 0.0.0.0 unlinkd_program /usr/lib/squid/ http_access deny CONNECT !SSL_ udp_incoming_address 0.0.0.0 unlinkd ports udp_outgoing_address 0.0.0.0 http_access deny all #refresh pattern # cache_peer (bagian ini refresh_pattern ^ftp: 1440 berisikan hubungan proxy server 20% 10080 #http_reply_access yang ada dilokal ke server # refresh_pattern ^gopher: 1440 http_reply_access allow all proxy lainnya. Hubungan ini 0% 1440 terdiri atas dua jenis yaitu refresh_pattern . 0 # icp access parent dan sibling). 20% 4320 icp_access allow all # Sesuaikan atau tanyakan alamat www.infolinux.web.id INFOLINUX 08/2005 69
  • 3. TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial Squid Proxy Server # display message membuka situs-situs porno pada waktu acl myNet src 192.168.0.0/255. cache_mgr supriyanto@infolinux. jam kerja. Hal ini tentunya membuat risih 255.255.255 co.id beberapa pegawai lainnya dan dapat menu- acl all src 0.0.0.0/0.0.0.0 cache_effective_user squid runkan image perusahaan. Maka dari itu, acl manager proto cache_object cache_effective_group squid PT XYZ ingin membuat suatu aturan untuk acl localhost src 127.0.0.1/255. visible_hostname infolinux.co.id pemfilterannya yang datang dari Internet 255.255.255 sebelum sampai ke user. acl SSL_ports port 443 563 Setelah itu Save, dan restart service squid acl Safe_ports port 80 21 443 untuk melihat perubahan yang telah dilaku- Persyaratannya: 563 70 210 1025-65535 kan. 1. PT XYZ ingin agar semua komputer Di- acl Safe_ports port 280 # service squid restart visi A dan Divisi B yang terhubung ke In- # http-mgmt ternet tidak dapat mengakses situs-situs acl Safe_ports port 488 Sekarang coba tes, apakah setting-an terlarang yang telah didefinisikan oleh # gss-http yang telah anda simpan telah berhasil. administrator. acl Safe_ports port 591 Caranya, masukkan dahulu setting HTTP 2. PT XYZ ingin agar beberapa komputer # filemaker proxy dan portnya di web browser user Di- yang ada diDivisi A yang memiliki range acl Safe_ports port 777 visi C. Di Mozilla Firefox Anda bisa men- IP dari 192.168.0.20 – 192.168.0.30 dapat # multiling http setting-nya dari menu Edit, Preferences. Di mengakses ke situs apa saja yang ada di acl CONNECT method CONNECT Tab General, klik Connection Settings. Isi- Internet (tidak termasuk ke dalam per- acl divisia src 192.168.0.20- kan HTTP Proxy dan Port-nya, sesuai de- syaratan 1). 192.168.0.60/255.255.255.255 ngan IP server proxy Anda dan port proxy 3. PT XYZ menginginkan juga IP situs por- acl divisib src 192.168.0.61- yang digunakan. no tersebut juga diblok. Karena biasanya 192.168.0.100/255.255.255.255 Jika komputer dengan IP divisi C kecu- jika si user sudah ahli, maka hanya de- acl divisic src 192.168.0.101- ali komputer yang memiliki IP 192.168.0.30 ngan mengetikkan alamat IP-nya lang- 192.168.0.140/255.255.255.255 tidak bisa membuka halaman situs, berarti sung di kolom alamat Url yang ada di acl bebasbuka src 192.168.0.20- langkah-langkah yang anda lakukan sudah web browser, situs porno tersebut tetap 192.168.0.30/255.255.255.255 benar. Coba juga di salah satu user yang ada dapat diakses. acl udinc src 192.168.0.130/255. di DivisiA atau DivisiB, jika user ini bisa 4. PT XYZ menginginkan juga agar kali- 255.255.255 membuka halaman situs berarti tidak ada mat-kalimat yang berbau porno, yang masalah pada konfigurasi squid yang telah dimasukkan oleh user melalui search # rule (bagian ini berisikan dibuat, atau dengan kata lain Anda telah engine atau alamat situs, dapat langsung keterangan untuk membiarkan atau berhasil men-setting squid untuk kasus terblok oleh proxy server. menolak bagian acl pertama. # yang telah dibuat). Untuk memenuhi persyaratan tersebut, http_access deny domainterlarang 2. Memblok situs terlarang secara manual. cobalah untuk mengedit file squid.conf, !bebasbuka Studi kasus: seperti di bawah ini : http_access deny kataterlarang PT XYZ memiliki suatu problem di mana # vi squid.conf !bebasbuka banyak karyawannya yang “dewasa” suka http_access deny ipterlarang ................. !bebasbuka ................. http_access allow manager ................. http_access allow localhost # acl definisi (bagian ini http access allow udinc berisikan batasan-batasan yang http_access allow divisia akan dilakukan oleh server http_access allow divisib # squid). http_access deny divisic # Dan bagian ini adalah inti http_access deny !Safe_ports dari penerapan kebijakan yang http_access deny CONNECT !SSL_ ada di proxy server ports acl domainterlarang dstdomain “/ http_access deny all etc/squid/domain-terlarang.txt” acl kataterlarang url_regex -i #http_reply_access “/etc/squid/kata-terlarang.txt” http_reply_access allow all acl ipterlarang dst “/etc/squid/ ................. Sesuaikan dengan settingan IP proxy server anda. ip-terlarang.txt” ................. 70 INFOLINUX 08/2005 www.infolinux.web.id
  • 4. Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial TUTORIAL Squid Proxy Server Setelah itu Save, dan buat tiga buah file yang bernama domain-terlarang.txt, kata- terlarang.txt, dan ip-terlarang.txt di direc- tori /etc/squid. # cd /etc/squid # touch domain-terlarang.txt # touch kata-terlarang.txt # touch ip-terlarang.txt # vi domain-terlarang.txt 17tahun.com www.playboy.com www.nude.com www.sex.com www.porn.com www.hardcore.com dan seterusnya, yang menurut Anda adalah domain situs porno. # vi kata-terlarang.txt Tampilan Access Denied Dari Squid. sex lesbian dasarkan kata yang telah anda definisi- 192.168.0.34 TCP_DENIED/403 1393 lolita kan di file kata-terlarang.txt GET http://www.17tahun.com/ - homo 2. Ketikkan di alamat url alamat IP suatu NONE/- text/html xxx situs, misal : 70.84.171.179. Jika hasil- 1119498365.737 369 hot nya adalah tulisan ERROR, berarti squid 192.168.0.34 TCP_DENIED/403 1415 17tahun telah berhasil memblok situs berdasar- GET http://www.17tahun.com/ porn kan ip yang telah Anda definisikan di file favicon.ico - NONE/- text/html dan seterusnya, yang menurut Anda adalah ip-terlarang.txt kata-kata yang menunjuk ke situs porno. 3. Ketikkan di alamat url nama suatu situs, 3. Memblok situs terlarang menggunakan misal : www.17tahun.com. Jika hasilnya program redirector SquidGuard # vi ip-terlarang.txt adalah tulisan ERROR, berarti squid Pada studi kasus kedua, Anda telah mem- telah berhasil memblok situs berdasar- pelajari bagaimana cara memblok suatu 70.84.171.179 kan nama situs yang telah Anda definisi- situs secara manual. Yaitu dengan menam- 216.163.137.3 kan di file domain-terlarang.txt bahkan daftar nama situs, daftar IP situs, 64.74.96.243 4. Test sekali lagi dengan mengetikkan url maupun kalimat secara manual. Mungkin 209.81.7.23 situs yang tidak termasuk ke dalam salah kalau jumlah situs yang ingin kita blok ma- 213.193.215.179 satu situs yang diblok. Jika situs terse- sih berjumlah puluhan, hal tersebut tidak 216.130.180.165 but dapat diakses berarti settingan squid menjadi masalah buat administrator. Tapi dan seterusnya, yang menurut Anda adalah tersebut sudah memenuhi semua per- perlu diingat bahwa jumlah situs jenis ini di ip-ip yang menunjuk ke situs porno. syaratan yang diajukan. Internet sangat banyak jumlahnya. Apalagi 5. Test di salah satu komputer yang ber-IP user biasanya masih saja ada yang dapat Restart service squid untuk melihat per- 192.168.0.20-192.168.0.30, jika kompu- membuka situs porno, entah itu dari link ubahan yang telah dilakukan. ter tersebut dapat membuka salah satu yang dia dapat saat surfing maupun dari # service squid restart situs yang di-blok, berarti semua per- situs-situs hacking yang banyak bertebaran syaratan sudah terpenuhi. di Internet. Test setting-an squid yang telah kita Pertanyaannya, apakah ada program buat, misal dari browser mozilla firefox Untuk lebih pastinya, Anda dapat men- yang menyediakan database situs terla- yang telah Anda setting dahulu http proxy check log squid Anda, untuk memastikan rang yang dapat diintegrasikan ke Squid? dan port-nya. apakah situs yang dimaksud telah terblok Jawabannya ada. Anda dapat menggunakan 1. Ketikkan di url, www.google.com, lalu atau belum. salah satu program redirector Squid yang test dengan mengisikan kalimat sex. Jika # tail -f /var/log/squid/store. bernama SquidGuard. hasilnya adalah tulisan ERROR, berarti log SquidGuard berguna untuk mengindeks squid telah berhasil memblok situs ber- 1119498364.368 510 url-url porno, hacking, drugs, dan lain-lain. www.infolinux.web.id INFOLINUX 08/2005 71
  • 5. TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial Squid Proxy Server Dengan SquidGuard ini, kita tidak perlu 6. Berikutnya konfigurasikan squidGuard. acl { bersusah payah lagi mencari dan menulis- Diasumsikan situs-situs yang termasuk default { kan domain-domain porno ke dalam suatu dalam database squidguard akan di re- pass !adult !drugs all file, karena database squidguard sudah me- direct ke situs http://www.eramuslim. redirect 302:http://www. nyediakan puluhan ribu situs porno dan com/. Anda dapat merubah alamat url eramuslim.com yang lainnya, yang didapat melalui scripts tersebut sesuai dengan keinginan anda. } robots yang dibuat dengan bahasa PERL. # vi /etc/squid/squidguard. } Untuk lebih jelasnya, penulis akan conf menjelaskan step-by-step pemakaian Squid- Setelah kita konfigurasikan file /etc/ Guard. squidguard.conf, berikutnya check apakah 1. Diharapkan Anda telah sukses men- # Konfigurasi ini didapat konfigurasi tersebut masih terdapat kesala- jalankan studi kasus pertama dan kedua. dari http://squidguard.mesd. han atau tidak. 2. Pada studi kasus kali ini berbeda dengan k12.or.us/ # /usr/bin/squidguard -v kasus sebelumnya. Studi kasus kali ini # Author By : SquidGuard: 1.2.0 Sleepycat dimisalkan semua komputer yang ada di supriyanto@infolinux.co.id Software: Berkeley DB 4.2.52: semua divisi PT XYZ termasuk ke dalam (March 2, 2004) jaringan yang terkena content filtering dbhome /var/lib/squidguard yang dilakukan oleh SquidGuard. logdir /var/log/squidguard Kalau masih terdapat pesan kesalahan, 3. Download terlebih dahulu paket RPM betulkan konfigurasi squidguard.conf terse- SquidGuard untuk Fedora Core 3 pada dest adult { but sampai benar. url berikut: log adult 1. Berikutnya edit file squid.conf pada ba- http://dag.wieers.com/packages/squid- domainlist adult/ gian redirect program sehingga seperti di guard/ domains bawah ini : Atau Anda dapat mencarinya pada CD urllist adult/urls # vi /etc/squid/squid.conf Majalah InfoLinux edisi ini. } 4. Install paket tersebut dari konsole. .. # rpm -ivh squidguard-1.2.0- dest drugs { # log (bagian ini berisikan 2.1.fc3.rf.i386.rpm log drugs tentang lokasi file log yang domainlist drugs/ akan digunakan squid). 5. Berikutnya ubah hak akses directory log domains cache_access_log /var/log/ squidGuard menjadi milik user Squid. urllist drugs/urls squid/access.log # chown squid.squid /var/log/ } cache_log /var/log/squid/ squidguard -Rf cache.log cache_store_log /var/log/ squid/store.log client_netmask 255.255.255.0 unlinkd_program /usr/lib/ squid/unlinkd # redirect program (bagian ini berisikan program tambahan yang akan digunakan # untuk meningkatkan kinerja squid). redirect_program /usr/bin/ squidguard redirect_children 5 #refresh pattern refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 Amati file access.log squid untuk melihat status yang terjadi. refresh_pattern . 0 20% 4320 72 INFOLINUX 08/2005 www.infolinux.web.id
  • 6. Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial TUTORIAL Squid Proxy Server # acl definisi (bagian ini berisikan batasan-batasan yang akan dilakukan oleh server # squid). # Dan bagian ini adalah inti dari penerapan kebijakan yang ada di proxy server acl myNet src 192.168.0.0/255 .255.255.0 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 SSL_ports port 443 563 acl Safe_ports port 80 21 443 563 70 210 1025-65535 acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 Squid me-redirect situs porno ke Eramuslim.com. # gss-http acl Safe_ports port 591 3. Lihat di daftar proses, apakah kedua pro- ada dalam kategori database situs # filemaker gram redirector squid ini, sudah berjalan squidguard. Sebagai contoh, saya akan acl Safe_ports port 777 dengan baik. melihat daftar situs porno yang terma- # multiling http # ps ax | grep squid suk sebagai kategori adult pada squid- acl CONNECT method CONNECT guard. 7542 ? Ss 0:00 squid -D # cd /var/lib/squidguard # rule (bagian ini berisikan 7544 ? S 0:01 (squid) -D keterangan untuk membiarkan 7546 ? Ss 0:00 (squidguard) masuk ke directory kategori adult atau menolak bagian acl 7547 ? Ss 0:00 (squidguard) # cd adult # yang telah dibuat). 7548 ? Ss 0:00 (squidguard) # vi domains http_access allow manager 7549 ? Ss 0:00 (squidguard) http_access allow localhost 7550 ? Ss 0:00 (squidguard) Coba Anda lihat salah satu situs yang ada http_access deny !Safe_ports di file domains, lalu test dibuka dari browser http_access deny CONNECT Dapat dilihat pada daftar proses di atas, salah satu user. !SSL_ports bahwa program redirector squidguard Sebagai contoh, ada situs http://20-asian- http_access deny all sudah berjalan. pics.com dalam file domains tersebut. Kita Cek juga daftar log squidguard, apakah akan test apakah squidguard sudah berjalan #http_reply_access benar-benar sudah berjalan dengan baik dengan baik atau belum. Caranya: http_reply_access allow all atau belum. Ketik http://20-asian-pics.com di brow- # tail -f /var/log/squidguard/ ser anda. Lalu perhatikan hasil situs yang # icp access squidGuard.log terbuka. icp_access allow all Jika yang terbuka adalah situs www.era- 2005-06-23 10:54:47 [4072] muslim.com, berarti squidguard sudah ber- # display message squidGuard 1.2.0 started jalan dengan baik di sistem anda. Atau de- cache_mgr (1119498886.074) ngan kata lain sudah berhasil untuk meredi- supriyanto@infolinux.co.id 2005-06-23 10:54:47 [4072] rect situs http://20-asian-pics.com menjadi cache_effective_user squid squidGuard ready for requests situs www.eramuslim.com. cache_effective_group squid (1119498887.600) Sampai di sini dahulu pembahasan menge- visible_hostname infolinux. nai konfigurasi Squid. Bulan depan penulis co.id 4. Selanjutnya, lihatlah daftar situs-situs akan melanjutkannya dengan studi kasus yang ada dalam database squidguard. berikutnya, yaitu studi kasus keempat sampai 2. Restart service squid Anda: Biasanya daftar situs tersebut di squid- studi kasus ketujuh. Sampai jumpa. # service squid restart guard bernama domains dan letaknya Supriyanto (supriyanto@infolinux.co.id) www.infolinux.web.id INFOLINUX 08/2005 73
  • 7. TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial Squid Step By Step Konfigurasi Squid Proxy Server dengan Berbagai Studi Kasus Bagian 2 dari 2 Artikel Proxy server adalah server yang berguna sebagai perantara antara client dengan server gateway sebelum berhubungan ke Internet. Dengan adanya proxy server ini, maka url / situs yang sering di-browsing akan semakin terasa semakin cepat terakses oleh user, karena telah disimpan di dalam cache proxy. Selain itu, proxy server juga memiliki fungsi lainnya, di antaranya autentifikasi user, memblok situs, memblok banner, dan lain-lain. P roxy server adalah server yang ber- 4. Memblok banner situs menggunakan terinstalasi dengan baik di sistem Anda. guna sebagai perantara antara cli- redirector adzap. # perl -v ent dengan server gateway sebelum Pernahkah Anda membuka situs terkenal berhubungan ke Internet. Dengan adanya seperti yahoo mail, detik.com, ataupun situs 3. Berikutnya, extract source adzap yang proxy server ini, maka url / situs yang sering terkenal yang lainnya? Kalau Anda pernah telah Anda download tersebut, ke direc- di-browse akan semakin terasa semakin cepat membuka situs tersebut, pasti akan meli- tory /usr/local. terakses oleh user, karena telah disimpan di hat banyaknya banner yang menempel di # tar -xzvf adzap-20050605. dalam squid cache. Selain itu, proxy server situs tersebut. Dengan terbukanya banner, tar.gz -C /usr/local juga memiliki fungsi lainnya, di antaranya sebetulnya kita telah membuang bandwidth # cd /usr/local/adzap autentifikasi user, memblok situs, memblok dengan sia-sia hanya untuk menampilkan banner, dan lain-lain. banner itu. Copy file-file berikut ke Document Root Pada edisi sebelumnya, saya sudah Lalu, adakah program redirector squid Apache anda, misal di Fedora Core 3 ter- menjelaskan tentang cara pengonfigurasian yang dapat digunakan untuk memblok letak di /var/www/html Squid dengan membahas studi kasus per- banner? Tentu ada, untuk melakukan hal # cd /var/www/html tama sampai dengan ketiga. Sesuai dengan tersebut Anda dapat menggunakan salah # mkdir adzap janji penulis sebelumnya, sekarang akan satu program redirector squid yang ber- # cd adzap melanjutkannya dengan studi kasus keem- nama adzap. Dengan adzap gambar ban- # cp /usr/local/adzap/zaps/*. pat sampai dengan ketujuh. Dan studi kasus ner yang ada akan diubah menjadi tulisan gif /var/www/html/adzap yang akan dibahas kali ini, yaitu: adzap. # cp /usr/local/adzap/zaps/*. 4. Memblok banner menggunakan redirec- Untuk pembahasan lebih lanjut html /var/www/html/adzap tor adzap. bagaimana setting redirector adzap dan # cp /usr/local/adzap/zaps/*. 5. Membatasi ukuran file (kuota) yang squidguard dapat berjalan bersamaan atau js /var/www/html/adzap bisa di-download oleh user pada interval dengan kata lain bagaimana menggunakan waktu tertentu. multiple redirector, ikuti langkah-langkah 4. Edit file wrapzap yang ada di /usr/local/ 6. Autentifikasi user. di bawah ini: adzap/scripts, pada bagian: 7. Transparant Proxy. 1. Download program adzap dari internet. zapper=/usr/local/adzap/ http://adzapper.sourceforge.net/adzap- scripts/squid_redirect Untuk mempersingkat waktu, Anda 20050605.tar.gz ZAB_BASE=http://localhost/ dapat dapat langsung membaca tutorial di 2. Pastikan perl, apache dan segala yang adzap bawah ini: berkenaan dengan program ini sudah ............................. 70 INFOLINUX 09/2005 www.infolinux.web.id
  • 8. Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial TUTORIAL Squid ............................. 0% 1440 9. Test ke browser, dengan mengetikkan si- #exec “$zapper” refresh_pattern . 0 20% 4320 tus yang terdapat banyak banner, misal: # exec /path/to/zapchain ............................. www.detik.com, jika Anda melihat banner “$zapper” /path/to/another/ ............................. yang terdapat pada situs detik.com telah eg/squirm berubah menjadi tulisan This AdZaped, exec /usr/local/adzap/scripts/ 6. Setelah selesai, restart service squid Anda berarti Anda telah berhasil mengonfi- zapchain “$zapper” /usr/bin/ # service squid restart gurasikan squid untuk memblok banner squidguard iklan. 7. Jalankan juga service apache Anda. 10. Test juga dengan mengetikkan salah 5. Edit squid.conf, tambahkan baris berikut: # service httpd start satu situs yang termasuk ke dalam daf- ............................. tar blacklist squidguard (ex:// http://20- ............................. 8. Check apakah redirector adzap dan re- asian-pics.com). Jika situs tersebut te- director squid guard sudah berjalan de- redirect ke situs http://www.eramuslim. #---------------------------- ngan baik. com, artinya Anda telah dapat men- # redirect program (bagian ini # ps ax | grep squid_re jalankan multiple redirector squid secara berisikan program tambahan ............................. bersamaan. yang akan digunakan ............................. Bahkan jika ingin menambahkan pro- # untuk meningkatkan kinerja 9153 ? Ss 0:00 /usr/ gram redirector squid yang lain, Anda squid). bin/perl /usr/local/adzap/ hanya perlu menambahkan path pro- #Disini squid memanggil scripts/zapchain /usr/local/ gramnya di file wrapzap. program wrapzap yang akan adzap/scripts/squid_redirect 11. Untuk melihat log file, url yang berhasil menjalankan dua buah #program /usr/bin/squidguard di blok banner-nya, Anda dapat menge- redirector yang dipanggil 9156 ? Ss 0:00 tikkan perintah berikut : oleh wrapzap yaitu redirector /usr/bin/perl /usr/local/ # tail -f /var/log/httpd/ squid_re dan #redirector adzap/scripts/zapchain /usr/ access_log squidguard local/adzap/scripts/squid_ redirect /usr/bin/squidguard 5. Membatasi ukuran file (kuota) yang bisa redirect_program /usr/local/ /usr/bin/perl -w /usr/local/ di-download oleh user pada interval adzap/scripts/wrapzap adzap/scripts/squid_redirect waktu tertentu. redirect_children 5 9164 ? S 0:00 Setelah melihat beberapa studi kasus di atas, #---------------------------- /usr/bin/squidguard mungkin ada peningkatan kecepatan pada 9168 ? S 0:01 waktu akses suatu sites yang dibuka oleh #refresh pattern /usr/bin/perl -w /usr/local/ user. Apalagi kalau situs tersebut sudah ter- refresh_pattern ^ftp: 1440 adzap/scripts/squid_redirect daftar kedalam cache squid. 20% 10080 ............................. Selain itu, kecepatan akses juga bergan- refresh_pattern ^gopher: 1440 ............................. tung pada jalur bandwidth yang anda sewa Banner situs yang belum diblok sebelum menggunakan adzap. Banner situs yang telah diblok setelah menggunakan adzap. www.infolinux.web.id INFOLINUX 09/2005 71
  • 9. TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial Squid dari ISP. Lalu ada juga faktor yang paling beberapa setting-an di file squid.conf. Baca atau menolak bagian acl # penting yang paling berpengaruh pada langkah-langkah di bawah ini: yang telah dibuat). waktu akses suatu situs, yaitu kebiasaan 1. Buka file squid.conf http_access allow lan beberapa user yang suka men-download di # vi /etc/squid.conf http_access deny manager Internet. Mengambil suatu file (download) http_access allow localhost dari Internet memang menyenangkan bagi 2. Lalu edit pada bagian berikut: http_access deny !Safe_ports beberapa user, akan tetapi kalau tidak disia- ............................. http_access deny CONNECT sati dengan baik hal ini justru menimbulkan ............................. !SSL_ports masalah bagi user lainnya. Saat men-down- # Note : Untuk Settingan http_access deny all load suatu file yang besar (ex:/ file iso cd Lengkapnya, dapat anda temukan linux), biasanya bandwidth yang ada akan di CD InfoLINUX kali ini. acl magic_words2 url_regex berkurang secara drastis, sehingga user biasa -i ftp .exe .mp3 .vqf .tar.gz yang ingin sekadar browsing merasa begitu # acl definisi (bagian ini .gz .tar.bz2 .bz2 .rpm .zip lambat waktu akses Internetnya. Dan kalau berisikan batasan-batasan .rar .avi .mpeg .mpe .mpg .qt sudah begini, hal ini tentunya akan menu- yang akan dilakukan oleh .ram .rm .raw .wav .iso runkan produktivitas kerja. # server squid). Agar tidak terjadi hal yang demikian, acl lan src 192.168.0.0/255. # Cancel download if file is maka seorang administrator harus dapat me- 255.255.0 bigger than 2MB = 2000 X 1024 nentukan kebijakan yang berlaku pada saat acl all src 0.0.0.0/0.0.0.0 byte = 2048000 byte user men-download suatu file dari Internet. acl manager proto cache_ reply_body_max_size Sebagai contoh, penulis akan menjelas- object 2048000 allow magic_words2 kan dengan studi kasus agar dapat lebih acl localhost src 127.0.0.1/ tdkbebasdownload mudah dipahami. 255.255.255.255 Persyaratannya : acl SSL_ports port 443 563 # icp access 1. PT XYZ ingin agar semua komputer yang acl Safe_ports port 80 21 icp_access allow lan terhubung ke Internet dibatasi jumlah 443 563 70 210 1025-65535 download-nya, yaitu ukuran file yang dapat acl Safe_ports port 280 ............................. ter-download maksimal hanya 2 MB. acl Safe_ports port 488 ............................. 2. Ketentuan No. 1, hanya berlaku selama acl Safe_ports port 591 jam kerja, yaitu dari jam 08.00–17.30, acl Safe_ports port 777 3. Restart service squid Anda, untuk meli- setelah lewat dari jam tersebut, user be- acl CONNECT method CONNECT hat perubahan: bas men-download file dengan ukuran acl tdkbebasdownload time # service squid restart file tak terbatas. 08:00-17:30 4. Pada saat jam kerja, coba Anda test Untuk menerapkan hal di atas, yang per- # rule (bagian ini berisikan download suatu file dari Internet yang lu Anda lakukan hanyalah menambahkan keterangan untuk membiarkan besar filenya lebih dari 2 MB. Jika hasil- Peringatan file yang tidak bisa didownload karena melebihi kuota. Metode authentifikasi Squid dengan menggunakan mysql-auth. 72 INFOLINUX 09/2005 www.infolinux.web.id
  • 10. Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial TUTORIAL Squid nya adalah peringatan ERROR, maka untuk menjalankan service mysql. menjadi settingan yang Anda lakukan sudah ber- # rpm -qa | grep mysql-devel $(INSTALL) -o squid -g hasil. Test juga men-download suatu file mysql-devel-3.23.58-13 squid -m 600 $(CONF) /etc/ dengan ukuran kurang dari 2MB, jika mysql_auth.conf dapat ter-download berarti sudah tidak # service mysqld start ada masalah untuk pembatasan ukuran e. dan beri tanda remark (#) pada file download ini. 4. Cari dan catat lokasi file mysql.h dan lib- $(INSTALL) -o nobody -g 5. Ketika waktu jam kerja telah lewat, Test mysqlclient.a nogroup -m 600 $(CONF) juga men-download file dengan ukuran $ locate mysql.h /usr/local/squid/etc/mysql_ file lebih dari 2 MB, jika hasilnya file /usr/include/mysql/mysql.h auth.conf.default tersebut dapat ter-download, berarti ke- bijakan yang telah ditentukan telah ber- $ locate libmysqlclient.a menjadi jalan dengan baik. /usr/lib/mysql/ #$(INSTALL) -o nobody -g libmysqlclient.a nogroup -m 600 $(CONF) 6. Autentifikasi user menggunakan /usr/local/squid/etc/mysql_ mysql_auth 5. Berikutnya adalah Anda harus mengedit auth.conf.default Pada studi kasus kali ini, tidak ada hubu- terlebih dahulu file Makefile program ngannya dengan studi kasus sebelumnya. mysql_auth. 6. Pindah ke directory src, dan edit file de- Kali ini penulis akan menjelaskan metode $ cd mysql_auth-0.8/ fine.h autentifikasi user dengan menggunakan $ cd src/ username dan password yang terdaftar di server. $ vi Makefile $ vi define.h Program autentifikasi yang akan penu- lis jelaskan bernama mysql_auth. Dengan Edit pada bagian-bagian berikut : Edit pada bagian-bagian berikut: mysql_auth ini, Anda akan lebih mudah a. CFLAGS = -I/usr/local/ #define CONFIG_FILE “/usr/ memanajemen username dan password, include -L/usr/local/lib local/squid/etc/mysql_auth. karena dapat dihubungkan dengan interface conf” yang dibuat dengan PHP maupun bahasa menjadi lainnya. CFLAGS = -I/usr/include/ menjadi Logika program ini berjalan sebagai mysql -L/usr/lib/mysql #define CONFIG_FILE “/etc/ berikut, jika username dan password yang mysql_auth.conf” dimasukkan sesuai, maka program akan b. $(INSTALL) -o nobody -g menghasilkan output OK, dan autentifi- nogroup -m 755 mysql_auth 7. Edit juga file mysql_auth.conf kasi berhasil. Dan bila username maupun /usr/local/squid/libexec/ $ vi mysql_auth.conf password tidak sesuai, maka program akan mysql_auth menghasilkan output ERR, dan autentifikasi Ubah pada bagian berikut : akan gagal. menjadi a. mysqld_socket /tmp/ Kalau autentifikasi berhasil, maka user $(INSTALL) -o squid -g mysqld.sock akan dapat browsing ke Internet. Tetapi jika squid -m 755 mysql_auth autentifikasi gagal, user tersebut tidak dapat /usr/bin/mysql_auth menjadi browsing ke Internet. mysqld_socket /var/lib/ Untuk mempersingkat waktu, coba Anda c. $(INSTALL) -o root -g root mysql/mysql.sock ikuti penjelasan di bawah ini: -m 700 mypasswd /usr/local/ 1. Download dahulu program mysql_auth- bin/mypasswd b. encrypt_password_form NO 0.8.tar.gz dari situs http://people.arxnet. hu/airween/mysql_auth/, atau Anda menjadi menjadi dapat mencarinya pada CD majalah In- $(INSTALL) -o squid -g encrypt_password_form YES foLINUX edisi ini. squid -m 755 mypasswd /usr/ 2. Setelah itu extract, file tersebut : bin/mypasswd 8. Selanjutnya compile dan instal $ tar -xzvf mysql_auth-0.8. $ cd mysql_auth-0.8/ tar.gz d. $(INSTALL) -o nobody -g nogroup -m 600 $(CONF) $ make 3. Pastikan program mysql-devel sudah /usr/local/squid/etc/mysql_ terinstal di sistem Anda, dan jangan lupa auth.conf $ su –c “make install” www.infolinux.web.id INFOLINUX 09/2005 73
  • 11. TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial Squid 9. Tambahkan database untuk autentifikasi /usr/bin/mysql_auth masukkan username dan password yang user auth_param basic realm Squid telah dibuat, sebagai contoh : username # cd scripts/ proxy-caching web server : supri, password: sup234. auth_param basic children 5 Jika masuk dan tidak mengalami ma- # mysql -u root -p < create_ auth_param basic salah, berarti metode autentifikasinya scripts credentialsttl 2 hours sudah berjalan dengan baik. ............................. 10. Sekarang coba Anda tes dengan menam- ............................. 7. Transparant proxy bahkan user ke tabel data yang ada di # acl definisi (bagian ini Setelah menjelaskan keenam cara di atas, database mysql_auth dengan menggu- berisikan batasan-batasan yang akhirnya sampai juga pada cara terakhir yang nakan program mypasswd. akan dilakukan oleh server akan penulis jelaskan. Pada semua kasus se- # mypasswd supri sup234 # squid). belumnya, Anda harus men-setting secara Password record ADDED # Dan bagian ini adalah inti manual setting-an proxy di web browser cli- succesfully. dari penerapan kebijakan yang ent agar dapat ber-Internet. Mungkin kalau ada di proxy server hanya sepuluh client, hal itu tidak menjadi Anda dapat mengeceknya ke dalam tabel ............................. masalah. Tetapi bagaimana jika komputer data yang ada di database mysql_auth, ............................. yang harus disetting berjumlah ratusan, apakah record yang baru dimasukkan acl butuhpasswd proxy_auth tentu hal ini akan merepotkan Anda sebagai oleh program nypasswd, sudah ada. REQUIRED administrator. Belum lagi jika suatu saat, # mysql -u root -p mysql_auth acl myNet src 192.168.0.0/255 terdapat lagi perubahan IP dan port proxy mysql> select *from data; .255.255.0 server yang digunakan. +-------+------------------+ acl all src 0.0.0.0/0.0.0.0 Untuk menyiasati hal tersebut, diperlu- | user | password | acl manager proto cache_object kan suatu cara agar Anda tidak perlu me- +-------+------------------+ acl localhost src 127.0.0. masukkan secara manual setting-an proxy | supri | 79d544277322393c | 1/255.255.255.255 server yang berlaku. Caranya adalah Anda +-------+------------------+ ............................. dapat menggunakan transparant proxy. 1 rows in set (0.21 sec) ............................. Prinsip kerja transparant proxy adalah se- buah firewall atau redirector lainnya akan Dapat Anda lihat hasilnya di atas, kalau # rule (bagian ini berisikan menangkap koneksi TCP yang ditujukan password yang kita masukkan untuk user keterangan untuk membiarkan ke port tertentu pada remote host, dan supri sudah langsung terenkripsi. Hal ini atau menolak bagian acl kemudian akan mengarahkan koneksi karena setting-an yang terdapat di file # yang telah dibuat). TCP tersebut ke proxy server lokal. Proxy mysql_auth.conf, di mana nilai variabel ............................. server menggunakan header HTTP untuk encrypt_password_form di set menjadi ............................. menentukan ke mana proxy akan melaku- YES. # Baris ini juga kan koneksi dan request dari mana yang 11. Tes validasi user dan password yang telah http_access allow butuhpasswd akan di-proxy. Untuk mengaplikasikan anda buat dengan menggunakan pro- http_access allow myNet transparant proxy, Anda dapat memerlu- gram mysql_auth http_access allow manager kan aplikasi Iptables. Dengan Iptables, an- ERR http_access allow localhost da cukup membuat rule untuk menangkap # mysql_auth http_access deny !Safe_ports trafik yang ditujukan untuk port 80, dan supri coba http_access deny CONNECT mengarahkan trafik ini ke port dari proxy supri sup234 !SSL_ports server (biasanya 3128 atau 8080). OK Untuk lebih jelasnya, Anda dapat mengi- # Baris ini juga kuti petunjuk yang diberikan ada di bawah 12. Setelah hasil validasi sudah benar, lang- authenticate_ip_ttl 2 hours ini: kah berikutnya adalah menghubungkan http_access deny all 1. Dimisalkan kali ini Anda sudah dapat program mysql_auth dengan squid. Un- menjalankan proxy server secara manual tuk itu Anda dapat mengedit file squid. ............................. dengan baik, sekarang tinggal bagaima- conf. ............................. na caranya agar dapat berjalan secara # vi /etc/squid.conf transparant proxy. ............................. 13. Test di browser, dengan mengetikkan ala- 2. Pastikan paket dan service iptables sudah ............................. mat suatu situs, kemudian tekan Enter. terinstal dengan baik di sistem Anda. # Tambahan untuk authentifikasi Jika muncul layar autentifikasi setelah 3. Squid terkonfigurasi dengan menggu- auth_param basic program anda menekan tombol Enter, coba Anda nakan port 3128. 74 INFOLINUX 09/2005 www.infolinux.web.id
  • 12. Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial TUTORIAL Squid 4. Alamat network yang digunakan adalah Misal Squid berada pada komputer Setelah itu, coba amati file access.log di 192.168.0.0/24. yang ber-IP 192.168.0.4 dan port yang mesin proxy Anda. Jika semuanya sudah digunakan adalah 3128 atau kita sebut benar, seharusnya jika ada user yang se- Cara mengatur konfigurasi transparant saja komputer ini dengan nama squid- dang mengakses web, Anda sudah dapat proxy: box. Dan satunya lagi komputer yang mengamati prosesnya dari mesin proxy 1. Pastikan kalau sistem telah mendukung terhubung ke Internet langsung sebagai tersebut. IP Forwarding. Caranya ubah parameter firewall mempunyai IP 192.168.0.1 kita yang ada di /etc/sysctl.conf pada bagian sebut saja komputer ini dengan nama Demikian artikel tentang step by step ip_forward. iptables-box. Dari komputer iptables- konfigurasi Squid. Sebenarnya masih ba- net.ipv4.ip_forward = 0 box, coba Anda ketikkan perintah beri- nyak lagi fungsi Squid lainnya yang dapat kut untuk mengaktifkan transparant anda telusuri lebih lanjut di file konfigurasi menjadi: proxy di mesin squid-box. Squid.conf. Pada artikel ini, penulis sudah net.ipv4.ip_forward = 1 iptables -t nat -A PREROUTING menjelaskan secara garis besar konfigurasi -i eth0 -s ! 192.168.0.4 -p Squid yang sering digunakan oleh sebagian Setelah itu, restart service network Anda: tcp --dport 80 -j DNAT besar administrator. # service network restart --to 192.168.0.4:3128 Namun pada intinya, sesuaikan saja dengan kebijakan yang benar-benar dibu- 2. Berikutnya edit file squid.conf Anda, ke- iptables -t nat -A POSTROUTING tuhkan oleh Anda. Terkadang tidak semua mudian tambahkan baris di bawah ini -o eth0 -s 192.168.0.0/24 fungsi yang ada benar-benar dibutuhkan di pada bagian paling bawah dari file itu. -d 192.168.0.4 -j SNAT dalam suatu jaringan. # transparent proxy –to 192.168.0.1 Akhir kata, semoga dengan artikel sing- httpd_accel_host virtual kat ini, Anda dapat membuat proxy server httpd_accel_port 80 iptables -A FORWARD -s yang andal tanpa terbentur masalah harga httpd_accel_with_proxy on 192.168.0.0/24 -d 192.168.0.4 lisensi software proxy komersial yang ma- httpd_accel_uses_host_ -i eth0 -o eth0 -p tcp -- hal. Indahnya dunia open source! header on dport 3128 -j ACCEPT Supriyanto (supriyanto@infolinux.co.id) 3. Lakukan masquerading dengan menggu- nakan iptables. IP masquerading berguna untuk menghubungkan beberapa kom- puter yang terkoneksi ke sebuah kom- puter yang sudah terkoneksi ke Internet agar dapat mengakses ke Internet, atau istilahnya Internet Connection Sharing. iptables -A POSTROUTING -j MASQUERADE -t nat -s 192.168.0.0/24 -o eth0 Option -o tersebut tolong anda sesuai- kan dengan interface yang terdekat de- ngan jaringan luar. 4. Selanjutnya arahkan semua permintaan web pada port 80 ke port squid. Untuk kondisi ini, terdapat dua buah opsi. Jika squid dan firewall yang mengarah- kan berada pada satu komputer, guna- kan perintah ini: iptables -t nat -p tcp -A PREROUTING -s 192.168.0.0/24 -d 0/0 –dport 80 -j REDIRECT –to-ports 3128 Jika Squid dan firewall yang mengarah- kan tidak berada pada satu komputer. www.infolinux.web.id INFOLINUX 09/2005 75