• Tidak ada hasil yang ditemukan

SISTEM ADMINISTRASI OTENTIKASI HOTSPOT BERBASIS WEB

N/A
N/A
Protected

Academic year: 2019

Membagikan "SISTEM ADMINISTRASI OTENTIKASI HOTSPOT BERBASIS WEB"

Copied!
114
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

Oleh : Tjaja Budi Santoso

025314007

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

A THESIS

Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree

In Informatics Engineering

By:

Tjaja Budi Santoso 025314007

INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF ENGINEERING SANATA DHARMA UNIVERSITY

YOGYAKARTA 2007

(3)
(4)
(5)

Kupersembahkan :

Dengan segenap cinta kepada Papa dan Mama yang selalu berdoa dalam setiap sujudnya, Semua saudara dekat ku yang selalu dekat di lubuk hatiku, Seluruh temen angkatan 2002 yang tetap kompak selalu, serta Isrti tercintaku kelak…

(6)

v

Janganlah engkau bertanya apa yang

bisa negara berikan padamu, tapi

(7)

isu tentang keamanannya. Apabila kita mengimplementasikan wireless LAN, maka kita juga harus mengimplementasikan sistem keamanan apa yang akan kita terapkan. Server RADIUS dapat digunakan untuk meningkatkan level keamanan WLAN karena server RADIUS menerapkan mekanisme otentikasi dan otorisasi layanan jaringan yang tersedia. Server RADIUS juga mampu untuk melakukan pencatatan, penghitungan, dan pelaporan aktifitas koneksi WLAN yang dilakukan user. Penerapan RADIUS server memberikan solusi terpusat yang memudahkan administrator dalam mengelola user. Oleh karena itu perlu dikembangkan sistem administrasi RADIUS server berbasis web untuk lebih mempermudah administrator dalam mengelola user.

Kata kunci: Radius, FreeRADIUS, 802.1x, Hotspot, Wi-Fi.

(8)

the security and safety. If we are implementation wireless LAN, hence we also system implementation of security and safety must will which we apply. Radius Server applicable to increase level security and safety of WLAN because server RADIUS applies mechanism of authentication and authorization of available network service. Radius Server also able to do record-keeping, counting, and reporting of WLAN activity done by user. Applying of server RADIUS gives solution centrally facilitating administrator in managing user. Therefore need to be developed administrate system RADIUS server to base on web to be more waters down administrator in managing user.

Keyword: Radius, FreeRADIUS, 802.1x, Hotspot, Wi-Fi.

(9)

viii

diberikan pada penulis sehingga dapat menyelesaikan tugas akhir ini.

Skripsi ini disusun dalam rangka memenuhi syarat untuk memperoleh gelar sarjana S1 pada program Sarjana Teknologi Informasi jurusan Teknik Informatika, Fakultas Teknik, Universitas Sanata Dharma Yogyakarta.

Dalam penulisan skripsi ini, penulis banyak sekali menemui hal-hal baru dan kesulitan sehingga diperlukan pemahaman dan pola pikir yang lebih mendalam, namun berkat bantuan dan masukan dari berbagai pihak akhirnya kesulitan tersebut dapat diatasi.

Dengan rasa syukur penulis mengucapkan terima kasih kepada :

1. Bapak dan Ibu Dosen Teknik Informatika yang telah membimbing dan mengajar saya selama kuliah.

2. Bapak Benedictus Herry Suharto, S.T., M.T yang telah banyak membimbing dalam skripsi ini. Terima kasih banyak sekali Pak Herry. 3. Temen-temen angkatan 2002 seperjuangan yang sudah berbagi dalam suka

dan duka.

4. Kedua orangtuaku Bapak dan Ibu Tjaja Mugianto.

5. Saudara Rinaldo yang telah baik hati meminjam Laptopnya untuk skripsi ini.

(10)

ix sesamanya, Amien...

Penulis menyadari bahwa Skripsi ini masih jauh dari kesempurnaan sehingga penulis mengharapkan kritik dan saran dari pembaca demi kesempurnaan laporan ini. Semoga laporan ini dapat bermanfaat bagi kita semua.

Yogyakarta, September 2007 Penulis,

(11)

x

Halaman Persetujuan... ii

Halaman Pengesahan ... iii

Halaman Persembahan ... iv

Halaman Motto ...v

Abstraksi ... vi

Abstract ... vii

Kata Pengantar ... viii

Daftar Isi... ...x

Daftar Gambar... xiv

Daftar Tabel ... xvi

Pernyataan Keaslian Karya ... xvii

Bab I PENDAHULUAN...1

1.1 Latar Belakang Masalah...1

1.2 Rumusan Masalah ...2

1.3 Batasan Masalah ...3

1.4 Tujuan Penelitian ...4

1.5 Metodologi Penelitian ...4

1.6 Sistematika Penulisan ...5

BAB II LANDASAN TEORI... ...7

(12)

xi

2.2 Apa itu Hotspot ? ...10

2.2.1 Faktor Penentu Tipe Lingkungan Hotspot...10

2.3 Apa itu 802.1x ? ...11

2.3.1 Kenapa 802.1x disebut “port based authentication” ?...12

2.3.2 Komponen dalam 802.1x...13

2.3.3 Spesifikasi 802.1x...15

2.4 RADIUS Server ...15

2.4.1 Struktur Paket Data RADIUS...16

2.4.2 FreeRADIUS Server ...18

2.5 Web Server...19

2.5.1 Apache Web Server...19

2.6 PHP ...21

2.6.1 Hubungan PHP dengan HTML...21

2.6.2 Kelebihan PHP ...23

2.7 MySQL Database Server ...24

2.7.1 Keunggulan MySQL ...25

2.7.2 Cara Bekerja MySQL...26

BAB III ANALISIS DAN PERANCANGAN SISTEM ...28

3.1 Analisa Kebutuhan Sistem ...28

(13)

xii

3.2.1 Komponen Sistem ...30

3.2.2 Tabel Pendukung Sistem...31

3.2.3 Perancangan Antarmuka ...36

BAB IV IMPLEMENTASI ...40

4.1 Lingkungan Implementasi...40

4.1.1 Lingkungan Perangkat Keras ...40

4.1.1 Lingkungan Perangkat Lunak ...40

4.2 Instalasi dan Konfigurasi Web Server...41

4.2.1 Mengkonfigurasi PHP...44

4.3 Instalasi MySQL Database Server...49

4.4 Instalasi dan Konfigurasi RADIUS server...51

4.4.1 Instalasi Skema FreeRADIUS...52

4.4.2 Konfigurasi FreeRADIUS...54

4.5 Konfigurasi Access Point...62

4.6 Pembuatan Aplikasi RADIUS Manajemen Server Berbasis Web...64

4.6.1 Halaman Tampilan Pertama...64

4.6.2 Halaman Tampilan Menu Utama ...66

4.6.3 Halaman Tampilan Server Status...68

4.6.4 Halaman Tampilan Radius Status ...69

(14)

xiii

4.6.6 Halaman Edit User...78

4.6.10 Halaman Graphs...81

4.6.11 Halaman Overall Login/Hits...83

4.6.12 Halaman Overall Download...85

4.6.13 Halaman Overall Upload...87

4.6.14 Halaman Alltime Login/Hits...89

4.6.15 Halaman Alltime Traffic/Comparison...91

BAB V ANALISIS HASIL...93

5.1 Kelebihan Sistem ...93

5.2 Kekurangan Sistem ...93

BAB VI KESIMPULAN DAN SARAN ...94

6.1 Kesimpulan ...94

6.2 Saran...94

(15)

xiv

Gambar 2.2 Wireless Infrastructure ...9

Gambar 2.3 Skema 802.1x ...11

Gambar 2.4 Skema “Port based authentication” ...13

Gambar 2. 3 komponen dari 802.1x...14

Gambar 2.6 Struktur paket data RADIUS...18

Gambar 3.1 Diagram Umum Sistem Administrasi ...29

Gambar 3.2 Rancangan alur sistem administrasi ...30

Gambar 3.3 Halaman login ...37

Gambar 3.4 Halaman Menu Utama ...37

Gambar 3.5 Halaman home...38

Gambar 3.6 Halaman Management User ...38

Gambar 3.7 Halaman Graphs...39

Gambar 4.1 Test apache dengan browser ...43

Gambar 4.2 Test php dengan browser...48

Gambar 4.3 halaman setup page ...63

Gambar 4.4 Basic wireless setting ...63

Gambar 4.5 wireless security ...64

Gambar 4.6 halaman login ...64

Gambar 4.7 halaman Menu Utama ...66

(16)

xv

Gambar 4.12 halaman list users ...72

Gambar 4.13 halaman new user ...74

Gambar 4.14 halaman edit user...78

Gambar 4.15 halaman graphs...81

Gambar 4.16 halaman overall login/hits ...83

Gambar 4.17 halaman overall download stat...85

Gambar 4.18 halaman overall upload stat...87

Gambar 4.19 halaman alltime login/hits stat ...89

(17)

xvi

DAFTAR TABEL

Tabel 3.1 Tabel Radacct...32

