sistem administrasi otentikasi hotspot · 2018. 11. 14. · 2.7.2 cara bekerja mysql ... banyak...

114
SISTEM ADMINISTRASI OTENTIKASI HOTSPOT BERBASIS WEB 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 2007

Upload: others

Post on 17-Nov-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

SISTEM ADMINISTRASI OTENTIKASI HOTSPOT

BERBASIS WEB

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 2007

Page 2: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

WEB BASED AUTHENTICATION HOTSPOT

ADMINISTRATION SYSTEM

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

i

Page 3: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

ii

Page 4: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

iii

Page 5: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

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…

iv

Page 6: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

v

MOTTO

Janganlah engkau bertanya apa yang

bisa negara berikan padamu, tapi

seharusnya apa yang bisa kamu

berikan pada negara mu.

Page 7: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

ABSTRAKSI

Masalah yang akan kita hadapi apabila menerapkan wireless LAN adalah

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.

vi

Page 8: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

ABSTRACT

Problem which we would face if applying wireless LAN is issue about its

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.

vii

Page 9: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

viii

KATA PENGANTAR

Puji Syukur kehadirat Tuhan atas rakhmat dan berkah-Nya yang telah

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.

6. And last but not least seluruh temen-temen yang telah banyak membantu

saya menyelesaikan kuliah maupun skripsi saya. Maaf saya tidak

Page 10: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

ix

menyebutkan kalian satu persatu tapi akan saya balas terima kasih saya

dengan tindakan terima kasih kepada kalian satu persatu. Semoga Tuhan

membalas segala jerih payah hamba-Nya yang rela berkorban untuk

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,

Tjaja Budi Santoso

Page 11: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

x

DAFTAR ISI

Halaman Judul.......................................................................................................... i

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

2.1 Sekilas Teknologi Wireless LAN...............................................................7

Page 12: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

xi

2.1.1 Teknologi Jaringan Wi-Fi......... ......................................................7

2.1.2 Komponen Utama Jaringan Wi-Fi ..................................................8

2.1.3 Tipe Jaringan Wi-Fi ........................................................................9

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

3.1.1 Kebutuhan Admin .......................................................................28

Page 13: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

xii

3.1.2 Rekayasa Sistem .........................................................................28

3.1.1 Gambaran Umum Sistem ............................................................29

3.2 Perancangan Sistem .................................................................................30

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

4.6.5 Halaman Last 50 Connection Attempts........................................70

Page 14: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

xiii

4.6.6 Halaman Management User..........................................................71

4.6.7 Halaman List Users.......................................................................72

4.6.8 Halaman New User.......................................................................74

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

Daftar Pustaka ........................................................................................................96

Page 15: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

xiv

DAFTAR GAMBAR

Gambar 2.1 Peer to peer/ Ad Hoc Wireless LAN....................................................9

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

Gambar 4.8 halaman server status .........................................................................68

Page 16: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

xv

Gambar 4.9 halaman radius status .........................................................................69

Gambar 4.10 halaman last 50 connection attempts................................................70

Gambar 4.11 halaman management user ...............................................................71

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

Gambar 4.20 halaman alltime traffic comparison..................................................91

Page 17: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

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

Tabel 3.9 operators.................................................................................................36

Page 18: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

xvii

Page 19: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

1

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 (Internet Service Provider) 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

hotspot tersebut secara langsung maupun tidak langsung akan dirugikan,

penyusup itu dapat saja melakukan perbuatan yang tidak menyenangkan, seperti

Page 20: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

2

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 Equivalent Privacy). 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

RADIUS server?

Page 21: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

3

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

sistem operasi linux Slackware 10.2 dan penulis berasumsi bahwa linux

sudah terinstall dengan benar pada komputer.

Page 22: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

4

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.

7. Analisis dan membuat kesimpulan dari sistem yang telah dibuat.

Page 23: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

5

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.

BAB IV. IMPLEMENTASI

Page 24: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

6

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

Memaparkan kesimpulan dan saran yang diperoleh terhadap sistem

yang dihasilkan. Kesimpulan akan merangkumkan intisari dari

hasil-hasil yang telah diperoleh selama melaksanakan proses tugas

akhir, sedangkan saran akan memuat usulan-usulan bermanfaat

yang dapat diterapkan untuk pengembangan sistem yang telah

dibuat.

Page 25: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

