Selasa, 08 Desember 2009

Sedikit Tentang iptables di Linux

Linux menggunakan IPTABLES sebagai firewall-nya, sedikit tentang
konfigurasi IPTABLES :
iptables memiliki 3 tabel firewall yaitu, tabel INPUT ( tabel filter untuk paket yang
berasal dari luar ), OUTPUT ( sebaliknya dari tabel INPUT), FORWARD ( tabel filter un
tuk paket yang akan di forward ke luar atau kedalam firewall ) CMIIW :)
Asumsikan kita ada 2 komputer, komputer A dengan ip 192.168.100.3 /24, dan komputer B dengan ip 192.168.100.8 /24.

Komputer A



Komputer B

Jika kita ingin komputer A men-drop semua paket dari luar :

redarix:/ # iptables -P INPUT DROP



Kita coba ping dari komputer B ( 192.168.100.8 /24), hasilnya akan didrop oleh komputer A.


Jika paket yg diinginkan oleh komputer A hanya icmp dari komputer B :

redarix:/ # iptables -A INPUT -p icmp -s 192.168.100.8 -j ACCEPT


*ket: perintah diatas menambahkan policy pada tabel INPUT, protocol icmp yang bersumber dari ip 192.168.100.2, maka paket icmp tersebut akan diterima.

Kita coba ping ke komputer A, maka paket icmp akan diterima.


Jika komputer A hanya ingin membuka port 22 untuk komputer B :

redarix:/ # iptables -A INPUT -p tcp -s 192.168.100.8 --dport 22 -j ACCEPT



Kita coba test ssh gunakan telnet di windows.

c:\>telnet 192.168.100.3 22

Jika hasilnya seperti gambar dibawah maka port 22 sudah dibuka oleh komputer A

Running fsck after reboot

Pernah jalankan chkdsk [nama-drive] /F di windows!, itu akan check harddisk di windows setelah restart. Tapi kalau di linux, anda bisa jalankan perintah ini.

redarix:/home/syahal # shutdown -rF now

ket : r = reboot after shutdown
F= Force fsck on reboot

Perintah itu akan check disk anda setelah reboot dari linux.

Rabu, 02 Desember 2009

File Server di Linux openSUSE dengan Samba Server

1. Asumsi, sudah terdapat samba server di linux.

2. Oke, kita buat skenario-nya :
Kita buat Ada 3 Departement :
  • hrd
  • marketing
  • operation
user dari 'hrd' adalah danie ( akses-nya read + write )
user dari 'marketing' adalah ragil ( akses-nya read + write )
user dari 'operation' adalah pry ( akses-nya read + write )
masing - masing user bekerja pada direktori mereka masing - masing, kecuali user 'mursani' yang,bisa mengakses semua direktori mereka.
* Sorry guys, nama kalian digunakan tanpa permisi :)


3. Buat masing - masing folder. Khusus untuk folder public, folder tersebut bisa siapa saja bisa read + write oleh siapa saja :

redarix:/DATA/ # mkdir -p shared/{hrd,marketing,operation,public}

Setelah kita buat, maka akan terbuat struktur direktori-nya :


shared :
  • hrd
  • marketing
  • operation
  • public


4. Lalu kita buat user tanpa shell, dan buat group :

redarix:/DATA/ # useradd -s /sbin/nologin hrd
redarix:/DATA/ # useradd -s /sbin/nologin marketing
redarix:/DATA/ # useradd -s /sbin/nologin operation


kita buat group hrd, marketing, operation :

redarix:/DATA/ # groupadd hrd
redarix:/DATA/ # groupadd marketing
redarix:/DATA/ # groupadd operation

kita masukan user danie, ragil, pry, mursani ke dalam group masing - masing, khusus untuk user mursani, user tersebut masuk kedalam semua group :

redarix:/DATA/ # useradd -s /sbin/nologin -G hrd danie
redarix:/DATA/ # useradd -s /sbin/nologin -G marketing ragil
redarix:/DATA/ # useradd -s /sbin/nologin -G operation pry
redarix:/DATA/ # useradd -s /sbin/nologin -G hrd,marketing,operation mursani


5. Lalu kita buat ownership dari folder 'hrd','marketing','operation','public' :

redarix:/DATA/ # chown hrd.hrd hrd/ && chmod 770 hrd/ && marketing.marketing marketing/ && chmod 770 marketing && chown operation.operation operation/&& chmod 770 operation && chmod 777 public/


6. Kita buat password untuk masing-masing user :

redarix:/DATA/ # smbpasswd -a danie
redarix:/DATA/ # smbpasswd -a ragil
redarix:/DATA/ # smbpasswd -a pry
redarix:/DATA/ # smbpasswd -a mursani

7. Kemudian kita edit konfigurasi dari /etc/samba/smb.conf gunakan text editor favoritanda, saya sendiri
lebih prefer menggunakan vi editor :)
isi dari smb.conf sebagai berikut :


# smb.conf is the main Samba configuration file. You find a full commented
# version at /usr/share/doc/packages/samba/examples/smb.conf.SUSE if the
# samba-doc package is installed.
# Date: 2009-10-27
[global]
workgroup = WORKGROUP
passdb backend = tdbsam
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = Bad User
include = /etc/samba/dhcp.conf
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
usershare allow guests = Yes
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
domain logons = Yes
domain master = Yes
local master = Yes
os level = 65
preferred master = Yes
security = user

# context dari [global] diatas sudah di-generate otomatis dari Yast ( jika anda menggunakan
# openSUSE sebagai file server ) Untuk variabel "security", kita tambahkan nilai "user" agar
# file server yang diakses akan meminta username dan password.

[public]
browseable = Yes
comment = public's docs
guest ok = Yes
inherit acls = Yes
path = /DATA/shared/public
read only = No


[hrd]
writeable = Yes
browseable = Yes
comment = hrd's docs
create mask = 0770
directory mask = 0770
force create mode = 0770
force directory mode = 0770
path = /DATA/shared/hrd

[marketing]
writeable = Yes
browseable = Yes
comment = hrd's docs
create mask = 0770
directory mask = 0770
force create mode = 0770
force directory mode = 0770
path = /DATA/shared/marketing

[operation]
writeable = Yes
browseable = Yes
comment = hrd's docs
create mask = 0770
directory mask = 0770
force create mode = 0770
force directory mode = 0770
path = /DATA/samba/operation

8. Simpan konfigurasi dari /etc/samba/smb.conf, lalu jalankan service samba :

redarix:/DATA/samba # /etc/init.d/smb start


9. Terakhir, kita coba hasil dari setup file server yang kita buat :
  • dari linux : - coba ketik dibawah ini di konqueror.
smb://192.168.100.1 ( selain IP, bisa menggunakan computer name )


  • dari windows : - bisa langsung masuk ke "My Network Places".

10. Selesai, simple :)