Anda di halaman 1dari 115

Distro Debian

Distro Debian adalah salah satu distro GNU/Linux yang termasuk paling awal dibuat yaitu pada tanggal 16 Agustus 1993. Distro GNU/Linux lainnya yang dibuat pada saat yang hampir bersamaan adalah Distro Slackware. Nama distro Debian berasal dari gabungan nama pembuat dan nama pasangannya yaitu Ian Murdock dan Debra Lynn. Setiap versi distro Debian memiliki nama kode (yang biasanya diambil dari tokoh karakter film animasi Toy Story). Versi terakhir pada saat tulisan ini dibuat adalah versi 6 dengan nama kode Squeeze. Software/aplikasi pada distro Debian pada suatu tempat terpusat yang dikenal dengan sebutan repositori. Repositori distro Debian dapat dibuat bayangannya di tempat lain (mirroring). Untuk melakukan instalasi pada distro Debian menggunakan beberapa aplikasi, diantaranya: apt-get, dpkg, aptitude, Synaptic.

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian

Instalasi Distro Debian


Jika Instalasi yang anda lakukan berhasil seperti tampak pada slide sebelumnya, maka server GNU/Linux dengan distro Debian siap untuk jadikan sebagai server dengan memasang paket-paket server yang diperlukan melalui repositori terdekat yang tersedia. Untuk melakukan instalasi, anda harus menjadi 'superuser' terlebih dahulu. Hal ini dapat di lakukan dengan menggunakan perintah: $su Password: Jika muncul prompt untuk memasukkan kata sandi (Password), isi dengan kata sandi yang anda pilih pada saat instalasi distro Debian.

DHCP

DHCP (Dynamic Host Configuration Protocol) adalah protokol yang berbasis arsitektur client/server yang dipakai untuk memudahkan pengalokasian alamat IP dalam satu jaringan. Sebuah jaringan lokal yang tidak menggunakan DHCP harus memberikan alamat IP kepada semua komputer secara manual. Jika DHCP dipasang di jaringan lokal, maka semua komputer yang tersambung di jaringan akan mendapatkan alamat IP secara otomatis dari server DHCP. Selain alamat IP, banyak parameter jaringan yang dapat diberikan oleh DHCP, seperti default gateway dan DNS server.

Cara Kerja DHCP


Karena DHCP merupakan sebuah protokol yang menggunakan arsitektur client/server, maka dalam DHCP terdapat dua pihak yang terlibat, yakni DHCP Server dan DHCP Client. DHCP server merupakan sebuah mesin yang menjalankan layanan yang dapat "menyewakan" alamat IP dan informasi TCP/IP lainnya kepada semua klien yang memintanya. Beberapa sistem operasi jaringan seperti Windows NT Server, Windows 2000 Server, Windows Server 2003, atau GNU/Linux memiliki layanan seperti ini. DHCP client merupakan mesin klien yang menjalankan perangkat lunak klien DHCP yang memungkinkan mereka untuk dapat berkomunikasi dengan DHCP Server. Sebagian besar sistem operasi klien jaringan (Windows NT Workstation, Windows 2000 Professional, Windows XP, Windows Vista, atau GNU/Linux) memiliki perangkat lunak seperti ini.

Cara Kerja DHCP


DHCP server umumnya memiliki sekumpulan alamat yang diizinkan untuk didistribusikan kepada klien, yang disebut sebagai DHCP Pool. Setiap klien kemudian akan menyewa alamat IP dari DHCP Pool ini untuk waktu yang ditentukan oleh DHCP, biasanya hingga beberapa hari. Manakala waktu penyewaan alamat IP tersebut habis masanya, klien akan meminta kepada server untuk memberikan alamat IP yang baru atau memperpanjangnya.

Cara Kerja DHCP


DHCP Client akan mencoba untuk mendapatkan "penyewaan" alamat IP dari sebuah DHCP server dalam proses empat langkah berikut: 1. DHCPDISCOVER: DHCP client akan menyebarkan request secara broadcast untuk mencari DHCP Server yang aktif. 2. DHCPOFFER: Setelah DHCP Server mendengar broadcast dari DHCP Client, DHCP server kemudian menawarkan sebuah alamat kepada DHCP client. 3. DHCPREQUEST: Client meminta DCHP server untuk menyewakan alamat IP dari salah satu alamat yang tersedia dalam DHCP Pool pada DHCP Server yang bersangkutan. 4. DHCPACK: DHCP server akan merespons permintaan dari klien dengan mengirimkan paket acknowledgment. Kemudian, DHCP Server akan menetapkan sebuah alamat (dan konfigurasi TCP/IP lainnya) kepada klien, dan memperbarui basis data database miliknya.