Tabel 3.2 Tabel radcheck ...33

Tabel 3.3 radgroupcheck...33

Tabel 3.4 Tabel radgroupreply...34

Tabel 3.5 Tabel radpostauth...34

Tabel 3.6 radreply ...35

Tabel 3.7 usergroup...35

Tabel 3.8 nas ...35

(18)
(19)

BAB I PENDAHULUAN

I.1. Latar Belakang Masalah

Salah satu perubahan utama di bidang telekomunikasi adalah penggunaan teknologi wireless. Teknologi wireless juga diterapkan pada jaringan komputer, yang lebih dikenal dengan wireless LAN (WLAN). Kemudahan-kemudahan yang ditawarkan wireless LAN menjadi daya tarik tersendiri bagi para pengguna komputer menggunakan teknologi ini untuk mengakses suatu jaringan komputer atau internet. Beberapa tahun terakhir ini pengguna wireless LAN mengalami peningkatan yang pesat. Peningkatan pengguna ini juga dibarengi dengan peningkatan jumlah hotspot yang dipasang oleh ISP (InternetServiceProvider) di tempat-tempat umum, seperti kafe, mal, bandara. Banyak kantor maupun kampus yang telah memiliki hotspot, pada umumnya hotspot ini berada di ruangan rapat.

Masalah yang akan kita hadapi apabila menerapkan wireless LAN adalah isu tentang keamanannya. Banyak pihak yang masih mempertanyakan tentang keamanan wireless LAN. Apabila kita mengimplementasikan wireless LAN, maka kita juga harus mengimplementasikan sistem keamanan apa yang akan kita terapkan. Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna yang tidak berhak (ilegal) yang dapat masuk ke jaringan komputer tersebut. Apabila hal ini sampai terjadi, maka pemilik

(20)

mengambil data, menyerang komputer-komputer yang ada di jaringan tersebut, kehilangan pendapatan (apabila pemilik hotspot adalah ISP).

Sistem keamanan yang paling umum diterapkan pada wireless LAN adalah dengan metode enkripsi, yaitu WEP (Wired EquivalentPrivacy). WEP ini menggunakan satu kunci enkripsi yang digunakan bersama-sama oleh para pengguna wireless LAN. Hal ini menyebabkan WEP tidak dapat diterapkan pada

hotspot yang dipasang di tempat-tempat umum.

Sistem keamanan lainnya adalah WPA (Wi-Fi Protected Access), yang menggeser WEP dan menghasilkan keamanan yang lebih baik dari WEP. Implementasi WPA menggunakan 802.1x dan EAP (Extensible Authentication Protocol) menghasilkan proses autentikasi pengguna yang relatif aman. Pada proses ini pengguna harus melakukan autentikasi ke sebuah server autentikasi, misalnya RADIUS, sebelum terhubung ke wireless LAN atau internet. Pada umumnya proses autentikasi ini menggunakan nama-pengguna dan password.

I.2. Rumusan Masalah

Berdasarkan latar belakang masalah yang telah diuraikan terlebih dahulu, maka penulis mengidentifikasi beberapa masalah yang akan menjadi obyek penelitian. Berikut beberapa permasalahan yang coba diteliti oleh penulis:

1. Bagaimana mengimplementasikan standar 802.1x pada jaringan wireless? 2. Bagaimana menginstall dan mengkonfigurasi FreeRADIUS sebagai

(21)

3. Bagaiman mengkonfigurasi Access Point menggunakan keamanan RADIUS server?

4. Bagaimana menginstall, mengkonfigurasi Apache dengan modul PHP dan MySQL yang digunakan sebagai aplikasi perangkat lunak pendukung tugas akhir.

5. Membangun sebuah sistem manajemen user radius berbasis web.

I.3. Batasan Masalah

Mengingat adanya keterbatasan waktu dan tenaga penulis, maka dalam penelitian ini dibatasi pada hal - hal sebagai berikut :

¾ Membahas tentang prinsip kerja RADIUS server.

¾ Slackware Linux 10.2 sebagai sistem operasi server autentikasi.

¾ Windows XP SP 2 sebagai OS sisi klien (supplicant).

¾ WLAN standar 802.11b disini dibangun dengan single AP (access point).

¾ Prosedur instalasi dan konfigurasi komputer server menggunakan

FreeRADIUS.

¾ Prosedur instalasi dan konfigurasi Webserver Apache, modul PHP dan

MySQL pada komputer server. Tidak membahas tentang pemrograman PHP dan MySQL.

¾ PC yang digunakan sebagai server adalah AMD Athlon 2,2 Mhz dengan

(22)

I.4. Tujuan Penelitian

Tujuan yang ingin dicapai adalah:

Mengimplementasikan standar 802.1x pada jaringan Wireless LAN (Hotspot). Dimana pengguna harus melakukan autentikasi ke sebuah server autentikasi (RADIUS server), sebelum terhubung ke wireless LAN atau internet. Dan dari sisi administrator mempunyai media dalam memantau dan mengontrol

user – user yang terhubung ke jaringan.

I.5. Metedologi Penelitian

Metodologi penelitian yang digunakan dalam pembuatan karya tulis adalah sebagai berikut:

1. Studi pustaka tentang Wireless LAN, standar 802.1x dan RADIUS.

2. Mengumpulkan referensi yang berkaitan FreeRADIUS, baik mengenai teknologi itu sendiri, perangkat keras dan lunak.

3. Peng-install-an Slackware Linux 10.2 sebagai sistem operasi otentifikasi server, lalu disertai peng-install-an Apache, PHP, MySQL, dan FreeRADIUS.

4. Merancang sistem tersebut dari hasil analisis masalah. 5. Implementasi sistem authentifikasi Wireless LAN.

6. Uji coba (simulasi) untuk mengetes apakah sistem yang dibuat telah benar-benar diimplementasikan dengan benar-benar.

(23)

I.6. Sistimatika Penulisan

BAB I. PENDAHULUAN

Memberikan gambaran tentang ide dasar, batasan masalah, tujuan dan manfaat penulisan serta inti permasalahan. Metode yang hendak digunakan untuk menyelesaikan masalah juga dibahas secara umum pada bagian ini.

BAB II. LANDASAN TEORI

Menguraikan secara singkat tapi lengkap mengenai materi-materi yang menjadi dasar acuan dalam penulisan, yang mana tidak akan menyimpang dari maksud dan tujuan yang hendak dicapai. Bab ini memberikan pemahaman teoritis untuk mencapai pemecahan masalah secara jelas.

BAB III. ANALISIS DAN PERANCANGAN SISTEM

Membahas langkah-langkah dan piranti yang digunakan untuk memecahkan permasalahan. Analisis mengemukakan pendapat penulis dengan mempertimbangkan dasar teori atas permasalahan yang dihadapi. Analisis yang menghasilkan model sistem diwujudkan pada tahap Desain. Desain ini nantinya akan menjadi dasar perwujudan utilitas yang dikehendaki.

(24)

Memaparkan hasil perancangan ke dalam bentuk nyata yang dapat digunakan. Utilitas telah diwujudkan sehingga dapat dilihat unjuk kerjanya secara langsung (praktek).

BAB V. ANALISIS HASIL

Meninjau hasil yang dicapai secara optimal terhadap ide dasar yang dikemukakan meliputi kelebihan dan kelemahan dari sistem yang dihasilkan.

BAB VI. KESIMPULAN DAN SARAN

(25)

BAB II

LANDASAN TEORI

II.1. SEKILAS TEKNOLOGI WIRELESS LAN

Wireless LAN yang biasa disingkat dengan WLAN atau juga lebih dikenal dikenal dengan jaringan Wi-Fi merupakan sistem komunikasi data yang fleksibel yang mampu menjangkau wilayah LAN yang sulit dicapai dengan kabel tembaga biasa (Copper wire) dan untuk menjangkau pengguna bergerak (mobile-Users). Teknologi WLAN merupakan perangkat yang bekerja di frekuensi 2.4GHz yang disebut sebagai pita frekuensi ISM (Industrial, Scientific and Medical).

Instalasi perangkat jaringan Wi-Fi lebih fleksibel karena tidak membutuhkan penghubung kabel antar komputer. Tidak seperti halnya Ethernet LAN yang menggunakan jenis kabel koaksial dan kable UTP (UnshieldedTwisted Pair) sebagai media transfer. Komputer dengan Wi-Fi device dapat saling terhubung yang hanya membutuhkan ruang atau space dengan syarat jarak jangkauan dibatasi kekuatan pancaran sinyal radio dari masing-masing komputer.

II.1.1. Teknologi Jaringan Wi-Fi

Wi-Fi atau Wireless Fidelity adalah satu standar Wireless Networking

tanpa kabel, hanya dengan komponen yang sesuai dapat terkoneksi ke jaringan. Teknologi Wi-Fi memiliki standar, yang ditetapkan oleh sebuah institusi internasional yang bernama Institute of Electrical and Electronic Engineers

(26)

ƒ Standar IEEE 802.11a yaitu Wi-Fi dengan frekuensi 5 Ghz yang memiliki

kecepatan 54 Mbps dan jangkauan jaringan 300 meter.

