pra kbm-autentifikasi proxy

14
Nama : Nur Annisa PRA KBM Autentifikasi Proxy Tanggal : 29 Januari 2011 Kelas : 3 TKJ A Pemateri : Pa Nusirwan & Pa Dodi No Absen : 23 Admin Server Autentifikasi Proxy Squid server merupakan suatu daemon yang digunakan sebagai web cache ataupun proxy server. Squid server berfungsi untuk mempercepat akses internet dengan melakukan caching permintaan terhadap DNS, situs web dan pencarian-pencarian pada web. Squid server juga dapat menjadi suatu alat pembantu keamanan yang memiliki prinsip kerja menyaring lalu lintas yang keluar dari jaringan. Squid digunakan pada berbagai perusahaan dan lingkungan pendidikan untuk melakukan penyaringan jaringan terhadap situs atau web yang akan diakses oleh client. Untuk melakukan pengawasan dan penyaringan terhadap kinerja internet di dalam lingkungannya, squid menerapkan sistem autentikasi. Dalam penggunaannya, squid meminta autentikasi dari semua client untuk dapat mengakses jaringan internet. Client diharuskan memasukkan username dan password yang telah terdaftar pada squid proxy. Setelah client memasukkan informasinya, maka informasi itu akan dikirimkan secara langsung ke squid server untuk kemudian diautentikasi. Dalam penerapannya, pengiriman informasi berupa username dan password tersebut tidak terenkripsi, sehingga hal ini memungkinkan terjadinya pengambilan informasi ini oleh pihak yang tidak berhak. Dalam melakukan fungsinya yang dapat melakukan pengawasan dan penyaringan terhadap kinerja jaringan internet dan untuk menjamin kerahasiaan informasi yang diakses oleh client, ada beberapa metode autentikasi yang dapat diterapkan pada Squid, diantaranya adalah metode autentikasi NCSA, metode autentikasi PAM dan metode autentikasi LDAP. Autentikasi proxy adalah sebuah proxy yang membutuhkan hak akses apabila klien ingin mengaksesnya. Hak akses ini berupa username dan password yang telah terdaftar pada server proxy. Sistem uutentikasi di squid, squid mendukung 4 skema autentikasi, yaitu: 1. Basic 2. Digest 3. NTLM 4. Negotiate (mulai dari versi 2.6) Basic Authentication Ini adalah skema autentikasi yang didukung oleh semua peramban (browser) utama. Dan lebih dari itu, bisa berfungsi dengan baik di semua platform OS. Jadi kalau ingin menggunakan skema autentikasi yang yakin berfungsi dengan baik di semua browser, pakailah skema autentikasi basic. Sayangnya skema autentikasi basic ini memiliki satu kelemahan utama, yaitu proses pengiriman data user dan password dikirim dalam format plain text. Jadi sangat rentan terhadap proses snip atau penyadapan saat proses autentikasi berlangsung. Skema ini tidak disarankan ketika layanan yang diberikan akan diakses melalui jaringan internet. Tapi masih bisa ditolerir jika layanan itu dibuat untuk kalangan terbatas, misalnya LAN kantor. Dan karena squid pada umumnya digunakan di jaringan terbatas, skema autentikasi ini masih bisa digunakan. Helper atau program bantu untuk autentikasi ke backend Squid

Upload: nurannisa

Post on 29-Jun-2015

410 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PRA KBM-Autentifikasi Proxy

Nama : Nur Annisa PRA KBM

Autentifikasi Proxy

Tanggal : 29 Januari 2011

Kelas : 3 TKJ A Pemateri : Pa Nusirwan & Pa Dodi

No Absen : 23 Admin Server

Autentifikasi Proxy

