Selasa, 28 Februari 2012

Simple Security For Linux NFS Server




Setelah selesai dengan artikel tentang membangun NFS Server, kali ini saya akan membahas bagaimana untuk mengamankan NFS server yang ada, agar aman dan hanya yang berkepentingan saja yang dapat masuk kedalam share folder di NFS server.

Silahkan untuk dicoba petunjuk berikut :


1. Pastikan dan tentukan network atau IP yang akan mengakses folder sharing di NFS server sesuai policy atau aturan yang ingin dibuat.


Misalnya folder "coba" hanya boleh dari network "10.10.10.0/24" saja, dan folder "test" hanya boleh diakses dari ip "10.10.10.3" saja dengan permision tidak dapat menulis ke folder itu dan hanya bisa membaca saja. Untuk melakukan setting policy seperti ini ada di file "/etc/exports" pada NFS Server.

/coba 10.10.10.0/24(rw,sync,fsid=0)
/test 10.10.10.3(ro,sync,fsid=0)

2. Pasang Access List dengan IPtables di Linux, caranya dengan menambahkan baris dibawah ini pada file "/etc/sysconfig/iptables" :

-A RH-Firewall-1-INPUT -s 10.10.10.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT

Jangan lupa simpan perubahan pada file tersebut.


4. Restart service iptables nya :


# service iptables restart

5. TCP Wrapper Configuration, lakukan pengeblokan untuk semua port NFS :

# vi /etc/hosts.deny

tambahkan baris dibawah berikut ini :

portmap:ALL

6. Setelah itu tambahkan permit atau izin untuk IP atau network yang diperbolehkan untuk mengakses NFS server :

# vi /etc/hosts.allow

tambahkan baris dibawah berikut ini :

portmap:10.10.10.0/24

(Untuk IP 10.10.10.3 tadi sudah termasuk di dalam network 10.10.10.0/24, jadi tidak perlu di permit lagi)


Selesai, dengan cara sederhana diatas maka kita sudah mengamankan NFS server secara basic. Jika mau lebih aman bisa dipasangkan juga portsentry pada server NFS nya.


Semoga dapat bermanfaat untuk saya pribadi dan teman semua :)


Dony Ramansyah
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Membuat NFS Server Versi 4 di Linux Centos 6




Sebelumnya saya pernah menjelaskan artikel untuk membangun NFS Server di Centos 5 dan Client NFS nya adalah Ubuntu disini

Saat ini saya akan membahas membangun NFS Server Versi 4 di Centos 6. Caranya hampir sama kok dengan artikel saya sebelumnya.

Berikut beberapa perbedaan NFS versi 4 dengan versi sebelumnya :

- Performance improvements
- Mandates security and ACL
- NFS v4 by default works over TCP s
- Easy to setup firewall option
- Dan banyak lagi.

OK, Sekarang untuk setting server NFS nya, misalnya IP server NFS adalah 10.10.10.1 :

1. Install paket yang dibutuhkan :

# yum install nfs-utils nfs4-acl-tools portmap

Loaded plugins: downloadonly, protectbase, rhnplugin, security, verify
0 packages excluded due to repository protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils.x86_64 1:1.0.9-44.el5 set to be updated
---> Package nfs4-acl-tools.x86_64 0:0.3.3-1.el5 set to be updated
---> Package portmap.x86_64 0:4.0-65.2.2.1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
nfs-utils x86_64 1:1.0.9-44.el5 rhel-x86_64-server-5 390 k
nfs4-acl-tools x86_64 0.3.3-1.el5 rhel-x86_64-server-5 44 k
portmap x86_64 4.0-65.2.2.1 rhel-x86_64-server-5 38 k
Transaction Summary
================================================================================
Install 3 Package(s)
Upgrade 0 Package(s)
Total download size: 472 k
Is this ok [y/N]: y
Downloading Packages:
(1/3): portmap-4.0-65.2.2.1.x86_64.rpm | 38 kB 00:00
(2/3): nfs4-acl-tools-0.3.3-1.el5.x86_64.rpm | 44 kB 00:00
(3/3): nfs-utils-1.0.9-44.el5.x86_64.rpm | 390 kB 00:00
--------------------------------------------------------------------------------
Total 1.2 MB/s | 472 kB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : portmap 1/3
Installing : nfs4-acl-tools 2/3
Installing : nfs-utils 3/3
Installed:
nfs-utils.x86_64 1:1.0.9-44.el5 nfs4-acl-tools.x86_64 0:0.3.3-1.el5
portmap.x86_64 0:4.0-65.2.2.1
Complete!


