My Little Daemon™

Simple, C Programming, FreeBSD, PHP, MySQLJanuary 4, 2008 2:05 pm

Karena hendak membuat tutorial PHP dan MySQL [tapi masih demi kepentingan membuat Sistem Administrasi Server], saya mengawalinya dengan instalasi tiga jagoan web base applications : Apache, MySQL dan PHP di mesin FreeBSD. Telah banyak tutorial tentang hal ini, jadi saya akan menyingkatnya saja :

Instalasi MySQL 5.0 : 

  • # cd /usr/ports/databases/mysql50-server/
  • # make install clean
  • # /usr/local/bin/mysql_install_db
  • # chown -R mysql /var/db/mysql/
  • # chgrp -R mysql /var/db/mysql/
  • edit file /etc/rc.conf lalu tambahkan baris : /usr/local/bin/mysqld_safe &

Instalasi Apache 2 :

  • # cd /usr/ports/www/apache2/
  • # make install clean
  • edit file /usr/local/etc/apache2/httpd.conf lalu aktifkan ServerName localhost
  • edit file /etc/hosts :

    ::1 localhost.localdomain localhost
    127.0.0.1 localhost.localdomain localhost
    192.168.1.252 localhost.localdomain localhost

    dimana 192.168.1.252 adalah IP Server FreeBSD

  • edit file /etc/rc.conf lalu tambahkan baris : apache2_enable="YES"

Instalasi PHP 5 : 

  • # cd /usr/ports/lang/php5/
  • # make config install clean ketika ditanyakan opsi, aktifkan opsi APACHE2
  • # cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
  • # edit /usr/local/etc/apache2/httpd.conf lalu tambahkan baris-baris berikut :

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    LoadModule php5_module libexec/apache/libphp5.so

    kemudian ubah baris DirectoryIndex index.html menjadi DirectoryIndex index.php index.html

Terakhir reboot. Untuk mencobanya buat file test.php dengan isi <?php phpinfo() ?> di direktori /usr/local/www/data/. Jika tak ada aral melintang, maka ketika Anda membuka URL http://ip_server_FreeBSD/test.php akan muncul segala informasi perihal PHP, yang meliputi opsi kompilasi PHP,  ekstensi kompilasi PHP, versi PHP, indormasi server dan environment [jika di-compile sebagai modul], environment PHP, informasi versi OS, path, nilai global dan nilai lokal dari opsi-opsi konfigurasi, header-header HTTP, dan lisensi PHP. Berikut ascreenshoot-nya :

 

Tutorial PHP dan MySQL juga bertebaran di mana-mana, jadi tak perlu saya lakukan di blog ini. Ke depan kita hanya berkonsentrasi pada hal-hal yang berkenaan dengan sistem operasi UNIX [baca : FreeBSD] yang tidak lebih dari perihal dua hal : file dan proses. Yakin hanya tentang dua hal ini ? Yup, tapi turunannya itu lho yang gak ketulungan banyaknya. Tentu nantinya kita perlu juga melakukan kolaborasi dengan C, C++ dan tentu saja Perl Programming yang merupakan core-nya.  PHP kita gunakan sebagai interface dengan pengguna aplikasi yang akan kita bangun, yaitu si Admin Server. Saya lebih suka menggunakan interface web base daripada X base. Jadi untuk Tk, no teng yu ! Kalau MySQL kita gunakan jika butuh tampungan terutama untuk log dan config. Pada tahap awal kita akan kolaborasikan C [baca : gcc] dengan PHP, karena kita telah melakukan cukup preparasi teknik pemrograman dengan C di sini.     

FreeBSD…just integrated in simplify. 

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

Simple, FreeBSDJanuary 3, 2008 3:58 pm