Squid server merupakan suatu daemon yang digunakan sebagai web cache ataupun proxy server. Squid server berfungsi untuk mempercepat akses internet dengan melakukan caching permintaan terhadap DNS, situs web dan pencarian-pencarian pada web. Squid server juga dapat menjadi suatu alat pembantu keamanan yang memiliki prinsip kerja menyaring lalu lintas yang keluar dari jaringan. Squid digunakan pada berbagai perusahaan dan lingkungan pendidikan untuk melakukan penyaringan jaringan terhadap situs atau web yang akan diakses oleh client. Untuk melakukan pengawasan dan penyaringan terhadap kinerja internet di dalam lingkungannya, squid menerapkan sistem autentikasi. Dalam penggunaannya, squid meminta autentikasi dari semua client untuk dapat mengakses jaringan internet. Client diharuskan memasukkan username dan password yang telah terdaftar pada squid proxy. Setelah client memasukkan informasinya, maka informasi itu akan dikirimkan secara langsung ke squid server untuk kemudian diautentikasi. Dalam penerapannya, pengiriman informasi berupa username dan password tersebut tidak terenkripsi, sehingga hal ini memungkinkan terjadinya pengambilan informasi ini oleh pihak yang tidak berhak. Dalam melakukan fungsinya yang dapat melakukan pengawasan dan penyaringan terhadap kinerja jaringan internet dan untuk menjamin kerahasiaan informasi yang diakses oleh client, ada beberapa metode autentikasi yang dapat diterapkan pada Squid, diantaranya adalah metode autentikasi NCSA, metode autentikasi PAM dan metode autentikasi LDAP. Autentikasi proxy adalah sebuah proxy yang membutuhkan hak akses apabila klien ingin mengaksesnya. Hak akses ini berupa username dan password yang telah terdaftar pada server proxy. Sistem uutentikasi di squid, squid mendukung 4 skema autentikasi, yaitu:

1. Basic 2. Digest 3. NTLM 4. Negotiate (mulai dari versi 2.6)

Basic Authentication

Ini adalah skema autentikasi yang didukung oleh semua peramban (browser) utama. Dan lebih dari itu, bisa berfungsi dengan baik di semua platform OS. Jadi kalau ingin menggunakan skema autentikasi yang yakin berfungsi dengan baik di semua browser, pakailah skema autentikasi basic. Sayangnya skema autentikasi basic ini memiliki satu kelemahan utama, yaitu proses pengiriman data user dan password dikirim dalam format plain text. Jadi sangat rentan terhadap proses snip atau penyadapan saat proses autentikasi berlangsung. Skema ini tidak disarankan ketika layanan yang diberikan akan diakses melalui jaringan internet. Tapi masih bisa ditolerir jika layanan itu dibuat untuk kalangan terbatas, misalnya LAN kantor. Dan karena squid pada umumnya digunakan di jaringan terbatas, skema autentikasi ini masih bisa digunakan. Helper atau program bantu untuk autentikasi ke backend Squid

Page 2: PRA KBM-Autentifikasi Proxy

menyediakan beberapa program bantu untuk skema autentikasi basic. Anda bisa memilih mana yang cocok dengan keperluan Anda.

1. LDAP: Autentikasi ke LDAP. 2. NCSA: Menggunakan format penulisan username dan password format NCSA. 3. MSNT: Autentikasi ke domain Windows NT. 4. PAM: Menggunakan skema autentikasi PAM yang umum digunakan di sistem operasi

Unix/Linux. 5. SMB: Menggunakan server SMB seperti Windows NT atau Samba. 6. getpwam: Menggunakan cara kuno, berkas password di Unix/Linux. 7. SASL: Mengggunakan pustaka SASL. 8. mswin_sspi: Windows native authenticator. 9. YP: Menggunakan database NIS.

Digest Authentication

Skema autentikasi digest diperkenalkan untuk mengatasi kelemahan yang ada di skema autentikasi basic. Skema ini lebih aman, karena pada saat autentikasi, data username dan password tidak dikirim dalam format plain text. Secara umum, kelebihan skema autentikasi digest dibandingkan skema autentikasi basic, yaitu lebih aman. Tapi sayangnya tidak didukung oleh semua browser. Internet Explorer 5 & 6 adalah salah satu browser yang tidak mendukung skema autentikasi digest. NTLM Authentication

Ini adalah skema autentikasi yang diperkenalkan oleh Microsoft. Dengan menggunakan skema autentikasi NTLM, semua user yang sudah login ke domain, ketika mengakses squid tidak akan diminta lagi username dan password. Ini yang kita kenal sebagai proses Single Sign On. Jika sudah sukses autentikasi di satu layanan, ketika ingin menggunakan layanan lain tidak perlu memasukkan login dan password lagi, proses autentikasi berlangsung secara transparan. Sayangnya, seperti yang mungkin Anda sudah bisa tebak, ini hanya berfungsi dengan baik di sistem operasi Windows. Dan tidak semua browser mendukung skema autentikasi NTLM. Internet Explorer dan Firefox adalah salah satu browser yang mendukung skema autentikasi NTLM. Chrome, Safari dan Opera adalah contoh browser yang belum mendukung skema autentikasi NTLM. Biasanya, untuk browser atau OS yang tidak mendukung skema autentikasi NTLM, ada pilihan fallback ke skema autentikasi basic. Helper atau program bantu untuk autentikasi ke backend Paket samba menyertakan winbind ntlm helper untuk membantu squid bisa memberikan layanan skema autentikasi NTLM. Sedikit catatan di Debian atau Ubuntu, yang Anda gunakan adalah /usr/bin/ntlm_auth, dan BUKAN ke /usr/lib/squid/ntlm_auth. Negotiate Authentication