2. Setelah selesai install paket NFS servernya, sekarang setting folder yang akan di sharing melalui NFS, Untuk editnya ada di file /etc/exports


# vi /etc/exports

Isi file tersebut dengan contoh berikut :

/coba 192.168.1.0/24(rw,sync,fsid=0) 10.10.10.0/24(rw,sync,fsid=0)

Isi file exports diatas menjelaskan bahwa folder yang akan di share adalah folder dengan nama "coba" dengan permision rewrite (dapat ditulis dan dibaca), dan IP atau Network yang di permit adalah 192.168.1.0/24 dan 10.10.10.0/24.

3. Pastikan agar service NFS Server berjalan secara otomatis pada saat booting :

# chkconfig nfs on
# chkconfig portmap on

4. Jalankan service NFS nya :

# service portmap start <-- untuk agar support NFSv3
# service nfs start

Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]

5. Selesai, Untuk mengecek koneksi NFS servernya dapat dilihat dengan perintah :

# nfsstat

Server rpc stats:
calls badcalls badauth badclnt xdrcall
28131 0 0 0 0
Server nfs v3:
null getattr setattr lookup access readlink
10 0% 12302 58% 62 0% 166 0% 2122 10% 35 0%
read write create mkdir symlink mknod
7 0% 4039 19% 52 0% 3 0% 0 0% 0 0%
remove rmdir rename link readdir readdirplus
47 0% 2 0% 6 0% 0 0% 1 0% 2273 10%
fsstat fsinfo pathconf commit
21 0% 13 0% 0 0% 4 0%
Server nfs v4:
null compound
8 0% 6726 99%
Server nfs v4 operations:
op0-unused op1-unused op2-future access close commit
0 0% 0 0% 0 0% 54 0% 2019 7% 0 0%
create delegpurge delegreturn getattr getfh link
0 0% 0 0% 1 0% 8563 30% 2094 7% 0 0%
lock lockt locku lookup lookup_root nverify
0 0% 0 0% 0 0% 78 0% 0 0% 0 0%
open openattr open_conf open_dgrd putfh putpubfh
2022 7% 0 0% 14 0% 0 0% 6710 24% 0 0%
putrootfh read readdir readlink remove rename
12 0% 70 0% 16 0% 7 0% 5 0% 3 0%
renew restorefh savefh secinfo setattr setcltid
1 0% 2022 7% 2025 7% 0 0% 4 0% 5 0%
setcltidconf verify write rellockowner
5 0% 0 0% 2003 7% 0 0%



Sekarang kita lanjutkan dengan NFS client nya, NFS client disini juga menggunakan Centos 6.

1. Install juga paket NFS nya :


# yum -y install nfs-utils

2. Setelah selesai install NFS paketnya, pastikan servicenya UP otomatis pada saat linux booting :

# chkconfig nfslock on
# chkconfig netfs on

3. Buat folder untuk tempat mounting NFS nya :

# mkdir /mnt/nfs

4. Lakukan mounting folder NFS yang ada di server :

# mount -t nfs4 10.10.10.1:/coba /mnt/nfs

5. Untuk mengecek apakah folder NFS yang ada di server sudah ter-mounting apa belum dapat dilihat dengan cara :

# df -h

6. Untuk membuat agar folder NFS tersebut sudah ter-mount secara otomatis di client, maka silahkan tambah baris ini pada file /etc/fstab :

10.10.10.1:/coba /mnt/nfs nfs soft,intr,rsize=8192,wsize=8192,rw


Selesai, Mudah-mudahan bermanfaat juga untuk teman semua :)