Di sini kita akan menggunakan NAT untuk keperluan sharing akses internet. Pada posting kali ini, saya sengaja tidak memberlakukan/melibatkan pengaturan firewall alias firewall terbuka. Semata-mata hanya sharing akses internet. Untuk keperluan ini kita gunakan FreeBSD sebagai NAT-nya. Pada komputer FreeBSD ini terdapat dua NIC. Satu dengan IP publik yang merupakan jalan akses ke internet, dan satunya lagi ber-IP lokal yang di-colok-an ke HUB lokal sehingga bisa diakses oleh komputer-komputer yang terhubung ke jaringan lokal agar bisa sama-sama menikmati akses internet. Katakanlah IP publiknya adalah 202.91.12.61 pada NIC fxp0 dan IP lokalnya adalah 192.68.0.1 pada NIC fxp1 di netmask 255.255.255.0

Langsung aja, langkah-langkah yang perlu dilakukan di komputer FreeBSD :

  1. Compile ulang kernel dengan opsi : options IPFIREWALL dan options IPDIVERT

  2. Tambahkan baris-baris berikut di /etc/rc.conf :

    gateway_enable="YES"
    firewall_enable="YES"
    firewall_type="OPEN"
    natd_enable="YES"
    natd_interface="fxp0"
    natd_flags=""

  3. Lalu reboot

Sedangkan yang perlu dilakukan di komputer client [dengan sistem operasi apa pun] yang ingin menumpang akses internet di komputer FreeBSD adalah men-setting gateway-nya ke 192.168.0.1 yang merupakan IP lokal komputer FreeBSD. Untuk DNS, di arahkan ke DNS ISP [Internet Service Provider] di mana kita daoatkan IP publik kita [202.91.12.61]. Bisa saja kita memfungsinya komputer FreeBSD sebagai DNS Server, tapi kalau hanya untuk sharing akses internet, langkah ini sungguh tidak perlu dilakukan, kecuali jika IP publik yang kita dapatkan adalah IP publik static yang kita gunakan sebagai web server, mail server atau yang semacamnya.

FreeBSD…nikmatnya berbagi.

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

Middle, FreeBSDJanuary 2, 2008 2:37 pm

Quota merupakan fitur yang memungkinkan FreeBSD membatasi penggunaan ruang hard disk dan atau file oleh user dan atau group. Hal ini penting dilakukan terutama dalam sistem jaringan komputer yang menerapkan sharing file/direktori.

Langkah-langkahnya :

  1. Karena fitur quota bukan konfigurasi default kernel GENERIC, maka Anda perlu meng-compile ulang kernel Anda dengan opsi : options QUOTA

  2. Edit file /etc/fstab pada partisi yang akan diberlakukan sistem quota. Misalnya jika semula : /dev/ad6    /hd2  ufs  rw  1  1 ubah menjadi /dev/ad6    /hd2  ufs  rw,userquota,groupquota  1  1. Di sini sistem quota diberlakukan pada mounting / untuk user dan group.

  3. Membuat fitur quota dan check quota dijalankan ketika FreeBSD booting bisa dilakukan dengan mengedit file /etc/rc.conf dengan tambahan record : quota_enable="YES" dan check_quotas="YES" lalu reboot

  4. Begitu masuk setelah login, jalankan perintah berikut :

    # quotacheck -a lalu # quotaon -a

  5. Melakukan setting quota untuk user handaru :

    # edquota -u handaru

    maka Anda akan dihantarkan pada konfigurasi quota ke vi editor. Berikut adalah contoh setting quota untuk user handaru yang telah saya lakukan :

    Quotas for user handaru:
    /hd2: kbytes in use: 54, limits (soft = 50, hard = 75)
            inodes in use: 26, limits (soft = 50, hard = 60)

    dimana :

    pembatasan ruang hard disk bisa kita lakukan pada baris kedua :  /hd2: kbytes in use: 54, limits (soft = 50, hard = 75) dalam satuan kilobytes adapun limit soft mengandung pengertian bahwa sistem masih bisa menampung data melebihi soft limit ini asal tidak melebihi hard limit-nya hingga periode grace-nya. Defaultnya adalah 1 minggu. Jika over soft limit telah berlangsung seminggu, sistem akan secara otomatis menjadikan soft limit ini menjadi hard limit sehingga tidak akan ada toleransi lagi. Jika user menurunkan pemakaian disknya di bawah soft limit, maka periode grace-nya akan di-reset kembali. Pada contoh di atas, Anda bisa melihat bahwa sistem masih bisa mentolerir peggunaan disk space oleh user handaru (54 kb) yang melewati soft limitnya (50 kb). Sementara itu untuk hard limit, sistem tidak akan memberi kelonggaran over quota. Adapun pada baris ke tiga : inodes in use: 26, limits (soft = 50, hard = 60) kita bisa menentukan jumlah file maksimum yang bisa digunakan oleh user handaru ini. Di sini juga bisa diberlakukan soft maupun hard limit.

  6. Untuk memastikan sistem quota telah berjalan dengan baik, lakukan perintah berikut :

    $ quota -v
    Disk quotas for user handaru (uid 1001):
         Filesystem   usage   quota   limit   grace   files   quota   limit   grace
                /hd2      54*      50      75    7days    26      50      60

    tanda * pada 54* menandakan bahwa penggunaan disk telah melampau soft limitnya.