ƒ Standar IEEE 802.11b yaitu Wi-Fi dengan frekuensi 2,4 Ghz yang

memiliki kecepatan 11 Mbps dan jangkauan jaringan 100 meter.

ƒ Standar IEEE 802.11g yaitu Wi-Fi dengan frekuensi 2,4 Ghz yang

memiliki kecepatan 54 Mbps dan jangkauan jaringan 300 meter.

II.1.2. Komponen Utama Jaringan Wi-Fi

Ada empat komponen utama dalam membangun jaringan WLAN yaitu:

1. Access Point, komponen yang berfungsi menerima dan mengirimkan data dari adapter wireless. Access Point mengonversi sinyal frekuensi radio menjadi sinyal digital atau sebaliknya. Komponen tersebut bertindak layaknya sebuah hub/switch pada jaringan ethernet. Satu Access Point

direkomendasikan dapat menampung maksimal 40-an klien.

2. Wireless LAN Device, komponen yang dipasangkan di Mobile/Desktop PC.

3. Mobile/Desktop PC, komponen akses untuk klien, mobile PC pada umumnya sudah terpasang port PCMCIA (Personal Computer Memory Card International Association), sedangkan Desktop PC harus ditambahkan PCI (Peripheral Componen Interconnect) Card, serta USB (Universal Serial Bus) Adapter.

(27)

II.1.3. Tipe Jaringan Wi-Fi

Seperti halnya Ethernet LAN, jaringan Wi-Fi juga dikonfigurasikan ke dalam dua jenis jaringan:

• Jaringan peer-to-peer/Ad Hoc Wireless LAN, dimana komputer dapat

saling berhubungan berdasarkan nama SSID (Service Set Identifier). SSID adalah nama identitas komputer yang memiliki komponen nirkabel.

Gambar 2.1 Peer to peer/ Ad Hoc Wireless LAN

• Jaringan Server Based / Wireless Infrastucture, Sistem Infrastruktur

membutuhkan sebuah komponen khusus yang berfungsi sebagai Access Point.

(28)

II.2. APA ITU HOTSPOT ?

Tahun 1997 lahir standar pertama, masih prematur, yang dikenal dengan IEEE 802.11b dan disebut wireless fidelity (Wi-Fi). Hotspot adalah sebuah wilayah terbatas yang dilayani oleh satu atau sekumpulan Access Point Wireless

LAN standar 802.11a/b/g. Dimana pengguna dapat masuk ke dalam Access Point

secara bebas dan mobile menggunakan perangkat sejenis notebook, laptop, PDA, dan sebangsanya.

Biasanya Hotspot dioperasikan di tempat umum, seperti Café, Mall, dan Kampus. Access Point yang digunakan umumnya tidak dimodifikasi antenanya, sehingga kemampuannya memang dibatasi hanya untuk ruangan terbatas saja. Jadi jaringan Wireless di sebuah kota, RT/RW-net bukan kategori Hotspot.

II.2.1. Faktor Penentu Tipe Lingkungan Hotspot

Ada 3 faktor penting yang menentukan tipe lingkungan HotSpot yang akan dibangun:

• Ukuran fisik lokasi, merupakan faktor penting yang harus

dipertimbangkan. Faktor tersebut menentukan berapa banyak wireless AP yang harus ditempatkan.

• Jumlah pengguna, akan menentukan bandwidth yang diperlukan

disediakan untuk pengguna. Target minimum bandwidth adalah 100Kbps per user aktif.

• Model pemakaian, faktor ini merupakan tipe aplikasi apa yang akan

(29)

pelajar yang mungkin lebih banyak menjalankan aplikasi seperti chatting,

internet games, dan streaming audio. Sedangkan hotel, kebanyakan penggunanya adalah pengusaha menengah ke atas (enterprise) yang lebih sering melakukan koneksi ke corporate intranets untuk membaca email dan menjalankan aplikasi bisnis mereka.

II.3. APA ITU 802.1x ?

IEEE 802.1x atau sering disebut juga “port based authentication” merupakan standar yang pada awal rancangannya digunakan pada koneksi dialup. Tetapi pada akhirnya, standar 802.1x digunakan pula pada jaringan standar IEEE 802.

Pada laporan ini, dikhususkan penggunaan standar 802.1x pada jaringan wireless ( 802.11a/b/g ). Berikut merupakan skema dasar dari standar 802.1x.

Gambar 2.3 Skema 802.1x

Penjelasan skema diatas, sebagai berikut :

(30)

trafik apapun kecuali trafik EAP. WN yang ingin mengakses LAN disebut dengan supplicant. AP pada skema 802.1x merupakan suatu authenticator. Yang dimaksud dengan authenticator disini adalah device yang mengeksekusi apakah suatu supplicant dapat mengakses jaringan atau tidak. Istilah yang terakhir adalah authentication server, yaitu server yang menentukan apakah suatu supplicant valid atau tidak. Authentication

server adalah berupa Radius server [RFC2865].

EAP, yang merupakan protokol yang digunakan untuk authentifikasi, pada dasarnya dirancang untuk digunakan pada PPP dialup.

2. Setelah identitas dari WN dikirimkan, proses authentifikasi supplicant pun dimulai. Protokol yang digunakan antara supplicant dan authenticator

adalah EAP, atau lebih tepatnya adalah EAP encapsulation over LAN (EAPOL) dan EAP encapsulation over Wireless (EAPOW). Authenticator

me-rencapsulation paket dan dikirimkan ke authentication server.

Selama proses authentifikasi berlangsung, authenticator hanya merelaykan paket dari supplicant ke authentica-tion server. Setelah semua proses selesai dan authentication server menyatakan bahwa supplicant valid, maka authenticator membuka firewall untuk supplicant tersebut.

3. Setelah proses authentifikasi selesai, supplicant dapat mengakses LAN secara biasa.

II.3.1. Kenapa 802.1x disebut “portbasedauthentication” ?

(31)

controlled ports dan yang disebut dengan uncontrolled ports. Kedua jenis port

tersebut merupakan logikalport dan menggunakan koneksi fisikal yang sama.

Gambar 2.4 Skema “Port based authentication”

Sebelum authentifkasi berhasil, hanya port dengan jenis uncontrolled yang dibuka. Trafik yang diperbolehkan hanyalah EAPOL atau EAPOW. Setelah supplicant melakukan autentifikasi dan berhasil, port jenis controlled dibuka sehingga

supplicant dapat mengakses LAN secara biasa.

II.3.2. Komponen Dalam 802.1x

Ada 3 komponen pokok dalam 802.1x. tiap dari komponen mempunyai aturan yang ditentukan dalam mekanisme kerja. Ketiga entitas pokok tersebut adalah:

1) Authenticatior (access point), bertanggung jawab untuk:

ƒ Menjalankan otentikasi

(32)

ƒ Mengarahkan traffic ke server otentikasi

2) Supplicant (klien), bertanggung jawab untuk menyampaikan mandat via port lewat authenticator ke server otentikasi server.

3) Authentication server, melakukan fungsi otentikasi untuk memeriksa mandat dari Supplicant.

Gambar 2.5 3 komponen dari 802.1x

Secara umum, tahapan-tahapan dalam protokol ini adalah: 1. Secara default akses ke jaringan tertutup.

2. Sebuah supplicant melakukan akses dan meminta izin akses ke autentikator, yang kemudian meneruskannya ke server autentikasi.

3. Server autentikasi menjawab dengan memberikan ‘tantangan’ ke

supplicant melalui autentikator.

4. Melalui autentikator, supplicant menjawab ‘tantangan’ yang diberikan. 5. Apabila jawaban yang diberikan supplicant benar, server autentikasi akan

memberitahu ke autentikator yang kemudian akan memberikan akses ke jaringan ke supplicant.

(33)

atau alat yang terhubung berubah. Ketika terjadi perubahan status, akses akan kembali ditutup dan proses autentikasi akan berulang kembali.

II.3.3. SPESIFIKASI 802.1x

Untuk kepentingan pengesahan dan autorisasi, 802.1X menyediakan spesifikasi yang berikut:

• Bagaimana mekanisme kendali akses beroperasi.

• Tingkat kendali akses mendukung seperti halnya perilaku port pada tiap

tingkat.

• Kebutuhan untuk protokol antar supplicant dan authenticator.

• Kebutuhan untuk protokol antar authenticator dan authentication server.

• Prosedur untuk bagaimana pengesahan dan otorisasi digunakan untuk

network access control.

• Mengenkripsi Protocol Data Units ( PDUS) otorisasi dan pengesahan yang

digunakan pertukaran protokol.

• Kebutuhan untuk port-based control mengendalikan manajemen

( mengidentifikasi object diatur dan operasi manajemen).

• Kebutuhan untuk manajemen remote yang menggunakan SMT.

• Kebutuhan untuk peralatan yang mengakui conformance kepada standar

802.1x.

II.4. SEKILAS RADIUS SERVER

(34)

and accounting). Pada awal pengembangannya, RADIUS menggunakan port 1645, yang ternyata bentrok dengan layanan “datametrics”. Sekarang, port yang dipakai RADIUS adalah port 1812.

