Difference between revisions of "WiFi: HotSpot - CoovaChilli Instalasi Radius Server"

From OnnoWiki
Jump to navigation Jump to search
 
(7 intermediate revisions by the same user not shown)
Line 94: Line 94:
 
==Ubah Authorisasi ke SQL==
 
==Ubah Authorisasi ke SQL==
  
If the above tests worked we can now change authorization from "file" to "sql" nano -w /etc/freeradius/radiusd.conf Change:
+
Jika percobaan di atas berhasil dengan baik kita dapat mulai mengubah konfigurasi authorisasi dari "file" ke "sql". Edit file
  
files
+
vi /etc/freeradius/radiusd.conf
 
  
to
+
$INCLUDE ${confdir}/sql.conf
 
  
# files
+
Edit
  
# sql
+
vi /etc/freeradius/sites-available/default
 
  
to
+
authorize {
+
        preprocess
 +
        chap
 +
        suffix
 +
        eap
 +
        #files
 +
        sql
 +
}
 +
authenticate {
 +
        Auth-Type PAP {
 +
          pap
 +
        }
 +
        Auth-Type CHAP {
 +
          chap
 +
        }
 +
        eap
 +
}
 +
accounting {
 +
        detail
 +
        radutmp
 +
        sql ### tambahkan manual
 +
}
 +
session {
 +
        sql ### tambahkan manual
 +
}
  
sql
+
==Menambahkan User==
  
note for freeradius2:
+
Perintah untuk menambahkan user ke [[database]]
nano -w /etc/freeradius/sites-available/default
 
  
Note: You can only use one authorisation method at a time, not both. Therefore "files" section needs to be commented out otherwise free radius will still try to authorize with /etc/freeradius/users "file" instead of "sql"
+
echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('mysqltest', 'Password', 'testsecret');" | mysql -u radius -p radius
SQL Logging
+
Enter password:mysqlsecret
  
If you want to use software packages like ezRADIUS or Dialup Admin you need to enable logging to sql
+
Atau jika password radius mysql adalah radius dapat menggunakan perintah
  
nano -w /etc/freeradius/sql.conf
+
echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('mysqltest', 'Password', 'testsecret');" | mysql -u radius -pradius radius
  
sql {
+
Default CoovaChilli menggunakan username 'chillispot' dan password 'chillispot' untuk login ke Radius. Hal ini di definisikan di file konfigurasi /etc/chilli/config
        driver = "rlm_sql_mysql"
 
        server = "localhost"
 
        login = "radius"
 
        password = "mysqlsecret"
 
        radius_db = "radius"
 
        [...]
 
        # Set to 'yes' to read radius clients from the database ('nas' table)
 
        readclient = yes ###change manually
 
}
 
  
nano -w /etc/freeradius/radiusd.conf
+
HS_ADMUSR=chillispot
   
+
  HS_ADMPWD=chillispot
note for freeradius2:
 
for the line $INCLUDE... -> /etc/freeradius/radiusd.conf
 
nano -w /etc/freeradius/sites-available/default
 
  
        $INCLUDE ${confdir}/sql.conf
+
Tambahkan user tersebut di tabel radcheck melalui perintah
authorize {
 
        preprocess
 
        chap
 
        suffix
 
        eap
 
        #files
 
        sql
 
}
 
authenticate {
 
        Auth-Type PAP {
 
          pap
 
        }
 
        Auth-Type CHAP {
 
          chap
 
        }
 
        eap
 
}
 
accounting {
 
        detail
 
        radutmp
 
        sql ###change manually
 
}
 
session {
 
        sql ###change manually
 
}
 
  
Add users
+
echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('chillispot', 'Password', 'chillispot');" | mysql -u radius -p radius
 +
Enter password:mysqlsecret
  
echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('mysqltest', 'Password', 'testsecret');" | mysql -u radius -p radius
+
Atau jika password radius mysql adalah radius dapat menggunakan perintah
Enter password:mysqlsecret
 
  
coovachilli uses the username 'chillispot' with the password 'chillispot' for logging into the radius by default. Add this user in the table radcheck too.
+
echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('chillispot', 'Password', 'chillispot');" | mysql -u radius -pradius radius
  
its defined in the default config file /etc/chilli/config
+
==Test Sambungan Dengan Authentikasi Database==
 
 
HS_ADMUSR=chillispot
 
HS_ADMPWD=chillispot
 
 
 
echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('chillispot', 'Password', 'chillispot');" | mysql -u radius -p radius
 
Enter password:mysqlsecret
 
  
 
Restart Radius
 
Restart Radius
  
sudo /etc/init.d/freeradius restart
+
sudo /etc/init.d/freeradius restart
 
 
Test link
 
 
 
sudo radtest mysqltest testsecret 127.0.0.1 0 radiussecret
 
sudo radtest chillispot chillispot 127.0.0.1 0 radiussecret
 
  
If all goes well you should receive an Access-Accept response like this:
+
test sambungan ke Radius asumsinya password Radius Server "testing123"
  
Sending Access-Request of id 180 to 127.0.0.1 port 1812
+
sudo radtest mysqltest testsecret 127.0.0.1 0 testing123
        User-Name = "mysqltest"
+
sudo radtest chillispot chillispot 127.0.0.1 0 testing123
        User-Password = "testsecret"
 
        NAS-IP-Address = 255.255.255.255
 
        NAS-Port = 0
 
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=180, length=20
 
  
 +
Jika berjalan dengan baik kita akan melihat response Access-Accept sebagai berikut:
  
 +
Sending Access-Request of id 1 to 127.0.0.1 port 1812
 +
User-Name = "mysqltest"
 +
User-Password = "testsecret"
 +
NAS-IP-Address = 127.0.1.1
 +