Protokol negotiate diperkenalkan lagi-lagi oleh Microsoft, sering dikenal juga sebagai SPNEGO. Skema autentikasi ini memperbarui skema Single Sign On yang sebelumnya menggunakan autentikasi NTLM. Skema ini bisa dianggap sebagai wrapper (atau alat bantu)

Page 3: PRA KBM-Autentifikasi Proxy

untuk menggunakan salah satu dari autentikasi ke Kerberos atau NTLM. Kelebihan skema ini, jauh lebih aman bila dibandingkan dengan skema autentikasi NTLM. Kelemahannya, lagi-lagi hanya berfungsi dengan baik di lingkungan OS Windows. Selain itu untuk saat ini mengkonfigurasi skema autentikasi negotiate agak ribet, karena helper baru tersedia untuk sistem operasi windows. NCSA Authentication

Saat ini perkembangan internet sudah sangat pesat, sehingga sangat mudah untuk melakukan pencurian terhadap password milik seseorang yang berada pada jaringan yang sama dengan menggunakan sniffer tool biasa. Karena itulah sangat dibutuhkan sebuah sistem autentikasi untuk menjaga keamanan dan kerahasiaan data yang dikirimkan melalui sebuah proxy server. Terdapat berbagai jenis autentikasi yang dapat digunakan pada sistem squid server, tetapi yang paling sederhana dari kesemua sistem autentikasi tersebut adalah NCSA authentication. NCSA authentication merupakan autentikasi berbasis httpd (web server) password yang memungkinkan seorang client melakukan koneksi setelah melakukan autentikasi berupa username dan password. Username dan password ini telah tersimpan di server dengan format yang telah ditentukan sebelumnya. Cara kerja NCSA authentication adalah : 1. Client mengirimkan username dan password kepada sistem, yang telah terenrkripsi. 2. Sistem akan melakukan decoding ulang dari password dan membandingkan dengan

berkas passwd yang ada pada server. 3. Jika password dan username cocok, maka client akan diizinkan untuk melakukan koneksi

internet melalui proxy. Penerapan NCSA Authentication Pada Squid Server

Karena NCSA authentication merupakan metode yang menggunakan base64 sebagai dasar enkripsi, maka server akan menghasilkan password dalam bentuk base64 untuk setiap user yang ada. Hal ini dilakukan dengan perintah : # htpasswd /etc/squid/passwd nurannisa Output: New password: Re-type new password: Adding password for user nurannisa Untuk kemudian dilakukan perubahan terhadap konfigurasi dari squid server agar dapat melakukan autentikasi terenkripsi. # vim /etc/squid/squid.conf

Page 4: PRA KBM-Autentifikasi Proxy

Lakukan penambahan potongan kode berikut pada konfigurasi : auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd auth_param basic children 5 auth_param basic realm Charles proxycaching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off acl ncsa_users proxy_auth REQUIRED http_access allow ncsa_users Penjelasan dari kode-kode diatas :

• Auth_param basic program /usr/lib/squid/ ncsa_auth /etc/squid/passwd : merupakan spesifikasi file password base64 dan juga lokasi program NCSA authentication. Auth_param basic children 5 : Jumlah dari proses autentikasi yang akan dilakukan. • Auth_param basic realm Charles proxy-caching web server : merupakan bagian teks yang akan ditampilkan bersama “prompt” untuk meminta username dan password. • Auth_param basic credentialsttl 2 hours : merupakan jumlah jeda waktu validasi yang akan dilakukan untuk meminta username dan password dari user. Dalam hal ini, username diset menjadi 2 jam. • Auth_param basic casesensitive off : menspesifikasikan apakah username yang dimasukkan bersifat case sensitive atau tidak. • Acl ncsa_users proxy_auth REQUIRED : semua pengguna yang terautentikasi harus memenuhi ACL yang bernama ncsa_users. • http_access allow ncsa_users : mengizinkan akses terhadap layanan internet jika pengguna berhasil diautentikasi. Setelah itu dapat dilakukan perintah berikut ini : # /etc/init.d/squid restart