FreeBSD…mantap man !

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

Simple, FreeBSDJanuary 1, 2008 12:35 pm
  1. Secara fisik hard disk [IDE termasuk SATA] yang akan ditambahkan sudah terpasang dengan benar di komputer FreeBSD yang diinginkan yang sebelumnya hanya menggunakan satu hard disk IDE [ad0].

  2. # edit /var/run/dmesg.boot Langkah ini untuk melihat apakah hard disk baru yang ditambahkan bisa dikenali oleh sistem FreeBSD kita. Pada langkah-langkah selanjutnya, di sini diasumsikan bahwa hard disk baru dikenali sebagai ad1

  3. # dd if=/dev/zero of=/dev/rad1 bs=1k count=1 Langkah ini men-clear-kan hard disk baru

  4. # fdisk  -BI ad1  Langkah ini untuk menginisialisasi hard disk baru yang ditambahkan

  5. # bsdlabel -B -w -r ad1s1 auto lalu # bsdlabel -e ad1s1 Langkah ini untuk melabeli

  6. # mkdir -p /hd2 Langkah ini membuat direktori /hd2 untuk menampung mounting dari  partisi hard disk baru nantinya

  7. # newfs /dev/ad1s1e Langkah ini memformat partisi baru

  8. # mount -t ufs /dev/ad1s1e /hd2 Langkah ini untuk melakukan mounting partisi /dev/ad1s1e yang telah dibuat pada point 7 ke direktori /hd2 yang dibuat pada point 6

  9. # edit /etc/fstab Tambahkan baris berikut :

    /dev/ad1s1e    /hd2   ufs     rw     1    1

    agar pada booting berikutnya FreeBSD Anda bisa mengenali penambahan hard disk baru ini dan kita tinggal menggunakannya di /hd2

  10. Untuk hard disk tipe SCSI ganti ad dengan da

FreeBSD…masihkah perlu diragukan ?

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

Simple, FreeBSDDecember 28, 2007 11:29 pm

Network File System [NFS] merupakan sistem file yang memanfaatkan sistem file dari komputer server sebagai sistem file komputer client dalam jaringan komputer sesama UNIX base. Atau singkatnya : file Sharing sesama komputer UNIX base. Fitur ini secara default sudah di-support oleh FreeBSD, jadi yang kita perlukan hanya melakukan konfigurasi di kedua komputer yang saling bertukar pakai file ini.

Misalnya IP server 192.168.1.252 dan IP client 192.168.1.33, maka konfigurasi komputer servernya adalah seperti berikut ini :

  • # edit /etc/rc.conf

    tambahkan baris-baris berikut :

    rpcbind_enable="YES"
    nfs_server_enable="YES"
    mountd_flags="-r"

  • Buat file /etc/exports yang isinya :

    /share -maproot=root 192.168.1.33

    pada contoh ini direktori di server yang disharing adalah /share dan yang diijinkan mengaksesnya adalah komputer client dengan IP 192.168.1.33. Opsi -maproot=root berarti mengijinkan user root di komputer client untuk mengakses direktori /share di server secara penuh sebagaimana biasanya hak akses root. Opsi-opsi yang lain bisa Anda pelajari sendiri dengan membaca manual exports : # man exports

  • # reboot

