Tampilkan postingan dengan label Mikrotik. Tampilkan semua postingan
Tampilkan postingan dengan label Mikrotik. Tampilkan semua postingan

Installing and Configuring Freeradius + MySQL and Daloradius + MySQL on Ubuntu Server 12.04 for Mikrotik Hotspot/PPoE/PPTP (updated)

Installing and Configuring Freeradius
The first step is to Install Freeradius (ensure you already update your apt with apt-update)
$sudo apt-get install freeradius
 * Starting FreeRADIUS daemon freeradius                                 [ OK ] 
Setting up freeradius-utils (2.1.10+dfsg-3build2) ...
Then prepare the database for freeradius. Create database radius and assign username and password for accessing it. 
# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 51
Server version: 5.5.24-0ubuntu0.12.04.1 (Ubuntu)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database radius; 
mysql> grant all on radius.* to radius@localhost identified by "thepassword";
Query OK, 0 rows affected (0.00 sec)
The next step was to insert the database schema and I realized that I could not find the database scheme in /etc/freeradius.
Obviously I should install freeradius-mysql package first. 
#apt-get install freeradius-mysql
Setting up freeradius-mysql (2.1.10+dfsg-3build2) ...
 * Reloading FreeRADIUS daemon freeradius                                [ OK ] 
Then insert the database scheme 

# mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql 
Enter password:
# mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql 
Enter password: 

Now we try to insert new user for testing purpose in database. 
# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 72
Server version: 5.5.24-0ubuntu0.12.04.1 (Ubuntu)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use radius;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('sqltest', 'Password', 'testpwd');
Query OK, 1 row affected (0.04 sec)
mysql> exit
Bye
The next step is we need to configure the Freeradius files. 
Edit /etc/freeradius/sql.conf file. Setting database type, login and password that we already setup before.
# vim /etc/freeradius/sql.conf
  
  database = mysql
  login = radius
  password = thepassword

  readclients = yes
Then edit the /etc/freeradius/sites-enabled/default file
# vim /etc/freeradius/sites-enabled/default 
    Uncomment sql on authorize{}
    # See “Authorization Queries” in sql.conf
    sql

    Uncomment sql on accounting{}
    # See “Accounting queries” in sql.conf
    sql

    Uncomment sql on session{}
    # See “Simultaneous Use Checking Queries” in sql.conf
    sql

    Uncomment sql on post-auth{}
    # See “Authentication Logging Queries” in sql.conf
    sql 
      
Then we edit /etc/freeradius/radiusd.conf file
# vim /etc/freeradius/radiusd.conf 

  #Uncomment #$INCLUDE sql.conf
  $INCLUDE sql.conf
To test our configuration, first we must stop the freeradius service (if already running) 
# /etc/init.d/freeradius stop
 * Stopping FreeRADIUS daemon freeradius                                 [ OK ]
Then run this command to run freeradius in debugging mode. If there is no error, you are good to go.
#freeradius -X
On a new shell or window we tested the connection
$ radtest sqltest testpwd localhost 18128 testing123
Sending Access-Request of id 65 to 127.0.0.1 port 1812
User-Name = "sqltest"
User-Password = "testpwd"
NAS-IP-Address = 127.0.1.1
NAS-Port = 18128
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=65, length=20
The test running well with Accept response from the server.
To enable Mikrotik device to access our server we need to add client in clients.conf file.
#vim /etc/freeradius/clients.conf

client 10.0.0.0/8 {

        secret = testingpassword
        shortname = testing
        nastype= mikrotik
}
*note: we need to stop freeradius -X and then running it again to test our configuration

Update (Jan 27, 2013):  If we want to add specific value for Mikrotik, we need to add mikrotik dictionary

#vim /etc/freeradius/dictionary 


Then add this line below


$INCLUDE  /usr/share/freeradius/dictionary.mikrotik