RADIUS menjalankan sistem administrasi pengguna yang terpusat, sistem ini akan mempermudah tugas administrator. Dapat kita bayangkan berapa banyak jumlah pelanggan yang dimiliki oleh sebuah ISP, dan ditambah lagi dengan penambahan pelanggan baru dan penghapusan pelanggan yang sudah tidak berlangganan lagi. Apabila tidak ada suatu sistem administrasi yang terpusat, maka akan merepotkan administrator dan tidak menutup kemungkinan ISP akan merugi atau pendapatannya berkurang. Dengan sistem ini pengguna dapat menggunakan HotSpot di tempat yang berbeda-beda dengan melakukan autentikasi ke sebuah RADIUS server.

Server RADIUS menentukan apakah pengguna memiliki hak akses ke jaringan atau tidak. Pada server RADIUS, tingkat akses ke jaringan dapat ditentukan secara berbeda-beda. Komunikasi antara pengguna da server RADIUS terenkripsi, tetapi protokol RADIUS tidak menyediakan enkripsi data. RADIUS pada umumnya digunakan dengan VPN (Virtual Private Network). Salah contoh RADIUS server adalah FreeRADIUS.

II.4.1. STRUKTUR PAKET DATA RADIUS

Struktur paket data RADIUS terdiri dari lima bagian, yaitu:

(35)

1 Access-Request

2 Access-Accept

3 Access-Reject

4 Accounting-Request

5 Accounting-Response

11 Access-Challenge

12 Status-Server

13 Status-Client

255 Reserved

2. Identifier, memiliki panjang satu oktet, bertujuan untuk mencocokkan permintaan.

3. Length, memiliki panjang dua oktet, memberikan informasi mengenai panjang paket.

4. Authenticator, memiliki panjang 16 oktet, digunakan untuk membuktikan balasan dari RADIUS server, selain itu digunakan juga untuk algoritma password.

(36)

Gambar 2.6 Struktur paket data RADIUS

II.4.2. FreeRADIUS Server

FreeRADIUS merupakan kompilasi yang ditulis lengkap secara ulang dan dari awal server RADIUS. Berkas konfigurasi menunjukkan banyak persamaan dengan Livingston RADIUS servern yang terdahulu. Produk ini mendukung:

• Membatasi jumlah maksimal logon secara bersama-sama, bahkan dapat

berbasis tiap-tiap pengguna.

• Lebih dari satu DEFAULT entry, dengan tiap-tiap entry memiliki

kemampuan melanjutkan ke entry lain.

• Mengijinkan dan menolak akses yang berdasarkan pengguna pada grup

pencarian dimana mereka akan terkoneksi.

• Menentukan parameter tertentu sebagai spesifikasi pencarian group.

• Berkas-berkas hint atau petunjuk inteligen yang menunjukkan protokol

otentikasi berdasarkan syntaxusername.

• Mengeksekusi program-program eksternal setelah login berhasil

• Menggunakan format nama berkas $INCLUDE dengan konfigurasi,

pengguna, dan kamus berkas.

• Atribut yang dispesifikasi vendor.

(37)

II.5. WEB SERVER

Di layer teratas protokol TCP/IP terdapat beberapa protokol untuk berbagai jenis layanan yang sering digunakan. Salah satunya adalah protokol HTTP (HyperText Transfer Protocol) untuk layanan World Wide Web.

WWW adalah layanan yang paling sering digunakan dan memiliki perkembangan yang sangat cepat karena dengan layanan ini kita bisa menerima informasi dalam berbagai format (multimedia). Untuk mengakses layanan WWW dari sebuah komputer (yang disebut WWW server atau web server) digunakan program web client yang disebut web browser atau browser saja. Jenis-jenis browser yang sering digunakan adalah: Netscape Navigator/Comunicator, Internet Explorer, NCSA Mosaic, Arena dan lain-lain.

II.5.1. Apache Web Server

Apache merupakan salah satu program web server diantara sekian banyak program web server lainnya. Apache web server merupakan hasil dari Apache Software Foundation dengan Apache Project-nya. Untuk saat ini apache merupakan program web server paling populer, bahkan jauh lebih populer dibandingkan dengan Microsoft Internet Information Server (IIS) dan Personal Web Server (PWS).

Berikut ini beberapa faktor penyebab keunggulan Apache dibandingkan program web server lainnya :

™ Apache merupakan web server yang tangguh

(38)

™ Apache dapat digunakan pada berbagai sistem operasi

Apache kini telah didukung oleh berbagai sistem operasi, mulai dari keluarga Linux, hingga Windows. Bahkan pada berbagai sistem operasi ini, Apache berjalan konsisten dengan menggunakan konfigurasi dan administrasi yang tidak jauh berbeda.

™ Apache mudah dikonfigurasi ulang

Apache sangat mudah dikonfigurasi ulang. File konfigurasinya berupa file text sehingga mudah dibaca dan dipahami. Konfigurasi diatur dengan menggunakan file tesk ini.

™ Apache mudah diektensifikasi

Kemampuan apache selain software utamanya, juga didukung olehberbagai modul. Modul-modul ini bisa ditambahkan dan digunakan oleh Apache. Bahkan bila ingin membuat modul sendiri, Apache bisa menggunakannya ( tentunya sesuai dengan API-nya).

™ Apache dikembangkan oleh banyak programmer

Apache dikembangkan oleh banyak programmer yang bekerja sebagai tenaga sukarela. Dengan demikian bila terdapat bug, akan segera diatasi.

™ Apache bersifat terbuka

Pengembangan Apache bersifat terbuka sehingga setiap programmer yang mau ikut berkontribusi dapat bergabung dengan Apache Project.

™ Apache memiliki dokumentasi yang lengkap

(39)

™ Apache memiliki kerjasama dengan berbagai vendor lainnya.

Apache menjalin kerjasama dengan berbagai vendor penting, sehingga bisa dikolaborasikan dengan berbagai teknologi seperti SSL ( Secure

Socket Layer ), JSP ( Java Server Pages ), PHP ( Hypertext Pre Processor ), Dan lain-lain.

II.6. PHP

PHP adalah singkatan dari "PHP: Hypertext Preprocessor", yang merupakan sebuah bahasa scripting yang terpasang pada HTML. Sebagian besar sintaks mirip dengan bahasa C, Java dan Perl, ditambah beberapa fungsi PHP yang spesifik. Tujuan utama penggunaan bahasa ini adalah untuk memungkinkan perancang web menulis halaman web dinamik dengan cepat.

II.6.1. Hubungan PHP dengan HTML

(40)

html yang telah dibubuhi program php harus diganti ekstensi-nya menjadi .php3 atau .php.

PHP merupakan bahasa pemograman web yang bersifat server-side HTML=embedded scripting, di mana script-nya menyatu dengan HTML dan berada si server. Artinya adalah sintaks dan perintah-perintah yang kita berikan akan sepenuhnya dijalankan di server tetapi disertakan HTML biasa. PHP dikenal sebgai bahasa scripting yang menyatu dengan tag HTML, dieksekusi di server dan digunakan untuk membuat halaman web yang dinamis seperti ASP (Active Server Pages) dan JSP (Java Server Pages).

PHP pertama kali dibuat oleh Rasmus Lerdroft, seorang programmer C. Semula PHP digunakannya untuk menghitung jumlah pengunjung di dalam webnya. Kemudian ia mengeluarkan Personal Home Page Tools versi 1.0 secara gratis. Versi ini pertama kali keluar pada tahun 1995. Isinya adalah sekumpulan script PERL yang dibuatnya untuk membuat halaman webnya menjadi dinamis. Kemudian pada tahun 1996 ia mengeluarkan PHP versi 2.0 yang kemampuannya telah dapat mengakses database dan dapat terintegrasi dengan HTML. Pada tahun 1998 tepatnya pada tanggal 6 Juni 1998 keluarlah PHP versi 3.0 yang dikeluarkan oleh Rasmus sendiri bersama kelompok pengembang softwarenya. Versi terbaru, yaitu PHP 4.0 keluar pada tanggal 22 Mei 2000 merupakan versi yang lebih lengkap lagi dibandingkan dengan versi sebelumnya.

(41)

session, tidak lagi menggunakan library tambahan seperti pada PHP. Tujuan dari bahasa scripting ini adalah untuk membuat aplikasi-aplikasi yang dijalankan di atas teknologi web. Dalam hal ini, aplikasi pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan web server.

II.6.2. Kelebihan PHP

Ketika e-commerce semakin berkembang, situs-situs yang statispun semakin ditinggalkan, karena dianggap sudah tidak memenuhi keinginan pasar, padahal situs tersebut harus tetap dinamis. Pada saat ini bahasa PERL dan CGI sudah jauh ketinggalan jaman sehingga sebagian besar designer web banyak beralih ke bahasa server-side scripting yang lebih dinamis seperti PHP. Seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan yang paling utama PHP adalah pada konektivitasnya dengan system database di dalam web. Sistem database yang dapat didukung oleh PHP adalah :