Cara Kerja DHCP


Empat tahap di atas hanya berlaku bagi klien yang belum memiliki alamat. Untuk klien yang sebelumnya pernah meminta alamat kepada DHCP server yang sama, hanya tahap 3 dan tahap 4 yang dilakukan, yakni tahap pembaruan alamat (address renewal), yang jelas lebih cepat prosesnya. Berbeda dengan sistem DNS yang terdistribusi, DHCP bersifat stand-alone, sehingga jika dalam sebuah jaringan terdapat beberapa DHCP server, basis data alamat IP dalam sebuah DHCP Server tidak akan direplikasi ke DHCP server lainnya. Hal ini dapat menjadi masalah jika konfigurasi antara dua DHCP server tersebut berbenturan, karena protokol IP tidak mengizinkan dua host memiliki alamat yang sama. Selain dapat menyediakan alamat dinamis kepada klien, DHCP Server juga dapat menetapkan sebuah alamat statik kepada klien, sehingga alamat klien akan tetap dari waktu ke waktu. Catatan: DHCP server harus memiliki alamat IP yang statis.

DHCP Scope
DHCP Scope adalah alamat-alamat IP yang dapat disewakan kepada DHCP client. Ini juga dapat dikonfigurasikan oleh seorang administrator dengan menggunakan peralatan konfigurasi DHCP server. Biasanya, sebuah alamat IP disewakan dalam jangka waktu tertentu, yang disebut sebagai DHCP Lease, yang umumnya bernilai tiga hari. Informasi mengenai DHCP Scope dan alamat IP yang telah disewakan kemudian disimpan di dalam basis data DHCP dalam DHCP server. Nilai alamat-alamat IP yang dapat disewakan harus diambil dari DHCP Pool yang tersedia yang dialokasikan dalam jaringan. Kesalahan yang sering terjadi dalam konfigurasi DHCP Server adalah kesalahan dalam konfigurasi DHCP Scope.

DHCP Lease
DHCP Lease adalah batas waktu penyewaan alamat IP yang diberikan kepada DHCP client oleh DHCP Server. Umumnya, hal ini dapat dikonfigurasikan sedemikian rupa oleh seorang administrator dengan menggunakan beberapa peralatan konfigurasi (dalam Windows NT Server dapat menggunakan DHCP Manager atau dalam Windows 2000 ke atas dapat menggunakan Microsoft Management Console [MMC]). DHCP Lease juga sering disebut sebagai Reservation.

DHCP Options
DHCP Options adalah tambahan pengaturan alamat IP yang diberikan oleh DHCP ke DHCP client. Ketika sebuah klien meminta alamat IP kepada server, server akan memberikan paling tidak sebuah alamat IP dan alamat subnet jaringan. DHCP server juga dapat dikonfigurasikan sedemikian rupa agar memberikan tambahan informasi kepada klien, yang tentunya dapat dilakukan oleh seorang administrator. DHCP Options ini dapat diaplikasikan kepada semua klien, DHCP Scope tertentu, atau kepada sebuah host tertentu dalam jaringan.

Instalasi DHCP Server


Langkah-langkah instalasi DHCP Server di Debian/Ubuntu: Ketik perintah berikut: $sudo apt-get dhcp3-server Sebelum memulai konfigurasi DHCP Server, ada baiknya kita periksa konfigurasi kartu jaringan kita. $sudo nano /etc/network/interfaces Lalu isikan konfigurasi sebagai berikut: auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255

Konfigurasi DHCP Server


Edit file dhcp.conf. #nano dhcp.conf Lalu isi dengan konfigurasi seperti dibawah ini. subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.20; option domain-name-servers 192.168.1.2; option domain-name pakartiluhur.ac.id; option routers 192.168.1.2; option broadcast-address 192.168.1.255; default-lease-time 600; max-lease-time 7200; } Lalu jalankan DHCP Server dengan mengetik perintah: $sudo /etc/init.d/dhcp3.server restart

Samba
Samba adalah implementasi dari SMB protocol yaitu protocol yang digunakan oleh sistem operasi MS seperti MS Windows untuk men-sharing file dan printer. Dengan SMB anda bisa mengakses file & printer yang di-share oleh komputer Windows atau men-share file & printer di komputer linux anda. Ada beberapa hal yang harus di ketahui oleh anda sebelum membuat konfigurasi server samba. 1) Apakah PDC itu? Untuk apa menggunakan PDC? 2) Apa keuntungan menggunakan server Samba? 3) Apa sistem operasi yang digunakan oleh klien untuk saling berbagi akses file dan printer di jaringan samba?