NAS-Port = 0
 +
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=1, length=20
  
 
==Referensi==
 
==Referensi==
  
 
* http://www.untruth.org/~josh/security/radius/radius-auth.html - Analisa Authentikasi RADIUS
 
* http://www.untruth.org/~josh/security/radius/radius-auth.html - Analisa Authentikasi RADIUS
 
  
 
==Pranala Menarik==
 
==Pranala Menarik==
Line 216: Line 189:
 
* [[WiFi: HotSpot - CoovaChilli Fitur dan Keterangan Tambahan]]
 
* [[WiFi: HotSpot - CoovaChilli Fitur dan Keterangan Tambahan]]
 
* [[WiFi: HotSpot]]
 
* [[WiFi: HotSpot]]
 +
 +
[[Category: WiFi]]
 +
[[Category: HotSpot]]
 +
[[Category: CoovaChilli]]

Latest revision as of 06:50, 29 March 2012

Instalasi Radius Server dan Database

sudo apt-get install freeradius freeradius-mysql

Buat database untuk menyimpan username dan password

mysql -u root -p
Enter password:
CREATE DATABASE radius;
quit  

Asumsi password root mysql adalah 123456. Lanjutkan dengan perintah

sudo su -
mysql -u root -p123456 radius < /etc/freeradius/sql/mysql/schema.sql
mysql -u root -p123456 radius < /etc/freeradius/sql/mysql/nas.sql

Asumsi password user radius untuk akses database radius adalah radius, maka perintahnya adalah

mysql -u root -p
Enter password:
GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'radius';
GRANT ALL PRIVILEGES ON radius.* TO 'radius' IDENTIFIED BY 'radius';
FLUSH PRIVILEGES;
quit

Set supaya FreeRadius dapat mengakses database

vi /etc/freeradius/sql.conf
server = "localhost"
login  = "radius"
password = "radius"
radius_db = "radius"

Set FreeRadius server client password

vi /etc/freeradius/clients.conf
client 127.0.0.1 {
    secret = tesing123
}

Test Setup

Username & password user Radius dapat dilihat di /etc/freeradius/users. Kita perlu mentest apakah setup FreeRadius berjalan dengan baik sebelum kita mengubah link dari "file" ke "sql".

Tambahkan username & password ke "file". masukan "John Doe"

vi /etc/freeradius/users

uncomment

"John Doe"      Cleartext-Password := "hello"
                Reply-Message = "Hello, %{User-Name}"

atau

"John Doe"     Auth-Type := Local, User-Password == "hello"
               Reply-Message = "Hello, %u"

Sampai titik ini sebaiknya anda me-reboot Server Ubuntu

sudo reboot

Check file konfigurasi melalui

sudo /etc/init.d/freeradius stop
sudo freeradius -XXX

Jika semua berjalan dengan baik maka akan tampil

Wed Apr  7 11:33:51 2010 : Debug: Ready to process requests.

Tekan tombol Ctrl+C untuk exit. Restart FreeRadius

sudo /etc/init.d/freeradius start

Test password authorization to "file"

sudo radtest "John Doe" hello 127.0.0.1 0 testing123

Jika semua berjalan dengan baik kita akan memperoleh jawaban

Sending Access-Request of id 182 to 127.0.0.1 port 1812 
	User-Name = "John Doe" 
	User-Password = "hello"
	NAS-IP-Address = 127.0.1.1
	NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=182, length=37
	Reply-Message = "Hello, John Doe"


Ubah Authorisasi ke SQL

Jika percobaan di atas berhasil dengan baik kita dapat mulai mengubah konfigurasi authorisasi dari "file" ke "sql". Edit file

vi /etc/freeradius/radiusd.conf
$INCLUDE ${confdir}/sql.conf

Edit

vi /etc/freeradius/sites-available/default
authorize {
        preprocess
        chap
        suffix
        eap
        #files
        sql
}
authenticate {
        Auth-Type PAP {
          pap
        }
        Auth-Type CHAP {
          chap
        }
        eap
}
accounting {
        detail
        radutmp
        sql ### tambahkan manual
}
session {
        sql ### tambahkan manual
}

Menambahkan User

Perintah untuk menambahkan user ke database

echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('mysqltest', 'Password', 'testsecret');" | mysql -u radius -p radius
Enter password:mysqlsecret

Atau jika password radius mysql adalah radius dapat menggunakan perintah

echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('mysqltest', 'Password', 'testsecret');" | mysql -u radius -pradius radius

Default CoovaChilli menggunakan username 'chillispot' dan password 'chillispot' untuk login ke Radius. Hal ini di definisikan di file konfigurasi /etc/chilli/config

HS_ADMUSR=chillispot
HS_ADMPWD=chillispot

Tambahkan user tersebut di tabel radcheck melalui perintah

echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('chillispot', 'Password', 'chillispot');" | mysql -u radius -p radius
Enter password:mysqlsecret

Atau jika password radius mysql adalah radius dapat menggunakan perintah

echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('chillispot', 'Password', 'chillispot');" | mysql -u radius -pradius radius

Test Sambungan Dengan Authentikasi Database

Restart Radius

sudo /etc/init.d/freeradius restart

test sambungan ke Radius asumsinya password Radius Server "testing123"

sudo radtest mysqltest testsecret 127.0.0.1 0 testing123
sudo radtest chillispot chillispot 127.0.0.1 0 testing123

Jika berjalan dengan baik kita akan melihat response Access-Accept sebagai berikut:

Sending Access-Request of id 1 to 127.0.0.1 port 1812
	User-Name = "mysqltest"
	User-Password = "testsecret"
	NAS-IP-Address = 127.0.1.1
	NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=1, length=20

Referensi

Pranala Menarik