Dony Ramansyah
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Cara Partisi dan Format Disk Baru Di Linux (ext3)




Artikel ini saya tulis ulang sebagai referensi saya pribadi dan mudah-mudahan bermanfaat juga untuk teman pembaca semua. Berikut ini saya akan coba memberikan artikel tentang bagaimana cara melakukan partisi dan format disk baru di linux dengan format partisi ext3.

Misal nya kita sudah menambahkan hardisknya yang baru pada komputer atau server, nah sekarang tinggal lihat path yang muncul dengan perintah :

# fdisk -l

Misalnya hasil dari perintah diatas, hardisk yang baru sebesar 100GB dan pathnya /dev/hdb

Pertama kali harus dilakukan pembuatan partisi baru, Berikut caranya :

[root@dony ~]# fdisk /dev/hdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.


The number of cylinders for this disk is set to 4865.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-4865, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-4865, default 4865): 4865

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 83

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.


Setelah selesai dengan pembuatan partisi baru, maka didapat path partisi yang baru yaitu : /dev/hdb1.

Kemudian dilanjutkan dengan melakukan format pada disk tersebut, berikut caranya :


[root@dony ~]# mkfs.ext3 -b 4096 /dev/hdb1
mke2fs 1.27 (8-Mar-2002)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
4889248 inodes, 9769520 blocks
488476 blocks (5.00%) reserved for the super user
First data block=0
299 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.


Setelah Setelai format, tinggal di mount di /etc/fstab :

# vi /etc/fstab

Isikan seperti baris perintah yang dicetak tebal :

LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hdb1 /db ext3 defaults 1 1
/dev/hda2 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0


Kemudian agar fstab nya dapat aktif tanpa restart server / komputer, ikuti langkah berikut :

[root@dony ~]# mount /db

[root@dony ~]# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda3 37191660 11016692 24285724 32% /
/dev/hda1 101089 12130 83740 13% /boot
none 515524 0 515524 0% /dev/shm
/dev/hdb1 38464340 32828 36477608 1% /db


Selesai, Semoga bermanfaat untuk teman pembaca semua.


Dony Ramansyah
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Rabu, 01 Februari 2012

Install Oracle Client dan OCI8 di Centos 6.2




Tutorial ini saya tulis sebagai referensi pribadi saya dan semoga bermanfaat juga untuk teman pembaca semua.

Kali ini saya ingin sedikit share bagaimana caranya melakukan instalasi oracle instant client dan OCI8 pada server Centos untuk kebutuhan koneksi ke database oracle. yang dibutuhkan disini adalah oracle client dan oci8 yang harus di install di Centos 6.2. Disini dengan syarat apache dan php nya sudah diinstall terlebih dahulu :

# yum -y install httpd php

langkah-langkahnya adalah sebagai berikut :


1. Download paket pendukung yang dibutuhkan :


# yum -y install gcc wget openssh php-devel php-pear libaio

2. Download oracle instant client (basic dan devel) dari :

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

3. Install paket RPM yang sudah di download tadi :

# rpm -ivh oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm
Preparing... ########################################### [100%]

# rpm -ivh oracle-instantclient11.2-devel-11.2.0.1.0-1.x86_64.rpm
Preparing... ########################################### [100%]

4. Buat link untuk path instalasi nya :

# echo /usr/include/oracle/11.2/client/lib/ > /etc/ld.so.conf.d/oracle_client.conf


5. Download oci8 package dari :


http://pecl.php.net/package/oci8

Pilih versi versi terbaru :

# wget http://pecl.php.net/get/oci8-1.4.7.tgz
--2012-02-01 19:08:46-- http://pecl.php.net/get/oci8-1.4.7.tgz
Resolving pecl.php.net... 76.75.200.106
Connecting to pecl.php.net|76.75.200.106|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 168584 (165K) [application/octet-stream]
Saving to: “oci8-1.4.7.tgz”

100%[=================================================================================>] 168,584 87.5K/s in 1.9s

6. Install paket nya :

# pecl install oci8-1.4.7.tgz

Pada bagian ini :

Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] :

Masukan path oracle clientnya :

Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] : instantclient,/usr/lib/oracle/11.2/client64/lib/