1. Oracle 2. MySQL 3. Sybase 4. PostgreSQL 5. dan lainnya

PHP dapat berjalan di berbagai system operasi seperti windows 98/NT, UNIX/LINUX, solaris maupun macintosh.

(42)

yang menyediakan software tersebut seperti di ftp://gerbang.che.itb.ac.id Web portal dengan phpnuke

Software ini juga dapat berjalan pada web server seperti PWS (Personal Web Server), Apache, IIS, AOLServer, fhttpd, phttpd dan sebagainya. PHP juga merupakan bahasa pemograman yang dapat kita kembangkan sendiri seperti untuk menambah fungsi-fungsi baru.

Keunggulan lainnya dari PHP adalah bahwa PHP juga mendukung komunikasi dengan layanan seperti protocol IMAP, SNMP, NNTP, POP3 dan bahkan HTTP.

PHP dapat diinstal sebagai bagian atau modul dari apache web server atau sebagai CGI script yang mandiri. Banyak keuntungan yang dapat diperoleh jika menggunakan PHP sebagai modul dari apache, di antaranya adalah :

1. Tingkat keamanan yang cukup tinggi

2. Waktu eksekusi yang lebih cepat dibandingkan dengan bahasa pemograman web lainnya yang berorientasi pada server-side scripting. 3. Akses ke system database yang lebih fleksibel. seperti MySQL.

II.7. My SQL DATABASE SERVER

MySQL adalah Sistem Manajemen Database (DBM) SQL yang multiuser

(43)

cukup memberikan fitur yang diperlukan bagi sebagian besar developer database. Kemudahaan instalasi dan penggunaan dibandingkan yang lain ini menyebabkan perbedaan harga yang menarik pula.

II.7.1. Keunggulan MySQL

MySQL adalah database populer. Kecepatannya dan ukurannya yang kecil memberikan keuntungan tersendiri bagi penggunanya. Berikut adalah beberapa keuntungan dari penggunaan MySQL :

• Cepat. Tujuan utama dari kebanyakan orang yang mengembangkan MySQL

adalah kecepatannya.

• Tidak Mahal. MySQL adalah gratis dibawah naungan lisensi GPL open source,

dan berbayar untuk lisensi komersial dengan alasan yang cukup.

• Mudah Digunakan. Kita dapat membangun dan berinteraksi dengan database

MySQL melalui penggunaan statement sederhana dalam bahasa SQL yang merupakan bahasa standar bagai komunikasi dengan RDBMS (Relational Database Management System).

• Berjalan pada Beragam OS (Operating System). MySQL dapat digunakan

pada beragam sistem operasi – Windows, Linux, Mac OS, beberapa Unix (seperti Solaris, AIX, dan DEC Unix), FreeBSD, OS/2, Irix, dan lainnya.

• Tersedia Dukungan Teknis yang Luas. Besarnya pengguna menyebabkan

(44)

• Aman. Sistem MySQL yang fleksibel terhadap autorisasi memungkinkan

beberapa atau seluruh database diperuntukkan untuk user yang spesifik atau grup tertentu. Password dienkripsi.

• Mendukung Database Berukuran Besar. MySQL mampu menangani database

hingga 50 juta baris, bahkan lebih. Ukuran batas dari file untuk tabel adalah 4 GB, tetapi kita dapat meningkatkannya – secara teori – hingga 8 TB.

• Dapat Dimodifikasi. Lisensi GPL open source memungkinkan programmer

untuk memodifikasi software MySQL sesuai kebutuhan.

II.7.2. Cara MySQL Bekerja

Software MySQL terdiri dari server MySQL, beberapa program utilitas yang membantu administrasi dari database MySQL, dan beberapa software pendukung yang dibutuhkan oleh server MySQL. Jantung dari sistem adalah server MySQL.

(45)
(46)

BAB III

ANALISA DAN PERANCANGAN SISTEM

III.1. Analisa Kebutuhan Sistem

Tujuan dalam analisa kebutuhan sistem ini adalah untuk mendapatkan informasi tentang apa yang dibutuhkan oleh sistem berdasarkan aspek kebutuhan

admin dan rekayasa sistem.

III.1.1. Kebutuhan Admin (Administrator)

Beberapa analisa tentang kebutuhan yang diperlukan oleh admin pada sistem yang akan dikembangkan :

9 Memberikan media untuk membuat, mengubah dan menghapus data – data

dari seorang user.

III.1.2. Rekayasa Sistem

Berdasarkan analisis terhadap kebutuhan user dan Admin, dapat dipaparkan spesifikasi kebutuhan sistem, sebagai berikut :

¾ Layanan – layanan yang dibutuhkan

Mengacu pada analisa kebutuhan, layanan yang harus disediakan: autentifikasi dan mengelola user.

¾ Kriteria – kriteria yang harus dipenuhi

a. Otentifikasi login berupa username dan password untuk kemudahan akses.

b. Media untuk manajemen user berbasis web.

(47)

a. Merancang (install dan konfigurasi) autentifikasi server.

b. Mengkonfigurasi sebuah interface login di sisi pengguna (supplicant). c. Merancang dan membuat aplikasi user management berbasis web.

III.1.3. Gambaran Umum Sistem

FreeRADIUS sebagai RADIUS server, memverifikasi data (username dan

password) yang diinput oleh user untuk selanjutnya memeriksa apakah data yang di-input user valid atau tidak di dalam database FreeRADIUS melalui pesan

access-accept maupun access-reject. Apabila data user tersebut valid, FreeRADIUS mengirim pesan access-accept kepada access point.

(48)

Login

User

Pesan

Administrator

Input User

Edit User

Edit

Delete

Laporan

Server

Administrasi

Pesan

Pesan

Pesan

Gambar 3.2 Rancangan alur sistem administrasi

III.2. Perancangan Sistem

Berisi perancangan (desain) dari perangkat keras maupun lunak yang akan digunakan dalam melakukan simulasi Sistem Administrasi Otentikasi User Hotspot berbasis Web, meliputi penentuan perangkat keras, pengembangan tabel pendukung sistem, sekaligus pengaturan perangkat keras tersebut agar sesuai dengan yang diinginkan.

III.2.1. Komponen Sistem

Atas dasar studi pustaka dan rekayasa sistem yang telah diuraikan sebelumnya, penulis menetapkan komponen – komponen yang akan digunakan pada penelitian tugas akhir, meliputi :

(49)

Fungsi :

• FreeRADIUS server, penggunaan FreeRADIUS sebagai RADIUS

server dikarenakan fitur – fiturnya yang beragam di bandingkan aplikasi RADIUS server yang lain dan pendistribusiannya yang gratis.

• Database server, penggunaan MySQL sebagai database server karena

MySQL merupakan salah satu perangkat lunak basis data yang sangat cepat, multi-thread, multi-user, dan server basis data SQL (Structured Query Language) yang kuat dan didistribusikan secara gratis.

• Web server, penggunaan Apache sebagai web server dikarenakan

Apache salah satu web server yang tangguh dan dapat digunakan diberbagai macam sistem operasi.

b. Wireless Station

Wireless Client (end user)

c. Access Point

Fungsi :

• DHCP server (WLAN).

d. Aplikasi Pendukung Sistem

• Radius Admin (sistem yang akan dikembangkan), digunakan sebagai

tool administrasi user management dan monitoring.

III.2.2. Tabel Pendukung Sistem

(50)

/freeradius-1.1.0/src/modules/rlm_sql/drivers/rlm_sql_mysql/db_mysql.sql. Tabel – tabel tersebut antara lain :

Tabel 3.1 radacct

Field Type Null Default

RadAcctI d bigint(21) No

AcctSessionI d varchar(32) No

AcctUniqueI d varchar(32) No

UserName varchar(64) No

Realm varchar(64) Yes

NASI PAddress varchar(15) No

NASPortI d I nt(12) Yes NULL

NASPortType varchar(32) Yes NULL

AcctStartTime datetime No 0000-00-00 00: 00: 00

AcctStopTime datetime No 0000-00-00 00: 00: 00

AcctSessionTime I nt(12) Yes NULL

AcctAuthentic varchar(32) Yes NULL

ConnectI nfo_start varchar(50) Yes NULL

ConnectI nfo_stop varchar(50) Yes NULL

AcctI nputOctets bigint(12) Yes NULL

AcctOutputOctets bigint(12) Yes NULL

CalledStationI d varchar(50) No

CallingStationI d varchar(50) No

AcctTerminateCause varchar(32) No

ServiceType varchar(32) Yes NULL

(51)

FramedI PAddress varchar(15) No

AcctStartDelay I nt(12) Yes NULL

AcctStopDelay I nt(12) Yes NULL

Tabel radacct merupakan bagian terpenting dalam accounting

FreeRADIUS, dimana tabel ini berfungsi menyimpan semua data user wireless client yang terkoneksi terhadap FreeRADIUS server tersebut, mulai dari data

username, radius client IP address, client IP address, waktu terhubung, waktu terputus, dan lainnya.

Tabel 3.2 radcheck

Field Type Null Default

I d I nt(11) No

UserName varchar(64) No

Attribute varchar(32) No

Op Char(2) No = =