7

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 (Unshielded Twisted

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

(IEEE), yang secara umum sebagai berikut:

Page 26: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

8

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.

4. Ethernet LAN, jaringan kabel yang sudah ada (bila perlu).

Page 27: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

9

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.

Gambar 2.2. Wireless Infrastructure

Page 28: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

10

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

pengguna gunakan bila berkoneksi dengan HotSpot. Misalnya: sebuah

café, kebanyakan penggunanya adalah pengusaha menengah ke bawah dan

Page 29: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

11

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 :

1. Bila ada WN (Wireless Node) baru yang ingin mengakses suatu LAN,

maka access point (AP) akan meminta identitas WN. Tidak diperbolehkan

Page 30: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

12

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 “port based authentication” ?

Lalu mengapa disebut sebagai “port based authentication” ? Penjelasan adalah

bahwa authenticator mengkontrol dua jenis port yaitu yang disebut dengan

Page 31: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

13

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

tersebut merupakan logikal port 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

Mencontrol otorisasi

Page 32: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

14

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.

6. Akses jaringan yang sudah terbuka, akan tetap terbuka sampai ketika

terjadi perubahan status koneksi, misalnya koneksi diputus oleh pengguna

Page 33: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

15

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

RADIUS (Remote Authentication Dial In User Service) merupakan suatu

protokol yang dikembangkan untuk proses AAA (authentication, authorization,

Page 34: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

16

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:

1. Code, memiliki panjang adalah satu oktet, digunakan untuk membedakan

tipe pesan RADIUS yang dikirimkan pada paket. Kode-kode tersebut

(dalam desimal) ialah:

Page 35: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

17

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.

5. Attributes, berisikan informasi yang dibawa pesan RADIUS, setiap pesan

dapat membawa satu atau lebih atribut. Contoh atribut RADIUS: nama

pengguna, password, CHAP-password, alamat IP access point(AP), pesan

balasan.

Page 36: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

18

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 syntax username.

• Mengeksekusi program-program eksternal setelah login berhasil

• Menggunakan format nama berkas $INCLUDE dengan konfigurasi,

pengguna, dan kamus berkas.

• Atribut yang dispesifikasi vendor.

• Bertindak sebagai proxy server RADIUS

Page 37: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

19

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

Apache telah diuji coba dengan oleh banyak pengguna dan terbukti

sebagai server HTTP ( HyperText Transfer Protocol ) yang tangguh.

Page 38: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

20

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

Apache memiliki dokumentasi yang lengkap. Dengan demikian pengguna

tidak menghadapi kesulitan dalam menguasai Apache.

Page 39: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

21

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

Halaman web biasanya disusun dari kode-kode html yang disimpan dalam

sebuah file berekstensi .html. File html ini dikirimkan oleh server (atau file) ke

browser, kemudian browser menerjemahkan kode-kode tersebut sehingga

menghasilkan suatu tampilan yang indah. Lain halnya dengan program php,

program ini harus diterjemahkan oleh web-server sehingga menghasilkan kode

html yang dikirim ke browser agar dapat ditampilkan. Program ini dapat berdiri

sendiri ataupun disisipkan di antara kode-kode html sehingga dapat langsung

ditampilkan bersama dengan kode-kode html tersebut. Program php dapat

ditambahkan dengan mengapit program tersebut di antara tanda <? dan ?>. Tanda-

tanda tersebut biasanya disebut tanda untuk escaping (kabur) dari kode html. File

Page 40: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

22

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.

Perubahan yang paling mendasar pada PHP 4.0 adalah terintegrasinya

Zend Engine yang dibuat oleh Zend Suraski dan Andi Gutmans yang merupakan

penyempurnaan dari PHP scripting engine. Yang lainnya adalah build in HTTP

Page 41: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

23

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.

PHP merupakan software yang open source yang dapat anda download

secara gratis dari situs resminya yaitu http://www.php.net, ataupun dari situs-situs

Page 42: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

24

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

dan multithreaded. Ia sangat cepat, dan kecepatan adalah fokus utama developer

sejak awal. Dalam kaitannya dengan kecepatan, mereka membuat keputusan

untuk memberikan fitur yang lebih sedikit dibandingkan para pesaingnya seperti

Oracle dan Sybase. Bagaimanapun, MySQL yang memiliki fitur sedikit itu telah

Page 43: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

25

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

dukungan gratis via milis. Pengembang MySQL juga berpartisipasi dalam

milis. Kita dapat pula membeli dukungan teknis dari MySQL dengan biaya

yang rendah.

Page 44: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

26

• 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.

Server MySQL adalah manajer bagi sistem database. Ia menangani seluruh

instruksi database. Sederhananya, jika kita ingin membuat database baru, kita

mengirimkan pesan pada server MySQL bahwa “Buat database baru dan beri

nama DataBaru”. Server MySQL kemudian membuat sub-direktori dalam

direktori datanya, memberi nama sub-direktori itu DataBaru, dan menaruh

beberapa file yang dibutuhkan dengan format yang diperlukan ke dalam sub-

direktori DataBaru. Dengan perlakuan yang sama, untuk menambahkan data ke

dalam database, kita mengirimkan pesan kepada server MySQL, memberikan

datanya, dan memberitahukan lokasi yang diinginkan.

Page 45: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

27

Seluruh interaksi dengan database dilakukan dengan mengirimkan pesan

kepada server MySQL. Kita dapat mengirimkan pesan kepada server MySQL

dengan beberapa cara.

Page 46: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

28

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 :

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.

Rekayasa

Page 47: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

29

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.

Gambar 3.1 Diagram Umum Sistem Administrasi

Page 48: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

30

Login

User

Pesan

Administrator

Input User

Edit UserEdit

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 :

a. PC (Personal Computer) Server

Page 49: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

31

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

FreeRADIUS server telah menyediakan paket berupa tabel tabel database

didalam distribusinya, dimana tabel – tabel tersebut dalam /freeradius-

Page 50: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

32

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

RadAcctId bigint(21) No

AcctSessionId varchar(32) No

AcctUniqueId varchar(32) No

UserName varchar(64) No

Realm varchar(64) Yes

NASIPAddress varchar(15) No

NASPortId Int(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 Int(12) Yes NULL

AcctAuthentic varchar(32) Yes NULL

ConnectInfo_start varchar(50) Yes NULL

ConnectInfo_stop varchar(50) Yes NULL

AcctInputOctets bigint(12) Yes NULL

AcctOutputOctets bigint(12) Yes NULL

CalledStationId varchar(50) No

CallingStationId varchar(50) No

AcctTerminateCause varchar(32) No

ServiceType varchar(32) Yes NULL

FramedProtocol varchar(32) Yes NULL

Page 51: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

33

FramedIPAddress varchar(15) No

AcctStartDelay Int(12) Yes NULL

AcctStopDelay Int(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

Id Int(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

Id Int(11) No

Page 52: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

34

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

Id Int(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

Id Int(11) No

User varchar(64) No

Pass varchar(64) No

Reply varchar(32) No

Date timestamp Yes CURRENT_TIMESTAMP

Page 53: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

35

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

Id Int(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 Int(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 Int(10) No

nasname varchar(128) No

Page 54: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

36

shortname varchar(32) Yes Null

type varchar(30) Yes Other

ports Int(5) Yes Null

secret varchar(60) No secret

community varchar(50) Yes Null

description varchar(200) Yes RADIUS 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 Int(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:

• Halaman Login

Page 55: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

37

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,

last connection attempts.

Page 56: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

38

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

Halaman Graphs ini untuk menampilkan laporan dalam bentuk grafik yang berisi

sub-sub menu antara lain: overall login/hits, overall download, overall upload.

Page 57: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

39

RADIUS WEB MANAGEMENT SERVER

Graphs

Logout

Overall login

Overall upload

Overall download

Gambar 3.7 Halaman Graphs

Page 58: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

40

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

d. Authentication Server : FreeRADIUS 1.1.0

Page 59: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

41

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

dengan nama direktori tempat Apache ingin diletakkan. Secara default

Page 60: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

42

# ./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 # /usr/local/apache/bin/apachectl start

Page 61: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

43

• 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:

# /usr/local/apache/bin/apachectl stop

Page 62: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

44

• 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

dibutuhkan. Kita bisa melakukannya dengan mengetikkan perintah sebagai

berikut :

Page 63: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

45

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

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

disable-static --disable-debug --disable-rpath --

enable-pic --enable-inline-optimization --enable-

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

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

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

debugger --enable-track-vars --with-exec-

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

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

sid --enable-safe-mode --enable-ctype --enable-ftp -

-with-gettext=/usr --enable-posix --enable-session -

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

--without-kerberos --with-ttf --with-freetype-

dir=/usr --with-zlib=/usr --with-zlib=/usr --with-

zlib-dir=/usr --with-apxs=/usr/sbin/apxs --with-gd -

-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

--enable-memory-limit).

Page 64: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

46

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 (--with-gd --with-png-dir -

-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

dengan mengeksekusi perintah berikut ini :

Page 65: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

47

# 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 :

# vi /usr/local/apache/htdocs/tes.php

Page 66: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

48

Kemudian ketikkan beberapa baris skrip seperti berikut :

<?

phpinfo();

?>

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

Gambar 4. 2 Test php dengan browser

IV.3. Instalasi MySQL Database Server

Page 67: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

49

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 :

# /etc/rc.d/rc.mysqld start

Page 68: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

50

• 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

IV.4. Instalasi dan Konfigurasi RADIUS Server

Page 69: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

51

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:

/usr/local/etc/raddb/snmp.conf

Page 70: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

52

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

• Menjalankan MySQL dan buat database baru yang bernama radius

Page 71: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

53

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)

IV.4.2. Konfigurasi FreeRADIUS

Page 72: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

54

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.

File sql.conf

sql { driver = "rlm_sql_mysql" # Connect info server = "localhost" login = "root" password = "" # Database table configuration radius_db = "radius" acct_table1 = "radacct" acct_table2 = "radacct" # Allow for storing data after authentication postauth_table = "radpostauth" authcheck_table = "radcheck" authreply_table = "radreply" groupcheck_table = "radgroupcheck" groupreply_table = "radgroupreply" usergroup_table = "usergroup" # 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} \ WHERE Username = '%{SQL-User-Name}' \ ORDER BY id" authorize_group_check_query = "SELECT ${groupcheck_table}.id,${groupcheck_table}.GroupName,${groupcheck_table}.Attribute,${groupcheck_table}.Value,${groupcheck_table}.op FROM ${groupcheck_table},${usergroup_table} WHERE ${usergroup_table}.Username = '%{SQL-

Page 73: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

55

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}', \ AcctSessionTime = '%{Acct-Session-Time}', \ AcctInputOctets = '%{Acct-Input-Octets}', \ AcctOutputOctets = '%{Acct-Output-Octets}' \ WHERE AcctSessionId = '%{Acct-Session-Id}' \ AND UserName = '%{SQL-User-Name}' \ AND NASIPAddress= '%{NAS-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 (%{Acct-Session-Time:-0} + %{Acct-Delay-Time:-0}) SECOND), '%{Acct-Session-Time}', '%{Acct-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-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, FramedIPAddress, AcctStartDelay, AcctStopDelay) values('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', DATE_SUB('%S', INTERVAL (%{Acct-Session-Time:-0} + %{Acct-Delay-Time:-0}) SECOND), '%S', '%{Acct-Session-Time}', '%{Acct-Authentic}', '', '%{Connect-Info}', '%{Acct-Input-Octets}', '%{Acct-Output-

Page 74: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

56

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 }

File clients.conf

client 127.0.0.1 { secret = testing123 shortname = localhost nastype = other # localhost isn't usually a NAS... } # Test of radius server with the access point Linksys WRT54GS client 192.168.1.0/24 { secret = 123456 shortname = linksys nastype = other }

File radiusd.conf

# radiusd.conf # configuration of this RADIUS server prefix = /usr/local exec_prefix = ${prefix} sysconfdir = /etc localstatedir = /var sbindir = ${exec_prefix}/sbin logdir = ${localstatedir}/log/radius raddbdir = ${sysconfdir}/raddb radacctdir = ${logdir}/radacct # Location of config and logfiles. confdir = ${raddbdir} run_dir = ${localstatedir}/run/radiusd log_file = ${logdir}/radius.log #Libraries, modules, etc libdir = ${exec_prefix}/lib #The pid file pidfile = ${run_dir}/radiusd.pid

Page 75: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

57

# User/group config of the RADIUS server user = radiusd group = radiusd # Request handling max_request_time = 60 delete_blocked_requests = no cleanup_delay = 6 max_requests = 1024 # 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 log_stripped_names = no log_auth = no log_auth_badpass = no log_auth_goodpass = no # User handling usercollide = no lower_user = after lower_pass = no nospace_user = after nospace_pass = before # RADIUS Checker. checkrad = ${sbindir}/checkrad # SECURITY CONFIGURATION security { max_attributes = 200 reject_delay = 1 status_server = no } # Don't proxy requests proxy_requests = no #$INCLUDE ${confdir}/proxy.conf # Include the client here. $INCLUDE ${confdir}/clients.conf # Don't use SNMP snmp = no #$INCLUDE ${confdir}/snmp.conf # Thread-pooling thread pool { start_servers = 2 max_servers = 10 min_spare_servers = 3 max_spare_servers = 10 max_requests_per_server = 0 }

Page 76: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

58

# MODULE CONFIGURATION modules { pap { encryption_scheme = crypt } unix { cache = no cache_reload = 600 passwd = /etc/passwd shadow = /etc/shadow group = /etc/group radwtmp = ${logdir}/radwtmp } mschap { authtype = MS-CHAP } ldap { server = "ldap.your.domain" basedn = "o=My Org,c=UA" filter = "(uid=%{Stripped-User-Name:-%{User-Name}})" access_attr = "dialupAccess" } realm IPASS { format = prefix delimiter = "/" ignore_default = no ignore_null = no } realm suffix { format = suffix delimiter = "@" ignore_default = no ignore_null = no } realm realmpercent { format = suffix delimiter = "%" ignore_default = no ignore_null = no } realm ntdomain { format = prefix delimiter = "\\" ignore_default = no ignore_null = no } checkval { # 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 data-type = string

Page 77: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

59

# If set to yes and we dont find the item-name attribute in the # request then we send back a reject # DEFAULT is no #notfound-reject = no } preprocess { huntgroups = ${confdir}/huntgroups hints = ${confdir}/hints with_ascend_hack = no ascend_channels_per_line = 23 with_ntdomain_hack = no with_specialix_jetstream_hack = no with_cisco_vsa_hack = no } files { usersfile = ${confdir}/users acctusersfile = ${confdir}/acct_users preproxy_usersfile = ${confdir}/preproxy_users compat = no } detail { detailfile = ${radacctdir}/%{Client-IP-Address}/detail-%Y%m%d detailperm = 0600 } acct_unique { key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port" } $INCLUDE ${confdir}/sql.conf radutmp { filename = ${logdir}/radutmp username = %{User-Name} case_sensitive = yes check_with_nas = yes perm = 0600 callerid = "yes" } radutmp sradutmp { filename = ${logdir}/sradutmp perm = 0644 callerid = "no" } attr_filter { attrsfile = ${confdir}/attrs

Page 78: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

60

} counter daily { filename = ${raddbdir}/db.daily key = User-Name count-attribute = Acct-Session-Time reset = daily counter-name = Daily-Session-Time check-name = Max-Daily-Session allowed-servicetype = Framed-User cache-size = 5000 } sqlcounter dailycounter { counter-name = Daily-Session-Time check-name = Max-Daily-Session sqlmod-inst = sql key = User-Name reset = daily query = "SELECT SUM(AcctSessionTime - \ GREATEST((%b - UNIX_TIMESTAMP(AcctStartTime)), 0)) \ FROM radacct WHERE UserName='%{%k}' AND \ UNIX_TIMESTAMP(AcctStartTime) + AcctSessionTime > '%b'" } sqlcounter monthlycounter { counter-name = Monthly-Session-Time check-name = Max-Monthly-Session sqlmod-inst = sql key = User-Name reset = monthly query = "SELECT SUM(AcctSessionTime - \ GREATEST((%b - UNIX_TIMESTAMP(AcctStartTime)), 0)) \ FROM radacct WHERE UserName='%{%k}' AND \ UNIX_TIMESTAMP(AcctStartTime) + AcctSessionTime > '%b'" } always fail { rcode = fail } always reject { rcode = reject } always ok { rcode = ok simulcount = 0 mpp = no } expr { } digest { } exec { wait = yes input_pairs = request } exec echo { wait = yes program = "/bin/echo %{User-Name}" input_pairs = request

Page 79: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

61

output_pairs = reply } ippool main_pool { # range-start,range-stop: The start and end ip # addresses for the ip pool range-start = 192.168.1.1 range-stop = 192.168.3.254 # netmask: The network mask used for the ip's netmask = 255.255.255.0 # cache-size: The gdbm cache size for the db # files. Should be equal to the number of ip's # available in the ip pool cache-size = 800 # session-db: The main db file used to allocate ip's to clients session-db = ${raddbdir}/db.ippool # ip-index: Helper db index file used in multilink ip-index = ${raddbdir}/db.ipindex # override: Will this ippool override a Framed-IP-Address already set override = no # maximum-timeout: If not zero specifies the maximum time in seconds an # entry may be active. Default: 0 maximum-timeout = 0 } # OTP token support. Not included by default. # $INCLUDE ${confdir}/otp.conf } instantiate { exec expr } authorize { preprocess suffix sql } authenticate { Auth-Type PAP { pap } } preacct { preprocess suffix } accounting {

Page 80: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

62

detail unix sql radutmp } session { radutmp sql } post-auth { } pre-proxy { } post-proxy { }

IV.5. Konfigurasi Access Point

Pada tugas akhir ini menggunakan Linksys WRT54GS Wireless-G

Broadband Router. Perlu dicatat bahwa AP Linksys ini adalah router.

Sebagai sebuah router mempunyai banyak fasilitas, seperti kemampuan

routing, firewall, DCHP. Pada dasarnya kita dapat mengganti sebagian besar

fungsi gateway linux dengan sebuah Linksys ini.

Linksys WRT54GS dapat dikonfigurasi melalui interface web dengan

alamat default 192.168.1.1 (jika tidak diubah).

Gambar 4.3 halaman setup page

Page 81: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

63

Halaman ini adalah setup page. Melalui setup page ini kita dapat

mengkonfigurasi time zone, konfigurasi internet connection, konfigurasi LAN,

dan konfigurasi wireless.

Untuk konfigurasi wireless, masuk ke menu basic wireless setting. Karena

pada tugas akhir ini menggunakan WLAN 802.11b, maka setting-an minimalnya:

• Wireless Network Node : B-Only

• Wireless Network Name (SSID) : usd

• Wireless channel : 1-2.412 Ghz

Gambar 4.4 Basic wireless setting

Selanjutnya pindah ke menu wireless security, untuk mengubah metode

autentikasi access point menggunakan radius. Dalam tugas akhir ini, IP radius

server adalah 192.168.1.2, radius port 1812, dan shared key 123456.

Page 82: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

64

Gambar 4.5 wireless security

IV.6. Pembuatan Aplikasi RADIUS Manajemen Server Berbasis Web

Dalam Tahap ini akan diuraikan pembuatan aplikasi RADIUS Manajemen

Server Berbasis Web, yaitu sebuah interface administrasi user berbasis web

dengan menggunkan bahasa pemrograman PHP.

IV.6.1. Halaman Tampilan Pertama / Login

Gambar 4.6 halaman login

Halaman pertama yang muncul jika ingin mengakses aplikasi ini adalah halaman

login. Sintak PHP sebagai berikut:

Page 83: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

65

<?php $error = $_REQUEST['error']; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Radius Admin</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="css/1.css" type="text/css" media="screen,projection" /> </head> <body> <?php include_once ("lang/main.php"); ?> <div id="wrapper"> <div id="innerwrapper"> <div id="header"> <h1><a href="index.php"><? echo $l[all][daloRADIUS]; ?></a></h1> <h2> <?echo $l[all][copyright1]; ?> </h2> <br/> <ul id="subnav"> <li><? echo $l[all][daloRADIUS]." ".$l[captions][loginpage]?></li> </ul> </div> <div id="sidebar"> <h2><? echo $l[captions][loginrequired]; ?></h2> <h3><? echo $l[captions][loginplease]; ?></h3> <form action="dologin.php" class="sidebar" method="post" > <label><font color="White">Username</font></label> <input name="operator_user" value="" type="text" /> <label><font color="White">Password</font></label> <input name="operator_pass" value="" type="password"/> <br/><br/> <input type="submit" value="Login"/> </form> </div> <div id="contentnorightbar"> <h2 id="Intro"><a href="#"></a></h2>

Page 84: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

66

<p> <?php if ($error) { echo $error; echo $l[messages][loginerror]; } ?> </p> </div> <div id="footer"> <?php include 'page-footer.php'; ?> </div> </div> </div> </body> </html>

IV.6.2. Halaman Tampilan Menu Utama

Gambar 4.7 halaman Menu Utama

Halaman Menu Utama ini menampilkan 3 menu yaitu Home, Management, dan

Graphs. Serta juga menampilkan 3 buah submenu yaitu Server status, Radius

status dan Last Connection Attempts. Sintak PHP sebagai berikut:

Page 85: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

67

<?php include ("library/checklogin.php"); $operator = $_SESSION['operator_user']; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Radius Admin</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="css/1.css" type="text/css" media="screen,projection" /> </head> <body> <?php include_once ("lang/main.php"); ?> <div id="wrapper"> <div id="innerwrapper"> <?php $m_active = "Home"; include_once ("include/menu/menu-items.php"); include_once ("include/menu/home-subnav.php"); ?> <div id="sidebar"> <h2>Home</h2> <h3>Status</h3> <ul class="subnav"> <li><a href="index-server-stat.php"><b>&raquo;</b>Server Status</a></li> <li><a href="index-radius-stat.php"><b>&raquo;</b>RADIUS Status </a></li> <li><a href="index-last-connect.php"><b>&raquo;</b>Last Connection Attempts</a></li> <h2>Search</h2> <input name="" type="text" value="Search" /> </div>

Page 86: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

68

IV.6.3. Halaman Tampilan Server Status

Gambar 4.8 halaman server status

Halaman ini menampilkan informasi PC yang dijadikan server autentikasi. Sintak

PHP dilampirkan. Sintak PHP sebagai berikut:

<?php echo "<b> System Name: </b>"; echo "<br/>"; system("uname -a"); echo "<br/>"; echo "<br/>"; echo "<b> System Uptime: </b>"; echo "<br/>"; $ret = shell_exec("uptime"); echo $ret; echo "<br/>"; echo "<br/>"; echo "<b> CPU: </b>"; echo "<br/>"; $ret = shell_exec("cat /proc/cpuinfo | egrep \"vendor|model name|cpu MHz\""); $ret = eregi_replace("\n", "<br>", $ret); echo $ret; echo "<br/>"; echo "<br/>"; echo "<b> Memory:</b>"; echo "<br/>"; $ret = shell_exec("free -m"); $ret = eregi_replace("\n", "<br>", $ret); echo $ret; echo "<br/>"; echo "<br/>"; echo "<b> Disk Usage: </b>"; echo "<br/>"; $ret = shell_exec("df -h"); $ret = eregi_replace("\n", "<br>", $ret); echo $ret;

Page 87: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

69

echo "<br/>"; echo "<br/>"; ?>

IV.6.4. Halaman Tampilan RADIUS Status

Gambar 4.9 halaman radius status

Halaman ini menampilkan informasi RADIUS server dan MySQL server

autentikasi. Sintak PHP sebagai berikut :

<?php system("netstat -tanlpu | grep -i mysql", $ret_mysql); system("netstat -tanlpu | grep -i radius", $ret_rad); if ($ret_rad) { echo "RADIUS is up <br/>"; } else { echo "RADIUS is down <br/>"; } if ($ret_mysql) { echo "MySQL is up <br/>"; } else { echo "MySQL is down <br/>"; } ?>

Page 88: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

70

IV.6.5. Halaman Last 50 Connection Attempts

Gambar 4.10 halaman last 50 connection attempts

Halaman ini menampilkan informasi user dalam melakukan koneksi ke radius

server. Sintak PHP sebagai berikut :

<?php include 'opendb.php'; $sql = "SELECT user, pass, reply, date from radpostauth order by id desc limit 50;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); $array_users = array(); $array_pass = array(); $array_starttime = array(); $array_reply = array(); $count = 0; while($ent = mysql_fetch_array($res)) { $user = $ent[0]; $pass = $ent[1]; $starttime = $ent[3]; $reply = $ent[2]; array_push($array_users, "$user"); array_push($array_pass, "$pass"); array_push($array_starttime, "$starttime"); array_push($array_reply, "$reply"); $count++; } echo "<br/>"; echo "<table border='2' class='table1'>\n"; echo " <thead> <tr>

Page 89: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

71

<th colspan='10'>Last 50 connection attempts</th> </tr> </thead> "; echo "<thread> <tr> <th scope='col'> Username</th> <th scope='col'> Password </th> <th scope='col'> Logged-In Time </th> <th scope='col'> RADIUS Reply Packet </th> </tr> </thread>"; $i = 0; while ($i != $count) { echo "<tr> <td> $array_users[$i] </td> <td> $array_pass[$i] </td> <td> $array_starttime[$i] </td> <td> $array_reply[$i] </td> </tr>"; $i++; } echo "</table>"; mysql_free_result($res); include 'closedb.php';

IV.6.6. Halaman Management User

Gambar 4.11 halaman management user

Halaman ini menampilkan informasi dan mengelola user. Sintak PHP sebagai

berikut :

<body> <?php include_once ("lang/main.php"); ?> <div id="wrapper"> <div id="innerwrapper">

Page 90: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

72

<?php $m_active = "Management"; include_once ("include/menu/menu-items.php"); include_once ("include/menu/management-subnav.php"); ?> <div id="sidebar"> <h2>Management</h2> <h3>Users Management</h3> <ul class="subnav"> <li><a href="mng-list-all.php"><b>&raquo;</b>List Users</a></li> <li><a href="mng-new.php"><b>&raquo;</b>New User</a></li> <li><a href="javascript:document.mngedit.submit();""><b>&raquo;</b>Edit User<a> <form name="mngedit" action="mng-edit.php" method="get" class="sidebar"> <input name="username" type="text"> </form></li> <li><a href="mng-del.php"><b>&raquo;</b>Remove User</a></li> </ul> <h2>Search</h2> <input name="" type="text" value="Search" /> </div>

IV.6.7. Halaman List Users

Gambar 4.12 halaman list users

Page 91: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

73

Halaman ini menampilkan informasi user yang telah terdaftar. Sintak PHP sebagai

berikut :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Radius Admin</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="css/1.css" type="text/css" media="screen,projection" /> <link rel="stylesheet" type="text/css" href="library/js_date/datechooser.css"> <!--[if lte IE 6.5]> <link rel="stylesheet" type="text/css" href="library/js_date/select-free.css"/> <![endif]--> </head> <?php include ("menu-mng-main.php"); ?> <div id="contentnorightbar"> <h2 id="Intro"><a href="#">Users Listing</a></h2> <p> Listings user in database<br/> </p> <?php include 'library/opendb.php'; $sql = "SELECT * FROM radcheck WHERE (Attribute='User-Password' or Attribute='Password')"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); echo "<table border='2' class='table1'>\n"; echo " <thead> <tr> <th colspan='10'>Records</th> </tr> </thead> "; echo "<thread> <tr> <th scope='col'> Account ID </th> <th scope='col'> Username </th> <th scope='col'> Password </th> <th scope='col'> Action </th> </tr> </thread>"; while($nt = mysql_fetch_array($res)) { echo "<tr> <td> $nt[id] </td> <td> $nt[UserName] </td> <td> $nt[Value] </td> <td> <a href='mng-edit.php?username=$nt[UserName]'> edit </a> <a href='mng-del.php?username=$nt[UserName]'> del </a> </td> </tr>";

Page 92: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

74

} echo "</table>"; mysql_free_result($res); include 'library/closedb.php'; ?> </div> <div id="footer"> <?php include 'page-footer.php'; ?> </div> </div> </div> </body> </html>

IV.6.8. Halaman New User

Gambar 4.13 halaman new user

Halaman ini untuk menambahkan user. Sintak PHP sebagai berikut ini :

<?php include ("library/checklogin.php"); $operator = $_SESSION['operator_user']; // declaring variables $username = ""; $password = ""; if (isset($_POST['submit'])) { $username = $_POST['username']; $password = $_POST['password'];

Page 93: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

75

include 'library/opendb.php'; $sql = "SELECT * FROM radcheck WHERE UserName='$username'"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); if (mysql_num_rows($res) == 0) { if (trim($username) != "" and trim($password) != "") { // insert username/password $sql = "insert into radcheck values (0, '$username', 'User-Password', '==', '$password')"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); //echo "<font color='#0000FF'>success<br/></font>"; $msg = "Added new user <b> $username </b> to database"; header("location: mng-success.php?task=$msg"); } } else { echo "<font color='#FF0000'>error: user [$username] already exist <br/></font>"; echo " <script language='JavaScript'> <!-- alert('You have tried to add a user that already exist in the database.\\nThe user $username already exist'); --> </script> "; } include 'library/closedb.php'; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Radius Admin</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="css/1.css" type="text/css" media="screen,projection" /> <link rel="stylesheet" type="text/css" href="library/js_date/datechooser.css"> <!--[if lte IE 6.5]> <link rel="stylesheet" type="text/css" href="library/js_date/select-free.css"/> <![endif]--> </head> <script src="library/js_date/date-functions.js" type="text/javascript"></script> <script src="library/js_date/datechooser.js" type="text/javascript"></script> <SCRIPT TYPE="text/javascript"> <!-- function randomPassword() { length = 8; chars = "abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ23456789"; pass = ""; for(x=0;x<length;x++) {

Page 94: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

76

i = Math.floor(Math.random() * 62); pass += chars.charAt(i); } document.newuser.password.value = pass; } function randomUsername() { length = 8; chars = "abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ23456789"; user = ""; for(x=0;x<length;x++) { i = Math.floor(Math.random() * 62); user += chars.charAt(i); } document.newuser.username.value = user; } function sessiontimeout(time) { document.newuser.sessiontimeout.value = time; } function idletimeout(time) { document.newuser.idletimeout.value = time; } function maxallsession(time) { document.newuser.maxallsession.value = time; } function wisprbandwidthmaxup(speed) { document.newuser.wisprbandwidthmaxup.value = speed; } function wisprbandwidthmaxdown(speed) { document.newuser.wisprbandwidthmaxdown.value = speed; } function toggleShowDiv(pass) { var divs = document.getElementsByTagName('div'); for(i=0;i<divs.length;i++) { if (divs[i].id.match(pass)) { if (document.getElementById) { // compatible with IE5 and NS6 // if (divs[i].style.visibility=="visible") if (divs[i].style.display=="inline") // divs[i].style.visibility="hidden"; divs[i].style.display="none"; else // divs[i].style.visibility="visible"; divs[i].style.display="inline"; } else if (document.layers) { // compatible with Netscape 4 if (document.layers[divs[i]].display=='visible') document.layers[divs[i]].display = 'hidden'; else

Page 95: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

77

document.layers[divs[i]].display = 'visible'; } else { if (document.all.hideShow.divs[i].visibility=='visible') // compatible with IE4 document.all.hideShow.divs[i].visibility = 'hidden'; else document.all.hideShow.divs[i].visibility = 'visible'; } } } } // --> </script> <?php include ("menu-mng-main.php"); ?> <div id="contentnorightbar"> <h2 id="Intro">New User</h2> <p> You may fill below details for new user addition to database. <br/><br/> </p> <form name="newuser" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <table border='2' class='table1'> <tr><td> <?php if (trim($username) == "") { echo "<font color='#FF0000'>"; }?> <b>Username</b> </td><td> <input value="<?php echo $username ?>" name="username"/> <a href="javascript:randomUsername()"> genuser</a><br/> </font> </td></tr> <tr><td> <?php if (trim($password) == "") { echo "<font color='#FF0000'>"; }?> <b>Password</b> </td><td> <input value="<?php echo $password ?>" name="password" /> <a href="javascript:randomPassword()"> genpass</a><br/> </font> </td></tr> </table> <br/><br/> <input type="submit" name="submit" value="Apply"/> </form> </div>

Page 96: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

78

<div id="footer"> <?php include 'page-footer.php'; ?> </div> </div> </div> </body> </html>

IV.6.9. Halaman Edit User

Gambar 4.14 halaman edit user

Halaman ini untuk meng-edit user. Sintak PHP sebagai berikut :

<?php include ("library/checklogin.php"); $operator = $_SESSION['operator_user']; include 'library/opendb.php'; include 'include/management/attributes.php'; if (isset($_REQUEST['submit'])) { $username = $_REQUEST['username']; if (trim($username) != "") { foreach( $_POST as $attribute=>$value ) { if ( ($attribute == "username") || ($attribute == "submit") ) continue; $useTable = checkTables($attribute);

Page 97: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

79

$counter = 0; $sql = "UPDATE $useTable SET Value='$value' WHERE UserName='$username' AND Attribute='$attribute'"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); $counter++; } } } $username = ""; $username = $_REQUEST['username']; $sql = "SELECT * FROM radcheck WHERE UserName='$username'"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); $arrAttr = array(); $arrOp = array(); $arrValue = array(); while($nt = mysql_fetch_array($res)) { array_push($arrAttr, $nt['Attribute']); array_push($arrOp, $nt['op']); array_push($arrValue, $nt['Value']); } include 'library/closedb.php'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Radius Admin</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="css/1.css" type="text/css" media="screen,projection" /> </head> <?php include ("menu-mng-main.php"); ?> <div id="contentnorightbar"> <h2 id="Intro">Edit User Detail</h2> <p> You may fill below details for new user addition to database </p> <form action="<?php echo $_SERVER['PHP_SELF']; ?>"

Page 98: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

80

method="post"> <input type="hidden" value="<?php echo $username ?>" name="username" /> <?php echo "<table border='2' class='table1'>"; echo " <thead> <tr> <th colspan='10'>radcheck</th> </tr> </thead> "; $counter = 0; foreach ($arrAttr as $attribute) { echo "<tr><td>"; echo "<b>$arrAttr[$counter]</b"; echo "</td><td>"; echo "<input value='$arrValue[$counter]' name='$arrAttr[$counter]' /><br/>"; echo "</td></tr>"; $counter++; } echo "</table>"; ?> <br/><br/> <center> <input type="submit" name="submit" value="Save Settings"/> </center> </form> </div> <div id="footer"> <?php include 'page-footer.php'; ?> </div> </div> </div> </body> </html>

Page 99: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

81

IV.6.10. Halaman Graphs

Gambar 4.15 halaman graphs

Halaman ini menampilkan laporan dalam bentuk grafik. Sintaks sebagai berikut:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Radius Admin</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="css/1.css" type="text/css" media="screen,projection" /> </head> <body> <?php include_once ("lang/main.php"); ?> <div id="wrapper"> <div id="innerwrapper"> <?php $m_active = "Graphs"; include_once ("include/menu/menu-items.php"); include_once ("include/menu/graphs-subnav.php"); ?> <div id="sidebar"> <h2>Graphs</h2> <h3>Users plotting</h3> <ul class="subnav"> <li><a

Page 100: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

82

href="javascript:document.overall_logins.submit();"><b>&raquo;</b>Overall Logins/Hits</a> <form name="overall_logins" action="graphs-overall_logins.php" method="post" class="sidebar"> <input name="username" type="text" value="username"> <select name="type" type="text"> <option value="daily"> Daily <option value="monthly"> Monthly <option value="yearly"> Yearly </select> </form></li> <li><a href="javascript:document.overall_download.submit();"><b>&raquo;</b>Overall Download Stat</a> <form name="overall_download" action="graphs-overall_download.php" method="post" class="sidebar"> <input name="username" type="text" value="username"> <select name="type" type="text"> <option value="daily"> Daily <option value="monthly"> Monthly <option value="yearly"> Yearly </select> </form></li> <li><a href="javascript:document.overall_upload.submit();"><b>&raquo;</b>Overall Upload Stat</a> <form name="overall_upload" action="graphs-overall_upload.php" method="post" class="sidebar"> <input name="username" type="text" value="username"> <select name="type" type="text"> <option value="daily"> Daily <option value="monthly"> Monthly <option value="yearly"> Yearly </select> </form></li> <h3>All-time Statistics</h3> <ul class="subnav"> <li><a href="javascript:document.alltime_logins.submit();"><b>&raquo;</b>Alltime Logins/Hits Stat</a> <form

Page 101: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

83

name="alltime_logins" action="graphs-alltime_logins.php" method="post" class="sidebar"> <select name="type" type="text"> <option value="daily"> Daily <option value="monthly"> Monthly <option value="yearly"> Yearly </select> </form></li> <li><a href="javascript:document.alltime_traffic_compare.submit();"><b>&raquo;</b>Alltime Traffic comparison</a> <form name="alltime_traffic_compare" action="graphs-alltime_traffic_compare.php" method="post" class="sidebar"> <select name="type" type="text"> <option value="daily"> Daily <option value="monthly"> Monthly <option value="yearly"> Yearly </select> </form></li> </ul> <br/><br/> <h2>Search</h2> <input name="" type="text" value="Search" /> </div>

IV.6.11. Halaman Overall Login/Hits

Gambar 4.16 halaman overall login/hits

Page 102: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

84

Halaman ini untuk menampilkan informasi laporan jumlah login user bisa dalam

sehari, sebulan atau setahun. Sintak sebagai berikut :

<?php $type = $_REQUEST['type']; $username = $_REQUEST['user']; if ($type == "daily") { daily($username); } elseif ($type == "monthly") { monthly($username); } elseif ($type == "yearly") { yearly($username); } function daily($username) { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500); $sql = "SELECT UserName, count(AcctStartTime), DAY(AcctStartTime) AS Day from radacct where username='$username' group by Day;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $chart->addPoint(new Point("$ent[2]", "$ent[1]")); } mysql_free_result($res); $chart->setTitle("Total Users"); $chart->render(); include 'closedb.php'; } function monthly($username) { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500); $sql = "SELECT UserName, count(AcctStartTime), MONTHNAME(AcctStartTime) AS Month from radacct where username='$username' group by Month;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $chart->addPoint(new Point("$ent[2]", "$ent[1]")); } mysql_free_result($res); $chart->setTitle("Total Users"); $chart->render(); include 'closedb.php'; }

Page 103: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

85

function yearly($username) { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500); $sql = "SELECT UserName, count(AcctStartTime), YEAR(AcctStartTime) AS Year from radacct where username='$username' group by Year;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $chart->addPoint(new Point("$ent[2]", "$ent[1]")); } mysql_free_result($res); $chart->setTitle("Total Users"); $chart->render(); include 'closedb.php'; } ?>

IV.6.12. Halaman Overall Download

Gambar 4.17 halaman overall download stat

Halaman ini untuk menampilkan informasi laporan jumlah download user bisa

dalam sehari, sebulan atau setahun. Sintak sebagai berikut :

<?php $type = $_REQUEST['type']; $username = $_REQUEST['user']; if ($type == "daily") { daily($username); } elseif ($type == "monthly") {

Page 104: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

86

monthly($username); } elseif ($type == "yearly") { yearly($username); } function daily($username) { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500); $sql = "SELECT UserName, sum(AcctOutputOctets) as Downloads, day(AcctStartTime) AS day from radacct where username='$username' group by day;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $downloads = floor($ent[1]/1024/1024); $chart->addPoint(new Point("$ent[2]", "$downloads")); } mysql_free_result($res); $chart->setTitle("Total Downloads based on Daily distribution"); $chart->render(); include 'closedb.php'; } function monthly($username) { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500); $sql = "SELECT UserName, sum(AcctOutputOctets) as Downloads, MONTHNAME(AcctStartTime) AS month from radacct where username='$username' group by month;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $downloads = floor($ent[1]/1024/1024); $chart->addPoint(new Point("$ent[2]", "$downloads")); } mysql_free_result($res); $chart->setTitle("Total Downloads based on Monthly distribution"); $chart->render(); include 'closedb.php'; } function yearly($username) { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png");

Page 105: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

87

$chart = new VerticalChart(920,500); $sql = "SELECT UserName, sum(AcctOutputOctets) as Downloads, year(AcctStartTime) AS year from radacct where username='$username' group by year;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $downloads = floor($ent[1]/1024/1024); $chart->addPoint(new Point("$ent[2]", "$downloads")); } mysql_free_result($res); $chart->setTitle("Total Downloads based on Yearly distribution"); $chart->render(); include 'closedb.php'; } ?>

IV.6.13. Halaman Overall Upload

Gambar 4.18 halaman overall upload stat

Halaman ini untuk menampilkan informasi laporan jumlah upload user bisa dalam

sehari, sebulan atau setahun. Sintak sebagai berikut :

<?php $type = $_REQUEST['type']; $username = $_REQUEST['user']; if ($type == "daily") { daily($username); } elseif ($type == "monthly") { monthly($username); } elseif ($type == "yearly") { yearly($username); }

Page 106: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

88

function daily($username) { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500); $sql = "SELECT UserName, sum(AcctInputOctets) as Uploads, day(AcctStartTime) AS day from radacct where username='$username' group by day;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $uploads = floor($ent[1]/1024/1024); $chart->addPoint(new Point("$ent[2]", "$uploads")); } mysql_free_result($res); $chart->setTitle("Total Uploads based on Daily distribution"); $chart->render(); include 'closedb.php'; } function monthly($username) { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500); $sql = "SELECT UserName, sum(AcctInputOctets) as Uploads, MONTHNAME(AcctStartTime) AS month from radacct where username='$username' group by month;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $uploads = floor($ent[1]/1024/1024); $chart->addPoint(new Point("$ent[2]", "$uploads")); } mysql_free_result($res); $chart->setTitle("Total Uploads based on Monthly distribution"); $chart->render(); include 'closedb.php'; } function yearly($username) { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500); $sql = "SELECT UserName, sum(AcctInputOctets) as Uploads, year(AcctStartTime) AS year from radacct where username='$username' group by

Page 107: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

89

year;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $uploads = floor($ent[1]/1024/1024); $chart->addPoint(new Point("$ent[2]", "$uploads")); } mysql_free_result($res); $chart->setTitle("Total Uploads based on Yearly distribution"); $chart->render(); include 'closedb.php'; } ?>

IV.6.14. Halaman Alltime Login/Hits

Gambar 4.19 halaman alltime login/hits stat

Halaman ini untuk menampilkan informasi laporan jumlah login seluruh user bisa

dalam sehari, sebulan atau setahun. Sintak sebagai berikut :

<?php $type = $_REQUEST['type']; if ($type == "daily") { daily(); } elseif ($type == "monthly") { monthly(); } elseif ($type == "yearly") { yearly(); } function daily() { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500);

Page 108: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

90

$sql = "SELECT count(AcctStartTime), DAY(AcctStartTime) AS Day from radacct group by Day;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $chart->addPoint(new Point("$ent[1]", "$ent[0]")); } mysql_free_result($res); $chart->setTitle("Alltime Login records based on Daily distribution"); $chart->render(); include 'closedb.php'; } function monthly() { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500); $sql = "SELECT count(AcctStartTime), MONTHNAME(AcctStartTime) AS Month from radacct group by Month;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $chart->addPoint(new Point("$ent[1]", "$ent[0]")); } mysql_free_result($res); $chart->setTitle("Alltime Login records based on Monthly distribution"); $chart->render(); include 'closedb.php'; } function yearly() { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500); $sql = "SELECT count(AcctStartTime), YEAR(AcctStartTime) AS Year from radacct group by Year;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $chart->addPoint(new Point("$ent[1]", "$ent[0]")); } mysql_free_result($res); $chart->setTitle("Alltime Login records based on Yearily distribution"); $chart->render(); include 'closedb.php'; } ?>