PDC
PDC itu Primary Domain Controller, jelas dari kata-katanya yang berarti sesuatu yang mengatur domain dan menjadi pengatur domain utama karena itulah sangat dibutuhkan sesuatu yang mengatur beberapa jaringan dengan banyak domain, jadi demi keamanan jugalah PDC sangat diperlukan agar anggotaanggota / client-client dari domain lain tidak bisa saling akses.

Keuntungan Samba Server


Karena selain gratis (berlisensi Gnu Public License), riset membuktikan bahwa kecepatan server Samba ternyata lebih cepat 2 kali lipat dari Windows Server 2003.

Sistem Operasi Klien


Di sisi klien, sistem operasi yang dapat digunakan mengakses sumber daya pada jaringan SMB antara lain. Windows (95/98/ME/2000/XP/Vista/2003 Server) GNU/Linux (via aplikasi Samba) Mac OS.X (via aplikasi Samba) Unix (via aplikasi Samba) untuk

Konfigurasi smb.conf
[global] netbios name = LABOR server string = Samba %v on %L workgroup = daunpintu.net os level = 65 prefered master = yes domain master = yes local master = yes domain logons = yes socket options = TCP_NODELAY SO_RCVBUF=8129 time server = yes hide dot files = yes security = user

IPTOS_LOWDELAY

SO_SNDBUF=8192

Konfigurasi smb.conf
guest ok = no invalid users = bin daemon sys man postfix mail ftpadmin users = root encrypt passwords = yes log level = 2 log file = /var/log/samba/log.%L debug timestamp = yes syslog = 1 # gunakan logon path untuk Windows NT/200x/XP logon path = \\%L\profiles\%u # gunakan logon home untuk Windows 9x logon home = \\%L\profiles\%u ;logon script = logon.bat

Konfigurasi smb.conf
[homes] comment = Home Directories browseable = no writeable = yes [netlogon] path = /home/samba/ netlogon public = no writeable = no browseable = no [profiles] path = /home/samba/profiles writeable = yes create mask = 0700 directory mask = 0700 browseable = no

DNS (Domain Name System)


Sejarah DNS Sebelum dipergunakannya DNS, jaringan komputer menggunakan HOSTS files yang berisi informasi dari nama komputer dan IP address-nya. Di Internet, file ini dikelola secara terpusat dan di setiap lokasi harus di copy versi terbaru dari HOSTS files, dari sini bisa dibayangkan betapa repotnya jika ada penambahan 1 komputer di jaringan, maka kita harus copy versi terbaru file ini ke setiap lokasi. Dengan makin meluasnya jaringan internet, hal ini makin merepotkan, akhirnya dibuatkan sebuah solusi dimana DNS di desain menggantikan fungsi HOSTS files, dengan kelebihan unlimited database size, dan performace yang baik. DNS adalah sebuah aplikasi services di Internet yang menerjemahkan sebuah domain name ke IP address. Sebagai contoh, www untuk penggunaan di Internet, lalu diketikan nama domain, misalnya: yahoo.com maka akan di petakan ke sebuah IP mis 202.68.0.134.

Domain Name System (DNS) adalah distribute database system yang digunakan untuk pencarian nama komputer (name resolution) di jaringan yang mengunakan TCP/IP (Transmission Control Protocol/Internet Protocol). DNS biasa digunakan pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail, dimana DNS membantu memetakan host name sebuah komputer ke IP address. Selain digunakan di Internet, DNS juga dapat di implementasikan ke private network atau intranet dimana DNS memiliki keunggulan seperti: 1. Mudah, DNS sangat mudah karena user tidak lagi direpotkan untuk mengingat IP address sebuah komputer cukup host name (nama Komputer). 2. Konsisten, IP address sebuah komputer bisa berubah tapi host name tidak berubah. 3. Simple, user hanya menggunakan satu nama domain untuk mencari baik di Internet maupun di Intranet

Apa itu DNS? DNS dapat disamakan fungsinya dengan buku telepon. Dimana setiap komputer di jaringan Internet memiliki host name (nama komputer) dan Internet Protocol (IP) address. Secara umum, setiap client yang akan mengkoneksikan komputer yang satu ke komputer yang lain, akan menggunakan host name. Lalu komputer anda akan menghubungi DNS server untuk mencek host name yang anda minta tersebut berapa IP address-nya. IP address ini yang digunakan untuk mengkoneksikan komputer anda dengan komputer lainnya.

Struktur DNS Domain Name Space merupakan sebuah hirarki pengelompokan domain berdasarkan nama, yang terbagi menjadi beberapa bagian diantaranya: Root-Level Domains Domain ditentukan berdasarkan tingkatan kemampuan yang ada di struktur hirarki yang disebut dengan level. Level paling atas di hirarki disebut dengan root domain. Root domain di ekspresikan berdasarkan periode dimana lambang untuk root domain adalah (.). Top-Level Domains Pada bagian dibawah ini adalah contoh domains: - com Organisasi Komersial - edu Institusi pendidikan atau universitas - org Organisasi non-profit - net Networks (backbone Internet)

