bab i pendahuluansinta.ukdw.ac.id/sinta/resources/sintasrv/getintro/... · mail/smtp menggunakan...
TRANSCRIPT
BAB I
PENDAHULUAN
1.1 Pendahuluan
Kemajuan teknologi komputer dan teknologi informasi dewasa ini telah
mengubah bentuk pengolahan data dalam berbagai bidang usaha manusia dari
sistem manual menuju sistem yang terkomputerisasi. Dengan semakin
kompleksnya informasi yang dibutuhkan, maka banyak pihak merasa perlu untuk
mempelajari dan mengembangkan terus teknologi komputer dan teknologi
informasi tersebut sehingga sistem dapat menyelesaikan berbagai masalah sesuai
dengan kebutuhan manusia.
Adapun fungsi komputer telah bergeser dari sekedar mesin hitung berskala
besar menjadi mesin serba bisa, mulai dari pengolahan kata, gambar, film, suara,
jaringan, internet, dan games. Salah satu yang cukup populer dan berkembang
paling pesat adalah teknologi Internet. Dewasa ini Internet telah menjadi salah
satu gudang dan sumber informasi bahkan membentuk dunianya sendiri atau biasa
disebut cyberworld. Berbagai informasi dan data dapat dengan mudah kita
peroleh melalui Internet. Internet sendiri merupakan suatu jaringan komputer
yang besar yang dibangun dari jaringan – jaringan komputer kecil.
Internet saat ini telah berubah menjadi salah satu alat bisnis. Jutaan
transaksi bisnis ataupun segala yang berkaitan dengannya mengalir tiap harinya
melalui lalu lintas paket data di Internet. Hal ini menyebabkan keamanan menjadi
masalah serius yang perlu dipikirkan. Berbagai cara pengamanan data ataupun
sistem dari akses oleh pihak yang tidak sah dikembangkan tiap tahunnya. Salah
satunya adalah sistem autentikasi dan firewall. Sistem autentikasi sendiri
merupakan suatu teknik tertentu yang dilakukan oleh suatu sistem untuk
menentukan apakah pihak yang berkomunikasi dengannya merupakan pihak yang
1
diharapkan atau sebaliknya1. Sedangkan firewall adalah software atau aplikasi
yang berfungsi untuk melakukan filterisasi dengan aturan tertentu terhadap lalu
lintas data yang masuk ataupun keluar dari suatu mesin/host2.
1.2 Latar Belakang Masalah
Pada prinsipnya komunikasi antara dua host secara umum paling kurang
membutuhkan 2 informasi pada setiap paket data yang dilewatkan. Informasi
tersebut adalah alamat IP tujuan paket dan port dituju pada host yang akan
menerima paket. Saat paket data tiba di tujuan maka program daemon pada host
akan membaca isi paket dan menentukan kemana paket akan diteruskan dan
program apa yang bertanggung jawab untuk itu.
Untuk menentukan program yang bertanggung jawab atas paket data
tersebut maka aplikasi daemon pada host yang dituju akan membaca port number
tujuan dari paket data tersebut. Banyak program aplikasi umum yang memiliki
standard port untuk melakukan komunikasi. Sebagai contoh webserver biasanya
menggunakan port 80 (HTTP). Secure shell menggunakan port 22 (SSH), FTP
menggunakan port 21 untuk control flow dan port 20 untuk data flownya,
Mail/SMTP menggunakan port 25 dan beberapa program aplikasi umum lainnya.
Saat program – program ini berjalan dalam sebuah mesin dalam bentuk
daemon, maka port – port yang menangani paket yang ditujukan kepada program
aplikasi ini harus tetap dibiarkan terbuka. “Terbuka” disini berarti port – port
tersebut siap untuk menerima dan memproses paket yang dikirimkan dari dan ke
mana saja tergantung hasil filter dari firewall..
Program daemon berada dalam keadaan listen state pada port – port
tertentu yang harus dalam keadaan terbuka. Keadaan ini dapat menimbulkan
ancaman yang serius terhadap sistem yang bersangkutan. Hampir sebagian
serangan yang dirancang, merupakan exploit – exploit untuk port – port yang
terbuka. Dengan mengirimkan program aplikasi yang listen pada port tertentu
1 Tannenbaum S. Andrew, Computer Network, New Jersey : Prentice Hall, 2003, Chapter 8.72 Komar Brian et, Firewall for Dummies,New York : Wiley Publishing Inc., Hal : 9
2
dengan data – data tertentu, seseorang dapat saja menyebabkan kerusakan yang
cukup serius bagi sistem, atau mengeksekusi perintah atau kode untuk mengambil
alih control sistem.
Salah satu pendekatan primitif yang cukup masuk akal adalah dengan
menutup semua port atau biasa disebut juga closed port system. Hal ini tentu saja
benar dan tidak salah, namun bila semua port ditutup maka sama saja menutup
koneksi mesin atau host tersebut dari dunia luar dalam hal ini Internet. Untuk itu
diperlukan suatu jalan keluar yang tetap menjamin keamanan mesin tersebut,
tanpa harus mengorbankan tingkat konektifitas sistem.
1.2 Rumusan Masalah
Berdasarkan masalah di atas maka diperlukan suatu metode autentikasi
yang mengijinkan pemiliki akses sah untuk melakukan koneksi ke server dan
mengakses server walaupun akses ke semua port di server ditutup. Dalam hal ini
metode autentikasi yang digunakan adalah metode “port knocking”.
Secara garis besar, sistem yang akan dibangun ini akan menganalisa dan
membahas apakah “port knocking” dapat diterapkan sebagai salah satu alternatif
sistem autentikasi yang bersifat stealth dan relatif aman dari packet
sniffing/monitoring/spoofing, mampu mengurangi resiko portscan attack, serta
reliable dalam hal ini tidak perlu merubah program aplikasi standar yang sudah
ada, misalnya ftp, telnet, dsb,
1.3 Batasan Masalah
Sistem yang dibangun merupakan sistem one time authentication.
Sehingga autentikasi dilakukan hanya pada awal koneksi (inisialisasi koneksi) dan
akhir koneksi. Autentikasi pada awal koneksi hanya bertujuan untuk memberikan
informasi kepada server port apa yang harus dibuka, dan kepada siapa harus
dibuka. Sedangkan untuk autentikasi selama proses pertukaran data diserahkan
kepada aplikasi yang terlibat misalnya ftp, telnet, ssh dsb. Sedangkan autentikasi
3
pada akhir koneksi memberikan informasi kepada server akhir dari koneksi.
Client yang melakukan koneksi menggunakan port knocking pada kondisi
idealnya diharapkan tidak berada dibelakang packet-rewriting firewall dengan
jenis IP masquerade atau standard proxy server atau jaringan yang terhubung ke
Internet menggunakan NAT (Network Addres Translator). Bila client terpaksa
harus melakukan koneksi dari belakang NAT, atau packet - rewriting firewal atau
Standar Proxy maka client harus mengetahui alamat IP real yang digunakan oleh
NAT atau IP Masquerade untuk koneksi ke jaringan global (Internet) atau bila
proxy maka alamat DNS – nya.
Sistem yang dibangun tidak dirancang untuk menghindari serangan
portscan. Kemampuan untuk menghindari portscan diserahkan sepenuhnya
kepada aturan dari firewall yang diterapkan dalam hal ini IPF serta kernel sistem
operasi yang digunakan yaitu FreeBSD 5.4. Untuk pengalamatan sistem hanya
mendukung pengalamatan untuk IPV4.
1.4 Tujuan Penelitian
Penelitian ini sendiri bertujuan untuk :
• Membangun suatu sistem autentikasi alternatif yang
mengimplementasikan konsep/ide autentikasi melalui usaha koneksi.
• Sebagai sarana bagi penulis untuk menerapkan ilmu – ilmu berkaitan
dengan bidang informatika yang diperoleh selama berkuliah.
1.5 Manfaat Penelitian
Penelitian dan pembangunan sistem ini diharapkan dapat memberikan
gambaran mengenai pentingnya sistem autentikasi yang ringan dan aman dari
packet sniffing/monitoring/spoofing dalam lingkungan jaringan komputer dan
mengurangi ancaman serangan exploitasi terhadap port – port yang terbuka di
dalam sistem. Selain itu pengembangan sistem ini juga dapat dijadikan
pengalaman serta pelajaran bagaimana cara membangun program sederhana,
4
namun memperhatikan segala aspek penting dalam panduan secure coding di
sistem operasi Unix.
1.6 Spesifikasi Program
Sistem yang dibangun adalah sistem berbasis client – server.
1. Program pada sisi Server,
Program daemon yang akan running dan berada dalam keadaan listen state
untuk menganalisa dan mengintepretasikan setiap percobaan koneksi yang
dilakukan melalui catatan yang terdapat pada log file dari firewall. Jumlah
port yang harus dianalisa oleh program ini adalah 256 port. Port ini secara
khusus telah disepakati sebagai knock port untuk sistem ini.
2. Program pada sisi Client,
Port knock client berjalan pada sisi klien. Program ini dijalankan dengan
memberikan argument yaitu host asal, host tujuan, port tujuan, aksi yang akan
dilakukan, username, dan password terekripsi.
1.7 Kebutuhan Sistem
Kebutuhan Sistem dibagi 3 yaitu kebutuhan selama masa pengembangan
sistem, kebutuhan server, dan kebutuhan client.
Kebutuhan pengembangan
• Sistem Operasi UNIX FreeBSD 5.4
• CC atau GCC 2.9.x
• library OPENSSL, 0.9.7 keatas.
• Teks editor Xemacs dan VI
Kebutuhan minimal server
• Komputer dengan processor Arsitektur x86
• RAM minimal 32 MB
5
• Hardisk 500MB
• Koneksi jaringan atau Internet
• Sistem operasi UNIX FreeBSD 4.x keatas
• Dukungan kernel untuk firewall ipfilter
Kebutuhan minimal client
• Komputer dengan processor Arsitektur x86
• RAM minimal 32 MB
• Koneksi jaringan atau Internet
• Sistem Operasi *NIX standard POSIX atau turunan BSD system.
1.8 Sistematika Penulisan
Sistematika penulisan yang dipergunakan pada tugas akhir ini disesuaikan
dengan ketentuan yang telah diatur pada tata cara penulisan tugas akhir program
studi teknik informatika Universitas Kristen Duta Wacana.
Informasi tentang latar belakang permasalahan, rumusan masalah, tujuan
penulisan, manfaat penelitian, spesifikasi program dan sistematika penulisan yang
akan dikerjakan akan di tulis dan dijelaskan dalam laporan pada bab I. Kemudian
pada bab II akan dijelaskan tentang teori-teori pendukung yang berhubungan
dengan sistem kerja yang akan dilaksanakan.
Pada bab selanjutnya, yaitu bab III akan dilakukan analisa sistem beserta
perancangan sistem. Bab ini juga meliputi rancangan sistem yang dibuat baik
desain basis data secara dimensional maupun kerangka tampilan program didalam
pola sistem masukan dan keluaran.
Selanjutnya pembahasan tentang implementasi sistem yang mencakup
implementasi input dan implementasi output, berikut penjelasan perintah dan
argumen yang digunakan didalamnya akan dibahas dalam bab IV.
Akhirnya pada bab V akan diisi dengan kesimpulan dan saran-saran yang
membangun, sehingga kelak diharapkan akan ada perkembangan yang lebih baik
dari sistem yang telah ada.
6