7. Masukan baris ini pada file /etc/php.ini :

extension=/usr/lib64/php/modules/oci8.so

8. Setelah itu restart service apache nya :

# /etc/init.d/httpd restart

Selesai.., untuk mengecek nya silahkan buat file phpinfo, caranya lihat disini :

http://kb.mediatemple.net/questions/764/How+can+I+create+a+phpinfo.php+page%3F#gs

Dan kemudian jalankan di browser : http://localhost/phpinfo.php



Jika sudah muncul modul oci8 seperti gambar diatas, maka instalasi oracle client dan modul oci8 nya sudah berhasil.


Dony Ramansyah
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Upgrade PHP 5.3.9 di Linux Centos 6.2 - 64bit




Tutorial ini saya buat sebagai referensi pribadi saya dan mudah-mudahan bermanfaat juga untuk teman pembaca semua.

PHP yang ada pada centos 6.2 defaultnya yang terbaru adalah versi 5.3.3 :

# php -v
PHP 5.3.3 (cli) (built: Jan 11 2012 19:53:01)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies


Dan ternyata versi ini masih memiliki kelemahan atau vulnerability jika di DDos maka akan down service httpd nya. Untuk itu harus di upgrade ke versi 5.3.9.

PHP versi 5.3.9 ini tidak ada pada default repository milik centos 6.2. Untuk itu kita harus download manual php nya dan melakukan instalasi file rpm yang dibutuhkan.

Berikut langkah-langkahnya :

1. Download file php yang dibutuhkan :

# wget http://atoomnet.net/php/php-5.3.9/php-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-cli-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-common-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-dba-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-devel-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-embedded-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-gd-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-ldap-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-mbstring-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-mysql-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-pdo-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-process-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-soap-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-tidy-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-xml-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-xmlrpc-5.3.9-1.el6.x86_64.rpm
# wget http://atoomnet.net/php/php-5.3.9/php-zts-5.3.9-1.el6.x86_64.rpm

2. Lakukan instalasi file yang sudah di download :

# rpm -ivh *.rpm
Preparing... ########################################### [100%]
1:php-common ########################################### [ 6%]
2:php-cli ########################################### [ 13%]
3:php ########################################### [ 19%]
4:php-pdo ########################################### [ 25%]
5:php-mysql ########################################### [ 31%]
6:php-devel ########################################### [ 38%]
7:php-dba ########################################### [ 44%]
8:php-embedded ########################################### [ 50%]
9:php-gd ########################################### [ 56%]
10:php-ldap ########################################### [ 63%]
11:php-mbstring ########################################### [ 69%]
12:php-process ########################################### [ 75%]
13:php-soap ########################################### [ 81%]
14:php-xml ########################################### [ 88%]
15:php-xmlrpc ########################################### [ 94%]
16:php-zts ########################################### [100%]


3. Restart service apache nya :

# /etc/init.d/httpd restart

Selesai, sekarang versi php nya sudah di upgrade ke versi 5.3.9 :

# php -v
PHP 5.3.9 (cli) (built: Jan 14 2012 21:15:53)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies


Dony Ramansyah
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Install Gnome Shell di Ubuntu 11.10




Bagi anda yang menggunakan distro linux ubuntu 11.10, mungkin ingin mencoba tampilan desktop GUI milik Gnome3 yang cukup cantik menurut saya. Untuk itu silahkan mengikuti tutorial berikut :

1. Add repo gnome3 pada ubuntu 11.10 anda :

$ sudo add-apt-repository ppa:gnome3-team/gnome3

2. Update data repo ubuntu nya :

$ sudo apt-get update

3. Install packet gnome3 nya :

$ sudo apt-get install gnome-shell

Selesai, anda tinggal logout dan login kembali dengan memilih GUInya adalah Gnome pada halaman login.

cukup mudah kan.., berikut tampilan gnome-shell :



Untuk lebih lengkapnya mengenai gnome3 ini silahkan lihat di : http://www.gnome.org/gnome-3/

Semoga bermanfaat untuk teman semua.


Dony Ramansyah
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171