dari

top-level

- gov Organisasi pemerintah non militer - mil Organisasi pemerintah militer - num No telpon - arpa Reverse DNS xx dua-huruf untuk kode negara (id:Indonesia, sg:singapura, au:australia,dll) Top-level domains dapat berisi second-level domains dan hosts. Second-Level Domains Second-level domains dapat berisi host dan domain lain, yang disebut dengan subdomain. Untuk contoh: Domain Bujangan, bujangan.com terdapat komputer (host) seperti server1.bujangan.com dan subdomain training.bujangan.com. Subdomain training.bujangan.com juga terdapat komputer (host) seperti client1.training.bujangan.com.

Bagaimana DNS itu bekerja? Fungsi dari DNS adalah menerjemahkan nama komputer ke IP address (memetakan). Client DNS disebut dengan resolvers dan DNS server disebut dengan name servers. Resolvers atau client mengirimkan permintaan ke name server berupa queries. Name server akan memproses dengan cara mencek ke local database DNS, menghubungi name server lainnya atau akan mengirimkan message failure jika ternyata permintaan dari client tidak ditemukan. Proses tersebut disebut dengan Forward Lookup Query, yaitu permintaan dari client dengan cara memetakan nama komputer (host) ke IP address.

Instalasi BIND DNS Server


Untuk membuat DNS Server (menggunakan distro Ubuntu Server 8.04) ada beberapa langkah yang bisa anda jalankan.

Periksa apakah paket bind9 sudah ada dengan mengetik:


$sudo apt-cache policy bind9 [sudo] password for xxxx: bind9: Installed: 1:9.7.0.dfsg.P1-1ubuntu0.1 Candidate: 1:9.7.0.dfsg.P1-1ubuntu0.1 Version table: *** 1:9.7.0.dfsg.P1-1ubuntu0.1 0 500 http://id.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages 500 http://security.ubuntu.com/ubuntu/ lucid-security/main Packages 100 /var/lib/dpkg/status 1:9.7.0.dfsg.P1-1 0 500 http://id.archive.ubuntu.com/ubuntu/ lucid/main Packages

Instalasi BIND DNS Server


Lihat baris Installed, berarti bind9 sudah terinstall di sistem saya. Jika belum terinstall, lakukan install, update dulu ketik : $sudo apt-get update lalu install ketik : $sudo apt-get install bind9 Setelah itu langsung saja disetting, masuk ke direktori bind untuk berkenalan dulu dengan file-file bind, ketik : $cd /etc/bind/ ketik : $ls

Instalasi BIND DNS Server


Contoh: mhs@server:~ $ cd /etc/bind mhs@server:/etc/bind$ ls bind.keys db.255 db.ip named.conf named.conf.options db.0 db.coba db.local named.conf.default-zones rndc.key db.127 db.empty db.root named.conf.local zones.rfc1918 mhs@server:/etc/bind$ Perhatikan file yang bernama db.local. Copy file tersebut, ketik : mhs@server:/etc/bind$sudo cp db.local db.coba tercipta sebuah file yang bernama diedit, ketik : mhs@server:/etc/bind$sudo nano db.coba db.coba, langsung saja

Instalasi BIND DNS Server


Isinya kurang lebih seperti ini : ; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA localhost. root.localhost. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS localhost. @ IN A 127.0.0.1 @ IN AAAA ::1

Instalasi BIND DNS Server


Ubah menjadi seperti di bawah ini :
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ns.pakartiluhur.ac.id. root.pakartiluhur.ac.id. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; IN NS ns.pakartiluhur.ac.id. IN A 192.168.1.2 ns IN A 192.168.1.2 @ IN AAAA ::1 www IN CNAME ns ftp IN CNAME ns smtp IN CNAME ns fulan IN CNAME ns chat IN CNAME ns

Instalasi BIND DNS Server


copy file db.coba menjadi db.ip, ketik : mhs@server:/etc/bind$sudo cp db.coba db.ip Edit, ketik :
mhs@server:/etc/bind$sudo nano db.ip ; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ns.pakartiluhur.ac.id. root.pakartiluhur.ac.id. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.pakartiluhur.ac.id. 13 IN PTR ns.pakartiluhur.ac.id. ns IN A 192.168.1.2 @ IN AAAA ::1

Penjelasan : 2 adalah host ID dari ip address DNS Server

Instalasi BIND DNS Server