Value varchar(253) No

Tabel radcheck berfungsi menyimpan data informasi dari seorang user wireless client yang berupa username, attribute, op (operator) dan value. FreeRADIUS server melakukan pengecekan ke tabel database ini terhadap setiap

access-request yang didapat oleh RADIUS server.

Tabel 3.3 radgroupcheck

Field Type Null Default

(52)

GroupName varchar(64) No

Attribute varchar(32) No

Op Char(2) No = =

Value varchar(253) No

Tabel radgroupcheck berfungsi untuk membatasi akses dari sebuah

groupname user wireless client.

Tabel 3.4 radgroupreply

Field Type Null Default

I d I nt(11) No

GroupName varchar(64) No

Attribute varchar(32) No

Op Char(2) No =

Value varchar(253) No

Tabel radgroupreply berfungsi untuk me-reply message terhadap suatu

groupname.

Tabel 3.5 radpostauth

Field Type Null Default

I d I nt(11) No

User varchar(64) No

Pass varchar(64) No

Reply varchar(32) No

(53)

Tabel radpostauth berfungsi untuk menyimpan informasi reply message

dari seorang user wireless client pada saat proses authentikasi. Tabel 3.6 radreply

Field Type Null Default

I d I nt(11) No

UserName varchar(64) No

Attribute varchar(32) No

Op Char(2) No =

Value varchar(253) No

Tabel radreply berfungsi untuk me-reply message terhadap seorang user

wireless client.

Tabel 3.7 usergroup

Field Type Null Default

UserName varchar(64) No

GroupName varchar(64) No

Priority I nt(11) No 1

Tabel usergroup berfungsi untuk menyimpan data – data user yang tergabung ke dalam suatu groupname.

Tabel 3.8 nas

Field Type Null Default

id I nt(10) No

(54)

shortname varchar(32) Yes Null

type varchar(30) Yes Other

ports I nt(5) Yes Null

secret varchar(60) No secret

community varchar(50) Yes Null

description varchar(200) Yes RADI US Client

Tabel nas digunakan untuk menyimpan data – data RADIUS client

(wireless router) yang terhubung ke RADIUS server. Tabel 3.9 operators

Field Type Null Default

id I nt(11) No

username Varchar(32) Yes Null

password Varchar(32) Yes Null

Tabel operators merupakan tabel tambahan untuk mendukung dalam pembuatan sistemnya yang berbasis web.

III.2.3. Perancangan Antarmuka

Perancangan antarmuka untuk Administrator bertujuan untuk pemasukkan data user dan meng-update data yang khusus digunakan oleh administrator. Halaman-halaman yang digunakan sebagai berikut:

(55)

Halaman yang pertama kali ditampilkan pada saat sistem dijalankan oleh administrator. Pada halaman ini, Administrator harus memasukkan user name dan password terlebih dahulu.

RADIUS WEB MANAGEMENT SERVER

User name : Password :

Login Administrator

Login Reset

Gambar 3.3 Halaman login

• Halaman Menu Utama

Halaman awal dari menu Administrator yang berisi sub-sub menu antara lain:

Home, Management User dan Graphs (laporan berbentuk grafik).

RADIUS WEB MANAGEMENT SERVER

Menu Utama

Logout

WELCOME

Home

Graph Management User

Gambar 3.4 Halaman Menu Utama

• Halaman Home

Halaman Home yang berisi sub-sub menu antara lain: server status, radius status,

(56)

RADIUS WEB MANAGEMENT SERVER

Home

Logout

WELCOME

Server status

Last connection

attempts Radius status

Gambar 3.5 Halaman home

• Halaman Management User

Halaman Management User yang berisi sub-sub menu antara lain: list users, new user, edit user.

RADIUS WEB MANAGEMENT SERVER

Management User

Logout List Users

Edit User New User

Gambar 3.6 Halaman Management User

• Halaman Graphs

(57)

RADIUS WEB MANAGEMENT SERVER

Graphs

Logout Overall login

Overall upload Overall download

(58)

BAB IV IMPLEMENTASI

Pada bab ini berisi implementasi sistem berdasarkan analisa dan rancangan sistem yang telah dibuat pada bab – bab sebelumnya. Berikut tahap-tahap implementasi.

IV.1. Lingkungan Implementasi

Lingkungan implementasi pada Sistem Administrasi User Hotspot Berbasis Web ini meliputi lingkungan perangkat keras dan lingkungan perangkat lunak.

IV.1.1. Lingkungan Perangkat Keras

Lingkungan perangkat keras yang digunakan dalam penelitian ini meliputi : a. Sebuah PC yang telah terpasang minimal sebuah NIC.

b. Access Point yang digunakan disini adalah Linksys WRT 4GS c. Sebuah Laptop dengan teknologi wireless 802.11b.

IV.1.1. Lingkungan Perangkat Lunak

Lingkungan perangkat lunak yang digunakan dalam penelitian ini meliputi :

a. Sistem Operasi : Slackware Linux 10.2

b. Pengelolaan Basis Data : MySQL versi 4.1.14

c. Piranti Pemrograman : PHP 4.4.7

(59)

IV.2. Instalasi dan Konfigurasi Web Server

Melakukan instalasi Web Server tergolong mudah karena hanya menggunakan beberapa langkah saja. Sebagai berikut ini :

• Sebelum melakukan instalasi tentunya kita sudah harus memiliki source

code atau kode sumbernya terlebih dahulu. Apabila belum memilikinya, kita bisa men-download Web Server Apache pada alamat http://httpd.apache.org/download.cgi

/usr/local/src

# gzip –d httpd-2.x.xx.tar.gz

# tar xvf httpd-2.x.xx.tar

Source code yang telah didapatkan diletakkan pada direktori berikut

• Lakukan dekompresi atau mengekstrasi file sumbernya. Kita dapat

melakukannya dengan menjalankan perintah berikut :

• Ganti xx dengan angka minor sesuai versi kode sumber yang kita

download, misalnya httpd-2.0.53. Dengan melakukan ekstrasi file kode sumber, maka kemudian akan terbentuk sebuah direktori httpd-2.0.53 dengan banyak file di dalamnya berpindah ke dalam direktori tersebut.

# ./configure –prefix=PREFIX

• Lakukan konfigurasi sumber tree-nya sesuai dengan kondisi default yakni

cukup dengan menjalankan skrip configure yang terdapat pada direktori yang telah terbentuk sebelumnya dengan menggunakan perintah sebagai berikut :

• Hal yang terpenting adalah pada bagian PREFIX, kita harus menggantinya

(60)

# ./configure –prefix=/usr/local/apache

# ./configure –prefix=/usr/local/apache

–-enable-module=so

# make

# make install

biasanya Apache diletakkan pada direktori /usr/local/apache kemudian kita bisa mengetikkan perintah berikut :

• Tentukan fitur apa saja yang ingin dimasukkan dalam Apache dengan

membuat enable atau disable suatu modul. Kita dapat memilih untuk mengompilasi modul sebagai shared object (DSOs) yang akan dipanggil untuk dieksekusi ketika dibutuhkan. Secara lengkapnya kita dapat melakukannya dengan menggunakan perintah berikut :

• Kita juga dapat membangun berbagai macam bagian yang dibutuhkan

Apache. Kita dapat melakukannya dengan mudah, yakni cukup mengetikkan perintah berikut :

Proses ini akan memakan waktu yang cukup lama sesuai dengan kecepatan dan kemampuan komputer yang kita miliki, jadi kita harus sedikit bersabar untuk menunggu sampai semua proses selesai dilaksanakan.

• Langkah terakhir, instalasi paket Apache dan diletakkan pada direktori

seperti yang tertulis pada bagian PREFIX di atas. Anda dapat melakukannya dengan menggunakan perintah berikut :

• Sekarang kita sudah memiliki sebuah Web Server Apache dalam komputer

kita. Untuk melakukan pengecekan apakah Apache sudah dapat berjalan

(61)

• sesuai keinginan, maka jalankan terlebih dahulu Apache dengan

mengetikkan perintah berikut :

# lynx http://localhost

• Setelah kita memastikan bahwa Web Server Apache telah berjalan,

sekarang buka browser yang dimiliki, baik grafis maupun teks (lynx) kemudian ketikkan alamat berikut :

• Setelah muncul tampilan test page, maka Anda berhasil menginstalasi,

karena satu tahap telah terselesaikan

Gambar 4.1 Test apache dengan browser

• Perintah yang dapat digunakan untuk menghentikan Web Server Apache

adalah sebagai berikut:

(62)

• Kita juga bisa menggunakan perintah restart untuk menghentikan dan

menjalankannya kembali.

# /usr/local/apache/bin/apachectl restart

IV.2.1. Mengonfigurasi PHP

Dalam melakukan konfigurasi PHP, ikuti petunjuk berikut ini :

• Sebelum melakukan konfigurasi tentunya kita juga harus memiliki kode

sumbernya terlebih dahulu dengan men-download-nya di http://www.php.net/downloads.php

• Pindahkan file sumbernya ke dalam direktori /usr/local/src dengan

menggunakan perintah berikut :

