Teori Network / Jaringan Pendahuluan Dalam membangun sebuah network diperlukan paling tidak sebuah protokol komunikasi. Protokol komunikasi yang umum digunakan saat ini adalah protokol komunikasi TCP/IP. Protokol bertugas untuk mengatur tata cara komunikasi antar perangkat (misalnya komputer). Protokol TCP/IP sudah diterapkan hampir pada seluruh perangkat telekomunikasi mulai dari perangkat telekomunikasi yang mudah kita jumpai sehari-hari – seperti telepon genggam, PDA, IPOD touch– sampai perangkat-perangkat pada industri – seperti PLC, DCS, dan sebagainya. Protokol TCP/IP mendukung berbagai perangkat tersebut tidak lain adalah karena kelebihan-kelebihan yang dimilikinya, antara lain: • merupakan standar yang terbuka sehingga setiap vendor bebas untuk mengaplikasikannya di setiap perangkat mereka, • dapat dihubungkan ke semua perangkat yang menggunakan protokol TCP/IP karena menggunakan standar yang sama • dapat dikembangkan oleh semua orang sehingga setiap ada kekurangan dapat segera diperbaiki. Arsitektur TCP/IP Model OSI/ISO Open System Interconnection (OSI) merupakan standar komunikasi komputer yang dikeluarkan oleh International Organization for Standardization (ISO) –yang merupakan badan standardisasi internasional. Model OSI ini menjadi standar dalam bidang komunikasi terutama networking di dunia pendidikan secara internasional. Model OSI membagi komunikasi menjadi 7 lapisan (layer), seperti yang ditunjukkan pada gambar di bawah ini. Application Presentation Session Transport network Data Link Physical Gambar Layer OSI
1
Fungsi dari setiap layer tersebut dapat dilihat pada tabel di bawah ini. Nama Layer Application (Layer 7)
Fungsi
Contoh
Berkomunikasi antar aplikasi (services).
HTTP, NFS, NTP, FTP
Mempresentasikan format data, seperti ASCII, enkripsi, jpeg, dll
MIME, XDR
Session (Layer 5)
Membangun, mengelola, dan mengakhiri koneksi
TCP, SIP, RTP
Transport (Layer 4)
Menyediakan layanan transfer data yang handal untuk lapisan atas
TCP, UDP, SCTP, SSL, TLS
network (Layer 3)
Pengalamatan, routing, dan deteksi error
IP, IP Security, ICMP, IGMP, OSPF
Data Link (Layer 2)
Mengatur pengiriman, mendeteksi, dan memperbaiki error yang mungkin terjadi pada
PPP, SLIP, PPTP, L2TP
Physical (Layer 1)
Mengirimkan sinyal yang merepresentasikan 0 dan 1 melalui medium.
Ethernet, tokenring, RS232, RJ45, d.l.l.
Presentation (Layer 6)
Model TCP/IP Application TCP
UDP IP
Network Interface
(a) Application Presentation Session Transport Network Datalink Physical
Application TCP
UDP
IP Datalink Physical
(b) Gambar (a) Model TCP/IP dengan 4 layer, (b) Model TCP/IP dengan 5 layer dan perbandingannya dengan OSI Layer
Model TCP/IP terdiri dari 4 layer tapi dalam beberapa buku terkadang disebutkan juga 5 layer. Pada gambar diatas ditunjukkan kesetaraan antara model OSI dan model TCP/IP. Layer Physical dan Datalink pada model TCP/IP dan OSI memiliki fungsi yang sama. Layer IP memiliki fungsi yang sama dengan layer network pada model OSI. Pada layer ini terdapat pengalamatan (alamat IP) dan proses routing. Pada layer transport, pada model TCP/IP dibagi menjadi dua bagian yaitu TCP dan UDP. TCP menyediakan transmisi yang berorientasi koneksi, dimana dalam melakukan komunikasi akan dibangun terlebih dahulu 2
koneksi dan dilakukan pemutusan koneksi ketika transmisi berakhir. Pada kenyataannya sebagian dari TCP terdapat pada layer Session karena TCP mengatur dan menjaga sesi koneksi agar tetap terhubung. UDP adalah transmisi yang bersifat connectionless. UDP tidak menjamin data sampai pada tujuan sehingga UDP bukan merupakan protokol yang handal dalam pengiriman data. Protokol UDP ini sering digunakan dalam komunikasi realtime atau streaming yang tidak terlalu memperhatikan kelengkapan data tapi lebih memperhatikan waktu delay. Alamat IP Alamat IP terdiri dari 32 bit yang dibagi menjadi 4 bagian yang dipisahkan oleh titik dan masing-masing terdiri dari 8 bit yang dituliskan dalam bentuk desimal. Contoh: 167
.
205
.
22
.
123
10100111
.
11001101
.
00010110
.
01111011
Kelas-kelas IP Alamat IP dibagi menjadi beberapa kelas. Setiap kelas memiliki fungsi masing-masing dalam penggunaannya. Pembagian kelas tersebut adalah sebagai berikut Kelas Panjang Alamat network
Angka Pertama pada alamat IP
Jumlah IP lokal yang dimiliki
A
1 byte
0-127
16.777.216
B
2 byte
128-191
65.536
C
3 byte
192-223
256
D
4 byte
224-239
N/A
E
5 byte
240-255
N/A
Penggunaan kelas A sampai kelas C didasarkan pada kebutuhan IP suatu instansi, organisasi atau pun perusahaan. Kelas D merupakan rentang IP yang dialokasikan penggunaanya untuk Multicast sedangkan kelas E merupakan rentang IP yang dialokasikan untuk kegiatan eksperiment. Alamat Network Alamat network merupakan alamat IP pertama pada suatu network. Misalnya suatu network memiliki jumlah IP 256, yaitu 167.205.22.0 – 167.205.22.255 maka alamat network di atas adalah 167.205.22.0 Alamat Broadcast Alamat Broadcast adalah alamat IP terakhir pada suatu network. Pada contoh di atas alamat broadcast-nya adalah 167.205.22.255 Alamat Loopback Alamat loopback adalah alamat yang mengacu pada host itu sendiri, yaitu 127.0.0.0 atau “localhost”.
3
Tipe transmisi 1. Unicast Unicast adalah tipe transmisi satu ke satu dimana host hanya berkomunikasi dengan satu host saja. 2. Multicast Multicast adalah tipe transmisi satu ke banyak dimana dalam berkomunikasi pengirim dapat mengirimkan data ke banyak host dalam satu kali pengiriman. 3. Broadcast Broadcast adalah tipe transmisi satu ke banyak dimana pengirim mengirimkan data ke semua host yang berada dalam satu network. Subnetwork (subnet) Subnetwork adalah pembagian network menjadi kelompok-kelompok network yang lebih kecil. Pemecahan ini dimaksudkan untuk mempermudah pengelolaan dan pengawasan network. Dengan adanya subnet, alamat suatu network dituliskan dengan diikuti dengan prefix dari network tersebut yang biasa juga disebut dengan istilah netmask. Sebagai Contoh • 167.205.22.0 netmask 255.255.255.128 • 167.204.22.0/25 Angka 25 pada prefix didapat dari jumlah bit dari 255
255
255
128
11111111
1111111 1
111111 11
10000000
8
+
8
+
8
+
1
Jumlah alamat IP yang terdapat pada setiap network dapat dihitung dengan rumus 2n dimana n adalah jumlah bit 0. Alamat IP pertama dan terakhir pada suatu network sudah digunakan sebagai alamat network dan alamat broadcast maka alamat IP yang dapat digunakan adalah sebanyak 2n-2 Subnet yang mungkin pada satu kelas C. Notasi CIDR
netmask
Network yang ada
host per network
Host yang dapat digunakan
/24
255.255.255.0
1
254
254
/25
255.255.255.128
2
126
252
/26
255.255.255.192
4
62
248
/27
255.255.255.224
8
30
240
/28
255.255.255.240
16
14
224
/29
255.255.255.248
32
6
192
/30
255.255.255.252
64
2
128
/31 255.255.255.254 *hanya pada point-to-point
128
2*
256
4
Contoh: Misalkan terdapat host dengan alamat IP 167.205.23.77/26 maka host tersebut tersebut berada pada subnet yang memiliki jumlah alamat IP sebanyak 64 buah. Jika subnet dengan alamat network 167.205.23.0 memiliki jumlah alamat IP yang sama juga atau dengan kata lain memiliki netmask atau prefix yang sama, maka alamat IP 167.205.23.77 merupakan subnet kedua pada network tersebut. Segmen subnet 167.205.23.0/26 memiliki rentang alamat IP dari 167.205.23.0-63 sehingga segmen selanjutnya memiliki alamat network 167.205.23.64/26 dengan rentang alamat IP 167.205.23.64-127. Dengan begitu dapat dilihat bahwa alamat IP tersebut terletak pada alamat network 167.205.23.64/26 dan memiliki alamat broadcast 167.205.23.127.
5
Server DNS Pendahuluan DNS yang merupakan kepanjangan dari Domain Name System merupakan suatu hireraki dari database yang terdistribusikan. Database tersebut berisi pemetaan dari nama suatu host ke alamat IP dan sebaliknya. Agar client dapat mengakses suatu service, yang dapat dilakukan adalah memanggil alamat IP nya namun hal yang sangat merepotkan jika kita harus memasukkan alamat IP untuk mengakses suatu komputer. Oleh karena itu, untuk memudahkan manusia yang lebih terbiasa dengan kata atau nama dibanding serentetan angka maka digunakanlah DNS ini. Struktur Hirarki DNS Struktur database DNS menyerupai struktur tree (pohon) dan terbagi-bagi ke dalam kelompok dan hirarki tersebut disebut sebagai Domain Name Space. Pada puncaknya disebut root node, pada setiap node dalam tree tersebut mempunyai keterangan berupa label misalnya .org , .com, .edu, .net, dsb yang relative terhadap puncaknya (parent). Kemudian di kenal sebuah istilah Domain Name Space. Domain name space dapat digambarkan :
Root-Level Domains : merupakan hirarki level paling atas, merupakan zone terbesar atau merupakan sistem DNS global yang di buat untuk internet. Zone ini di manage oleh IANA (Internet Assigned Numbers Authority) dan IANA berada di bawah ICAAN (Internet Corporation for Assigned Names and Numbers). Top-Level Domains : digunakan untuk pengelompokan tertentu, misalnya .org untuk organisasi non profit, .edu untuk pendidikan atau universitas, .com untukorganisasi komersial, dan dua huruf untuk negara, misalnya id (Indonesia) , il (israel), .sg (singapura) , dsb. Second-Level Domains : dapat berisi host ataupun subdomain lain, dan ilustrasi seperti pada gambar. Host : domain name yang digunakan dengan host name akan menciptakan Fully Qualified Domain Name (FQDN) untuk setiap komputer. Misalnya, jika terdapat www.itb.ac.id maka www adalah hostname dan itb.ac.id adalah domain name.
6
Cara Kerja DNS Server Ketika query dilakukan (bisa berupa ping, dig, host, nslookup, dsb) ke suatu host, misalnya www.itb.ac.id maka name server akan memeriksa apakah ada record host tersebut di cache name server lokal, jika ada maka akan langsung di peroleh jawaban yang diminta namun jika tidak, name server lokal akan melakukan query kepada name server “.id” root server dan mereferensikan name server untuk Top-Level Domains “.id”, kemudian name server lokal melakukan query yang sama dengan mereferensikan “.ac.id” dan name server lokal kembali mengirimkan query “www.itb.ac.id” dengan mengirimkan “www.itb.ac.id” ke name server lokal dan akhirnya mendapatkan jawaban yang diminta. Dapat di ilustrasikan :
Jenis DNS Server • Primary NS : disebut juga Master NS, merupakan NS yang menyimpan database hostname dan IP suatu zone. Primary NS merupakan acuan bagi secondary NS. Primary NS bersifat authorative. • Secondary NS : disebut juga Slave NS, merupakan NS cadangan atau backup yang memperoleh informasi dari primary NS. Setiap ada informasi yang di update dari Primary NS, dan ini di lihat dari serial number dari Primary NS yang menandakan adanya perubahan di Primary NS, jika serial number tersebut berbeda maka akan di lakukan transfer ulang dari Primary NS. Jika Primary NS mengalami down, Secondary NS lah yang akan menggatikan Primary Ns. Secondary NS bersifat authorative. • Caching NS : Ns ini hanya melakukan caching data dari zona lain. Data yang dipertahankan biasanya hanya 8 jam dan jika client memerlukan informasi suatu IP address maka akan dicari terlebih dahulu dari data caching yang ada. Caching NS tidak bersifat authorative. Instalasi DNS Server Misalnya, yang akan kita install adalah primary NS dan asumsikan souces.list telah tertuju 7
pada alamat yang benar, untuk menginstall DNS daemon dapat menggunakan paket yang ada di repository : bind9 BIND (Berkeley Internet Name Domain) merupakan daemon dari DNS server. # aptget install bind9
Konfigurasi DNS Server Konfigurasi ini dibuat untuk DNS Server sevagai Primary Master Name Server. Konfigurasi named.conf Konfigurasi named.conf merupakan konfigurasi utama yang dibaca saat bind dijalankan. Konfigurasi ini berisi tentang letak database dan letak file-file yang dibutuhkan. Script yang dijalankan merupakan script yang terlingkupi kurung kurawal “{ … }” dan diakhiri dengan Semicolon “;” . Script yang dijalankan memiliki sifat case sensitive. Format umum dari named.conf yang biasanya digunakan : options { … }; zone “nama_zona1” [kelas] { … }; zone “nama_zona2” [kelas]{ … }; zone “nama_zona3” [kelas]{ … }; …. dst
Untuk server ubuntu, file konfigurasi named.conf terletak default di /etc/bind/ . Edit file named.conf : # mcedit /etc/bind/named.conf
options : berisi statement mengenai pengaturan umum dan sifat global dari sebuah scope untuk semua zona options { directory “/etc/bind” ; };
directory forwarders
: :
merupakan direktori kerja, yaitu letak database menyatakan list dari nameserver yang akan diteruskan paketnya, dalam hal ini forwarders dapat host sendiri, asumsi IP komputer saya 167.205.45.155. zone : mendefinisikan zona tertentu yang disupport oleh name server kita misalnya akan dibuat zone yang bernama “rangers.id” serta database dari zone di letakkan di “/var/named/db.rangers.id”
Pengelolaan Konfigurasi DNS Server Masih dilakukan di named.conf, mengkonfigurasikan file penujuk forward dan file penunjuk reverse. Konfigurasi File Penunjuk Forward Menunjukkan letak database forward, yaitu database yang memetakan dari nama host ke alamat IP. Jika file database forward “db.rangers.id” terletak di “/etc/bind/db.rangers.id” , maka konfigurasi menjadi : zone “rangers.id” IN { type master;
8
file “db.rangers.id”; };
Konfigurasi File Penunjuk Reverse Menunjukkan letak database reverse, yaitu database yang memetakan dari alamat IP ke nama host. Jika file database reverse “arpa.id.rangers” terletak di “/etc/bind/arpa.rangers.id”, maka konfigurasi menjadi : zone “45.205.167.inaddr.arpa” IN{ type master; file “arpa.rangers.id”; };
Penamaan zona reverse di tulis terbalik (45.205.167.in-addr.arpa) , ini merupakan kebalikan dari network IP dan hal ini dikarenakan sistem akan membaca suatu IP dengan terbalik untuk memetakan ke dalam hostname. Kelas yang digunakan pada umumnya adalah “IN” (for Internet) karena pada umumnya yang DNS record adalah hostname, servers, atau alamat IP. Ada juga kelas lain, yaitu : CH (Chaos) and HS (Hesoid). Pengelolaan Konfigurasi Penamaan Pengelolaan konfigurasi penamaan dapat di buat dalam suatu database, yang berisi kumpulan Host name dan alamat IP dari domain yang dikelola. Penamaan dilakukan untuk Forwarding DNS Server dan Reverse DNS Server. Letak file konfigurasi database terletak default di “/etc/bind”. Di database, tanda titik koma ( ; ) merupakan komentar, karakter yang diikutinya, selama masih dalam satu baris tidak termasuk ke sintak atau argumen program. Untuk seiap perubahan, jagan lupa untuk merubah serial number, agar perubahan segera terdeteksi. Penamaan Forwarding DNS Server Buat file “db.rangers.id” Konfigurasi file database forward. Contoh konfigurasi forward ada secara default di /etc/bind/db.local , agar lebih cepat dapat di copy dan di edit . # cp /etc/bind/db.local /etc/bind/db.rangers.id
9
Edit db.rangers.id, konfigurasinya akan seperti ini : $TTL 3600 @ IN SOA ns.rangers.id. admin.rangers.id. ( 2009281101 ; Serial 28800 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Minimum TTL ; ;untuk NS Record @ IN NS ns.rangers.id. ; letak database mulai dari sini ns IN A 167.205.45.17
Penamaan Reverse DNS Server Buat file “arpa.rangers.id” Konfigurasi file database reverse. Copy format file dari db.local # cp /etc/bind/db.local /etc/bind/arpa.rangers.id
Edit arpa.rangers.id, onfigurasinya akan seperti ini : $TTL 3600 @ IN SOA ns.rangers.id. admin.rangers.id. ( 2009281101 ; Serial 28800 ; Refresh 14400 ; Retry 2419200 ; Expire 86400 ) ; Minimun TTL ; ;untuk NS Records ;;; @ IN NS ns.rangers.id. ;;address point ke PTR 17 IN PTR ns.rangers.id.
Keterangan : Argumen
Keterangan
@
Zone bagian yang identik dengan zona yang telah di definisikan di file named.conf
IN
Class dari For Internet, kelas yang biasanya digunakan untuk protokol TCP/IP
2009281101 Serial Number menunjukkan serial number dari DNS server. Setiap ada perubahan, nilai ini harus berubah. Format umumnya adalah yyyymmddnn yaitu (yyyy)tahun , mm(bulan), (dd) hari, (nn) perubahan ke-n di hari itu. Jika seial number tidak di rubah saat ada perubahan maka data di
10
Argumen
Keterangan cache tidak akan berubah pula
28800
Refresh menunjukkan waktu slave server merefresh zona. Satuan dalam detik. Pada umumnya rentang waktu antara 1200-43200.
14400
Retry merupakan lama dari waktu jeda antara percobaan slave server mengontak master-server jika mengalami kegagalan ketika slave master merefresh cache dari master server. Satuan dalam detik.
2419200
Expire Menunjukkan waktu zona-data masih autorathive. Field ini hanya berlaku untuk slave server. Ketika nilai ini tealh expired, slave master akan mengontak master server untuk untuk membaca SOA record pada zona dan merequest AXFR/IFXR jika serial number telah berubah. Jika slave gagal mengontak master maka slave akan terus mencoba mengontak master hingga waktu SOA EXPIRE habis dan masih melayani query hingga kontak ke master server berhasil. Rekomendasi RFC.1912 adalah 1209600-2419200
860400
Minumum TTL merupakan nilai default TTL (Time to Live) untuk semua record pada zone file. Satuan dalam detik. Implementasi bind9 merekomendasikan field ini dalam satuan detik
A
A record Merupakan catatan alamat yang memetakan sebuah nama host ke alamat IP 32-bit untuk Ipv4
PTR
PTR record Merupakan catatan penunjuk yang memetakan sebuah nama host ke nama kanonik untuk host tersebut.
NS
NS record Merupakan catatan name server yang memetakan sebuah nama domain ke suatu daftar dari server DNS untuk domain tersebut.
CNAME
CNAME, Canonical Name for Alias Merupakan record yang menjelaskan primary ame untuk owner. Nama ownernya disebutkan dalam alias.
MX
MX record Merupakan catatan menjelaskan tentang domain mail exchange.
AAAA
AAAA record Merupakan catatan yang menjelaskan alamat class IPv6, sama halnya dengan A record namun alamat class berbeda.
TXT
TXT record Merupakan record yang menunjukkan text strings, digunakan untuk menangani text yang berisi dekripsi suatu domain. Semantiknya tergantung dengan domain name dimana teks ditemukan.
11
Cek Konfigurasi Bind9 memiliki fasilitas untuk mengecek konfigurasi yang telah di lakukan. Cek Konfigurasi “named.conf” # namedcheckconf /etc/bind/named.conf
Pasikan tidak ada pesan error disana, jika tidak ada berarti konfigurasi benar. Cek Pengelolaan Konfigurasi Zona Format yang digunakan : # namedcheckzone nama_zona file_zona
Check zona forward : # namedcheckzone rangers.id /etc/bind/db.rangers.id
Check zona reverse : # namedcheckzone id.rangers /etc/bind/arpa.rangers.id
Pastikan tidak ada pesan error mucul dan mentriger statement “OK” .
Konfigurasi resolv.conf Isi file ini dapat digenerate oleh DHCP server ataupun di setting secara manual. Menunjukkan domain dan alamat DNS Server. Nameserver merupakan IP yang kita gunakan dan domain benar. Jadi konfigurasikan atau pastikan seperti ini : nameserver 167.205.45.17 search rangers.id
Restart Daemon name server : # /etc/init.d/bind9 restart
Pastikan pesan tertulis “OK” . Test DNS Server menggunakan fasilitas “dig” dig, atau domain information groper merupakan tools untuk menanyai mengenai domain. # dig any rangers.id
Pastikan jawaban dari respon benar, tidak FAIL. Menggunakan “nslookup” nslookup, merupakan tools untuk mengirimkan query ke name server misalnya, # nslookup
>server
Jawaban : Default server: 167.205.45.17 Address: 167.205.45.17#53 >rangers.id
12
Jawaban : Server: 167.205.45.17 Address: 167.205.45.17#53 Name: ns.rangers.id Address: 167.205.45.17 >167.205.45.17
Jawaban : Server: 167.205.45.17 Address: 167.205.45.17#53 17.45.205.167.inaddr.arpa name = ns.rangers.id.
13
Server FTP File Transfer Protocol (FTP) adalah protokol TCP untuk meng-upload dan download file antara komputer. FTP bekerja pada klien / server model. Komponen server disebut FTP daemon. Secara kontinyu untuk FTP mendengarkan permintaan dari klien terpencil. Ketika sebuah permintaan yang diterima, itu mengelola login dan mengatur sambungan. Untuk durasi sesi dijalankan setiap perintah yang dikirimkan oleh klien FTP. Akses ke server FTP dapat dikelola dengan dua cara: • Anonymous • Authenticated Dalam modus Anonymous, remote klien dapat mengakses server FTP dengan menggunakan account pengguna default disebut "anonim" atau "ftp" dan mengirimkan alamat email sebagai password. Dalam modus dikonfirmasi pengguna harus memiliki account dan password. Pengguna akses ke server FTP direktori dan file tergantung pada hak akses yang ditetapkan untuk account yang digunakan saat login. Sebagai aturan umum, FTP daemon akan menyembunyikan direktori root server FTP dan mengubahnya ke FTP Home direktori. Ini menyembunyikan sisa dari sistem berkas dari remote sesi. Installasi vsftpd - Server FTP vsftpd adalah daemon FTP yang tersedia di Ubuntu. Sangat mudah untuk menginstal, mengatur, dan memelihara. Untuk menginstal vsftpd Anda dapat menjalankan perintah berikut: sudo apt-get install vsftpd Konfigurasi vsftpd - Server FTP Anda dapat mengedit file konfigurasi vsftpd, /etc/vsftpd.conf, untuk mengubah pengaturan default. Secara default hanya diperbolehkan FTP anonim. Jika Anda ingin menonaktifkan pilihan ini, Anda harus mengubah baris berikut: anonymous_enable=YES ke: anonymous_enable=NO Secara default, sistem lokal pengguna tidak diijinkan untuk login ke server FTP. Untuk mengubah pengaturan ini, Anda harus tanda komentar pada baris berikut: #local_enable=YES Secara default, user diizinkan untuk men-download file dari server FTP. Mereka tidak diizinkan untuk meng-upload file ke server FTP. Untuk mengubah pengaturan ini, Anda harus tanda komentar pada baris berikut: #write_enable=YES Demikian pula, secara default, user anonim tidak diperbolehkan untuk meng-upload file ke server FTP. Untuk mengubah pengaturan ini, Anda harus tanda komentar pada baris berikut: #anon_upload_enable=YES
14
File konfigurasi terdiri dari banyak parameter konfigurasi. Informasi tentang setiap parameter tersedia dalam file konfigurasi. Atau, Anda bisa merujuk ke halaman manual, man 5 vsftpd.conf untuk perincian setiap parameter. Setelah Anda mengkonfigurasi vsftpd Anda dapat memulai daemon. Anda dapat menjalankan perintah berikut untuk menjalankan daemon vsftpd: sudo /etc/init.d/vsftpd start Testing vsftpd – Server FTP Untuk menguji apakah Server FTP telah berjalan maka arahkan browser internet anda ke http://[IP server FTP] maka akan terlihat di browser file dan directory yang terdapat pada /home/[user] tempat Server FTP.
15
Server Web Server Web adalah sebuah perangkat lunak bertanggung jawab untuk menerima permintaan HTTP dari klien (yang dikenal sebagai web browser) dan melayani mereka mengeluarkan respon HTTP yang bersama-sama dengan isi data opsional, yang biasanya adalah halaman Web seperti HTML dokumen dan benda-benda terkait (gambar, dll). HTTPD - Apache2 Server Web Apache adalah Server Web yang paling sering digunakan di sistem Linux. Server Web digunakan untuk melayani Halaman Web yang diminta oleh komputer klien. Biasanya klien meminta dan melihat halaman web menggunakan aplikasi Web Browser seperti Firefox, Opera, atau Mozilla. Pengguna memasukkan sebuah Uniform Resource Locator (URL) untuk menunjuk pada sebuah Server Web dengan Fully Qualified Domain Name (FQDN) dan jalan ke sumber daya yang diperlukan. Sebagai contoh, untuk melihat halaman home dari situs web Ubuntu, pengguna akan masuk hanya FQDN. Untuk meminta informasi spesifik tentang dukungan dibayar, pengguna akan masuk ke FQDN diikuti oleh jalan. Protokol yang paling umum digunakan untuk mentransfer halaman Web adalah Hyper Text Transfer Protocol (HTTP). Protokol lainnya, seperti HTTP lewat Secure Sockets Layer (HTTPS), dan File Transfer Protocol (FTP), yang digunakan untuk meng-upload dan download file. Server Web Apachesering digunakan dalam kombinasi dengan mesin database MySQL, bahasa scripting HyperText Preprocessor (PHP), dan bahasa scripting populer lainnya seperti Python dan Perl. Konfigurasi ini disebut LAMP (Linux, Apache, MySQL dan Perl / Python / PHP) dan membentuk platform yang kuat dan kokoh untuk pengembangan dan penyebaran aplikasi berbasis Web. Instalasi Apache2 Untuk menginstal apache2 maka perlu dilakukan perintah: sudo apt-get install apache2
Konfigurasi Apache2 Apache dikonfigurasi dengan menempatkan arahan dalam file konfigurasi teks biasa. File konfigurasi utama disebut /etc/apache2/apache2.conf. Setiap petunjuk dapat ditempatkan dalam salah satu file konfigurasi. Perubahan pada file konfigurasi utama hanya diakui oleh Apache2 saat dimulai atau restart. Cara mengedit file konfigurasi default Apache2 adalah nano /etc/apache2/apache2.conf
Anda dapat mengedit file ini untuk mengkonfigurasi server Apache2. Anda dapat mengkonfigurasikan nomor port, akar dokumen, modul, file log, virtual host, dll. Secara default konfigurasi ini dapat langsung digunakan.
Testing Sever Web Apache2 Setelah Anda menginstal sertifikat Anda, dan mengkonfigurasi Apache, Anda harus me-restart server web Anda. Anda dapat menjalankan perintah berikut pada terminal untuk merestart server web Anda: 16
sudo /etc/init.d/apache2 restart Setelah merestart service apache2, bisa dicoba pada browser internet anda dengan mengetikkan http://localhost, atau http://[IP Server Web] . Bila muncul tulisan It Works ! berarti service apache2 telah berjalan. PHP5 - Scripting Language PHP adalah bahasa script yang cocok untuk pengembangan Web. Script PHP dapat ditanamkan ke dalam HTML. Script PHP hanya terlihat di sisi server, dan tidak terlihat di sisi klien. Instalasi PHP5 Untuk menginstal php5 di ubuntu ketik pada terminal: sudo apt-get install php5 libapache2-mod-php5 Agar dapat menjalankan php5 dengan command line interface di terminal perlu diinstall : sudo apt-get install php5-cli Agar dapat menjalankan php5 tanpa modul Apache2 perlu diinstall : sudo apt-get install php5-cgi Agar dapat menjalankan php5 dengan mysql perlu diinstall : sudo apt-get install php5-mysql Konfigurasi PHP5 Konfigurasi default PHP5 dapat langsung dijalankan, tapi apabila perlu untuk dirubah makan konfigurasi tersebut ada pada sudo nano /etc/apache2/mods-enabled/php5.conf Testing PHP5 Untuk menguji apakah php5 telah berjalan perlu dibuat suatu script nano /var/www/phpinfo.php Yang berisi script sebagai berikut: Kemudian arahkan browser internet ke http://localhost/phpinfo.php , maka akan muncul info. MySQL - DataBase Server MySQL adalah server database SQL yang cepat, multi-threaded, multi-user, dan kuat. Memang ditujukan untuk kecepatan, berat beban sistem produksi serta untuk mudah ditempelkan ke banyak perangkat lunak. Instalasi MySQL-server Untuk menginstal mysql-server gunakan perintah sudo apt-get install mysql-server Juga perlu dimasukkan password root database, serta cek pada apache2 pada server web. Setelah instalasi selesai bisa diperiksa dengan perintah: 17
sudo netstat -tap | grep mysql Bila berhasil maka akan muncul tampilan: tcp 0 0 localhost.localdomain:mysql Jika tidak, maka perlu dilakukan restart dengan cara: sudo /etc/init.d/mysql restart
*:* LISTEN -
Konfigurasi MySQL-server File konfigurasi default mysql-server dapat langsung dipergunakan. Tapi jika harus ada penyesuaikan khusus dapat diubah pada /etc/mysql/my.cnf Testing MySQL-server Untuk menguji apakah mysql-server telah berjalan perlu diinstal serta phpmyadmin sebagai antarmuka web untuk konfigurasi mysql, dengan cara: sudo apt-get install phpmyadmin Cek pada apache2 sebagai server web. Kemudian arahkan browser internet ke http://localhost/phpmyadmin.php , maka akan muncul phpmyadmin dan konfigurasi lewat web dapat dilakukan.
18
Server DHCP Pendahuluan DHCP (Dynamic Host Configuration Protocol), merupakan protokol yang berbasis arsitektur client-server yang digunakan untuk memudahkan pengalokasian alamat IP dalam suatu jaringan. Agar antara host satu dan host yang lainnya dapat terhubung pada suatu jaringan, dibutuhkan suatu identitas yaitu alamat IP, alamat ini dapat di tentukan secara manual oleh masing-masing host dengan ketentuan tertentu atau menyerahkannya pada suatu server, yaitu DHCP server. Karakteristik Tiga jenis setting dari DHCP yang biasanya digunakan : • Mengalokasikan secara otomatis alamat IP suatu client secara permanen • Mengalokasikan secara dinamis alamat IP untuk suatu waktu tertentu,jadi client hanya mendapatkan suatu alamat IP dalam jangka waktu tertentu dan kemudian DHCP server merelease kembali alamat-alamat IP • Mengalokasikan secara manual, setiap client dikonfigurasikan secara manual. Umumnya, digunakan setting DHCP di point kedua, karena lebih efektif. Namun, untuk alasan keamanan tertentu point lainnya dapat digunakan pula, namun dengan menggunakan DHCP server kita tidak perlu mengingat alamat IP mana saja yang telah digunakan, sehingga kemungkinan konflik alamat IP dapat dihindari. Cara Kerja DHCP server Pada setting default kebanyakan OS digunakan DHCP, jadi jika client menggunakan DHCP saat client terhubung ke network terjadi proses seperti gambaran berikut :
Jadi proses yang terjadi : 19
1. DHCPDISCOVER Pada sesi ini, client melakukan broadcast atau dapat dikatakan menyebarkan sebuah paket DHCPDISCOVER untuk mencari DHCP server di jaringan. Jika DHCP server bukan pada subnet tersebut, pengaturan tambahan di router perlu dilakukan yaitu pengaturan DHCP Relay Agent untuk transfer paaket DHCPDISCOVER ke DHCP server. 2. DHCPOFFER Pada sesi ini DHCP server melakukan broadcast sebuah paket DHCPOFFER ke client yang berisi penawaran sebuah alamat unik IP untuk client tersebut. 3. DHCPREQUEST Pada sesi ini client melakukan broadcast kembali sebuah paket DHCPREQUEST ke DHCP server yang disertai dengan sebuah jawaban dan meminta untuk meminjam alamat IP yang ditawarkan DHCP server sebelumnya. 4. DHCPACK Pada sesi ini, DHCP server melakukan kembali broadcast yaitu untuk sebuah paket yang berisi persetujuan server mengenai request dari client untuk menggunakan alamat IP dan menyediakan peminjaman alamat IP yang disertai dengan informasi lain yaitu default gateway, DNS server dan sub network. Jika ada alasan tertentu yang membuat client tidak berhak menerima alamat IP dari DHCP server, maka server akan mengirimkan paket DHCPNACK (Negative Acknowledgment) yang merupakan bagian dari DHCPACK yang menandakan alamat tidak valid sehingga client harus coba melakukan release kembali. Instalasi dan Konfigurasi DHCP Server di Ubuntu 1. install dhcp3-server asumsi, source.list telah siap digunakan # aptget install y dhcp3server 2. konfigurasi file dhcpd.conf, asumsi editor yang digunakan adalah mcedit. # mcedit /etc/dhcp/dhcpd.conf kemudian konfigurasikan beberapa bagian, seperti : − uncomment authorative jika merupakan network lokal,jadi konfigurasi menjadi : authorative ;
ddnsupdatestyle none ; option nbgrubmenu code = text ;
− definisikan default-lease time dan max-lease time (satuan detik), misalnya default IP di lease 10 menit dan maksimum IP di lease 1 jam defaultleasetime 600 ; maxleasetime 3600 ;
− Mendefinisikan rentang IP yang akan di bagikan untuk client. Misalkan, rentang IP yang akan di bagikan berkisar 167.205.45.2 sampai 167.205.45.17, dengan alamat network atau netmask 255.255.255.224
20
subnet 167.205.45.0 netmask 255.255.255.224 { option routers 167.205.45.1; range 167.205.45.6 167.205.45.28 ; }
− Mengaktifkan daemon DHCP dan pastikan berjalan dengan baik, tidak ada pesan error. # /etc/init.d/dhcp3-server start Pengelolaan IP Berdasarkan MAC Address Terkadang tidak semua host kita buat dhcp secara otomatis, biasanya untuk server telah ditetapkan statik alamat IP nya. Pada setiap booting ataupun restart network agar lebih mudah host yang statik IP nya di buat statik namun alamat IP tetap meminta dari DHCP server sehingga DHCP server akan memberikan alamat IP yang selalu sama pada host yang telah dikenali tersebut. DHCP server dapat mengenali host tersebut dengan cara membaca hostname dan MAC address. Caranya dengan mendefinisikan di “dhcpd.conf”, misalnya host yang bernama “rangers” yang memiliki MAC address 00:0C:29:21:51:34 akan di set statik IP nya menjadi 167.205.45.17 , maka konfigurasi di “dhcpd.conf” di tambahkan : host rangers { hardware ethernet 00:0C:29:21:51:34; fixed address 167.205.45.17; } Pengelolaan Domain Name Pada Client Secara Otomatis DHCP server dapat digunakan untuk memberikan informasi lain sealin alamat IP, misalnya alamat Gateway dan alamat DNS server. Jika pada client digunaka dhcp, setelah memperoleh alamat IP dapat di lihat di “resolv.conf” , informasi yang di bawa dhcp. Jika hanya informasi sebelumnya yang di berikan, resolv.conf pada client hanya terdapat informasi : baca resolv.conf : # cat /etc/resolv.conf Informasi yang diperoleh : nameserver 167.205.45.17 Informasi yang terlihat hanyalah alamat IP DHCP server tadi. Jika di beri opsi di “dhcpd.conf” pada DHCP server berupa informasi Domain Name dan alamat DNS server : misalnya DNS server terletak di IP 167.205.55.66 dan 167.205.22.33 sedangkan network dalam domain rangers.itb.ac.id, sehingga menjadi : 21
option domainnameservers 167.205.55.66, 167.205.22.33; option domainname “rangers.itb.ac.id”; simpan konfigurasi dan restart dhcp : # /etc/init.d/dhcp3-server restart Kemudian baca kembali “resolv.conf” , dan hasilnya akan seperti ini: search rangers.itb.ac.id nameserver 167.205.55.66 nameserver 167.205.22.33 Dengan begitu, client memperoleh informasi domain dan DNS server secara otomatis dari DHCP server.
22
SAMBA Samba adalah perangkat lunak bebas ulang implementasi SMB / CIFS networking protokol, awalnya dikembangkan oleh Andrew Tridgell. Samba menyediakan layanan untuk berbagai klien dan dapat berintegrasi dengan Windows Server domain, baik sebagai sebuah Primary Domain Controller (PDC) atau sebagai anggota domain. Samba juga dikenal sebagai sebuah program yang handal untuk File dan Printer Sharing. Samba Menggunakan protokol Server Message Block (SMB) untuk memudahkan berbagi file, folder, volume, dan berbagi printer melalui jaringan. Secara fungsionalitas ada tiga klasifikasi kategori service yang diberikan, yaitu : 1. File and Printer Sharing Services. menggunakan protokol Server Message Block (SMB) untuk sharing file, folder, dan printers melalui jaringan. 2. Directory Services. Berbagi informasi penting tentang komputer dan pengguna jaringan dengan teknologi Lightweight Directory Access Protocol (LDAP) dan Microsoft Active Directory 3. Otentikasi dan Akses. Menetapkan identitas seorang pengguna komputer atau jaringan dan menentukan informasi komputer atau user berwenang untuk mengakses dengan menggunakan prinsip-prinsip dan teknologi tersebut sebagai file permissions, kelompok kebijakan, dan layanan. Panduan Server Ubuntu akan memperkenalkan secara singkat instalasi dan konfigurasi dari server Samba. Dokumentasi dan informasi rinci tentang SAMBA bisa ditemui di website resminya www.samba.org. INSTALASI Untuk instalasi Samba, hal yang pertama dilakukan adalah mencari paket samba : sudo aptitude search samba
Jika Paket sudah ditemukan, lakukan instalasi paket samba dan smbclient : sudo apt-get install samba smbclient
Untuk dapat melakukan mount file system Windows menggunakan SMB, lakukan instalasi paket smbfs: sudo apt-get install smbfs
START, STOP DAN RESTART Untuk mengaktifkan service samba lakukan perintah : sudo /etc/init.d/samba start
Untuk menghentikan service samba lakukan perintah : sudo /etc/init.d/samba stop
Untuk restart service samba lakukan perintah : sudo /etc/init.d/samba restart
23
KONFIGURASI File konfigurasi untuk Samba dapat ditemui di /etc/samba/smb.conf. Didalamnya kita dapat melakukan perubahan pada Samba. Informasi lebih detail mengenai konfigurasi dapat dilihat pada manual /etc/samba/smb.conf dengan cara mengakses perintah : man smb.conf
Hal yang cukup penting adalah melakukan backup file konfigurasi /etc/samba/smb.conf dengan melakukan perintah copy sebagai berikut : sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.original
Setelah melakukan backup kita dapat memulai melakukan /etc/samba/smb.conf dengan editor yang dikehendaki : sudo nano /etc/samba/smb.conf
Berikut adalah contoh konfigurasi file /etc/samba/smb.conf : # This is the main Samba configuration file. You should read the # smb.conf(5) manual page in order to understand the options listed # here. Samba has a huge number of configurable options (perhaps too # many!) most of which are not shown in this example # # For a step to step guide on installing, configuring and using samba, # read the Samba-HOWTO-Collection. This may be obtained from: # http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf # # Many working examples of smb.conf files can be found in the # Samba-Guide which is generated daily and can be downloaded from: # http://www.samba.org/samba/docs/Samba-Guide.pdf # # Any line which starts with a ; (semi-colon) or a # (hash) # is a comment and is ignored. In this example we will use a # # for commentry and a ; for parts of the config file that you # may wish to enable # # NOTE: Whenever you modify this file you should run the command "testparm" # to check that you have not made any basic syntactic errors. # #===================GlobalSettings===================== [global] # workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2 workgroup = FASTER # server string is the equivalent of the NT Description field server string = OSS File Server # Security mode. Defines in which mode Samba will operate. Possible # values are share, user, server, domain and ads. Most people will want # user level security. See the Samba-HOWTO-Collection for details. security = user # This option is important for security. It allows you to restrict # connections to machines which are on your local network. The # following example restricts access to two C class networks and # the "loopback" interface. For more examples of the syntax see # the smb.conf man page ; hosts allow = 192.168.1. 192.168.2. 127. # If you want to automatically load your printer list rather # than setting them up individually then you'll need this ; load printers = yes
24
konfigurasi
file
# you may wish to override the location of the printcap file ; printcap name = /etc/printcap # on SystemV system setting printcap name to lpstat should allow # you to automatically obtain a printer list from the SystemV spool # system ; printcap name = lpstat # It should not be necessary to specify the print system type unless # it is non-standard. Currently supported print systems include: # bsd, cups, sysv, plp, lprng, aix, hpux, qnx ; printing = cups # Uncomment this if you want a guest account, you must add this to /etc/passwd # otherwise the user "nobody" is used ; guest account = pcguest # this tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba.%m # Put a capping on the size of the log files (in Kb). max log size = 100 # Use password server option only with security = server # The argument list may include: # password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name] # or to auto-locate the domain controller/s # password server = * ; password server =
# Use the realm option only with security = ads # Specifies the Active Directory realm the host is part of ; realm = MY_REALM # Backend to store user information in. New installations should # use either tdbsam or ldapsam. smbpasswd is available for backwards # compatibility. tdbsam requires no further configuration. ; passdb backend = tdbsam # Using the following line enables you to customise your configuration # on a per machine basis. The %m gets replaced with the netbios name # of the machine that is connecting. # Note: Consider carefully the location in the configuration file of # this line. The included file is read at that point. ; include = /usr/local/samba/lib/smb.conf.%m # Configure Samba to use multiple interfaces # If you have multiple network interfaces then you must list them # here. See the man page for details. ; interfaces = 192.168.12.2/24 192.168.13.2/24 # Browser Control Options: # set local master to no if you don't want Samba to become a master # browser on your network. Otherwise the normal election rules apply ; local master = no # OS Level determines the precedence of this server in master browser # elections. The default value should be reasonable ; os level = 33 # Domain Master specifies Samba to be the Domain Master Browser. This # allows Samba to collate browse lists between subnets. Don't use this # if you already have a Windows NT domain controller doing this job
25
; domain master = yes # Preferred Master causes Samba to force a local browser election on startup # and gives it a slightly higher chance of winning the election ; preferred master = yes # Enable this if you want Samba to be a domain logon server for # Windows95 workstations. ; domain logons = yes # if you enable domain logons then you may want a per-machine or # per user logon script # run a specific logon batch file per workstation (machine) ; logon script = %m.bat # run a specific logon batch file per username ; logon script = %U.bat # Where to store roving profiles (only for Win95 and WinNT) # %L substitutes for this servers netbios name, %U is username # You must uncomment the [Profiles] share below ; logon path = \\%L\Profiles\%U # Windows Internet Name Serving Support Section: # WINS Support - Tells the NMBD component of Samba to enable it's WINS Server ; wins support = yes # WINS Server - Tells the NMBD components of Samba to be a WINS Client # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both ; wins server = w.x.y.z # WINS Proxy - Tells Samba to answer name resolution queries on # behalf of a non WINS capable client, for this to work there must be # at least one WINS Server on the network. The default is NO. ; wins proxy = yes # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names # via DNS nslookups. The default is NO. dns proxy = no # These scripts are used on a domain controller or stand-alone # machine to add or delete corresponding unix accounts ; add user script = /usr/sbin/useradd %u ; add group script = /usr/sbin/groupadd %g ; add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u ; delete user script = /usr/sbin/userdel %u ; delete user from group script = /usr/sbin/deluser %u %g ; delete group script = /usr/sbin/groupdel %g #============================ Share Definitions ============================== [homes] comment = Home Directories valid users = %S browseable = no writable = yes create mask = 0750 directory mask = 0750 # Un-comment the following and create the netlogon directory for Domain Logons ; [netlogon] ; comment = Network Logon Service ; path = /usr/local/samba/lib/netlogon ; guest ok = yes ; writable = no ; share modes = no
26
# Un-comment the following to provide a specific roving profile share # the default is to use the user's home directory ;[Profiles] ; path = /usr/local/samba/profiles ; browseable = no ; guest ok = yes # NOTE: If you have a BSD-style print system there is no need to # specifically define each individual printer ;[printers] ; comment = All Printers ; path = /var/spool/samba ; browseable = no # Set public = yes to allow user 'guest account' to print ; guest ok = no ; writable = no ; printable = yes # This one is useful for people to share files ;[tmp] ; comment = Temporary file space ; path = /tmp ; read only = no ; public = yes # A publicly accessible directory, but read only, except for people in # the "staff" group ;[public] ; comment = Public Stuff ; path = /home/samba ; public = yes ; writable = yes ; printable = no ; write list = @staff # Other examples. # # A private printer, usable only by fred. Spool data will be placed in fred's # home directory. Note that fred must have write access to the spool directory, # wherever it is. ;[fredsprn] ; comment = Fred's Printer ; valid users = fred ; path = /homes/fred ; printer = freds_printer ; public = no ; writable = no ; printable = yes # A private directory, usable only by fred. Note that fred requires write # access to the directory. ;[fredsdir] ; comment = Fred's Service ; path = /usr/somewhere/private ; valid users = fred ; public = no ; writable = yes ; printable = no # a service which has a different directory for each machine that connects # this allows you to tailor configurations to incoming machines. You could # also use the %U option to tailor it by user name.
27
# The %m gets replaced with the machine name that is connecting. ;[pchome] ; comment = PC Directories ; path = /usr/pc/%m ; public = no ; writable = yes # A publicly accessible directory, read/write to all users. Note that all files # created in the directory by users will be owned by the default user, so # any user with access can delete any other user's files. Obviously this # directory must be writable by the default user. Another user could of course # be specified, in which case all files would be owned by that user instead. ;[public] ; path = /usr/somewhere/else/public ; public = yes ; only guest = yes ; writable = yes ; printable = no # The following two entries demonstrate how to share a directory so that two # users can place files there that will be owned by the specific users. In this # setup, the directory should be writable by both users and should have the # sticky bit set on it to prevent abuse. Obviously this could be extended to # as many users as required. ;[myshare] ; comment = Mary's and Fred's stuff ; path = /usr/somewhere/shared ; valid users = mary fred ; public = no ; writable = yes ; printable = no ; create mask = 0765 [repo] comment = Repository path = /home/ftp/repository public = yes writable = no
Hal penting yang harus diketahui adalah tanda jika fungsi yang dimulai dengan tanda titik koma ( ; ) akan bersifat non-aktif. Pada dasarnya ada empat /etc/samba/smb.conf, yaitu :
parameter
utama
yang
harus
dikonfigurasi
pada
1. Workgroup, adalah nama workgroup yang akan digunakan workgroup = FASTER 2. Security, adalah pengaturan keamanan bagi akses Samba security = user 3. Valid User, adalah definisi user yang akan menggunakan service Samba valid users = %S, nama_user, @(grup) 28
4. Invalid Users, adalah pengaturan keamanan bagi user yang tidak boleh menggunakan Samba invalid users = root Contoh struktur untuk share direktori adalah sebagai berikut : [homes] comment = Home Directories valid users = %S browseable = no writable = yes create mask = 0750 directory mask = 0750 Keterangan : [homes], adalah nama direktori yang akan dishare
comment = Home Directories , adalah comment atau keterangan valid users = %S, adalah parameter user yang dapat mengakses Samba. Dapat juga menggunakan nama user atau grup. browseable = no, adalah opsi untuk menampilan direktori writable = yes, adalah perintah untuk dapat melakukan penambahan data pada direktori yang dishare create mask = 0750, adalah permission file untuk file yang dibuat pada direktori
directory mask = 0750, adalah permission file untuk direktori baru yang dibuat Perlu diperhatikan jika file konfigurasi diubah,maka restart service Samba harus dilakukan. MENGUBAH PASSWORD USER SAMBA Untuk mengubah password user samba, lakukan perintah : sudo smbpasswd -a NAMA_USER Perlu diingat bahwa password user pada account sistem operasi tidak langsung dapat dipakai untuk akses service samba. Maka pengaturan smbpasswd harus dilakukan terlebih dahulu.
AKSES DAN CEK SAMBA Untuk melakukan cek terhadap service samba dapat dilakukan dengan perintah : sudo smbclient -L 10.0.0.1 (alamat Ip Server) / Nama Domain Untuk mengakses file sharing melalui samba dapat dilakukan dengan memasukan perintah berikut pada file browser: smb://10.0.0.1 (alamat Ip Server) / Nama Domain Untuk melakukan mount melalui konsole terminal, lakukan perintah: sudo mount -t smbfs -o username //direktori_samba /direktori_tujuan
29
Firewall Pendahuluan Kernel linux telah menyertakan suatu Netfilter subsystem pada sistemnya dan digunakan untuk memanipulasi ataupun menentukan lalu lintas mana saja yang di izinkan memasuki atau melewati server. Firewall merupakan salah satu solusi paket filtering tersebut. Filtering yang dilakukan adalah berdasarkan paket yang di kirim. Ketika paket menemui server, sang paket akan ditangani oleh sang firewall, apakah paket tersebut seharusnya di teruskan, di modifikasi, atau di tolak. Hal tersebut di tentukan berdasarkan aturan-aturan yang dibuat. Struktur Iptables Iptables merupakan aplikasi untuk filtering paket dan Network Address Translation (NAT) pada Ipv4. Iptables digunakan untuk konfigurasi, merawat dan memeriksa rules tables (tabel aturan) tentang filter paket IP yang terdapat di kernel linux. Tiap-tiap tables memiliki beberapa built-in (bawaan) chains kernel linux dan chains buatan user sendiri. Setiap chains memiliki list aturan untuk mencocokkan suatu paket yang datang. Setiap aturan tersebut berfungsi memberikan keputusan eksekusi apa yang akan dilakukan bila paket yang datang cocok dengan aturan yang telah dibuat. Iptables memiliki 4 tabel aturan : 1. Filter 2. Nat 3. Mangle 4. Raw Yang akan di bahas di sini adalah Iptables dengan aturan Filter. Pada setiap tabel terdapat chains (rantai) yang berisi rules dan setiap tabel memiliki aturan yang berbeda-beda. Chains pada tabel “filter” ada tiga fungsi, yaitu : − INPUT : Merupakan semua paket yang ditujukan ke komputer kita (host computer) − OUTPUT : Merupakan semua paket yang berasal dari host komputer − FORWARD : Merupakan semua paket yang melewati atau akan di routing oleh host computer. Chaiin ini digunakan jika host bertindak sebagai router.
Pada setiap chain terdiri dari beberapa rules dimana setiap rule memiliki urutan prioritas sendiri. Ketika suatu paket datang maka akan disesuaikan dengan chains, setelah dikelompokkan maka paket-paket tersebut akan diseleksi oleh rule-rule yang terdapat pada chain. Bila paket datang tidak cocok aturan pertama maka akan diteruskan ke aturan 30
berikutnya dan seterusnya hingga aturan habis.
Firewall Pada Ubuntu Secara default di ubuntu terisntall uncomplicated firewall. Ufw merupakan tools untuk mengkonfigurasi Iptables atau cara untuk menghasilkan firewall berbasis Ipv4 atau Ipv6 yang bersifat user friendly sehingga pengkonfigurasian menjadi lebih mudah. Namun, konfigurasi di sini tidak berarti pengkonfigurasian secara keseluruhan melainkan hanya untuk menambah atau mengurangi rule. Secara default, ufw dalam keadaan disable. Port Filtering TCP/IP port filtering merupakan suatu upaya yang dilakukan untuk menyeleksi port dari Transmisi Control Protocol (TCP) dan User Diagram Protocol (UDP) pada komputer atau network device. Port Filtering merupakan basis dari TCP/IP. Hal ini perlu diperhatikan karena port yang tersedia sangatlah banyak dan hal ini dapat dimanfaatkan oleh malcious user untuk mengirimkan attack terhadap sistem kita. Sebelum melakukan filtering, kenali port yang ada terlebih dahulu. Kategori port TCP/IP berdasarkan IANA (Internet Assigned Numbers): Kategori Port
Port
Deskripsi Rentang
Terkenal
0-1023
Khusus digunakan untuk sistem proses atau program standar yang hanya dapat di eksekusi oleh user tertentu. Dikenali oleh IANA
Teregistrasi
1024-49151
Digunakan oleh user biasa untuk proses atau program yang biasa. IANA tidak mengenali port ini, namun meregistrasi kegunaan port-port tersebut.
Dinamik atau private
49152-65535
Tidak dikenal dan tidak teregristrasi, hanya untuk aplikasi yang bersifat private, proses client-side atau proses lainnya yang portnya dialokasikan secara dinamis.
Dalam hal ini, jika kita menginstall suatu servis, port-port yang berhubungan atau menunjang servis tersebut harus dipastikan terbuka. Namun, pastikan port-port yang tidak digunakan tertutup untuk menghindari celah para user tidak bertanggungjawab. Beberapa list dari defaul port TCP yang biasanya di gunakan sebagai servis internet Default Port TCP
Internet Service
21
FTP Data Channel
20
FTP Control Channel
23
Telnet (di enable pada beberapa intranet atau Internet server)
25
Simple Mail Transfer Protocol (SMTP)
80
HTTP untuk World Wide Web (www)
119
Network News Transfer Protocol (NNTP)
443
Hypertext Transfer Protocol melalui TLS/SSL (HTTPS) pengamanan World Wide Web
31
Default Port TCP 563
Internet Service Network News Transfer Protocol melalui TLS/SSL (NNTPS)
Sedangkan untuk port UDP yang digunakan sebagai Internet Service : Port UDP
Service
53
DNS (Domain Name Server), sebagai name queries
161
SNMP
Aturan secara global terkonfigurasi di “/etc/default/ufw”. Untuk menggunakan ufw, hal pertama yang harus dilakukan adalah meng-enable kan servis ufw tersebut. Yaitu : # ufw enabled
Untuk membuka suatu port, misalnya port ssh : # ufw allow 22
Untuk menutup suatu blok, misalnya port ssh : # ufw deny 22
Untuk menghapus sebuah rule yang sudah di buat : # ufw delete deny 22
Pada kenyataannya, lebih sering diterapkan jika hanya pada suatu rentang IP tertentu yang diizinkan untuk menggunakan suatu port. Misalnya, hanya IP pada subnetwork 167.205.45.0/24 yang di izinkan untuk melakukan remote atau ssh ke server atau host kita. Maka perintahnya akan menjadi : # ufw allow proto tcp from 167.205.45.0/16 to any port 22
Dan subnet tersebut dapat di ganti oleh IP tertentu. Untuk men-disable kan ufw : # ufw disable
Jika port yang digunakan terdefinisi di “/etc/services” , maka kita dapat menggunakan nama port dalam penambahan rule, misalnya mengganti “22” tadi menjadi “ssh”. Antisipasi dari DDoS Attack DDos (Distributed Denial of Service), merupakan salah satu jenis serangan dari Dos (Denial of Service). Dos sediri merupakan salah satu jenis serangan terhadap sebuah komputer di dalam jaringan internet dengan cara menghabiskan sumber atau resource yang dimiliki oleh komputer tersebut sampai komputer tersebut tidak dapat menjalankan 32
fungsinya dengan benar sehingga secara tidak langsung mencegah pengguna lain untuk memperoleh akses layanan dari komputer yang diserang tersebut. Dalam sebuah serangan Denial of Service, si penyerang akan mencoba untuk mencegah akses seorang pengguna terhadap sistem atau jaringan. Bentuk serangan Denial of Service awal adalah serangan SYN Flooding Attack yang mengeksploitasi terhadap kelemahan yang terdapat di dalam protokol TCP. Ddos sendiri berarti menggunakan banyak penyerang (baik komputer yang didedikasikan untuk melakukan penyerangan atau komputer yang dipaksa menjadi zombie) untuk menyerang sebuah host target di jaringan. Antisipasi dari IP Spoofing IP Spoofing atau Source Address Spoofing, yaitu pemalsuan alamat IP attacker sehingga sasaran menganggap alamat IP attacker berasal dari network yang sama. Spoofing terjadi ketika seorang attacker ‘mengakali’ packet routing untuk mengubah arah dari data atau transmisi ke tujuan yang berbeda. Packet untuk routing biasanya di transmisikan secara transparan dan jelas sehingga membuat attacker dengan mudah untuk memodifikasi asal data ataupun tujuan dari data. Protokol yang menangani komunikasi antar komputer kebanyakan berhasil di spoof. ICMP (Internet Control Message Protocol) adalah salah satunya(vulnerable) karena protokol ini dilewati oleh informasi dan pesan-pesan kesalahan diantara dua node dalam network. Internet Group Message Protocol(IGMP) dapat dieksploitasi dengan menggunakan serangan tipe ini karena IGMP melaporkan kondisi kesalahan pada level user datagram, selain itu juga protokol ini mengandung Informasi routing dan Informasi Network. (UDP) User Datagram Protocol juga dapat ‘diminta’ untuk menampilkan identitas host sasaran. Antisipasi dari Flooding Flooding yang biasanya terjadi adalah SYN Flooding Attack, yang merupakan salah satu jenis serangan Denial of Services yang menggunakan paket-paket SYN. Paket-paket SYN merupakan salah satu jenis dari paket dalam protokol Transmission Control Protocol yang dapat digunakan untuk membuat koneksi antara dua host dimana paket tersebut dikirimkan oleh host yang hendak membuat koneksi, sebagai langkah pertama dalam proses TCP Three-way Handshake (SYN => SYN,ACK => ACK). Langkah koneksi pertama adalah dimulai dari host pertama (yang ingin membuat koneksi) akan mengirimkan sebuah segmen TCP dengan flag SYN diaktifkan ke host kedua. Kemudian, langkah kedua host kedua merespon dengan mengirimkan segmen dengan acknowledgement (ACK) dan juga SYN pada host pertama, dan terakhir host pertama akan bertukar data dengan host kedua. Jadi, dalam sebua serangan SYN Flooding, si penyerang akan mengirimklan paket-paket SYN ke dalam port-port yang sedang berada dalam keadaan “listening” yang berada pada host targetnya. Ketika target menerima paket SYN yang telah dimodifikasi tersebut, target akan merespons dengan sebuah paket SYN/ACK yang ditujukan kepada alamat yang tercantum di dalam SYN Packet yang diterima (yang berarti sistem tersebut tidak ada secara aktual), dan kemudian akan menunggu paket ACK sebagai balasan untuk melengkapi proses pembuatan koneksi. Tetapi, karena alamat sumber dalam paket SYN yang dikirimkan oleh penyerang tidaklah valid, paket ACK tidak akan pernah datang ke target, dan port yang menjadi target serangan akan menunggu hingga waktu pembuatan koneksi timed-out. Jika sebuah port yang listening tersebut menerima banyak paket-paket SYN, maka port tersebut akan meresponsnya dengan paket SYN/ACK sesuai dengan 33
jumlah paket SYN yang ia dapat menampungnya di dalam buffer yang dialokasikan. Dan attack ini bisa saja dilakukan dalam jumlah yang sangat massive dengan menggunakan host-host yang dijadikan zombie, sehingga server di sibukkan dengan request SYN tersebut dan tidak dapat bertindak sebagai servis sebagaimana mestinya. Flooding ini dapat saja di hindari dengan memberikan batas koneksi. Misalnya, di setting hanya untuk menerima tidak lebih dari enam koneksi selama periode 30 detik. Sehingga, jika ada flooding sistem akan mengabaikannya. Untuk mengaktifkannya : # ufw limit nama_servis/protokol
Misalnya, untuk membatasi koneksi pada webserver maka command menjadi : # ufw limit www/tcp
Logging Logging merupakan kegiatan berupa catatan akses dan aktivitas sistem. Logging pada firewall penting untuk dilakukan terutama jika ada attack, sebagai troubleshoot rule firewall, juga sebagai pemberitahuan terhadap aktivitas yang tidak biasa. Logging rules harus diterapkan sebelum penentuan keputusan apapun terhadap paket (keputusan terhadap sutu paket untuk di ACCEPT, DROP atau REJECT). Untuk mengakatifkan logging : # ufw logging on
Dan untuk menonaktifkan logging hanya mengganti on menjadi off .
34
MODUL PELATIHAN SERVER LINUX ADVANCE
COMLABS ITB IGOS Center Bandung 2009
Table of Contents Teori Network / Jaringan........................................................................................................1 Pendahuluan......................................................................................................................1 Arsitektur TCP/IP...............................................................................................................1 Model OSI/ISO..............................................................................................................1 Model TCP/IP................................................................................................................2 Alamat IP.......................................................................................................................3 Kelas-kelas IP................................................................................................................3 Tipe transmisi................................................................................................................4 Subnetwork (subnet)....................................................................................................4 Server DNS............................................................................................................................6 Pendahuluan......................................................................................................................6 Struktur Hirarki DNS..........................................................................................................6 Cara Kerja DNS Server.....................................................................................................7 Jenis DNS Server..............................................................................................................7 Instalasi DNS Server.........................................................................................................7 Konfigurasi DNS Server....................................................................................................8 Konfigurasi resolv.conf................................................................................................12 Server FTP...........................................................................................................................14 Installasi vsftpd - Server FTP ..........................................................................................14 Konfigurasi vsftpd - Server FTP ......................................................................................14 Testing vsftpd – Server FTP............................................................................................15 Server Web..........................................................................................................................16 HTTPD - Apache2 Server Web........................................................................................16 Instalasi Apache2........................................................................................................16 Konfigurasi Apache2....................................................................................................16 Testing Sever Web Apache2.......................................................................................16 PHP5 - Scripting Language.............................................................................................17 Instalasi PHP5.............................................................................................................17 Konfigurasi PHP5........................................................................................................17 Testing PHP5...............................................................................................................17 MySQL - DataBase Server .............................................................................................17 Instalasi MySQL-server...............................................................................................17 Konfigurasi MySQL-server..........................................................................................18 Testing MySQL-server.................................................................................................18 Server DHCP .......................................................................................................................19 Pendahuluan....................................................................................................................19 Karakteristik.....................................................................................................................19 Cara Kerja DHCP server ................................................................................................19 Instalasi dan Konfigurasi DHCP Server di Ubuntu..........................................................20 Pengelolaan IP Berdasarkan MAC Address ...................................................................21 Pengelolaan Domain Name Pada Client Secara Otomatis.............................................21 SAMBA ................................................................................................................................23 INSTALASI.......................................................................................................................23 START, STOP DAN RESTART.......................................................................................23 KONFIGURASI................................................................................................................24 Firewall ................................................................................................................................30 Pendahuluan....................................................................................................................30 Struktur Iptables...............................................................................................................30
Firewall Pada Ubuntu .....................................................................................................31 Port Filtering ....................................................................................................................31 Antisipasi dari DDoS Attack.............................................................................................32 Antisipasi dari IP Spoofing...............................................................................................33 Antisipasi dari Flooding....................................................................................................33 Logging............................................................................................................................34