Kemudian edit file named.conf, ketik : mhs@server:/etc/bind$sudo nano named.conf Isinya kurang lebih seperti ini :
zone "." { type hint; file "/etc/bind/db.root"; }; zone "pakartiluhur.ac.id" { type master; file "/etc/bind/db.coba"; }; zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.ip"; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; };

Instalasi BIND DNS Server


restart service bind9 ketik : mhs@server:/etc/bind$sudo /etc/init.d/bind9 restart kemudian buat seluruh client menggunakan DNS yang telah kita buat. Jika anda menggunakan sistem operasi GNU/Linux, IP DNS Server bisa kita masukan di file /etc/resolv.conf, ketik : mhs@server:/etc/bind$sudo nano /etc/resolv.conf search pakartiluhur.ac.id nameserver 192.168.1.2

Ssh server Ssh, apaan tuh? Dia adalah progam semacam dengan vnc atau remote desktop. Bedanya ssh digunakan untuk meremote komputer secara cli (command line interface) sehingga kinerjanya tentu akan lebih cepat dan gesit. Program semacam ini sangat membantu sys admin. Hanya dgn duduk didepan komputernya admin bisa ngoprek server-server di ruang komputer yg berhawa dingin banget. Di Linux hampir semua distro sudah menyediakan ssh client. Sehingga kita tinggal menyediakan waktu untuk install ssh server di komputer yg akan dijadikan 'target' ssh kita.

Ssh server Instalasi di sisi server dan client. Jalankan perintah berikut ini di terminal; sudo apt-get install openssh-server Tunggu beberapa saat sampai proses instalasi selesai. Sementara untuk client sendiri biasanya sudah preinstall. Kita tak perlu menginstall apapun. Jika ssh server belum terinstall, maka kita harus menginstalnya. Perintah yang digunakan; sudo apt-get openssh-client

Menggunakan Ssh client Untuk connect ke ssh server kita perlu tahu nomor ip server tsb. Katakanlah servernya nomornya 192.168.1.2. Maka masuk ke terminal dan ketik perintah berikut; $ssh mahasiswa@192.168.1.2 mahasiswa adalah nama user yg sudah terdaftar di komputer ssh server. Kalau mau menambahkan user lain mesti ditambahkan dulu di komputer ssh servernya. Berikutnya kita akan ditanya user name dan password. Isi sesuai kebutuhan. Setelah password diterima sejurus kemudian kita akan memasuki komputer secara remote.

Menambahkan Sudoers pada Ubuntu Sebagai pengguna Ubuntu, pasti kenal dengan istilah Sudo. Ya, ini adalah perintah untuk "menaikkan" hak akses user menjadi setingkat dengan root. Tetapi, tidak semua user dapat menjalankan perintah sudo. User tersebut harus terdaftar pada sebagai Sudoers. Untuk menambahkan user menjadi sudoers, berikut caranya : 1. Buka console Anda 2. Ketikkan 'sudo visudo' (tanpa tanda petik). Bingung? Tentunya perintah ini dijalankan oleh user yang sudah sebagai sudoers. Saat pertama kali install ubuntu, user pertama yang diciptakan sudah otomatis menjadi anggota Sudoers. 3. Pada baris root ALL=(ALL) ALL tambahkan : user ALL=(ALL) ALL 4. Ganti 'user' menjadi username yang terdaftar pada Ubuntu. Contoh : pungki ALL=(ALL) ALL 5. Tekan Ctrl-X dan simpan setting tersebut. 6. Tidak perlu restart, perubahan ini akan aktif seketika.

Menggunakan Perintah sudo Setelah anda menambahkan user baru ke dalam daftar user yang berhak menggunakan perintah sudo, anda dapat menggunakan perintah sudo dengan cara seperti berikut ini: $sudo [perintah] [sudo] password for mahasiswa: # Perintah sudo sangat berguna untuk menjalankan perintahperintah yang memerlukan akses sebagai root (administrator). Jadi, dalam kegiatan sehari-hari anda di lingkungan GNU/Linux menggunakan hak akses sebagai user biasa. Hal ini yang membuat lingkungan GNU/Linux (*nix) lebih aman dari serangan virus.

Trivial File Transfer Protocol (TFTP) Trivial File Transfer Protocol (disingkat menjadi TFTP) adalah sebuah protokol perpindahan berkas yang sangat sederhana yang didefinisikan pada tahun 1980. TFTP memiliki fungsionalitas dasar dari protokol File Transfer Protocol (FTP). Karena protokol ini sangatlah sederhana, maka implementasi protokol ini dalam komputer yang memiliki memori yang kecil sangatlah mudah. Hal ini memang pertimbangan yang sangat penting pada saat itu. Akhirnya, TFTP pun digunakan untuk melakukan booting komputer seperti halnya router jaringan komputer yang tidak memiliki perangkat penyimpanan data. Protokol ini kini masih digunakan untuk mentransfer berkasberkas kecil antar host di dalam sebuah jaringan, seperti halnya ketika terminal jarak jauh X Window System atau thin client lainnya melakukan proses booting dari sebuah host jaringan atau server.