Mikrotik Configuration
We need to configure our Mikrotik devices to use our new radius server.  We need to login to Mikrotik device and configure the radius in Radius menu. 
Below image is an example of our configuration. 
*Note: we increase timeout settting to 3000ms to enable invalid login notifications. (not working with default 300ms)
Daloradius Installation 
First, we need to download daloradius file 
$wget http://downloads.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fdaloradius%2Ffiles%2F&ts=1345296201&use_mirror=nchc
Rename and extract the file 
# tar xvfz daloradius-0.9-9.tar.gz
# mv daloradius-0.9-9 daloradius
Move the file to the web server directory. In this case I use apache on Ubuntu so the location is at /var/www
# mv daloradius-0.9-9 daloradius
# mv daloradius /var/www
Then we need to setup the database. Because already setup the freeradius using MySQL, so we don't need new database. All we need to do is to import the daloradius scheme into our existing radius database.
# cd /var/www/daloradius/contrib/db
# mysql -u root -p radius < mysql-daloradius.sql
After database successfully altered, we need to configure the daloradius setting.
#vim /var/www/daloradius/library/daloradius.conf.php
Change the database password 
$configValues['CONFIG_DB_PASS'] = 'thepassword';
Then we can try to access daloradius using http://ipaddressoftheserver/daloradius
*Note: In my installation, i had a problem because I didn't have php5-gd php-pear and php-db packages installed on my Ubuntu server. 
To deal with this problem you can install the packages using
# apt-get install php5-gd php-pear php-db 


References, 
Mastaqim (2012), http://www.mastaqim.web.id/2012/08/install-freeradius-mysql-ubuntu-server.html
Daud (2012), http://daud.rasadigital.com/install-daloradius-di-ubuntu-server/

Block Facebook diLayer7 & schedule

Block Facebook diLayer7 & schedule

Artikel berikut berisi informasi bagaimana memblok akses Facebook dengan layer7 Winbox. Mengapa layer7? Admin jaringan kami sebelumnya pernah menerapkan blok akses Facebook dengan cara drop by content pada Firewall. Hasilnya Facebook.com memang berhasil diblok, namun beberapa website (seperti forum cpanel dan website lain yang mengandung konten Facebook) ikut terblok. Setelah dicoba menerapkan rule blok akses Facebook dengan layer7, hasilnya sesuai dengan harapan. Akses ke Facebook berhasil terblok, namun tidak ikut berimbas website lain.

Pertama buat Buat rgxp di layer 7, yaitu sebagai berikut :

