Syslog dengan Syslog-ng FreeBSD Mysql MikroTik

Februari 7, 2009

Untuk memonitor kehandalan system dan jaringan dibutuhkan sebuah sistem loging yang menampung berbagai log dari bermacam-macam mesin yang tersimpan dalam sebuah database LOG. Syslog yang saya gunakan adalah Syslog-ng yang saya install dari Ports FreeBSD. yang nantinya akan di integrasikan dengan Network yang menggunakan Mikrotik. yang perlu disiapkan untuk instalasi Syslog-ng antara lain :

1. Kopi Panas ( Tanpa SUSU )

2. Akses Internet. ( Lebih baik lagi pake BeningNET :) )

3. System OS freeBSD

Tak perlu panjang lebar sekapur sirihnya.. hehehe..

pertama-tama kita buat database dulu dari console FreeBSD dan install syslog-ng melalui ports

mysql> create database syslog;

Query OK, 1 row affected (0.00 sec)

mysql> use syslog;

Database changed

mysql> CREATE TABLE logs (

host varchar(32) default NULL,
facility varchar(10) default NULL,
priority varchar(10) default NULL,
level varchar(10) default NULL,
tag varchar(10) default NULL,
datetime datetime default NULL,
program varchar(15) default NULL,
msg text,
seq bigint(20) unsigned NOT NULL auto_increment,
PRIMARY KEY (seq), KEY host (host),
KEY program (program), KEY datetime (datetime),
KEY priority (priority), KEY facility (facility)
) TYPE=MyISAM;

Keluar Dari Mysql kemudian ketikan perintah :

cd /usr/ports/sysutyls/syslog-ng/
make && make install clean
kemudian
mkfifo /var/log/mysql.pipe