Trivial File Transfer Protocol (TFTP) TFTP dibuat berdasarkan protokol yang sebelumnya disebut dengan Easy File Transfer Protocol (EFTP), yang merupakan bagian dari kumpulan protokol PARC Universal Packet (PUP). Pada awal-awal pengembangan protokol TCP/IP, TFTP merupakan protokol pertama kali yang diimplementasikan dalam sebuah jenis host jaringan, karena memang sangat sederhana. Versi asli TFTP, sebelum direvisi oleh RFC 1350, menampilkan sebuah kelemahan protokol, yang diberi nama Sorcerer's Apprentice Syndrome, saat pertama kali diketemukan. TFTP pertama kali muncul sebagai bagian dari sistem operasi 4.3 BSD. Protokol ini juga masih dimasukkan ke dalam Mac OS X, paling tidak hingga versi 10.5. Untuk instalasi TFTP Server, perintah yang digunakan: $sudo apt-get install tftpd

FTP Server Banyak sekali software untuk membuat FTP Server yang sudah ada, baik itu di platform Windows maupun Linux. Dari mulai yang berbayar sampai yang gratisan (free). Sedangkan FTP itu sendiri singkatan dari File Transfer Protocol, atau disingkat dengan ftp yang menggunakan port 21 dan 20, adalah suatu jalur / media / alat untuk untuk proses transfer file dari suatu server ke server lain dalam jaringan internet. Protokol ini telah lama ada, Melalui prosedur inilah para web developer meletakkan file-file kelengkapan websitenya pada suatu hosting. Dengan ftp web mereka dapat mengerjakan situsnya secara offline, baru kemudian menguploadnya setelah situs tersebut siap di luncurkan. Kali ini dari sekian banyak FTP Server kita akan membahas salah satu FTP Server yang ada di Linux yaitu vsftp. Software vsftp ini dikembangkan oleh Criss Evans dari Mythic Beasts Ltd. Berada dibawah License GPL vsftp ini sangat cocok sekali digunakan untuk membangun FTP Server karena berifat Open Source dan kemudahan dalam hal konfigurasinya.

VSFTP Server Fitur fitur yang dimilikinya ialah : Virtual users Virtual IP configurations Standalone or inetd operation Powerful per-user configurability Bandwidth throttling Per-source-IP configurability Per-source-IP limits IPv6 Encryption support through SSL integration

Instalasi VSFTP Pertama download terlebih dahulu vsftp dari : ftp://vsftpd.beasts.org/users/cevans/ file dari ftp tersebut adalah source binary dari vsftp yang harus di install secara manual. Namun saat ini semua distro besar sudah menyertakan paket vsftp ini kedalam repositori mereka sehingga kita tinggal download dan menginstallnya dengan mudah. Untuk keluarga Linux yang menggunakan .rpm packet bagi yang sudah menginstall Yum maka tinggal download saja. Untuk keluarga Debian seperti Ubuntu, dll dapat langsung menjalankan perintah : #apt-get install vsftp

Instalasi VSFTP Contoh : # apt-get install vsftpd


Reading package lists... Done Building dependency tree... Done The following NEW packages will be installed: vsftpd 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 0B/114kB of archives. After unpacking 418kB of additional disk space will be used. Selecting previously deselected package vsftpd. (Reading database ... 91726 files and directories currently installed.) Unpacking vsftpd (from .../vsftpd_2.0.5-2_i386.deb) ... Setting up vsftpd (2.0.5-2) ... Starting FTP server: vsftpd

Atau dari GUI anda dapat menggunakan Synaptic.

Konfigurasi vstfp Setelah selesai instalasi jalan service dari FTP Server yang telah di install dengan perintah : #service vsftpd start Untuk keluarga Debian biasanya langsung running service dari vsftp ini setelah selesai kita instal, jadi kita bisa langsung mencobanya : mhs@SERVER:~$ftp localhost Connected to localhost. 220 (vsFTPd 2.0.5) Name (localhost:mhs): ftp> Atau pada web browser dengan mengetik: ftp://localhost