Selanjutnya konfigurasi client :

  • Buat direktori penampung : # mkdir /dataku

  • # edit file /etc/fstab lalu tambahkan baris :

    192.168.1.252:/share /dataku nfs rw 1 1

  • Bila ingin memastikan bahwa komputer client bisa melakukan mounting direktori dari server [tidak ada gangguan pada jaringan maupun teknis sintaks konfigurasi terutama yang berkenaan dengan hak akses] atau Anda hanya memerlukan mengakses direktori di server secara insidental, maka Anda bisa memberikan perintah berikut :

    # mount 192.168.1.252:/share /dataku

  • # reboot

Maka setiap kedua komputer di atas terkoneksi, direktori /share di server akan otomatis bisa diakses di client sebagai direktori /dataku.

FreeBSD…wuih !

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

Middle, FreeBSDDecember 27, 2007 5:23 am

Pretty Good Privacy [PGP] adalah sebuah fitur yang memungkinkan seseorang mengirim file/email yang ter-enskripsi dan pihak lain yang menerimanya melakukan dekripsi dengan kunci terpisah. PGP memanfaatkan public-key cryptography yang memang memisahkan antara kunci enskripsi dengan kunci deskripsinya. Jadi PGP adalah metoda enskripsi dua arah [dan bukan one way seperti MD5] namun sangat aman. Algoritma enkripsi yang didukung PGP antara lain : CAST, AES, 3DES, dan Twofish.

Instalasi PGP :

  • # cd /usr/ports/security/pgp
  • # make install clean