Page 109: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

91

IV.6.15. Halaman Alltime Traffic Comparison

Gambar 4.20 halaman alltime traffic comparison

Halaman ini untuk menampilkan informasi laporan perbandingan antara upload

dan download bisa dalam sehari, sebulan atau setahun. Sintak sebagai berikut :

<?php $type = $_REQUEST['type']; if ($type == "daily") { daily(); } elseif ($type == "monthly") { monthly(); } elseif ($type == "yearly") { yearly(); } function daily() { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500); $sql = "SELECT sum(AcctOutputOctets) as Downloads, day(AcctStartTime) AS day from radacct group by day;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $downloads = floor($ent[0]/1024/1024); $chart->addPoint(new Point("$ent[1]", "$downloads")); } mysql_free_result($res); $chart->setTitle("Alltime Login records based on Daily distribution"); $chart->render(); include 'closedb.php'; } function monthly() {

Page 110: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

92

include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500); $sql = "SELECT count(AcctStartTime), MONTHNAME(AcctStartTime) AS Month from radacct group by Month;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $chart->addPoint(new Point("$ent[1]", "$ent[0]")); } mysql_free_result($res); $chart->setTitle("Alltime Login records based on Monthly distribution"); $chart->render(); include 'closedb.php'; } function yearly() { include 'opendb.php'; include 'libchart/libchart.php'; header("Content-type: image/png"); $chart = new VerticalChart(920,500); $sql = "SELECT count(AcctStartTime), YEAR(AcctStartTime) AS Year from radacct group by Year;"; $res = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($ent = mysql_fetch_array($res)) { $chart->addPoint(new Point("$ent[1]", "$ent[0]")); } mysql_free_result($res); $chart->setTitle("Alltime Login records based on Yearily distribution"); $chart->render(); include 'closedb.php'; } ?>