Setelah FTP Server terinstall dengan baik maka yang perlu diperhatikan adalah konfigurasi dari vsftp ini karena menyangkut privacy maupun security dari FTP Server ini sendiri. File konfigurasi dari vsftp ini berada pada /etc/vsftpd.conf isi nya adalah sebagai berikut :
# Example config file /etc/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # # # Run standalone? vsftpd can run either from an inetd or as a standalone # daemon started from an initscript. listen=YES # # Run standalone with IPv6? # Like the listen parameter, except vsftpd will listen on an IPv6 socket # instead of an IPv4 one. This parameter and the listen parameter are mutually # exclusive. #listen_ipv6=YES # # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=YES

# # Uncomment this to allow local users to log in. #local_enable=YES # # Uncomment this to enable any form of FTP write command. #write_enable=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) #local_umask=022 # # Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. #anon_upload_enable=YES # # Uncomment this if you want the anonymous FTP user to be able to create # new directories. #anon_mkdir_write_enable=YES # # Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES # # Activate logging of uploads/downloads. xferlog_enable=YES # # Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES # # If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not # recommended! #chown_uploads=YES #chown_username=whoever #

# You may override where the log file goes if you like. The default is shown # below. #xferlog_file=/var/log/vsftpd.log # # If you want, you can have your log file in standard ftpd xferlog format #xferlog_std_format=YES # # You may change the default value for timing out an idle session. #idle_session_timeout=600 # # You may change the default value for timing out a data connection. #data_connection_timeout=120 # # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES # # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd # predicted this attack and has always been safe, reporting the size of the # raw file. # ASCII mangling is a horrible feature of the protocol. #ascii_upload_enable=YES #ascii_download_enable=YES

# You may fully customise the login banner string: #ftpd_banner=Welcome to blah FTP service. # # You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks. #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd.banned_emails # # You may restrict local users to their home directories. See the FAQ for # the possible risks in this before using chroot_local_user or chroot_list_enable below. #chroot_local_user=YES # # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd.chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES # # Some of vsftpd's settings don't fit the Debian filesystem layout by # default. These settings are more Debian-friendly. # # This option should be the name of a directory which is empty. Also, the # directory should not be writable by the ftp user. This directory is used # as a secure chroot() jail at times vsftpd does not require filesystem # access. secure_chroot_dir=/var/run/vsftpd # # This string is the name of the PAM service vsftpd will use. pam_service_name=vsftpd # # This option specifies the location of the RSA certificate to use for SSL # encrypted connections. rsa_cert_file=/etc/ssl/certs/vsftpd.pem

Konfigurasi Transparent Proxy


Transparent proxy merupakan salah satu cara untuk memudahkan pekerjaan administrator jaringan. Sebagai pengelola warnet misalnya, Anda tidak perlu mengatur satu per satu komputer klien agar pasti melewati server proxy. Salah satu fungsi proxy adalah untuk menyimpan cache. Apabila sebuah LAN menggunakan proxy untuk berhubungan dengan Internet, maka yang dilakukan oleh browser ketika user mengakses sebuah url web server adalah mengambil request tersebut di proxy server. Sedangkan jika data belum terdapat di proxy server maka proxy mengambilkan langsung dari web server. Kemudian request tersebut disimpan di cache proxy. Selanjutnya jika ada client yang melakukan request ke url yang sama, akan diambilkan dari cache tersebut. Ini akan membuat akses ke Internet lebih cepat.

Konfigurasi Transparent Proxy


Proses di atas secara sederhana menunjukkan bahwa pemakaian proxy tergantung konfigurasi browser. Kenapa dari browser? Karena setting proxy itu dasarnya juga ada pada browser, selain di server. Dengan melakukan konfigurasi di browser, maka pengguna komputer klien dapat dengan mudah mengubah ip address proxy. Jika di sebuah warnet semua komputer di-deepfreeze, maka dengan mudah orang bisa mengganti alamat ip proxy, karena hal tersebut dapat dilakukan tanpa restart komputer. Lalu, dengan cara apa permasalahan berikut ini dapat diatasi? 1. Admin jaringan menghendaki semua komputer ketika terhubung ke internet mau atau tidak mau harus melewati proxy. 2. Sungguh tidak mengenakkan jika di satu komputer terdapat lebih dari satu macam browser dan kita harus setting ip proxy satu persatu.