Page 5: PRA KBM-Autentifikasi Proxy

Pengujian NCSA Authentication NCSA authentication merupakan sebuah sistem enkripsi yang sangat mudah diterapkan untuk squid server. Tetapi masih terdapat beberapa kekurangan yang harus diperhatikan dalam penggunaan autentikasi jenis ini untuk mengamankan pengiriman password. NCSA merupakan autentikasi yang mengutamakan kesederhanaan. Sehingga autentikasi hanya dilakukan diawal dan dapat dilakukan berkali-kali oleh pengguna ditempat dan waktu yang berbeda. Untuk selanjutnya diserahkan pada credentialttl untuk menentukan waktu hidup dari autentikasi tersebut. Karena kedua metode ini masih menggunakan metode password httpd basic. Jadi pengiriman password masih berupa teks yang berisi hasil enkripsi, sehingga masih terdapat kemungkinan pengambilan password oleh pihak yang tidak berwenang, walaupun sedikit. Kelemahan terakhir NCSA adalah penggunakan base64 yang merupakan algoritma enkripsi standar. Algoritma ini merupakan algoritma yang sangat mudah dipecahkan untuk saat ini. Karena itu metode ini masih rentan terhadap penyerangan. PAM walaupun merupakan autentikasi basic seperti NCSA, tapi karena menerapkan banyak layer autentikasi, PAM tergolong aman. PAM juga jarang menggunakan algoritma base64 untuk melakukan enkripsi password. Konfigurasi Squid Proxy: Autentifikasi dengan ncsa_auth

Autentifikasi User dan Password di squid proxy server pada saat client melakukan browsing ke internet. Diasumsikan instalasi proxy squid di server anda sudah di tambahkan option sebagai berikut : –enable-auth=”basic” –enable-basic-auth-helpers=”NCSA”

Page 6: PRA KBM-Autentifikasi Proxy

NB: Pada saat configure proxy squid arahkan direktory prefix squid anda ke /usr/local/squid setelah selesai instalasi squid anda harus mengkonfigurasi squid tersebut supaya bisa berjalan sesuai dengan yang anda inginkan yaitu muncul dialog User dan Password saat client melakukan browsing ke Internet. Squid yang sudah anda instalasi tersebut:

1. Buatlah file untuk user dan password saat client anda browsing di internet caranya sebagai berikut : Router # cd /usr/local/squid Router # touch passwd Router # chmod o+r passwd

2. Create User dan Password untuk masing masing client Router # htpasswd /usr/local/squid/passwd nurannisa —-> nurannisa (UserSquid) New password: Re-type new password: Adding password for user nurannisa

3. Tambahkan baris tulisan berikut ke dalam squid.conf anda auth_param basic program /usr/local/squid/libexec/ncsa_auth /usr/local/squid/passwd auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off acl ncsa_users proxy_auth REQUIRED http_access allow ncsa_users

4. Kemudian save Konfgurasi squid.conf

Page 7: PRA KBM-Autentifikasi Proxy

5. Configure atau Restart squid dengan cara Router # /usr/local/squid/sbin/squid -k reconfigure atau Router # killall squid Router # /usr/local/squid/sbin/squid -YD

6. Cek di mesin Router anda dengan perintah Router # ps ax

status squid dan autentifikasi sudah akfit

7. Coba anda buat browsing lewat komputer client dengan mengkonfigurasi browser

Internet Explorer Buka Internet Explore –> Tools –> Internet Options –> Connections –> Lan Setting

Internet Explorer Setting IP Proxy

Page 8: PRA KBM-Autentifikasi Proxy

8. Maka pada saat browsing internet dialog untuk menanyakan User dan Password akan muncul seperti gambar dibawah ini:

dialog-autentifikasi

Pembatasan Autentikasi di Squid Apabila kita memiliki satu username maka username tersebut hanya dapat digunakan oleh satu user dengan satu IP, dengan tujuan akan meminimalisir penggunaan satu username untuk beberapa user, disini kita hanya menggunakan opsi max_user_ip di squid, sebelumnya agar tidak terlalu membingungkan maka disini kita buat dulu contoh konfigurasi squid dengan autentifikasi menggunakan NCSA.

1) Buat terlebih dahulu file yang nantinya akan kita gunakan untuk menampung password, agar lebih memudahkan buat file tersebut di dalam direktori /etc/squid, dengan mengetikkan perintah # touch auth_squid

