Autentikasi Proxy

11

Click here to load reader

Transcript of Autentikasi Proxy

Page 1: Autentikasi Proxy

AUTENTIKASI PROXY

Pengertian

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.Autentikasi yang dilakukan oleh proxy server biasanya tidak terenkripsi,sehingga emungkinkan pihak-pihak yang tidak berwenang mendapatkan informasi mengenai username dan password milik client. Dengan mendapatkan username dan password milik client, pelanggan yang berada dalam jaringan dapat melakukan akses ke internet tanpa perlu takut identitasnya ketahuan. Sistem autentikasi yang kurang sempurna ini juga mengakibatkan aliran data antar client-server yang tidak terenkripsi ini rentan terhadap penyadapan. Untuk itu sistem kriptografi berupa enkripsi terhadap perangkat lunak sangat dibutuhkan oleh squid server Beberapa autentikasi proxy

NCSA : Menggunakan username dan password file NCSA. NCSA authentication merupakanautentikasi 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 berkaspasswd yang ada pada server.3. Jika password dan username cocok, maka client akan diizinkan untuk melakukan koneksi internet melalui proxy.

LDAP : menggunakan Lightweight Directory Access Protocol. LDAP adalah sebuah protokol yang mengatur mekanisme pengaksesan layanan direktori (Directory Service) yang dapat digunakan untuk mendeskripsikan banyak informasi seperti informasi tentang people, organizations, roles, services dan banyak entitas lainnya.

LDAP menggunakan model client-server, dimana client mengirimkan identifier data kepada server menggunakan protokol TCP/IP dan server mencoba mencarinya pada DIT (Directory Information Tree) yang tersimpan di server. Bila di temukan maka hasilnya akan dikirimkan ke client tersebut namun bila tidak maka hasilnya berupa pointer ke server lain yang menyimpan data yang di cari.

Page 2: Autentikasi Proxy

LDAP tersebut memiliki bentuk struktur yang berhirarki, bukannya berformat kolom dan baris, seperti halnya database normal, sehingga memudahkan untuk memasukkan sejumlah besar detail yang mirip dalam bentuk yang terorganisir. Awalnya, server LDAP merupakan sesuatu yang terdapat diantara LDAP client dan sebuah server DAP (X 500), jadi untuk mengurangi resource yang dibutuhkan menjalankan client.

Di dalam LDAP terdapat 2 service utama yaitu : slapd dan slurp. Slapd merupakan LDAP daemon yang melayani request atau permintaan dari client, query dan berkomunikasi dengan backend database. Sedangkan slurp merupakan replication daemon yang berfungsi melayani replikasi data agar terus terjadi sinkronisasi data antara client dan server.

Pada sebuah sistim proxy server yang menggunakan database LDAP sebagai media penyimpanan data user yang ada, kebanyakan sistem autentikasi yang digunakan tidak dengan pesan yang terenkripsi hanya berupa plainteks biasa.

MSNT : Menggunakan autentikasi domain Windows NT

PAM : Menggunakan skema Linux Pluggable Authentication Modules

SMB : Menggunakan SMB server seperti Windows NT atau Samba

Getpwarm : menggunakan password file model lama UNIX

SASL : menggunakan SASL Libraries

NTLM: adalah teknik otentifikasi Challenge/Response yang digunakan oleh Window NT. NTLM singkatan dari Windows NT LAN Manager, sebab teknik ini dikembangkan pertama kali dan digunakan oleh Microsoft LAN Manager. NT LAN Manager (NTLM) adalah protokol otentikasi yang sering digunakan dalam jaringan ber-platform Windows. Protokol jaringan yang diperkenalkan oleh Microsoft ini didukung oleh NT Lan Manager Security Support Provider (NTLMSSP). NTLM menggantikan protocol otentikasi jaringan LAN Manager karena LAN Manager sudah dianggap tidak aman lagi. Protokol NTLM menjadi protokol default untuk otentikasi jaringan pada Windows NT 4.0. Protokol NTLM menggunakan challenge-response sequenceuntuk otentikasi client. Proses ini memerlukan tiga kali pengiriman pesan antara client dan server. Tiga pesan ini dikenal sebagai Tipe I (negotiation), Tipe II (challenge), dan Tipe III (authentication). Protokol ini menggunakan algoritma hash MD4/MD5 dan algoritma enkripsi DES.

Contoh Konfigurasi NTLM Active Directory – Squid