Page 111: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

93

BAB V

ANALISA HASIL

Dari penguraian analisis data dan perancangan yang diberikan pada

bagian-bagian sebelumnya, pada bagian ini akan diberikan analisis akhir, yang

merupakan perangkuman kelebihan dan kelemahan sistem tersebut.

V.1. Kelebihan Sistem

Sistem yang berbasis web ini sangat mempermudah user dalam mengelola

user.

Sistem dapat memberikan laporan catatan login, download, dan upload

dalam bentuk grafik.

V.2. Kelemahan Sistem

Sistem menampilkan data password dari user berbentuk clear text yang

artinya tampilan data password belum terenkripsi.

Client terpaksa harus men-setting koneksi WLAN di laptopnya untuk

dapat berkoneksi.

Page 112: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

94

BAB VI

KESIMPULAN DAN SARAN

VI.1. Kesimpulan

Berdasarkan rangkaian penelitian dan pengujian yang dilakukan dalam

Tugas Akhir ini dapat ditarik kesimpulan sebagai berikut:

1. Untuk Administrator, sistem tersebut dapat mengelola informasi user

dalam jaringan Wireless LAN-nya.

2. Dengan penerapan RADIUS server ini hanya pengguna yang berhak saja

yang diperbolehkan mengakses wireless LAN tersebut.