# cp php-4.4.7.tar.gz /usr/local/src

• Lakukan dekompresi atau mengekstrasi file sumbernya, dengan

menjalankan perintah sebagai berikut ini :

# tar xzvf php-4.4.7.tar.gz

• Pindahlah pada direktori PHP yang muncul setelah proses ekstraksi

terselesaikan dengan menggunakan perintah seperti berikut :

# cd php-4.4.7

• Lakukan konfigurasi dengan mengaktifkan beberapa parameter yang

(63)

# ./configure --prefix=/usr/local

enable-discard-path disable-force-cgi-redirect enable-shared

disable-static disable-debug disable-rpath

pic inline-optimization

--enable-memory-limit config-file-path=/etc

config-file-scan-dir=/etc/php

--with-pear=/usr/share/pear magic-quotes

--enable-debugger --enable-track-vars

with-exec-dir=/usr/bin with-versioning with-mod_charset

--with-regex=php --enable-track-vars

enabletranssid enablesafemode enablectype enableftp

withgettext=/usr enableposix enablesession

--enable-sysvsem --enable-sysvshm --with-openssl=/usr

--without-kerberos --with-ttf

freetype-dir=/usr zlib=/usr zlib=/usr

withzlibdir=/usr withapxs=/usr/sbin/apxs withgd

with-png-dir with-jpeg-dir with-zlib-dir

--with-tiff-dir

with-mysql-sock=/var/run/mysql/mysql.sock with-mysql=/usr

--enable-mbstring=all

Penjelasan keterangan script yang diatas :

1. PHP akan diinstall di /usr/local (--prefix=/usr/local).

2. Mengaktifkan shared library dan disabled static library (

--enable-shared --disable-static).

3. Menonaktifkan debugging (--disable-debug).

4. Menggunakan inline optimization dan limit memory yang digunakann untuk kompilasi (--enable-inline-optimization

(64)

5. File yang terkonfigurasi akan diletakan di /etc (

--with-config-file-path=/etc).

6. Menggunkan PEAR yang akan diletakan di /usr/share/pear (

--with-pear=/usr/share/pear).

7. Mengaktifkan Magic Quotes (--enable-magic-quotes). 8. Menggunakan PHP's Regex engine (--with-regex=php).

9. Mengaktikan Safe Mode, FTP, Session, dan OpenSSL support ( enable-safe-mode enable-ftp enable-session

--with-openssl=/usr).

10.Mengaktifkan GD dan dikonfigurasi untuk mendukung JPEG, TIFF, Freetype fonts and PNG (withgd withpngdir --with-freetype-dir=/usr --with-jpeg-dir

--with-tiff-dir).

11.Mengaktifkan Zlib support utnuk kompresi (--with-zlib-dir). 12.Mengaktifkan MBString support. Dengan tujuan

untukmendukung multi charachter set dalam MySQL and PHPMyAdmin (--enable-mbstring=all).

13.Perintah ini sangat berguna bila kita menggunakan MySQL 4.1 dan versi diatasnya karena PHP's default MySQL client library tidak bisa digunakan untuk menghubungkan MySQL 4.1 dan versi diatasnya lagi. (

--with-mysql-sock=/var/run/mysql/mysql.sock --with-mysql=/usr)

• Jika tidak ada pesan error yang muncul, lalu kita memulai kompilasi

(65)

# make

• Setelah proses kompilasi selesai tanpa ada pesan error yang muncul, kita

bisa memulai install dengan mengeksekusi perintah berikut ini :

# make install

• Setelah prose instalasi selesai, kita lanjutkan dengan mengkonfigurasi file

Apache (httpd.conf) yang terdapat pada direktori /usr/local/apache/httpd.conf, hilangkan tanda # di depan baris berikut ini :

LoadModule php4 module libexec/php4.so

AddModule mod_php4.c

DirectoryIndex index.html index.php index.phtml

• Jika tanda # ternyata sudah tidak ada, berarti kita tidak perlu lagi untuk

mengubahnya, sementara kalau kita tidak menemukan baris tersebut, maka kita perlu untuk mengetikkan seperti pada contoh diatas. Selain itu, Anda akan perlu mengetikkan baris berikut :

AddType application/x-httpd-php .php .phtml

AddType application/x-httpd-php-source .phps

• Langkah terakhir, salin file inisialisasi untuk PHP dengan menggunakan

perintah seperti berikut :

cp /usr/local/src/php-4.4.7/php.ini-dist

/usr/local/apache/conf/php.ini

Atau

# cp /usr/local/src/php-4.4.7/php.ini-recommended

/usr/local/apache/conf/php.ini

• PHP telah terinstalasi ke dalam komputer. Sekarang kita melakukan

pengecekan terlebih dahulu dengan menggunakan perintah berikut :

(66)

Kemudian ketikkan beberapa baris skrip seperti berikut :

<?

phpinfo();

?>

• Jalankan pada browser pada alamat http://localhost/tes.php

Gambar 4. 2 Test php dengan browser

(67)

Setelah kita meng-instal Slackware Linux 10.2 termasuk paket instalasi MySQL, MySQL biasanya belum siap untuk dijalankan. Jadi kita perlu melakukan beberapa langkah berikut ini :

• Pertama kita perlu meng-copy-kan file konfigurasi MySQL ke direktori

/etc. seperti perintah dibawah ini :

# cp /etc/my-medium.cnf /etc/my.cnf

• Sebelum kita bisa menjalan MySQL, tabel privilage MySQL yang baru

harus dibuat terdahulu. MySQL biasanya dijalankan oleh user MySQL, jadi ganti usernya dulu ke mysql dan jalankan skrip mysql_install_db. Seperti berikut :

root@drakstar:~# su mysql

mysql@drakstar:~# mysql_install_db

Installing all prepared tables

Fill help tables

....

• Jika mysql_install_db masih belum bisa dijalankan sebagai user mysql,

maka perlu men-verifikasi ijin dan pemilik direktori dengan menjalankan perintah sebagai berikut ini :

mysql@drakstar:~$ ls -ld /var/lib/mysql

drwxr-x--- 4 mysql mysql 4096 2007-06-21 11:23

/var/lib/mysql/

• Setelah instalasi MySQL selesai, kita bisa menjalankan database server

MySQL dengan perintah sebagai berikut ini :

(68)

• Untuk mengecek apakah MySQL yang sudah terinstal dapat dijalankan

dengan baik, gunakan perintah sebagai berikut ini :

# mysqladmin -u root status

Tampilan yang muncul :

Uptime: 39 Threads: 1 Questions: 1 Slow queries: 0

Opens: 12 Flush tables: 1 Open tables: 6 Queries per

second avg: 0.026

Atau juga bisa dengan perintah :

# mysqladmin version

Tampilan yang muncul :

# mysqladmin version

mysqladmin Ver 8.41 Distrib 4.1.14, for slackware-linux-gnu on i486

Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB

This software comes with ABSOLUTELY NO WARRANTY. This is free software,

and you are welcome to modify and redistribute it under the GPL

license

Server version: 4.1.14-log

Protocol version: 10

Connection: Localhost via UNIX socket

UNIX socket: /var/run/mysql/mysql.sock

Uptime: 1 min 48 sec

(69)

RADIUS yang dapat dipakai ada banyak, diantaranya Freeradius, GNU Radius, JRadius, Open Radius, IAS, RadiusNT dan RadiusX, dan banyak lagi. Pada implementasi ini dipakai freeradius untuk back-end authentication server-nya. Tahap-tahap menginstalasi freeradius, sebagai berikut ini:

• Untuk source code freeradius dapat didownload di

http://www.freeradius.org.

• Untuk mengkompile freeradius seperti biasa dengan perintah :

# ./ configure

# make

# make install

root@darkstar:~# radiusd –X

• Setelah selesai dan tidak ada error, maka akan dihasilkan distribusi yang

akan diinstall ke direktori /usr/local/ yakni di direktori /usr/local/bin dan /usr/local/sbin.Dan file konfigurasinya terdapat direktori /usr/local/etc/raddb. Sebelum mengkonfigurasi, coba jalankan perintah

berikut :

Maka akan muncul tampilan sebagai berikut ini:

Starting -reading configuration files ...

reread_config: reading radiusd.conf

Config: including file:

/usr/local/etc/raddb/proxy.conf

Config: including file:

/usr/local/etc/raddb/clients.conf

Config: including file:

(70)

Config: including file: /usr/local/etc/raddb/eap.conf

Config: including file: /usr/local/etc/raddb/sql.conf

.

.

.

Module: Loaded radutmp

radutmp: filename =

"/usr/local/var/log/radius/radutmp"

radutmp: username = "%{User-Name}"

radutmp: case_sensitive = yes

radutmp: check_with_nas = yes

radutmp: perm = 384

radutmp: callerid = yes

Module: Instantiated radutmp (radutmp)

Listening on authentication *:1812

Listening on accounting *:1813

Ready to process requests.

IV.4.1. Instalasi Skema FreeRADIUS

Setelah kita telah selesai meng-instalasi MySQL database server, kita menjalankannya dengan perintah, sebagai berikut ini:

