Sejarah Singkat
Bertahun lalu, di masa awal PC, IBM dan Sytec mengembangkan sebuah sistem
network yang disebut NetBIOS (Network Basic Input Operating System). NetBIOS
merupakan software yang menyediakan
interface antara program dan
hardware network. Pengalamatan dalam NetBIOS menggunakan nama 16 bit yang
sekarang dikenal sebagai NetBIOS Name. Di dalam lingkungan Windows NT,
NetBIOS Name disebut juga Computer Name.
Kemudian Microsoft menambahkan sebuah feature berupa I/O redirection,
sehingga sebuah resource local (printer, hard disk) bisa diakses
melalui network oleh komputer lain, dengan bentuk, bau dan rasa seperti
recource
local di komputer yang sedang mengakses tersebut. Jika anda pengguna LAN
Manager atau MS-DOS Client, anda tentu familiar dengan command "Net use
drive: \\computer name\share name" atau pengguna Windows dengan perintah
Map Network Drive. Keduanya membuat satu remote resource di komputer
yang menjalankan perintah tersebut seolah-olah berada di komputer itu.
Microsoft menyebut penambahan feature ini sebagai NetBEUI. Hal
ini yang kemudian disalah artikan bahwa NetBEUI merupakan protokol standar
dalam lingkungan network dari Microsoft. Padahal nama dari I/O Redirection
dari NetBEUI adalah SMB (Server Message Block) atau menurut istilah Microsoft
CIFS (Common Internet File System). Keterangan lengkap mengenai protokol
SMB ini bisa dibaca di RFC 1001 dan 1002.
Dalam protokol standar LAN Manager dan Windows (NetBEUI, alias SMB,
alias CIFS), hal terpenting yang menjadi urat nadinya adalah kemampuan
file dan print sharing, serta kemampuan browsing. Kemudian dengan munculnya
NT, ditambahkan dua feature tambahan yaitu
authentication
dan authorization untuk setiap servis yang akan diakses. Jadi jika
kita bicara NetBEUI, sebenarnya ada 2 komponen yang terdapat di dalamnya;
(1) NetBIOS sebagai pengenal komputer yang satu dengan lainnya dan (2)
I/O Redirection sebagai fasilitas untuk memberikan share dan mengakses
shared
resources komputer lain.
Samba dibuat dengan tujuan menjalankan dua proses tersebut dengan transport
protocol TCP/IP. Sebab jika kita mengakses komputer lain, kita pasti membutuhkan
satu transport protocol, di dalam lngkungan LAN Manager dan Windows, defaultnya
adalah NetBEUI, tapi Samba memakai TCP/IP. Pembuat Samba, Andrew Tridgell
mengawali idenya dari upaya untuk mencoba mengakses file di mesin Windows
istrinya dari mesin UNIX miliknya pada 1992. Kemudian berkembanglah tim
Samba, yang anggotanya antara lain Jeremy Allison, Jochen Hupert, Matthew
Harrell, Frank Varnavas dan beberapa orang lain yang tersebar di seluruh
dunia.
SAMBA
Samba di dalam LiNUX terdiri dari 2 daemon kunci :
smb dan nmbd,
keduanya ada di bawah /etc/rc.d/init.d (untuk RedHat)
Kedua daemon ini mampu melakukan 4 tugas dasar dari NetBEUI:
File
& Print Sharing,
Authentication
dan Authorization,
Name
Resolution dan
Browsing
dengan
pembagian tugas sebagai berikut:
smb
melakukan proses File & Print Sharing serta Authentication dan Authorization,
sedangnmbd melakukan proses Name Resolution dan Browsing
Bagaimana cara Kerja Protokol?
NetBEUI merupakan non-routable protokol yang bersifat
broadcast based. Dalam proses file dan print sharing, ada 2 proses yang
berjalan:
1. Mailslots
2. Named Pipes
Mailslot adalah proses unidirectional communication,
yang memungkinkan setiap kita membuka icon Network Neighborhood
di Desktop, kita dapat melihat komputer mana saja yang sedang on-line.
Analogi untuk keadaan ini sama seperti kalau satu komputer on-line dia
akan terus mengabarkan berita ke teman-temannya dalam satu domain, "Halo
saya Workstation satu, di node 5. Hubungi saya, ya?"
Sedang Named Pipes adalah proses bidirectional
communication. Proses ini terjadi begitu kita mengakses sebuah komputer,
kemudian kita melihat resource apa yang bisa dibuka di komputer tersebut
dan begitu kita berhasil masuk ke komputer tersebut dan menggunakan resource-nya,
maka terjadilah Named Pipes.
Proses ini mampu dilakukan juga dengan sangat
baik oleh Samba. Sebuah Samba server dapat memberi akses pada sebuah komputer
yang menjalankan Windows atau LAN Manager, atau MS-DOS Client untuk menggunakan
filenya.
Dengan berkembangnya TCP/IP, maka NT 4.0 menambahkan
satu feature yang disebut Windows Socket (Winsock.dll). Gunanya agar protokol
NetBEUI yang tidak bisa routing, bisa run-over protokol yang
bisa routing seperti TCP/IP. Para pengguna Novell Netware mungkin familiar
dengan istilah "IPX encapsulated with TCP/IP"., nah seperti itulah proses
NetBEUI yang run over TCP/IP. Di sini letak keunggulan Samba, karena setiap
proses RPC (Remote Procedure Call) membutuhkan satu protokol transport,
maka begitu kita install protokol TCP/IP di Windows, kemudian kita jadikan
IP address Samba sebagai WINS (Windows Internet Name Server) dari komputer
itu, maka... voala... Windows akan menganggap mesin LINUX kita sebagai
Windows.
WINS itu sendiri tidak lain adalah NetBIOS Name
Service (NBNS). Yang melakukan proses Name Resolution dan Browsing...oops,
sepertinya di atas saya sudah menulis kalau dua proses ini dijalankan oleh
nmbd...
Memang, WINS = NBNS, yang merupakan servis di
mana NetBIOS Name di-resolve ke IP address, mirip seperti DNS (Domain Name
Service) yang me-resolve IP adress ke host name.
Mengapa ini Bisa Terjadi?
Disebabkan oleh proses I/O redirection dari LAN Manager
dan Windows membutuhkan sebuah transport protocol, yang secara default
adalah NetBEUI. Tetapi dengan mengaktifkan WINS di Samba, kita sudah menjalankan
proses NBNS. Jadi name resolution yang selama ini disebut Microsoft sebagai
ciri khas Microsoft TCP/IP sebenarnya adalah NetBIOS Name Server, yang
sudah ada sejak dulu. .
Konfigurasi SAMBA
Samba hanya memiliki satu file konfigurasi yaitu
/etc/smb.conf
Struktur /etc/smb.conf
Smb.conf terdiri dari 2 bagian
[global], dan [share]
[global] merupakan konfigurasi dasar dari samba.
Di sini kita melakukan setting global seperti Workgroup kita. Setiap kita
menghilangkan komentar (yang ada tanda ;), maka baris itu akan dibaca oleh
smb dan nmbd.
Di [global] pula kita bisa menunjuk siapa yang
bisa mengakses Samba server kita dari Win95. Di baris...
guest account=.....
masukkan nama guest account, seperti guest. Tapi
satu hal yang perlu kita ingat, bahwa nama user tersebut terdaftar di /etc/passwd.
Sebab jika tidak klien 95 tidak akan bisa mengakses LINUX kita.
Bagaimana cara memasukkan user name?
Kita bisa memasukkan user dengan perintah
adduser nama_user , dari
terminal
Dengan memasukkan perintah ini, maka kita menaruh
satu input baru di file /etc/passwd. Di dalam file ini setiap user account
memiliki 7 field yang dipisahkan oleh titik dua, seperti berikut:
root:
*:0:0:root:/root:/bin/bash
bin:*:1:1:bin:/bin
Struktur /etc/passwd adalah seperti ini:
username : password : userID : groupID : komentar
: home directory : login command
Periksa apakah user guest ada di bawah, jika ada
maka password user itu yang harus kita masukkan saat kita mengakses Samba
Server dari Windows 95. Sedang jika dari NT Workstation, kita bisa memilih
user siapa yang kita pakai untuk mengakses Samba Server itu. Sebab Windows
NT memiliki option Connect As.
Jika cara edit itu agak sulit, bagi pengguna RedHat
bisa memakai linuxconf atau Control Panel di X Windows untuk menambah dan
mengedit user. Bagi pemakai SuSE bisa mengaktifkan yast.
Setelah itu maka mesin Samba kita akan jadi file
dan print server untuk Windows client.
Sedang [share] menentukan resource mana saja di
komputer kita yang bisa diakses klien.Contoh :
[CDROM]
Path
= /mnt/cdrom
guest
ok = yes
Dengan adanya baris tersebut di dalam file smb.conf
kita, maka kita memberi izin pada user untuk mengakses direktori /mnt/cdrom.
Di dalam RedHat /mnt/cdrom adalah direktori tempat kita melakukan mounting
terhadap /dev/cdrom atau cdrom kita.
ENCRYPTED PASSWORD
Salah satu masalah yang mungkin timbul adalah password.
Pada prinsipnya UNIX menggunakan "clear text authentication" sedang SMB
menggunakan encrypted password. Untuk itu sejak Samba 1.9.X.X, dibuat satu
shadow password samba di /etc/smbpasswd atau tergantung setting [global]
kita di dalam:
encrypt
password = yes
smbpasswd
file = /usr/local/samba/private/smbpasswd
Jika kita memilih untuk menggunakan encrypted
password, maka jalankan script smbpasswd.sh dengan menggunakan
cat /etc/passwd | mksmbpasswd >
/usr/local/samba/private/smbpasswd
Jika ada NIS di dalam network kita, bisa menggunakan
ypcat :
ypcat /etc/passwd | mksmbpasswd
> /usr/local/samba/private/smbpasswd
Dengan menggunakan perintah tersebut, kita mengkopi
seluruh isi passwd ke dalam file /usr/local/samba/private/smbpasswd. Kemudian
jangan lupa untuk memberi protection mode 500 alias r-x------ pada file
tersebut.
Jika kita hendak memaksa Windows 95/98 menggunakan
plain text password, di mesin Windows kita jalankan registry editor, kemudian
di bawah
\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP
Kita tambahkan DWORD value dari edit menu, di
mana entri "New Value #1" menjadi "EnablePlainTextPassword." Kemudian klik
dua kali item tersebut dan rubah nilainya menjadi 1
Khusus untuk NT (server dan workstation), di dalam
registry cari hive:
\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rdr\Parameters\
kemudian tambahkan baris EnablePlainTextPassword:REG_DWORD=1
Dengan demikian kita memaksa Windows (NT dan 95)
menggunakan sistem plain text password. Jika tidak, atau kembali ke setting
standar password Windows ubah nilai 1 menjadi 0. Penggunaan plain text
pasword tentu memiliki resiko, yang akan kita bahas di bawah ini.
Password SAMBA
dan Plain Text Password
Sekarang kita bicarakan mengenai password dan security.
Di dalam NT, encrypted password dilakukan lewat
mekanisme algoritme MD4 (detail bisa dilihat di RFC 1320, karena MD4 sendiri
merupakan standar encryption untuk SMB). Mekanisme sederhana dari MD4 encryption
adalah sebagai berikut: saat user memasukkan password dan menekan enter,
password dikapitalisasi kemudian sebelum 'on the fly di dalam network,
password dipotong-potong (truncated) menjadi nilai bytes dan begitu diterima
di server, password tersebut diubah menjadi 16 bytes dalam bentuk hashed
(=#) dan dikirim kembali ke client.
Setiap kali user memasukkan password, pengecekan
yang dilakukan adalah kecocokan password di server dan client. Makanya
di dalam lingkungan network NT, kita bisa punya pilihan untuk menyimpan
password.
Mekanisme ini juga merupakan dasar dari encryption
CHAP (Challenge Handshake Authentication Protocol), di mana server dan
client saling mengenali mengirimkan password, dan di dalam perjalanan saat
dikirim password dienkripsi menjadi nilai 14 bytes.
Kelemahan dari encrypted passwor SMB adalah password
disimpan di komputer client, sehingga dapat dengan mudah diacak. Terutama
di dalam Windows, di registry di bawah hive HKEY_CURRENT_USER, terdapat
file yang menunjukkan 16 bytes password dalam bentuk encrypted tentunya,
tapi sekali satu session terbuka antara server dengan client, maka
siapa pun dapat masuk ke dalam network dari komputer dimana user yang sedang
membuka session tersebut berada. Satu kelemahan lagi adalah kita
bisa mengedit password di dalam mesin yang menjalankan NT lewat network.
UNIX dan variannya, sebelum ditemukannya Kerberos
menggunakan plain text password, password yang dikirim ke server tidak
dienkripsi, namun dikirim sebagai plain text, akan tetapi password tidak
disimpan di mesin client. Kelemahan plain text password adalah pada saat
password dalam perjalanan ke server dan ada sniffer menangkap password
tersebut, itu merupakan hadiah gratis bagi sniffer tersebut. Untungnya
LiNUX sejak kernel 2.2.X telah mendukung penggunaan shadow password
dengan encryption level MD5.
Dengan menjalankan script smbpasswd, anda telah
membuat satu username dan password yang telah ter-enkripsi. Jadi tidak
perlu kuatir password anda di-sniff atau di-hack jika anda menggunakan
smbpasswd. Sebab security password-nya sama dengan security password Windows
dan LANManager.
Beberapa Tools Pendukung SAMBA
Ada banyak tools yang bisa digunakan sebagai tools
tambahan Samba, antara lain SMB2WWW, SWAT (Samba Web Admin Tools), atau
LinNeighborhood.
Semua tools (kecuali LinNeighborhood) ini bisa
anda dapatkan di homepage resmi samba : www.samba.org
Sebetulnya malah SWAT sudah ada di dalam setiap
distribusi Samba. Anda hanya tinggal mengaktifkannya saja, biasanya SWAT
ada di dalam /usr/bin/swat.
SWAT merupakan salah satu servis dari inetd, jadi
yang harus anda lakukan adalah mengedit 2 file: yaitu /etc/services dan
/etc/inetd.conf
Di etc/services tambahkan baris : swat
901/tcp
Baris tersebut menyatakan bahwa swat akan menggunakan
port 901 dari TCP (default Samba), atau bisa juga memakai port kosong yang
tidak dipakai (cek ke RFC 1060).
Kemudian di dalam /etc/inetd.conf tambahkan baris
swat stream tcp nowait.400 root
/usr/local/samba/bin/swat swat
Setelah itu, anda harus me-restart inetd, bisa
dengan mengirimkan pesan HUP atau cukup inetd restart.
Sedang LinNeighborhood bisa anda dapatkan di www.linuxberg.org
atau www.freshmeat.net.
Dengan adanya tools ini, terutama SWAT, para Network
Administrator yang dahulu biasa bekerja memakai NT yang tentunya terbiasa
dengan GUI Administrative Tools bisa mendapatkan kemudahan GUI seperti
NT di ketiga tools ini. Bahkan dengan SWAT, anda mampu melakukan remote
monitoring terhadap network, sekalipun anda di rumah dan tidak punya
mesin LiNUX.
Berikut ini adalah scren shot dari
SWAT
yang diakses dari mesin Windows 95
Penutup
Ada ucapan salah seorang pakar networking Indonesia
yang masih penulis ingat, "Kendala pengembangan IT di Indonesia adalah
pada masalah biaya. Sekarang solusinya adalah dengan menggunakan resource
yang murah dan berdaya guna." Maka di tengah krisis ekonomi sekarang, penggunaan
LiNUX maupun Operating System lain yang murah dan berdaya guna tinggi seperti
FreeBSD merupakan jawaban yang tepat. Khusus untuk file dan print server,
SAMBA merupakan pilihan yang paling tepat sebagai pengganti Windows NT.
Bahkan anda yang dulu biasa menggunakan tools
NFS dan NIS bisa menjadikan SAMBA sebagai alternatif Network File System.
Walau resikonya adalah proses brodacast SMB yang tentunya akan menyebabkan
network
traffic alias kecekek (bottleneck). Juga untuk tren SAN (Storage Area
Network) yang kini mulai hangat dibicarakan sebagai satu ektension dari
LAN dan WAN, kelihatan SAMBA mampu. Sekarang saatnya kita membuka jendela
dan wawasan baru, seperti semboyan SAMBA "Opening Window to a Wider
World."
by ZEN el GUAY
Source : https://www.elektroindonesia.com/elektro/li1099b.html