tujuannya adalah agar user login ke active directory windows, dapat langsung menggunakan internet dengan cara user men-setup browser agar diarahkan ke port squid.

Page 3: Autentikasi Proxy

Yang pasti harus install ubuntunya dulu. Selanjutnya bisa diinstall paket berikut :

1. # apt-get install squid2. # apt-get install samba winbind

3. # apt-get install krb5-doc krb5-config krb5-user libkrb53 libkdb5-4 libkadm5srv6 libkadm5clnt6 libgssrpc4Ketika installasi Kerberos, ubuntu akan meminta nama realm. Masukan dengan nama domain lengkap dari AD nya. Contoh : NAMADOMAIN.LOCAL

Setelah semua paket terinstall, selanjutnya adalah konfigurasinya

# pico /etc/squid/squid.confTambahkan :

auth_param ntlm program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmsspauth_param ntlm children 10#auth_param ntlm max_challenge_reuses 0#auth_param ntlm max_challenge_lifetime 2 minutes#auth_param ntlm use_ntlm_negotiate offauth_param basic program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-basicauth_param basic children 5auth_param basic realm Domain Proxy Serverauth_param basic credentialsttl 2 hoursauth_param basic casesensitive offauthenticate_cache_garbage_interval 10 seconds

# Credentials past their TTL are removed from memoryauthenticate_ttl 0 seconds

Untuk pengertian protocol ntlm dan basic bisa dicari digoogle.Selanjutnya tambahkan pada bagian acl :

acl AuthorizedUsers proxy_auth REQUIRED

Lalu pada bagian http_access :

http_access allow all AuthorizedUsers

# pico /etc/samba/smb.confTambahkan :

netbios name = NAMAKOMPUTERSAMBAworkgroup = NAMADOMAINrealm = NAMADOMAIN.LOCAL

Page 4: Autentikasi Proxy

security = ADSpassword server = serverdomaincontrollernya.namadomain.localwinbind enum users = yeswinbind uid = 10000-20000winbind gid = 10000-20000winbind use default domain = yes

ntpdate serverdomaincontrollernya.namadomain.localBerfungsi untuk mensinkronkan waktu antara komputer samba dengan serverdomaincontroller.

# kinit administratorAdministrator disini adalah user yang akan berguna untuk mendaftarkan komputer samba ke dalam AD. Apabila ketika masukan passwordnya tidak ada masalah, maka bisa lanjut. Apabila ada masalah, bisa coba reconfigure krb5 nya dengan menggunakan perintah dpkg-reconfigure krb5-config lalu masukan nama domain yang sesuai. Apabila tidak bisa juga, bisa langsung edit file /etc/krb5.conf dan coba dimainkan satu persatu.

Fungsi dari kinit adalah untuk mentest authentikasi tanpa harus mendaftarkan komputer samba ke AD

# net ads join -U administratorMasukan passwordnya, apabila berhasil maka komputer samba sudah terdaftar pada serverdomaincontroller.Apabila terdapat pesan “DNS update failed!”, maka tidak ada masalah karena pesan ini muncul ketika serverdomaincontroller tidak mengaktifkan fungsi dynamic dns server. Untuk mengakalinya yaitu dengan memasukan di /etc/hosts pada komputer sama dengan masukan berikut :

192.168.xx.xx namakomputersamba.namadomain.local namakomputersamba

# wbinfo -tBerfungsi untuk melihat trust antara komputer samba dengan serverdomaincontroller

# wbinfo -uBerfungsi untuk melihat user yang berada di serverdomaincontroller

# /etc/rc.d/squid restart && /etc/rc.d/samba restart && /etc/rc.d/winbind restartRestart semua service

# gpasswd -a proxy winbindd_privMemasukan user proxy ke dalam group winbindd_priv. User proxy disesuaikan dengan cache_effective_user pada /etc/squid/squid.conf

# /usr/bin/ntlm_auth –helper-protocol=squid-2.5-basicNAMADOMAIN\administrator passwordadministratorOK

Page 5: Autentikasi Proxy

Berfungsi untuk mencoba authentikasi basic ke AD berupa plain text. Formatnya yaitu ketik NAMADOMAIN\administrator passwordadministrator, apabila ditekan enter dan proses berhasil maka akan muncul pesan OK bukan ERR

Selanjutnya tinggal konfigurasikan agar client mengarahkan koneksi internetnya ke komputer samba dengan port squid nya.

Konfigurasi ncsa_auth pada squid