edit configurasi syslog-ng.conf
source all {
unix-stream(“/dev/log”);
pipe(“/proc/kmsg”);
internal();
udp();
tcp();
};
destination d_mysql {
program(“/usr/bin/mysql –user=USERNAME –password=PASSWORD syslog < /var/log/mysql.pipe”);
pipe (“/var/log/mysql.pipe” template(“INSERT INTO logs (host, facility, priority, level, tag, datetime, program, msg) VALUES ( ‘$HOST’, ‘$FACILITY’, ‘$PRIORITY’, ‘$LEVEL’, ‘$TAG’, ‘$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC’,'$PROGRAM’, ‘$MSG’ );\n”) template-escape(yes));
};
log { source(all); destination(d_mysql); };

edit rc.d
syslog_ng_enable=”YES”

syslogd_enable=”NO”

Langkah selanjutnya adalah melakukan Stting Mikrotik Router/Wireless LOG diarahka ke IP syslog Server FreeBSD yang semua lognya masuk dalam database mysql. dengan log tersimpan ke database mysql akan mudah untuk memonitor log-log yang masuk dari berbagai perangkat kita.


masuk system mikrotik ( gunakan winbox aja paling mudah )

system>Loging>Action

Ganti IP remote pada ip syslog Port Gunakan defaultnya 514

system>Loging>Rules

Ganti action dengan Remote pada  Error,Info,Warning atau dipilih sesuai yang dukehendaki yang sebelumnya memory maupun disk.



Mail Server FreeBSD Ports denganPostfix

Februari 6, 2009

1. Disabling sendmail system/sendmail binary.
- Disabling via startup script:
# vim /etc/rc.conf
sendmail_enable=”NONE”
sendmail_flags=”-L sm-mta -bd -q30m”
sendmail_submit_enable=”NO”
sendmail_submit_flags=”-L sm-mta -bd -q30m -ODaemonPortOptions=Addr=localhost”
sendmail_outbound_enable=”NO”
sendmail_outbound_flags=”-L sm-queue -q30m”
sendmail_msp_queue_enable=”NO”
sendmail_msp_queue_flags=”-L sm-msp-queue -Ac -q30m”

- Disable sendmail binary:
# mv /usr/sbin/sendmail /usr/sbin/sendmail.old
# chmod 0 /usr/sbin/sendmail.old
# mv /usr/bin/mailq /usr/bin/mailq.old
# chmod 0 /usr/bin/mailq.old
# mv /usr/bin/newaliases /usr/bin/newaliases.old
# chmod 0 /usr/bin/newaliases.old

Catatan: Jika melakukan “build world” (Update src system), maka
wajib melakukan update file2 binary postfix tersebut.

2. Download postfix dari salah satu mirror, atau silahkan gunakan ports
system untuk *BSD class.

# links http://www.postfix.org/download.html
# whereis postfix
postfix: /usr/ports/mail/postfix

- Ada beberapa pilihan versi yg hendak anda pakai silahkan sesuaikan
dengan kebutuhan anda.

# ls -d /usr/ports/mail/postfix*
/usr/ports/mail/postfix /usr/ports/mail/postfix20
/usr/ports/mail/postfix-current /usr/ports/mail/postfixadmin
/usr/ports/mail/postfix1

- Jika akan menginstall postfix -CURRENT version (Version sekarang):
# cd /usr/ports/mail/postfix-current
# make ; make install ; make clean

- Jika versi yg anda inginkan 2X gunakan cara ini:
# cd /usr/ports/mail/postfix20
# make ; make install ; make clean

- Kalo mendownload secara manual silahkan gunakan cara ini:
# mkdir /usr/local/src
# cd /usr/local/src/
# fetch http://www.mirrorspace.org/postfix/official/postfix-2.1.6.tar.gz
# tar zxvf postfix-2.1.6.tar.gz
# ls README*
# ls INSTALL*

Silahkan baca2 dulu :-) . Tapi saya sarankan menggunakan port untuk
memudahkan instalasinya.

3. Installasi postfix & configurasi postfix.
- Buat username dan group untuk daemon postfix:
# adduser [Untuk interaktif menu] atau,
# man pw(8)
# pw groupadd postdrop
# pw useradd postfix -s /sbin/nologin -g postdrop -d /nonexistent

Jika berniat untuk membangun mailserver support virtual bisa
langsung anda create user/group yg mengurus keperluan itu:
# dduser [Untuk interaktif menu] atau,
# man pw(8)
# pw groupadd virtual
# pw useradd virtual -g virtual -d /home/virtual

- Edit file /etc/postfix/main.cf jika installasi dilakukan dari
tarball, confdir berada di /usr/local/etc/postfix/main.cf jika dilakukan
lewat port.

- Sunting isi dari file2 diatas:
myhostname = example.com
mydestination = $myhostname, localhost.$mydomain
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/

Untuk “myhostname” isi hostname yg FQDN, biasanya nama domain yg
digunakan adalah domain yg nge-handle postfix ini berjalan.
Isi “mydestination” dengan domain target anda biasanya domain local
saja. Isi IP Address/block IP Address (Penggunaan netmask atau prefix)
di “mynetworks” yg anda perbolehkan konek dari LAN anda dipisahkan
dengan tanda “coma”.

- Untuk menangkal spammer biasanya digunakan:
maps_rbl_domains = relays.ordb.org
smtpd_helo_restrictions = reject_maps_rbl, permit_mynetworks

- Menolak domain sender yang tidak mempunyai record A atau MX:
smtpd_sender_restrictions = reject_unknown_sender_domain

Untuk custom memilih sender yang akan direject sesuai dengan
kebutuhan bisa diapply via database hash sebagai contoh:
check_sender_access hash:/etc/postfix/sender_access

- Untuk kebutuhan aliasing bisa menggunakan database hash:
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

- Format/type yg dipilih untuk mbox email adalah:
home_mailbox = Maildir/

- Edit untuk keperluan virtual domain:
Untuk keperluan isi type “mailbox_transport” dengan virtual.
mailbox_transport = virtual

Untuk virtual domain silahkan anda isi path yg sesuai dengan home
basenya. Parameter ini digunakan untuk menyimpan seluruh email2 yg
akan dihandle di mesin ini.
virtual_mailbox_base = /home/virtual

Map database yg digunakan untuk keperluan ini, silahkan isi sesuai
dengan rencana anda dimana akan diletakannya.
virtual_mailbox_maps = hash:/etc/postfix/virtual

Isi dengan UID/GID dari user shell virtual, kita check dulu user
virtualnya:
# id virtual
uid=1000(virtual) gid=100(virtual) groups=100(virtual)

Isikan UID/GID-nya di main.cf.
virtual_uid_maps = static:1000
virtual_gid_maps = static:100
virtual_create_maildirsize = yes

Biar support quota Maildir untuk user virtual.
virtual_mailbox_limit_maps = hash:/etc/postfix/vquota
virtual_mailbox_limit_override = yes

- Tambahan untuk postfix biar bisa menggunakan/terintegrasi dengan amavis antivirus scanner
content_filter = vscan:

Dan jangan lupa tambahkan baris di /etc/postfix/master.cf:
vscan unix – n n – 10 pipe user=vscan
argv=/usr/sbin/amavis ${sender} ${recipient}
localhost:10025 inet n – n – - smtpd -o content_filter=

Untuk konfigurasi lainnya biarkan default saja.

- Kemudian bikin email alias yang akan mengurusi hal-hal yang berkaitan dengan urusan teknis
(ganti email @example.com sesuai dengan konfigurasi yang anda inginkan):
# echo “postfix: root” > /etc/aliases
# echo “root : hostmaster@example.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya ” >> /etc/aliases
# echo “mailer-daemon : mailer-daemon@example.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya ” >> /etc/aliases
# echo “postmaster : someone@example.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya ” >> /etc/aliases
etc…

- Generate database yg baru dari file aliases :
# newaliases

- Jalankan daemon postfix :
# /usr/sbin/postfix start # Dari tarball instalasi.
# echo “/usr/sbin/postfix start” >> /etc/rc.local

Untuk port biasanya terbentuk file “postfix.sh”, sunting dulu file
ini untuk lebih bagusnya:
# /usr/local/etc/rc.d/postfix.sh start # Dari port instalasi.

- Jika emang tidak ada masalah biasanya postfix daemon langsung jalan,
ada baiknya check saja:
# tail -f /var/log/maillog
Nov 20 02:31:49 example postfix/postfix-script: starting the Postfix mail system
Nov 20 02:31:49 example postfix/master[2031]: daemon started — version 2.1.6

- Bikin virtual domain yg akan anda handle, dan sebelomnya bikin
folder “example.com” di /home/virtual
# mkdir /home/virtual/example.com
# vim /etc/postfix/virtual
example.com Yeah….

Create user atas nama domain example.com:
user@example.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya example.com/user/

Build file tersebut menjadi hash database:
# postmap /etc/postfix/virtual

- Biar support quota user Maildir. Edit file /etc/postfix/vquota
user@example.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya 1024000
# postmap /etc/postfix/vquota

Biasanya dengan cara dikirim email atas nama user tersebut, maka secara otomatis akan
terbentuk folder di /home/virtual/example.com/user.

4. Install tpop3d
- Download source tpop3d dan install tpop3d
# cd /usr/local/src
# fetch http://www.ex-parrot.com/~chris/tpop3d/tpop3d-1.4.2.tar.gz
# fetch http://www.ex-parrot.com/~chris/tpop3d/tpop3d-1.4.2-auth-flatfile-broken.patch
# tar -zxvf tpop3d-1.4.2.tar.gz
# cd tpop3d-1.4.2
# patch -p0 < ../tpop3d-1.4.2-auth-flatfile-broken.patch
# ./configure –help | more
# ./configure –enable-auth-flatfile –enable-mbox-maildir
# make ; make install

Atau menggunakan port system:
# cd /usr/ports/mail/tpop3d
# make ; make install ; make clean

- Buat file /etc/tpop3d.conf isinya :
listen-address: IP_ADDRESS_HERE
log-facility: local6
mailbox: maildir:/home/virtual/$(domain)/$(local_part)
auth-flatfile-enable: yes
auth-flatfile-passwd-file: /etc/virtual/$(domain)/passwdPOP3
auth-flatfile-mail-user: virtual
auth-flatfile-mail-group: virtual
append-domain: yes
log-bad-passwords: yes

- Jalankan tpop3d daemon:
# /usr/local/sbin/tpop3d
# echo “/usr/local/sbin/tpop3d” >> /etc/rc.local

atau via *.sh script di /usr/local/etc/rc.d/

- Create file /etc/virtual/example.com/passwdPOP3 untuk menyimpan account POP3:
# mkdir /etc/virtual
# mkdir /etc/virtual/example.com
# cd /etc/virtual/example.com
# htpasswd -c -s passwdPOP3 user

5. Installing Courier-IMAP
- Download source courier-imap & install courier.
# fetch http://www.courier-mta.org/beta/imap/courier-imap-1.7.1.20030319.tar.bz2
# tar -jxvf courier-imap-1.7.1.20030319.tar.bz2
# cd courier-imap-1.7.1.20030319
# ./configure –help | more
# ./configure –enable-workarounds-for-imap-client-bugs –disable-root-check
# make ; make install

Atau menggunaan port system:
# /usr/ports/mail/courier-imap
# make ; make install

- Configurasi courier-imap, standard kita pake module “authuserdb”
saja, module yg lainnya kita hapus saja:
# rm -rf /usr/lib/courier-imap/libexec/authlib/*
# cp authlib/authuserdb /usr/lib/courier-imap/libexec/authlib/
# cp /usr/lib/courier-imap/etc/imapd.dist /usr/lib/courier-imap/etc/imapd
# cp /usr/lib/courier-imap/etc/imapd-ssl.dist /usr/lib/courier-imap/etc/imapd-ssl

- Edit file yg diperlukan:
# vim usr/lib/courier-imap/etc/imapd
ADDRESS=0 menjadi ADDRESS=IP_ADDRESS_YG_DIGUNAKAN
AUTHMODULES=”authdaemon” menjadi AUTHMODULES=”authuserdb”

- Starup script:
# echo “/usr/lib/courier-imap/libexec/imapd.rc start” >> /etc/rc.local

atau, via *.sh kl dari port system di /usr/local/etc/rc.d/.

- Membuat user account imap:
# mkdir /etc/userdb
# chmod 700 /etc/userdb
# userdb -f /etc/userdb/example.com user@example.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya set \
home=/home/virtual/example.com/user \
mail=/home/virtual/example.com/user uid=1000 gid=100
# userdbpw -md5 | userdb -f /etc/userdb/example.com \
user@example.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya set imappw
# makeuserdb

6. Installing Squirrelmail
- Download sourcenya:
# fetch http://umn.dl.sf.net/sourceforge/squirrelmail/squirrelmail-1.2.11.tar.gz
# tar -zxvf squirrelmail-1.2.11.tar.gz
# cd squirrelmail-1.2.11

Atau dengan sistem port:
# cd /usr/ports/mail/squirrelmail
# make ; make install

- Asalkan sudah terinstall Apache web server dan PHP anda tinggal
copy paste saja ke directory browse-nya.

PS: Untuk versi2 yg dibutuhkan silahkan terlebih dahulu baca
manual2 yg terkait di directory “squirrelmail-1.2.11″.

7. Script untuk memudahkan pengerjaan membuat account email, anda bisa custom/modif
sesuai dengan kebutuhan anda:

#!/bin/sh
# Adding user and quota email in virtual/vquota files.
domain=”example.com”
vquota=”10240000″
echo “Masukan login : “
read login

echo “$login@$domain $domain/$login/” >> /etc/postfix/virtual
echo “$login@$domain $vquota” >> /etc/postfix/vquota

# Rebuild database postfix.
/usr/sbin/postmap /etc/postfix/virtual
/usr/sbin/postmap /etc/postfix/vquota
/usr/sbin/postmap /etc/postfix/sender_access

# Adduser dan password untuk imap.
adduserargument=”-f /etc/userdb/$domain $login@$domain set
home=/home/virtual/$domain/$login mail=/home/virtual/$domain/$login
uid=1021 gid=1021″

userdb $adduserargument
passwdargument=”-f /etc/userdb/$domain $login@$domain set imappw”

userdbpw -md5 | userdb $passwdargument

makeuserdb

Sumber : http://indofreebsd.or.id/mail-server-menggunakan-postfix.inbsd


Command FreeBSD

Januari 27, 2009

database mysql grant from all network >>

Allow user supri untuk mengakses database datapenting dengan pasword supri

grant all on datapenting.* to supri@’%’ identified by ’supri’;

edit user supaya bisa akses su/super user di freebsd dengan memasukan ke group wheel

# pw user mod vivek -G wheel

Ganti Tanggal system FreeBsd

date “yymmddhhmi”

date 0901270603


Install cacti di FreeBSD

Januari 22, 2009

Cacti menyediakan template grafis yang canggih, metode menyusun beragam data, dan fitur manajemen user. Semua ini dikemas secara praktis, interfais yang mudah dipergunakan, baik untuk kelas instalasi berukuran-LAN hingga ke jaringan secara kompleks dengan ratusan divais.

Untuk lebih jelas nya bisa melihat di http://www.cacti.net

Disini saya menggunakan FreeBSD 7.1 Persiapan juga beberapa paket minimum yang diperlukan untuk instalasi cacti (diambil via ports cactinya):

#/usr/ports/net-mgmt/net-snmp4
#make install clean
#/usr/ports/net/rrdtool
#make install clean
#/usr/ports/net/cacti
#make install clean

Salin file instalasi cacti ke /usr/local/www/data-dist/cacti. Sekarang masuk  ke settingan aplikasi cacti:
# cd /usr/local/www/data-dist/cacti

Kemudian lakukan setting pada mysql:
# mysqladmin -u root -p create cacti
# mysql -u root -p cacti < cacti.sql

Buat juga user cactiuser dalam database mysql
# mysql -u root -p mysql
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY ‘cacti’;
mysql> flush privileges;
mysql> exit
Edit include/config.php dan include/db-settings.php sesuaikan dengan setting dari mysql Anda. Pada artikel kali ini settingan nya adalah:
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cactiuser”;
$database_password = “cacti”;

Setting perijinan dari direktori rra dan log (user bernama cacti telah dibuat pada saat proses ports()
# chown -R cacti rra/ log/

Lalu jalankan perintah crontab -e
*/5 * * * * /usr/local/bin/php /usr/local/www/data-dist/cacti/poller.php > /dev/null 2>&1

Setelah itu coba mengakses dari web browser anda ke alamat server http://serveranda/cacti/ Login sebagai admin dan password admin.


Install phpMyAdmin FreeBSD Ports

Juli 27, 2008
    1. Masuk ke direktori phpmyadmin port dengan perintah:
      cd /usr/ports/databases/phpmyadmin
    2. Install dengan konfigurasi default
      make install clean
    3. phpMyAdmin terinstall di direktori /usr/local/www/phpMyAdmin. untuk bisa digunakan perlu membuat direktori Alias and konfigurasi direktori di /usr/local/etc/apache22/httpd.conf. tambahkan beberapa baris di <IfModule alias_module>
      Alias /phpmyadmin /usr/local/www/phpMyAdmin
    4. /usr/local/www/phpMyadmin setting <DocumentRoot> dan <Directory> masukan beberapa baris kode <Directory>
      <Directory "/usr/local/www/phpMyAdmin">
              Order allow,deny
              Allow from all
      </Directory>

    5. Buat konfigurasi direktory phpMyAdmin untuk read/write/executable dengan perintah:
      cd /usr/local/www/phpMyAdmin
      mkdir config
      chmod 777 config
    6. Restart Apache :
      /usr/local/etc/rc.d/apache22 restart
    7. Konfigurasi phpMyAdmin — http://hostname/phpmyadmin/scripts/setup.php:
      • Add Server
        • Ubah “Authentication type” dropdown untuk http phpMyAdmin memunculkan user-passw
        • Hapus root dari “User for config” .
        • Click tombol “Add” untukmenambahkan server Baru

      Save konfigurasi dengan menekan ltombol Save.

    8. Copy config file dari phpMyAdmin/config ke phpMyAdmin
      cp config/config.inc.php .
    9. hapus config dan ubah read oNly untuk config.inc.php :
      rm -rf config
      chmod 444 config.inc.php

Instalasi APACHE,PHP,MYSQL di FreeBSD7

Juli 27, 2008
    Tiga hal penting Untuk membangun sebuah Web Server menggunakan FreeBSD, tiga hal tersebut adalah melakukan instalasi MYSQL,APACHE dan PHP. berikut coba kita sedikit belajar instalasi menggunakan ports dari FreeBSD.

  1. Install MySQL:

    1. masuk ke direktory mysql50-server port dengan menggunakan command:
      cd /usr/ports/databases/mysql50-server
    2. Build port
      make BUILD_OPTIMIZED=yes BUILD_STATIC=yes
    3. Install mysql50 database server
      make config
      make install
    4. Buka /etc/rc.conf dengan editor misal ( ee /etc/rc.conf ) and tambahkan configurasi sebagai berikut. ( ini digunakan untuk menjalankan Mysql Database server pertama server dinyalakan )
      mysql_enable="YES"
    5. Start mysql server secara manual:
      /usr/local/etc/rc.d/mysql-server start
    6. masukanpassword untuk MySQL root user dengan perintah sbb:
      /usr/local/bin/mysqladmin -uroot password 'new-password'

      Mysql telah selesai terinstal.

  2. Install Apache22

    1. masuk ke direktory apache22 port dengan perintah sbb:
      cd /usr/ports/www/apache22
    2. masukan perintah sbb:
      make config
      make install

    3. buka file configurasi lagi /etc/rc.conf dan masukan baris script dibawah ini. ( script ini bertujuan untuk menjalankan Apache mulai awal komputer dinyalakan )
      apache22_enable="YES"
  3. Install PHP5

    1. Masuk ke direktori php5 port dengan menggunakan perintah:
      cd /usr/ports/lang/php5
    2. masukan perintah sbb:
      make config
       - PENTING : pada tapilan ini pilih Apache ( Build apache module )
         jika tidak biasanya nanti muncul error :
      httpd: Syntax error on line 104 of
      /usr/local/etc/apache22/httpd.conf: Cannot load
      /usr/local/libexec/apache22/libphp5.so into server:
      /usr/local/lib/compat/pkg/libmysqlclient.so.14: version
      libmysqlclient_14 required by /usr/local/libexec/apache22/libphp5.so
      not found
      
      selanjutnya :
      make install
    3. masuk ke php5-extentions port directory :
      cd /usr/ports/lang/php5-extentions
    4. Instalasi PHP
      make config
      - PENTING :Ojo Lali Pilih juga MYSQL ( MysQl Database Support )
      
      make install
    5. masuk Ke setting untuk php.ini :
      cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
    6. Edit file konfigurasi untuk Apache di (/usr/local/etc/apache22/httpd.conf) and masukkan beberapa baris kode sbb:
      AddType application/x-httpd-php .php
      AddType application/x-httpd-php-source .phps
    7. Kemudian cari kode di bawah ini :
      DirectoryIndex index.html

      ganti dengan kode sbb : >( TAMBAH index.php sebagai default file )

      DirectoryIndex index.php index.html
    8. Start Apache script:
      /usr/local/etc/rc.d/apache22 start

FreeBSD7 Ports Setup

Juli 27, 2008

Lokasi Ports : /usr/ports/

PHP : /usr/ports/lang/

Apache2


Mengamankan Direktory Di APACHE

Juli 24, 2008

Saya akan mencoba sedikit berbagi bagaimana Mengamankan Akses Data web pada sebuah direktory yang menggunakan server apache. kita akan mencoba memberikan sedikit gambaran bagaimana cara memberikan password pada suatu directory yang diakses melalui web. kebetulan saya menggunakan FreeBSD dan Apache2. sekarang mulai, pertama-tama Buka file configurasi webserver yaitu file httpd.conf ( misal: di /usr/local/etc/apache22/httpd.conf )

hal penting pertama sebelum memberi password adalah mengamankan direktory apache dengan menghilangkan Option Index yang biasanya default ada pada configurasi.

Sebelum :

DocumentRoot “/usr/local/www/apache22/data/”
<Directory “/usr/local/www/apache22/data/”>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all

</directory>

Sesudah :
DocumentRoot “/usr/local/www/apache22/data/”
<Directory “/usr/local/www/apache22/data/”>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all

</Directory>

Keterangan :

- Allow from all (bisa diakses oleh semua pengunjung)
- Allow from 192.168.1.0/24 >> hanya bisa diaksek untuk Network tertentu dengan range IP tersebut

Akses Directory dengan Password
Web bisa juga mengizinkan pengaksesan dengan menggunakan passsword dimana password akan disimpan dalam sebuah file, yang kemudian file tersebut diakses oleh apache.

1. Buat sebuah direktori baru sebagai penampung password

maone032# cd /usr/local/www/apache22/
maone032# mkdir paswdsite
maone032# cd paswdsite

2. Buat sebuah file untuk menampung username dan password ( cari lokasi file htpasswd kebetulan saya di /usr/local/sbin/htpasswd )
maone032# /usr/local/sbin/htpasswd -c htpasswd.user maone032
New password : *********
Re-type new password :*********
Adding password for user maone032

Keterangan : opsi -c (jika kita membuat file untuk user yang pertama kalau selanjutnya tidak perlu)

3.ubah konfigurasi httpd.conf agar dapat diakses oleh user yang sudah dibuat tadi ( maone032 )
<Directory“/usr/local/www/apache22/data/”>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
Authname Protected
AuthType Basic
AuthUserFile “/usr/local/www/apache22/paswdsite/htpasswd.user “

require user maone032

</Directory>

Setelah selesai reboot apache, kemudian buka http://web_server. akan muncul dialog box username dan password.


FreeRadius Mysql FreeBSD

Juli 22, 2008

Untuk Freeradius yang saya gunakan berjalan pada sistem Operasi FreeBSD 7.1 dan Mysql 5.X

Sebagai pendukung saya menggunakan Apache 2.x dan Php 5.x dan PhpMyadmin

1. Untuk mempermudah instalasi saya menggunakan Ports dari FreeBSD yang instalasinya langsung terkoneksi dengan internet.

cd /usr/ports/net/freeradius

2. Install aplikasi ( Include Support mysql)

#make
#make install

Untuk menjalankan Freeradius Debug Mode :

#radiusd –X

You can use radtest to test an account from the command line:

Setting up the Freeradius database in MySQL

1. First, if you will run the db on your localhost, MySQL server should be installed on your machine

#mysql –u root –p

mysql>CREATE DATABASE radius;
mysql>GRANT ALL PRIVILEGES ON radius.* to ‘root’@localhost’ IDENTIFIED BY ‘myrootpassword’;
mysql>FLUSH PRIVILEGES;

2. Create a schema for the database, use the SQL script file, it can be found in /src/modules/rlm_sql/drivers/rlm_sql_mysql/db_mysql.sql where you untar’d the FreeRadius

#mysql –u root –p rootpass radius < db_mysql.sql ( lokasi tergantung )

where root and rootpass are your mysql root name and password respectively

Configuring FreeRadius to use MySQL

1.Edit /etc/raddb/sql.conf and enter the server, name and password details to connect your Mysql Server and Radius database:

# Connect info
server = “localhost”
login = “root”
password = “rootpass”

radius_db = “radius”

Query config for username, I used this:

sql_user_name = “%{User-Name}”

You will see several tables created. You just need to use one of those: radcheck. This table has the following structure:

2. Edit /etc/raddb/radiusd.conf and add a line saying “sql” to the authorize {}section and add a line saying “sql” to the accounting{} section too between ‘unix’ and ‘radutmp’

radiusd.conf will look something like this:

authorise {
preprocess
chap
mschap
#counter
#attr_filter
#eap
suffix
sql
#files
#etc_smbpasswd
}

authenticate {
authtype PAP {
pap
}
authtype CHAP {
chap
}
authtype MS-CHAP{
mschap
}
#pam
#unix
#authtype LDAP {
# ldap
#}
}

preacct {
preprocess
suffix
#files
}

accounting {
acct_unique
detail
#counter
unix
sql
radutmp
#sradutmp
}

session {
radutmp
}

Script Data di Database :

mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES (’alamster’, ‘Password’, ‘palcomtech’);

mysql> INSERT INTO radgroupcheck (GroupName, Attribute, Value,op) VALUES (’dynamic’, ‘Auth-Type’, ‘MS-CHAP’,’= ‘);
Query OK, 1 row affected (0.00 sec)

Untuk Proteksi Koneksi Berdasar IP / Caller ID

mysql> INSERT INTO radgroupcheck (GroupName, Attribute, Value,op) VALUES (’dynamic’, ‘Calling-Station-Id’, ‘192.168.202.47’,’= ‘);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘Framed-IP-Address’, ‘:=’,‘192.168.10.4’); << penting
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘Framed-Compression’, ‘:=’,‘Van-Jacobsen-TCP-IP’);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘Framed-Protocol’, ‘:=’, ‘PPP’);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘Service-Type’, ‘:=’, ‘Framed-User’);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘Framed-MTU’, ‘:=’, ‘1500′);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘X-Ascend-Assign-IP-Pool’, ‘:=’, ‘0′);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘X-Ascend-Maximum-Time’, ‘:=’, ‘7200′);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘X-Ascend-Route-IP’, ‘:=’,

‘Route-IP-Yes’);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘Idle-Timeout’, ‘:=’, ‘1800′);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO usergroup (UserName, GroupName) VALUES (’alamster’,’dynamic’);
Query OK, 1 row affected (0.01 sec)