Mengkonfigurasi dan menggunakan PGP [misal antara user handaru dan user sakti yang hendak bertukar file secara aman] :

  • $ pwd
    /usr/home/handaru

  • $ mkdir .pgp

  • $ PGPPATH=/usr/home/handaru/.pgp; export PGPPATH

  • me-generate kunci enskripsi publik sekaligus bersesuaian dengan kunci deskripsinya :
    $ pgp -kg
    Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses. (c) 1990-96 Philip Zimmermann, Phil’s Pretty Good Software. 1996-03-04 International version - not for use in the USA. Does not use RSAREF. Current time: 2007/12/27 04:03 GMT

    Pick your RSA key size:
         1) 512 bits- Low commercial grade, fast but less secure
         2) 768 bits- High commercial grade, medium speed, good security
         3) 1024 bits- "Military" grade, slow, highest security
    Choose 1, 2, or 3, or enter desired number of bits: 3

    Generating an RSA key with a 1024-bit modulus.

    You need a user ID for your public key. The desired form for this user ID is your name, followed by your E-mail address enclosed in , if you have an E-mail address. For example: John Q. Smith <12345.6789@compuserve.com> Enter a user ID for your public key:
    handaru <handaru@light19.com>

    You need a pass phrase to protect your RSA secret key. Your pass phrase can be any sentence or phrase and may have many words, spaces, punctuation, or any other printable characters.

    Enter pass phrase:,br>Enter same pass phrase again:
    Note that key generation is a lengthy process.

    We need to generate 582 random bits. This is done by measuring the time intervals between your keystrokes. Please enter some random text on your keyboard until you hear the beep:
         0 * -Enough, thank you.
    ….**** ………………………………………****
    Pass phrase is good. Just a moment….
    Key signature certificate added.
    Key generation completed.

  • Hasilnya Anda akan mendapatkan dua file PGP : secring.pgp dan pubring.pgp. PGP menggunakan key rings untuk menyimpan kunci-kuncinya. Secara default, private secret key ring handaru adalah secring.pgp dan public key ring handaru adalah pubring.pgp :

    $ cd .pgp
    $ ls
    pubring.bak     pubring.pgp     randseed.bin    secring.pgp

  • Kita bisa melihat suatu key ring dengan perintah :

    $ pgp -kv secring.pgp
    Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses.
    (c) 1990-96 Philip Zimmermann, Phil’s Pretty Good Software. 1996-03-04
    International version - not for use in the USA. Does not use RSAREF.
    Current time: 2007/12/27 04:37 GMT

    Key ring: ’secring.pgp’
    Type Bits/KeyID    Date       User ID
    sec  1024/D2CD5C6D 2007/12/27 handaru <handaru@light19.com>
    1 matching key found.

  • Untuk memberikan public key kita ke seseorang, cukup kita salinkan public key ring [pubring.pgp] kita ke dia. 

  • Sebaliknya jika perlu mengakses public key ring orang lain, maka public key ring orang itu perlu kita masukkan dulu public key ring orang itu ke key ring kita. Misalkan public key ring orang itu adalah saktipubring.pgp [file hasil generate oleh sakti] maka cara memasukkannya ke key ring kita adalah :

    $ pgp -ka saktipubring.pgp
    Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses.
    (c) 1990-96 Philip Zimmermann, Phil’s Pretty Good Software. 1996-03-04
    International version - not for use in the USA. Does not use RSAREF.
    Current time: 2007/12/27 04:58 GMT

    Looking for new keys…
    pub  1024/810B850D 2007/12/27  handarusakti <handarusakti@yahoo.com>

    Checking signatures…
    pub  1024/810B850D 2007/12/27 handarusakti <handarusakti@yahoo.com>
    sig!      810B850D 2007/12/27  handarusakti <handarusakti@yahoo.com>

    Keyfile contains:
       1 new key(s)

    One or more of the new keys are not fully certified.
    Do you want to certify any of these keys yourself (y/N)? y

    Key for user ID: handarusakti <handarusakti@yahoo.com>
    1024-bit key, key ID 810B850D, created 2007/12/27
    Key fingerprint = 0A 41 21 C7 4B BD E7 5B  01 9E 06 80 FB 72 A3 77
    This key/userID association is not certified.
      Questionable certification from:
      handarusakti <handarusakti@yahoo.com>

    Do you want to certify this key yourself (y/N)? y

    Looking for key for user ‘handarusakti <handarusakti@yahoo.com>’:

    Key for user ID: handarusakti <handarusakti@yahoo.com>
    1024-bit key, key ID 810B850D, created 2007/12/27
                Key fingerprint = 0A 41 21 C7 4B BD E7 5B  01 9E 06 80 FB 72 A3 77

    READ CAREFULLY:  Based on your own direct first-hand knowledge, are
    you absolutely certain that you are prepared to solemnly certify that
    the above public key actually belongs to the user specified by the
    above user ID (y/N)? y

    You need a pass phrase to unlock your RSA secret key.
    Key for user ID: handaru <handaru@light19.com>
    1024-bit key, key ID D2CD5C6D, created 2007/12/27

    Enter pass phrase: Pass phrase is good.  Just a moment….
    Key signature certificate added.

    Make a determination in your own mind whether this key actually
    belongs to the person whom you think it belongs to, based on available
    evidence.  If you think it does, then based on your estimate of
    that person’s integrity and competence in key management, answer
    the following question:

    Would you trust "handarusakti <handarusakti@yahoo.com>"
    to act as an introducer and certify other people’s public keys to you?
    (1=I don’t know. 2=No. 3=Usually. 4=Yes, always.) ? 4

  • Selanjutnya kita akan menggunakan PGP untuk mengenkripsi sebuah file. Misalnya handaru ingin mengirim file dariku.txt kepada sakti namun file tersebut ingin di-enskripsi terlebih dahulu dengan public key ring PGP milik sakti. Maka handaru bisa melakukan langkah berikut :

    $ pgp -e dariku.txt sakti
    Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses.
    (c) 1990-96 Philip Zimmermann, Phil’s Pretty Good Software. 1996-03-04
    International version - not for use in the USA. Does not use RSAREF.
    Current time: 2007/12/27 05:05 GMT

    Recipients’ public key(s) will be used to encrypt.
    Key for user ID: handarusakti <handarusakti@yahoo.com>
    1024-bit key, key ID 810B850D, created 2007/12/27
    .
    Ciphertext file: dariku.txt.pgp

  • Maka akan menghasilkan file dariku.txt.pgp :

    $ ls |grep dariku
    dariku.txt
    dariku.txt.pgp

    File dariku.txt.pgp inilah yang bisa dikirim oleh handaru ke sakti.

  • Setelah file dariku.txt.pgp tadi diterima oleh sakti dan jika sakti ingin membuka file di atas, sakti bisa melakukannya dengan perintah :

    $ pgp dariku.txt.pgp
    Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses.
    (c) 1990-96 Philip Zimmermann, Phil’s Pretty Good Software. 1996-03-04
    International version - not for use in the USA. Does not use RSAREF.
    Current time: 2007/12/27 05:29 GMT

    File is encrypted.  Secret key is required to read it.
    Key for user ID: handarusakti <handarusakti@yahoo.com>
    1024-bit key, key ID 810B850D, created 2007/12/27

    You need a pass phrase to unlock your RSA secret key.
    Enter pass phrase: Pass phrase is good.  Just a moment……
    Plaintext filename: dariku.txt
    $ ls |grep dariku
    dariku.txt
    dariku.txt.pgp

    Di sini, sakti menggunakan secring.pgp miliknya untuk medekripsikan file kiriman handaru yang telah mengenkripsi file yang dikirimnya dengan public key milik sakti. Makanya pada pengantar di atas, dikatakan bahwa PGP mempunyai key enskripsi dan dekripsi yang terpisah.

  • File hasil proses enskripsi PGP di atas : dariku.txt.pgp berbentuk file binary, jika ingin membuat file yang terenskripsi PGP namun dalam bentuk ASCII, sewaktu melakukan enskripsi gunakan opsi perintah -a :

    $ pgp -ea dariku.txt sakti
    Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses.
    (c) 1990-96 Philip Zimmermann, Phil’s Pretty Good Software. 1996-03-04
    International version - not for use in the USA. Does not use RSAREF.
    Current time: 2007/12/27 05:56 GMT

    Recipients’ public key(s) will be used to encrypt.
    Key for user ID: handarusakti <handarusakti@yahoo.com>
    1024-bit key, key ID 810B850D, created 2007/12/27
    .
    Transport armor file: dariku.txt.asc