Transparent Proxy
Salah satu cara untuk mengatasi hal tersebut adalah transparent proxy atau proksi transparan. Dengan transparent proxy kita memaksa setiap request ke port http di-redirect ke port proxy. Kebutuhan software 1. Linux dengan Iptables dan Squid yang sudah terinstalasi. Misalnya, port proxy squid diset 8080 (port default: 3128). 2. Program bernama transproxy (ftp://ftp.nlc.net.au/pub/unix/transproxy/). Sifat program ini optional (tidak harus ada). Jadi, terdapat dua metode dalam membuat transparent proxy, yaitu tanpa menggunakan program bantu (cukup dengan Squid dan Iptables), dan menggunakan program bantu seperti transproxy.

Tidak menggunakan transproxy


Jika anda tidak menggunakan program bantu apapun, silakan edit file squid.conf (biasanya terdapat di direktori /etc/squid/). 1. Secara default, squid menggunakan port 3128. Uncomment dan ganti baris http_port 3128 menjadi http_port 8080. 2. Tambahkan baris berikut atau uncomment dari file tersebut (jika sudah ada baris-baris ini yang diawali tanda # atau ;). httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_ header on 3. Kemudian ketikkan perintah ini di shell atau prompt root, atau disimpan dalam file yang dijalankan saat boot, seperti /etc/rc.local atau yang lain: # echo 1 > /proc/sys/net/ipv4/ip_forward

Tidak Menggunakan transproxy


# /sbin/iptables t nat A PREROUTING i eth0 p tcp dport 80 j REDIRECT to port 8080 Arti baris perintah terakhir di atas, request yang masuk ke port 80 akan di-redirect (diarahkan) ke port 8080. Contoh kasus ini berlaku untuk gateway dan proxy dalam satu mesin (satu komputer dengan satu alamat IP).

Menggunakan transproxy
Instalasi transproxy Setelah Anda mendapatkan file transproxy (misalnya transproxy_1.4.orig.tar.gz), simpan pada suatu direktori lalu ekstrak, kompilasi, dan instalasi.
# tar zxvf transproxy_1.4.orig.tar.gz transproxy-1.4/ transproxy-1.4/tproxy.c transproxy-1.4/README transproxy-1.4/Makefile transproxy-1.4/TODO transproxy-1.4/CHANGELOG transproxy-1.4/tproxy.8 transproxy-1.4/COPYRIGHT transproxy-1.4/acl.c transproxy-1.4/acl.h transproxy-1.4/tproxywatch transproxy-1.4/tproxyrun # cd transproxy-1.4/ # make # make install

Jika sudah terinstalasi, pastikan file inti dari transproxy yaitu tproxy, tproxyrun dan tproxywatch terletak di /usr/local/sbin.

Konfigurasi transproxy
Buat file konfigurasi yang berisi empat baris perintah seperti di bawah ini. Anda dapat menyimpannya menjadi file berekstensi *.sh dan mengeksekusinya pada awal Linuxbooting (misalnya dipanggil dari /etc/init.d/network atau dari /etc/rc.local). Sebagai contoh, simpan file dengan nama tproxy.sh. #!/bin/sh /usr/local/sbin/tproxy s 81 r nobody 192.168.0.1 8080 echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/iptables t nat A PREROUTING i eth0 p tcp dport 80 j REDIRECT to port 81 Baris kedua script di atas menyatakan bahwa transproxy bekerja pada port 81, dan akan meneruskan request yang masuk langsung ke proxy server dengan ip address 192.168.0.1 port 8080. Request yang masuk ke port 81 diperoleh dari baris perintah terakhir. Setiap request web (port 80) yang masuk ke gateway diredirect (diarahkan) ke port 81. Simpan file tproxy.sh ke direktori /usr/local/sbin/. Tambahkan juga chmod 700. Untuk dapat dieksekusi setiap sistem dibooting, buka file /etc/rc.local dan tambahkan di bagian bawah: /usr/local/sbin/tproxy.sh

Cek Konfigurasi Transproxy


Dua perintah berikut ini untuk mengetahui bahwa port 81 yang digunakan transproxy sudah aktif, dan permintaan ke port 80 (http) telah diarahkan ke port 81.
# netstat an | grep 81 tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN # /sbin/iptables L t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination REDIRECT tcp anywhere anywhere tcp dpt:http redir ports 81

Nah, dengan begini Anda sebagai sysadmin tidak perlu lagi susahsusah untuk mengonfigurasi ip address proxy pada masing-masing browser, karena setiap request ke port 80 akan di-redirect ke port 81 atau langsung ke port proxy 8080. Dengan cara ini client tidak tahu bahwa sebenarnya -- mau atau tidak mau -- setiap request ke web selalu dilayani oleh proxy. Untuk mengujinya, jalankan server proxy untuk mengakses Internet, lalu coba menjalankan web browser di komputer klien tanpa disetup proxy-nya (no proxy atau direct). Jika berhasil, matikan squid di server untuk menguji apakah klien tidak bisa mengakses web. Sebaliknya, jika klien belum bisa mengakses web, pastikan komputer klien sudah diset menggunakan gateway dengan alamat IP yang dimiliki server transparent proxy ini. Masih belum bisa? Cek ulang semua konfigurasi server dan restart squid.