facebook.com (facebook)
contoh yang lain
twitter.com (twitter)
youtube.com (youtube)
^.+(youtube|tube|mivo).*$ (streaming)
^.*get.+\.(asf|mov|wmv|mpg|mpeg|mkv|avi|flv|wav|rm|mp3|mp4|ram |rmvb|dat|daa|iso|nrg|bin|vcd|mp2|3gp|mpe|qt|raw|wma|0[0-9][0-9]).*$ (content)
^.+(game|poker|viwawa).*$ (game)
^.+(platform.twitter.com).*$ (platform.twitter.com/widgets.js)
^.+(porn|xxx|sex).*$ (porn)
^.+(facebook|twitter).*$ (social)
add regexp=facebook.com name=facebook
Kedua, membuat rule di firewall filter. Dalam hal ini saya ingin memblokir situs Facebook yang menggunakan port HTTP (80), sehingga selain port tersebut masih diijinkan. Tujuannya agar pengguna masih dapat menerima update status facebook melalui email. Untuk mensettingnya ketikkan perintah berikut:
add chain=forward  layer7-protocol=Facebook dst-address-list=staff action=drop comment=”Blockir Akses Facebook”
Cara dibawah digunakan jika langsung block dari filter rule tapi kelemahannya jika ada content facebok akan langsung di blok. Perbedaannya jika menggunakan layer 7 karena layer 7 berada pada layer yang paling atas jadi semua alamat dari facebook akan terblock.
/add chain=forward action=drop protocol=tcp src-address=0.0.0.0/0 dst-port=80 content=”facebook” comment=”Blockir Akses Facebook”
Ketiga, supaya waktu yang berjalan di router sesuai dengan waktu lokasi setempat, maka kita perlu mengatur agar clock di MikroTik mengacu pada NTP Server. Jika kita memiliki NTP Server sendiri, maka kita tinggal mengarahkan MikroTik ke NTP Server tersebut, namun jika kita tidak memiliki NTP Server, maka tidak perlu khawatir karena banyak NTP Server di luar yang bisa kita gunakan sebagai acuan. Beberapa diantaranya adalah NTP Server milik LIPI (Lembaga Ilmu Pengetahuan Indonesia) dengan URL: ntp.kim.lipi.go.id (203.160.128.6) dan NTP Pool Project dengan salah satu URLnya: 0.id.pool.ntp.org (202.169.224.16). Untuk mensettingnya di MikroTik, ketikkan perintah berikut :
/system ntp client set primary-ntp=203.160.128.6 secondary-ntp=202.169.224.16 \ mode=unicast enabled=yes;
Keempat, membuat script untuk mengaktifkan firewall tersebut selama jam kerja dan mematikannya pada jam istirahat dan diluar jam kerja. Disini saya membuat 3 script, yaitu script untuk mengaktifkan  (enable) firewall, script untuk mematikan (disable) firewall serta script untuk dieksekusi pada hari libur (Sabtu-Minggu) dan hari kerja. Berikut ini scriptnya :
Script untuk mematikan (disable) firewall
/system script add name=”fb-allow” policy=read,write,policy,test,sniff source={/ip firewall filter set [/ip firewall filter find content="facebook"] disabled=yes}
Script untuk mengaktifkan (enable) firewall :
/system script add name=”fb-deny” policy=read,write,policy,test,sniff source={/ip firewall filter set [/ip firewall filter find content="facebook"] disabled=no}
Script untuk disable firewall di hari libur dan enable di hari kerja :
/system script add name=”fb-holiday” policy=write,read,policy,test,sniff source={:if ([/system scheduler get [/system scheduler find on-event="fb-deny"] disabled] = true) do [/system scheduler set [/system scheduler find on-event="fb-deny"] disabled=no] else [/system scheduler set [/system scheduler find on-event="fb-deny"] disabled=yes]}
Kelima, membuat schedule untuk menentukan kapan firewall tersebut akan diaktifkan atau dinon-aktifkan. Disini saya membuat 6 scheduler berdasarkan jam kerja dan hari kerja, yaitu jam 08:00, jam 12:00, jam 13:00, jam 17:00, hari sabtu-minggu, dan hari senin. Berikut ini scriptnya :
Schedule untuk mengaktifkan (enable) firewall pada jam kerja (08:00) :
/system scheduler add name=”fb-08:00″ start-date=jan/01/1970 start-time=08:00:00 interval=1d on-event=”fb-deny”
Schedule untuk mematikan (disable) firewall pada jam istirahat (12:00) :
/system scheduler add name=”fb-12:00″ start-date=jan/01/1970 start-time=12:00:00 interval=1d on-event=”fb-allow”
Schedule untuk mengaktifkan kembali (enable) firewall pada jam kerja (13:00) :
/system scheduler add name=”fb-13:00″ start-date=jan/01/1970 start-time=13:00:00 interval=1d on-event=”fb-deny”
Schedule untuk mematikan (disable) firewall di luar jam kerja ke atas ( > 17:00) :
/system scheduler add name=”fb-17:00″ start-date=jan/01/1970 start-time=17:00:00 interval=1d on-event=”fb-allow”
Schedule untuk mematikan (disable) firewall di hari libur (Sabtu-Minggu) :
/system scheduler add name=”fb-sabtu-minggu” start-date=aug/01/2009 start-time=00:00:00 interval=7d on-event=”fb-holiday”
Schedule untuk mengaktifkan kembali (enable) firewall di hari kerja (Senin) :
/system scheduler add name=”fb-senin” start-date=aug/03/2009 start-time=00:00:00 interval=7d on-event=”fb-holiday”
selamat mencoba
 
Url: http://aminmuzaeni.blogspot.com/2012/09/block-facebook-dilayer7-schedule.html

Postfix - Email Add On Terminal

Postfix - Email Add On Terminal
  1. Open the Terminal.
  2. Type "sudo useradd -m -s /bin/bash NAME" (without quotes). Replace "NAME" with the name of the user you want to create
  3. Type "sudo passwd NAME" using the same details as you just created. This user will now be added as a recipient in the "@localhost" address.

Tips Lupa Password Mikrotik

Assalamu'alaikum