ncsa_auth adalah sebuah fungsi dalam squid yang mengijinkan squid untuk melakukan otentikasi dengan menggunakan NCSA/Apache httpd-style password. Hal pertama yang harus di lakukan adalah mengistal squid nya dan melakukan konfigurasi. Jika proses instalasi squid suah selesai maka lakukan penambahan pada file konfigurasi nya. Tahap-tahap yang harus di lakukan adalah :

Membuat user untuk ncsa_auth # htpasswd /etc/squid/passwd user1 Hasil nya akan sperti ini : New password: Re-type new password: Adding password for user user1

Pastikan squid dapat membaca file tersebut # chmod o+r /etc/squid/passwd

Tambahkan konfigurasi Squid # vi /etc/squid/squid.conf Lalu masukan konfigurasi ini pada squid.conf auth_param basic program /usr/lib/squid/ncsa_auth /etc/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

Juga tambahkan perintah di bwah ini acl ncsa_users proxy_auth REQUIRED http_access allow ncsa_users

Lalu Restart squid # /etc/init.d/squid restart

Page 6: Autentikasi Proxy

Contoh Konfigurasi ldp_auth pada squid

1. Install library untuk authentikasi ke ldap

o $ sudo apt-get install ldap-auth-client ldap-auth-config nscd

o Masukkan entry bind dn untuk domain yang kita gunakan di ldap

2. Sekarang setup konfigurasi agar ubuntu bisa authentikasi ke ldap dengan menggunakan ldap-auth-client. Edit file config di /etc/auth-client-config/profile.d/acc-default dan ubah seperti ini:

[ldap_ku]nss_passwd=passwd: files ldapnss_group=group: files ldapnss_shadow=shadow: files ldapnss_netgroup=netgroup: nispam_auth=auth required pam_env.soauth sufficient pam_unix.so likeauth nullokauth sufficient pam_ldap.so use_first_passauth required pam_deny.sopam_account=account sufficient pam_unix.soaccount sufficient pam_ldap.soaccount required pam_deny.sopam_password=password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3password sufficient pam_unix.so nullok md5 shadow use_authtokpassword sufficient pam_ldap.so use_first_passpassword required pam_deny.sopam_session=session required pam_limits.sosession required pam_unix.sosession required pam_mkhomedir.so skel=/etc/skel/session optional pam_ldap.sosession optional pam_foreground.so

Lakukan update konfigurasi o $ sudo auth-client-config -a -p ldap_ku

Lakukan edit file /etc/ldap.conf

o $ sudo nano /etc/ldap.conf

o Ubah beberapa section seperti dibawah ini

Page 7: Autentikasi Proxy

host ldap.domainku.comuri ldap://ldap.domainku.com/# The search scope.Scope subnss_base_passwd ou=People,dc=domainku,dc=comnss_base_shadow ou=People,dc=domainku,dc=comnss_base_group ou=Groups,dc=domainku,dc=com

Install webmin untuk membantu konfigurasi o $ sudo dpkg -i webmin.xxx

Masuk ke webmin melalui https://localhost:10000

Masuk ke konfigurasi system, kemudian pilih ldap client.

Selanjutnya pilih “LDAP server configuration” untuk setup koneksi ke server ldap dan setup seperti gambar di bawah ini

Page 8: Autentikasi Proxy

Simpan konfigurasi, kemudian pilih “LDAP search base” dan ubah seperti gambar dibawah ini, sesuaikan dengan domain yang kita pakai.

Jika sudah selesai, lakukan validasi configurasi dengan menekan tombol “Validation..”, hasilnya seperti ini:

Finding LDAP base for users ..

.. found base ou=People,dc=suprama,dc=co,dc=id.Connecting to LDAP server .... connected to ldap.suprama.co.id.lokalSearching for users .... found 133 users.Checking Unix users service .... service is setup to query LDAP.Looking for Unix user DMaskoro .... user found successfully.Your system has been successfully configured as an LDAP client!

Page 9: Autentikasi Proxy

Sekarang ini harusnya ubuntu lucid sudah bisa ter-authentikasi dengan fedora ds, untuk menguji apakah sudah benar kita bisa lakukan 2 cara. Cara pertama menggunakan webmin langsung dan cara kedua adalah menggunakan terminal console. Jika menggunakan webmin bisa langsung dicoba dengan memilih “LDAP browser” di section “ldap client” dan pilih salah satu child object yang keluar.