3. Sistem tersebut bersifat dinamis karena fungsi dan mekanisme

otentikasinya dapat dirubah ataupun ditambahkan sesuai kebutuhan

jaringan.

4. RADIUS server mempermudah tugas administrator untuk mengelola

wireless LAN, karena sistem ini merupakan sistem administrasi yang

terpusat.

VI.2. Saran

Seiring dengan sistem tersebut yang telah dibuat, dan juga dari hambatan-

hambatan yang dihadapi, maka sarannya adalah :

1. Perlu dikembangkan sistem informasi user management agar dapat

memutuskan hubungan user yang sedang online secara realtime.

2. Untuk pengembangan berikutnya, RADIUS server selain sebagai sistem

autentikasi juga bisa dikembangkan lagi sebagai sistem billing server.

Page 113: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

95

3. Fitur RADIUS server yang dapat digunakan untuk memfilter alamat MAC

dari wireless card yang dimiliki oleh pengguna, alamat MAC beserta

identitas pengguna dimasukkan ke dalam database yang terdapat di

RADIUS server untuk ke depannya dikembangkan lagi.

Page 114: SISTEM ADMINISTRASI OTENTIKASI HOTSPOT · 2018. 11. 14. · 2.7.2 Cara Bekerja MySQL ... Banyak hotspot yang tidak menerapkan sistem keamanan yang memadai, sehingga memungkinkan pengguna

96

DAFTAR PUSTAKA

Hammond, John, etc., Wireless Hotspot Deployment Guide, Intel Corporation, 2003

Anonim, Wireless LAN (WLAN) End-to-End Guidelines for Enterprises and

Public Hotspot Service Providers, Intel Corporation, Juni 2004 Anonim, Introduction to 802.1X for Wireless Local Area Networks, Interlink

Networks, www.interlinknetworks.com, 2002 Anonim, RADIUS for UNIX Administrator’s Guide, Lucent Technologies,

Februari 1999 Getraide, Michel, SECURITY AND AUTHENTICATION FOR 802.11 WIRELESS

NETWORKS, Mei 2004 Triyoga, Adi, Analisis dan Perancangan Keamanan Jaringan Nirkabel, 2004 Purbo, Onno w., Buku Pegangan INTERNET WIRELESS DAN HOTSPOT, PT.

Elex Media Komputindo, July 2006 http://www.freeradius.org/ http://wiki.freeradius.org/