Lupa Password Mikrotik bukan masalah lagi, sekarang sudah ada caranya tanpa harus install ulang, tapi mungkin menurut saya tidak semudah pada linux, kalo lupa password root/ admin-nya.

Cara 1 

Langkah – langkahnya seperti dibawah :
Boot menggunakan Live-CD, mount disk yang digunakan untuk mikrotik dan siapkan juga flasdik untuk menyimpan file yang dibutuhkan.
#mount /dev/hda1 /mnt
#mount /dev/sdb1 /media
#cp  /mnt/nova/store/ /media/    ( untuk mikrotik versi terbaru )
#cp  /mnt/rw/store/ /media/       ( untuk mikrotik versi Lama )

setelah file-nya tercopy selanjutnya ada aplikasi khusus yang digunakan untuk membaca isi file user.dat tapi harus pada os linux yang core / based-nya Debian, sebelum menginstall aplikasi yang dibutuhkan terlebih dahulu ada aplikasi pendukung yang harus tersedia pada os linux-nya.
#apt-get install libssl-dev
#cd /usr/local/src/
#wget http://manio.skyboo.net/mikrotik/mtpass-0.5.tar.bz2
#tar -xvjf mtpass-0.5.tar.bz2

setelah di extract ada yang perlu ditambahkan pada file mtpass.cpp sebelum di compile, tamba #include lalu simpan kembali
#nano mtpass-0.5/mtpass.cpp
#include

compile mtpass, dan outputnya mtpass :
#g++ -lssl -lcrypto mtpass.cpp -o mtpass
#chmod +x mtpass

mount flashdisk dan jalankan mtpass :
#mount /dev/sdb1 /media
#./mtpass /media/user.dat
dan hasilnya :














Cara 2

Silakan kunjungi situs password recovery mikrotik di: http://mikrotikpasswordrecovery.com/ wkwkk :) lebih mudah cara 2 yo toh xixixi ^_^ .
Wassalamu'alaikum
Reff : http://teardrop-diary.blogspot.com/2011/10/tips-lupa-password-mikrotik.html

Enable-Disable Akses Hotspot via Daloradius

Software : freeRadius, Daloradius, MySQL (dalam kasus ini digabung dengan mikrotik untuk Authentication Jaringan)

Inspirasinya : pengen buat user yang bisa login dengan syarat tertentu, sehingga aplikasi kita harus membuat perubahan di tabel default dari daloradius yang akan dibaca oleh freeRadius.

Studi kasusnya : Membuat user yang terdaftar pada tabel radcheck tidak diizinkan login bila syarat2 dari administratif tidak terpenuhi. dengan ketentuan ada aplikasi Administrasi(bukan bawaan dari Dalo, bisa dibuat dari Delphi, VB, Java, etc) yang memenejemen dari syarat2 tersebut.

Aplikasi Administrasi tersebut akan mengecek user yang terdaftar dalam tabel radcheck, sehingga aplikasi bisa menggunakan ID = username untuk penentuan user mana-mana yang bisa akses jaringan.

Methode : Setelah diperiksa Daloradius sudah menyediakan fungsi tersebut, sehingga tinggal memaksimalkan sesuai dengan aplikasi yang pengen dibuat. Penyesuaian yang dimaksud dalam tabel radiusergroup, dalam tabel tersebut Daloradius menempatkan user mana saja yang akan dapat aturan khusus, seperti halnya reject (menolak koneksi jaringan dari user).

Praktek :
1. Akses Daloradius | Management



2. Fokuskan pada Tombol Enable User dan Disable User

3. Untuk Disable user tertentu, dalam contoh user dengan username = 2200403, cukup klik Disable User

4. User tersebut akan dimasukan dalam tabel radiusergroup dengan groupname daloRADIUS-Disabled-Users.

















daloRADIUS-Disabled-Users : Group user yang reject

5.  Untuk mengizinkan kembali user tersebut bisa langsung Delete dalam tabel tersebut. Kalo dari Daloradius bisa dilakukan lewat tombol yang Enable User.

6. Selesai


Proses ini lancar jika dan hanya jika semua aplikasi yang dibutuhkan sudah berjalan lancar sebelumnya.