2) Buat user baru yang nantinya akan digunakan untuk melakukan autentifikasi dengan menggunakan htpasswd, dengan mengetikkan perintah # htpasswd /etc/squid/auth_squid nurannisa New password: Re-type new password: Adding password for user nurannisa

3) kemudian tambahkan konfigurasi berikut di squid.conf auth_param basic program /usr/local/libexec/ncsa_auth /etc/squid/auth_squid path di atas harus disesuaikan lagi dengan tempat anda, kemudian tambahkan acl-nya acl ugos proxy_auth REQUIRED fungsi diatas digunakan untuk mencegah user yang menggunakan proxy tanpa melakukan autentifikasi http_access allow ugos

4) setelah itu untuk mencobannya, restart squid anda

Page 9: PRA KBM-Autentifikasi Proxy

5) Jika sudah berjalan dengan baik maka langkah selanjutnya adalah membatasi agar satu username hanya bisa dipakai oleh satu orang, yaitu dengan membuat satu acl baru acl max max_user_ip -s 1 terakhir atur kembali http_access-nya yang sebelumnya http_access allow ugos ubah menjadi http_access allow ugos !max

6) untuk mengujinya silahkan restart kembali squid anda. Catatan : Sebelum anda menerapkan autentifikasi di squid pastikan terlebih dahulu squid anda telah berjalan dengan baik. Apabila dalam penggunaanya terdapat 2 atau lebih user yang menggunakan autentifikasi yang sama dalam pc (IP) yang berbeda maka salah satu dari keduanya akan mendapatkan pesan error access denied.

Konfigurasi Autentikasi User Sederhana Mode A. Setting router terlebih dahulu

a) Setting IP Address # nano /etc/network/interfaces

Page 10: PRA KBM-Autentifikasi Proxy

b) Konfigurasi file sysctl.conf

# nano /etc/sysctl.conf

Hilangkan tanda “#” pada baris yang diberi tanda kotak

c) Konfigurasi ip tables

# iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE

supaya konfigurasi iptables diload ketika startup di debian lenny, kita tambahkan

script pada file rc.local dengan perintah

# nano /etc/rc.local

Page 11: PRA KBM-Autentifikasi Proxy

d) Konfigurasi resolv.conf

# nano /etc/resolv.conf

B. Setting autentikasi user mode ncsa

a. Sebelum kita mengkonfigurasi autentikasi user mode ncsa dengan squid kita install

dulu paket-paket yang dibutuhkan yaitu squid dan apache2. kita install kedua paket

tersebut dengan perintah :

# apt-get install squid apache2

b. Ketikkan perintah di bawah ini secara urut.

Gunakan program htpasswd untuk menambahkan user ke file password. Anda bisa

menambahkan para user setiap saat tanpa harus merestart Squid. Dalam hal ini, anda

menambahkan satu username wisnu.

Page 12: PRA KBM-Autentifikasi Proxy

c. Konfigurasi file squid.conf Pada file squid.conf ada 2 konfigurasi utama yaitu mengenablekan ncsa_auth dan konfigurasi acl serta http_access. # nano /etc/squid.conf

Hilangkan tanda “#” pada baris yang di dalam kotak. Pada bagian akhir sendiri kita ubah menjadi “/etc/squid/squid_passwd”

d. Lalu tambahkan script seperti bagian yang diberi tanda kotak. kita buat acl (access control list) dan http_access untuk mengatur apakah user diijinkan untuk melakukan autentikasi.

Page 13: PRA KBM-Autentifikasi Proxy

e. Setelah semua konfigurasi selesai kita restart squid dengan perintah

C. Testing autentikasi user Untuk menguji autentikasi user kita apakah sudah berhasil atau belum kita jalankan aplikasi mozila firefox. Sebelumnya kita konfigurasi dulu settingan proxy nya

Page 14: PRA KBM-Autentifikasi Proxy

D. Lalu pilih “pengaturan” maka akan muncul tampilah seperti dibawah ini:

Pada bagian menu kita pilih “jariangan” lalu tekan tombol “pengaturan”, maka akan muncul kotak dialog seperti di sebelah kiri, pilih konfigurasi proxy yang paling bawah yaitu “konfigurasi proxy secara manual”

E. Ketik google.com pada address bar, hasilnya seperti di bawah ini:

Lalu masukkan nama user dan kata sandi yang telah disetting sebelumnya, setelah kita memasukkan nama user dan kata sandi squid akan meredirect to google.com