FreeBSD…AMAN TERKENDALI.

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

Middle, FreeBSDDecember 26, 2007 8:05 am

Dengan event auditing, memungkinkan kita untuk meningkatkan sistem ke keamanan FreeBSD kita dengan keleluasaan untuk mengkonfigurasi logging atas sistem login, perubahan konfigurasi, manipulasi file dan akses jaringan. Event auditing bersifat live system monitoring, intrusion detection, dan post-mortem analysis. Fitur ini disediakan oleh FreeBSD 6.2 ke atas.

Instalasi event auditing :

  • Karena kita menggunakan FreeBSD 6.2, kita perlu meng-compile ulang kernal dengan penambahan baris : options    AUDIT, kalau FreeBSD 7 kernelnya sudah otomatis support event auditing

  • Edit file /etc/rc.conf dengan  lalu menambahkan baris : /usr/sbin/auditd untuk mengotomatiskan running-nya daemon auditd setiap booting ulang

  • Kofigurasi file-file yang berhubungan dengan event auditing seharusnya berada di direktori /var/security/. Karena itu, salin semua file di direktori /var/tmp/temproot/etc/security/ ke /var/security/. Kita bisa membiarkan konfigurasi defaultnya atau jika kita ingin  bereksperimen dengan opsi-opsi yang ada, ada baiknya kita membaca tutorial yang ada di sini : http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/audit-config.html

  • Untuk menampilkan log atau catatan hasil audit, kita bisa menggunakan  perintah  praudit. Defaultnya event auditing menyimpan log-nya di direktori /var/audit [sesuai dengan konfigurasi di file /var/tmp/temproot/etc/security/audit_control]. Contohnya :

    # praudit /var/audit/20071226075748.20071226075817
    header,93,10,audit startup,0,Wed Dec 26 14:57:48 2007, + 60 msec
    subject,root,root,wheel,root,wheel,544,544,0,0.0.0.0
    text,auditd::Audit startup
    return,success,0
    trailer,93

  • Live auditing :

    # praudit /dev/auditpipe0
    header,97,10,su(1),0,Wed Dec 26 15:00:54 2007, + 608 msec
    subject,sakti,root,sakti,sakti,sakti,578,578,2445,192.168.1.2
    text,successful authentication
    return,success,0
    trailer,97