root@darkstar:~# /etc/rc.d/rc.mysqld start

Dan tahap selanjutnya, seperti dibawah ini:

• Buat password MySQL untuk super user :

root@drakstar:~# /usr/bin/mysqladmin –u root password

rahasia

(71)

root@darkstar:~# mysql –u root –p rahasia

mysql> create database radius

mysql> exit

• Meng-install skema FreeRadius MySQL ke database radius didalam

MySQL

root@darkstar:~# mysql –u root –p rahasia radius <

/usr/local/src/freeradius-1.1.6/modules/rlm_sql/drivers/rlm_sql_mysql/db_mysql.sql

• Sekarang sudah ada beberapa tabel didalam MySQL database radius

root@megaphone:~# mysql -u root -p

mysql> use radius; Database changed mysql> show tables; +---+ | Tables_in_radius | +---+ | radacct | | radcheck | | radgroupcheck | | radgroupreply | | radpostauth | | radreply | | usergroup | +---+ 7 rows in set (0.00 sec)

(72)

Untuk konfigurasi freeradius server, maka ada tiga file yang perlu diedit yaitu sql.conf, client.conf, dan radiusd.conf.Berikut merupakan isi dari masing-masing file konfigurasi.

# Database table configuration radius_db = "radius"

acct_table1 = "radacct" acct_table2 = "radacct"

# Allow for storing data after authentication postauth_table = "radpostauth"

# Table to keep radius client info nas_table = "nas"

# Remove stale session if checkrad does not see a double login deletestalesessions = yes

# Print all SQL statements when in debug mode (-x) sqltrace = no

sqltracefile = ${logdir}/sqltrace.sql

# number of sql connections to make to server num_sql_socks = 5

# number of seconds to dely retrying on a failed database # connection (per_socket)

connect_failure_retry_delay = 60

sql_user_name = "%{User-Name}"

authorize_check_query = "SELECT id, UserName, Attribute, Value, op \ FROM ${authcheck_table} \

WHERE Username = '%{SQL-User-Name}' \ ORDER BY id"

authorize_reply_query = "SELECT id, UserName, Attribute, Value, op \ FROM ${authreply_table} \

(73)

'%{SQL-User-Name}' AND ${usergroup_table}.GroupName = ${groupcheck_table}.GroupName ORDER BY ${groupcheck_table}.id"

authorize_group_reply_query = "SELECT

${groupreply_table}.id,${groupreply_table}.GroupName,${groupreply_table}.Attribute ,${groupreply_table}.Value,${groupreply_table}.op FROM

${groupreply_table},${usergroup_table} WHERE ${usergroup_table}.Username = '%{SQL-User-Name}' AND ${usergroup_table}.GroupName = ${groupreply_table}.GroupName ORDER BY ${groupreply_table}.id"

accounting_onoff_query = "UPDATE ${acct_table1} SET AcctStopTime='%S', AcctSessionTime=unix_timestamp('%S') - unix_timestamp(AcctStartTime),

AcctTerminateCause='%{Acct-Terminate-Cause}', AcctStopDelay = '%{Acct-Delay-Time}' WHERE AcctSessionTime=0 AND AcctStopTime=0 AND NASIPAddress= '%{NAS-IP-Address}' AND AcctStartTime <= '%S'"

accounting_update_query = "UPDATE ${acct_table1} \ SET FramedIPAddress = '%{Framed-IP-Address}', \

accounting_update_query_alt = "INSERT into ${acct_table1} (AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType,

AcctStartTime, AcctSessionTime, AcctAuthentic, ConnectInfo_start, AcctInputOctets, AcctOutputOctets, CalledStationId, CallingStationId, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay) values('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', DATE_SUB('%S',INTERVAL (Session-Time:-0} + %{Acct-Delay-Time:-0}) SECOND), Session-Time}', Authentic}', '', '%{Acct-Input-Octets}', '%{Acct-Output-Octets}', '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '0')"

accounting_start_query = "INSERT into ${acct_table1} (AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType,

AcctStartTime, AcctStopTime, AcctSessionTime, AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, CalledStationId,

CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol,

FramedIPAddress, AcctStartDelay, AcctStopDelay) values('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', '%S', '0', '0', '%{Acct-Authentic}',

'%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '%{Acct-Delay-Time}', '0')"

accounting_start_query_alt = "UPDATE ${acct_table1} SET AcctStartTime = '%S', AcctStartDelay = '%{Acct-Delay-Time}', ConnectInfo_start = '%{Connect-Info}' WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' AND NASIPAddress = '%{NAS-IP-Address}'"

accounting_stop_query = "UPDATE ${acct_table2} SET AcctStopTime = '%S', AcctSessionTime = '%{Acct-Session-Time}', AcctInputOctets = '%{Acct-Input-Octets}', AcctOutputOctets = '%{Acct-Output-'%{Acct-Input-Octets}', AcctTerminateCause = '%{Acct-Terminate-Cause}', AcctStopDelay = '%{Acct-Delay-Time}', ConnectInfo_stop = '%{Connect-Info}' WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' AND NASIPAddress = '%{NAS-IP-Address}'"

accounting_stop_query_alt = "INSERT into ${acct_table2} (AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType,

AcctStartTime, AcctStopTime, AcctSessionTime, AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, CalledStationId,

CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol,

(74)

'%{Acct-Output-Octets}', '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Acct-Terminate-Cause}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '0', '%{Acct-Delay-Time}')"

# Uncomment simul_count_query to enable simultaneous use checking # simul_count_query = "SELECT COUNT(*) FROM ${acct_table1} WHERE UserName='%{SQL-User-Name}' AND AcctStopTime = 0"

simul_verify_query = "SELECT RadAcctId, AcctSessionId, UserName,

NASIPAddress, NASPortId, FramedIPAddress, CallingStationId, FramedProtocol FROM ${acct_table1} WHERE UserName='%{SQL-User-Name}' AND AcctStopTime = 0"

group_membership_query = "SELECT GroupName FROM ${usergroup_table} WHERE UserName='%{SQL-User-Name}'"

postauth_query = "INSERT into ${postauth_table} (id, user, pass, reply, date) values ('', '%{User-Name}', '%{User-Password:-Chap-Password}',

'%{reply:Packet-Type}', NOW())"

#

# Set to 'yes' to read radius clients from the database ('nas' table) # readclients = yes

# Test of radius server with the access point Linksys WRT54GS client 192.168.1.0/24 {

# configuration of this RADIUS server prefix = /usr/local

(75)

# User/group config of the RADIUS server

# bind_address: we need only listen on the wireless subnet bind_address = *

port = 0

hostname_lookups = no

# How the server conduct itself allow_core_dumps = no

regular_expressions = yes extended_expressions = yes

# Logging behavior

# Don't proxy requests proxy_requests = no

#$INCLUDE ${confdir}/proxy.conf

# Include the client here.

(76)

# MODULE CONFIGURATION

server = "ldap.your.domain" basedn = "o=My Org,c=UA"

filter = "(uid=%{Stripped-User-Name:-%{User-Name}})" access_attr = "dialupAccess"

}

# The attribute to look for in the request

item-name = Calling-Station-Id

# The attribute to look for in check items. Can be multi valued

check-name = Calling-Station-Id

# The data type. Can be

# string,integer,ipaddr,date,abinary,octets

Gambar

Gambar 2.2. Wireless Infrastructure
Gambar 2.3 Skema 802.1x
Gambar 2.4 Skema “Port based authentication”
Gambar 2.6 Struktur paket data RADIUS
+7

Referensi

Dokumen terkait

Ho: Penerapan model pembelajaran Relating, Eksperiencing, Applying, Cooperating, Transfering (REACT) pada materi gerak lurus di kelas X tidak dapat meningkatkan

bukti dalam pembuktian perkara pidana saat ini terdiri dari lima (5) alat bukti yang diatur Pasal 184 KUHAP dan Pasal 5 UU ITE yaitu sebagai berikut: keterangan saksi, keterangan

Perbedaan dengan penelitian yang akan dilakukan yaitu meneliti tentang angka kejadian DBD dan hanya pada karakteristik individu pasien DBD, sedangkan pada penelitian

Dalam penelitian ini juga didapatkan hasil responden dengan tingkat dukungan keluarga rendah namun memiliki kesiapan terhadap menopause tinggi, hal ini dapat

Pengertian Pancasila sebagai dasar negara diperoleh dari alinea keempat Pembukaan UUD 1945 dan sebagaimana tertuang dalam Memorandum DPR-GR 9 Juni 1966 yang menandaskan

ANALISIS KEPATUHAN BANK SYARIAH TERHADAP PRINSIP-PRINSIP SYARIAH PADA PEMBIAYAAN MURABAHAH.. Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu

Fenomena ini dipicu karena banyak hal yaitu pengetahuan orang tua yang kurang tentang cara melatih BAB dan BAK pada saat anak usia toddler, pemakaian diapers atau

Namun demikian, kerusakan lingkungan akibat peristiwa alam secara tidak langsung juga akibat ulah manusia, karena banyak dari mereka yang berperilaku menyimpang seperti