FreeBSD…KOKOH TAK TERTANDINGI.

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

Middle, FreeBSDDecember 25, 2007 5:43 am

Telah banyak tutorial tentang Samba, sebuah fitur untuk file sharing antara mesin UNIX dan Windows. Aneka tutorial tersebut biasanya memberikan penjelasan yang panjang lebar dengan uraian yang lengkap atas opsi-opsi konfigurasi Samba yang bisa dilakukan.

Pada kesempatan ini, saya hanya membutuhkan Samba untuk file sharing home direktori dari user-user UNIX agar bisa diakses secara penuh [write dan browse] melalui client Samba berbasis Windows dan satu direktori yang bisa diakses bersama namun hanya bisa di-browse dan dibaca/dieksekusi.  

Singkat cerita, apa yang perlu kita lakukan ?

  • Instal Samba :

    # cd /usr/ports/net/samba3
    # make install clean

  • Copy file configurasi Samba :

    #cp /usr/local/etc/smb.conf.default /usr/local/etc/smb.conf

  • Edit file /usr/local/etc/smb.conf dengan opsi terpenting yang perlu dirubah :

    [global]
    workgroup = LIGHT # adalah nama workgroup yang tampil di Microsoft Windows Network
    server string = Samba Server Komkecil # adalah nama komputer yang tampil

    # Biarkan kofigurasi default untuk sharing direktori [home] :
    [homes]
    comment = Home Directories

    browseable = no
    writable = yes

    [umum]
    comment = Direktori untuk umum
    path = /umum
    # Mengarahkan direktori untuk umum
    public = yes
    browseable = yes
    writeable = no

  • Membuat direktori untuk umum :

    # mkdir /umum

    di sini tidak diperlukan chmod karena default pembuatan direktori adalah drwxr-xr-x, sesuai dengan maksud kita yaitu hanya bisa dibaca dan dieksekusi untuk umum

  • Bikin user Samba yang usernamenya sama dengan user UNIX [baca FreeBSD], misalnya handaru :

    # smbpasswd -a handaru

  • Agar sewaktu reboot sistem otomatis menjalankan layanan Samba, tambahkan baris berikut di file /etc/rc.conf :

    samba_enable="YES"

  • Restart FreeBSD :

    # reboot

Maka jika Anda browse dari komputer berbasis Windows di Winows Explorer setelah login dengan username handaru dan password yang dibuat sewaktu menjalankan perintah smbpasswd di atas, hasilnya akan nampak seperti berikut ini :

 

FreeBSD…just connected, not alone.

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

 

Simple, FreeBSDDecember 24, 2007 10:15 am

Pada suatu waktu, saya minta tolong rekan menginstalkan FreeBSD. Setelah dia selesai, saya melakukan beberapa konfigurasi. Server FreeBSD ini digunakan untuk layanan file sharing via Samba. Untuk keperluan ini diperlukan swapfile yang memadai karena diakses banyak orang. Rekan saya tadi  kelupaan membuat swapfile. Nah, langkah-langkah berikut adalah yang saya lakukan untuk membuat swapfile :

  • Cek keberadaan swapfile :
    # swapinfo -k
    Device          1K-blocks     Used    Avail Capacity
  • # dd if=/dev/zero of=/usr/swap0 bs=1024k count=512 di sini saya membuat swapfile sebesar 512 x 1024K atau 512 M di direktori /usr/swap0
  • # chmod 0600 /usr/swap0 untuk mengatur hak akses
  • # edit /etc/rc.conf dan tambahkan baris berikut : swapfile="/usr/swap0"
  • # reboot
  • Cek lagi keberadaan swapfile :
    # swapinfo -k
    Device          1K-blocks     Used    Avail Capacity
    /dev/md0           524288        0   524288     0%

FreeBSD…simple is the best

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

Middle, FreeBSDDecember 22, 2007 5:14 am

Ada kalanya kita perlu mengizinkan seseorang untuk login ke sistem FreeBSD kita hanya untuk sekali waktu. Ini diperlukan misalnya bagi karyawan dari divisi lain yang sedang ada keperluan ke divisi kita secara temporer dan insidental. Sebenarnya bisa saja kita membuatkan user khusus untuknya. Namun karena dia hanya membutuhkan sekali login dan setelahnya tidak diperlukan lagi, maka kita harus menghapus user login tersebut setelah dia tak membutuhkannya lagi. Meninggalkan user ’sampah’ bukanlah sebuah langkah yang bijak dari sisi sebagai seorang sysadmin. Begitu pula dengan tindakan mengizinkan hak akses ke user yang telah ada sebelumnya kepadanya dengan memberikan password user tersebut. Karena untuk tindakan ini, Anda perlu melakukan reset password setelah dia selesai dengan semua pekerjaannya dengan user tersebut. Itu pun jika dia tidak lupa memberitahukan bahwa dia telah selesai dan Anda cukup perhatian serta ada waktu untuk melakukan passwd atas password user tersebut.

Adalah tindakan yang baik bila kita memberikan hak akses ke tamu kita tersebut berupa user login yang sesuai dengan wewenangnya dari daftar user yang telah ada dan bersamaan dengan itu kita berikan password ’sekali pakai’ padanya. Untuk keperluan ini, Anda bisa menggunakan OPIE (One-time Passwords In Everything) yang defaultnya menggunakan hash MD5. OPIE secara default telah di-support oleh FreeBSD, jadi Anda tidak perlu melakukan compile ulang kernel atau menambahkan load module baru bahkan tanpa perlu meng-install paket tambahan apa pun.   

Langkah-langkahnya :

  1. Login secara langsung ke console mesin FreeBSD atau gunakan secure connection misalnya via SSH.

  2. Inisialisasi OPIE : $ opiepasswd -c

  3. Masukkan new secret pass phrase, ini bukanlah password yang nantinya bisa digunakan oleh tamu kita untuk login, melainkan frasa password yang kita gunakan untuk men-generate OPIE password untuk tamu kita tersebut.

  4. Sekarang si tamu bisa dipersilahkan login dari remote, bahkan bisa dari insecure connection seperti via TELNET, XTERM atau DIAL-IN. 

  5. Dari secure connection lakukan perintah berikut :

    $ opiekey 497 ko0807
    Using the MD5 algorithm to compute response.
    Reminder: Don’t use opiekey from telnet or dial-in sessions.
    Enter secret pass phrase:
    SUCH HAD GEAR SLIM TAKE WEAN

    OPIE password : SUCH HAD GEAR SLIM TAKE WEAN inilah yang bisa digunakan oleh si tamu untuk login sekali pakai.

    Karena OPIE passwor ini cukup panjang, user tamu tersebut bisa menggunakan moe echo-on agar pengisian passwordnya bisa terlihat :

     

  6. Jika suatu saat terjadi sesi login dengan seed opt-MD5 sama atau kurang dari 5 karakter, maka Anda tidak bisa men-generate OPIE passwordinya via perintah opiekey, karena jika dipaksakan akan muncul pesan peringatan, seperti pada kasus berikut ini :

    opiekey 499 ko17
    Using the MD5 algorithm to compute response.
    Seeds must be greater than 5 characters long.

    Solusinya Anda login sebagai root atau superuser, lalu hapus entri username tamu di file /etc/opiekeys, lalu Anda perlu mengulang proses mulai nomor 1 hingga nomor 5 di atas.

  7. Anda bisa membatasi pemberlakuan OPIE password ini hanya dari host yang Anda ijinkan melalui pengaturan di file /etc/opieaccess, berikut adalah contohnya :

    permit 192.168.1.0 255.255.25.0

FreeBSD…begitu aman, begitu terpercaya.

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa