UJIAN AKHIR SEMESTER Dosen Sifat Ujian Mata Kuliah Kelas Nama NIM : Mardi Hardjianto, M.Kom. : Take Home Test : Keamanan Sistem dan Jaringan Komputer : XB : Yoga Prihastomo : 1011601026 MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI LUHUR TA. 2011­2012 UAS: Keamanan Sistem dan Jaringan Komputer 1. Rancangkan sebuah infrastruktur jaringan komputer yang baik menurut Saudara dimana di dalam jaringan tersebut terdapat database server, web server, mail server, firewall dan jaringan intranet. Berikan aturan‐aturan yang harus ada di firewall. Jawab: Pengantar Firewall merupakan suatu cara/sistem/mekanisme yang diterapkan baik terhadap hardware, software ataupun sistem itu sendiri dengan tujuan untuk melindungi, baik dengan menyaring, membatasi atau bahkan menolak suatu atau semua hubungan/kegiatan suatu segmen pada jaringan pribadi dengan jaringan luar yang bukan merupakan ruang lingkupnya. Segmen tersebut dapat merupakan sebuah workstation, server, router, atau local area network. Karakteristik Firewall: a) Seluruh hubungan/kegiatan dari dalam ke luar, harus melewati firewall. Hal ini dapat dilakukan dengan cara memblok/membatasi baik secara fisik semua akses terhadap jaringan lokal, kecuali melewati firewall. Banyak sekali bentuk jaringan yang memungkinkan. b) Hanya kegiatan yang terdaftar/dikenal yang dapat melewati/melakukan hubungan, hal ini dapat dilakukan dengan mengatur policy pada konfigurasi keamanan lokal. Banyak sekali jenis firewall yang dapat dipilih sekaligus berbagai jenis policy yang ditawarkan. c) Firewall itu sendiri haruslah kebal atau relatif kuat terhadap serangan/kelemahan. Hal ini berarti penggunaan sistem yang dapat dipercaya dan dengan operating system yang relatif aman. Teknik Yang Digunakan Oleh Firewall: a) Service Control (kendali terhadap layanan) Berdasarkan tipe‐tipe layanan yang digunakan di internet dan boleh diakses baik untuk kedalam ataupun keluar firewall. Biasanya firewall akan mencek nomor IP Address dan juga nomor port yang di gunakan baik pada protokol TCP dan UDP, bahkan bisa dilengkapi software untuk proxy yang akan menerima dan menterjemahkan setiap permintaan akan suatu layanan sebelum mengijinkannya. Bahkan bisa jadi software pada server itu sendiri, seperti layanan untuk web ataupun untuk mail. halaman 1 UAS: Keamanan Sistem dan Jaringan Komputer b) Direction Conrol (kendali terhadap arah) Berdasarkan arah dari berbagai permintaan (request) terhadap layanan yang akan dikenali dan diijinkan melewati firewall. c) User Control (kendali terhadap pengguna) Berdasarkan pengguna/user untuk dapat menjalankan suatu layanan, artinya ada user yang dapat dan ada yang tidak dapat menjalankan suatu service, hal ini di karenakan user tersebut tidak di ijinkan untuk melewati firewall. Biasanya digunakan untuk membatasi user dari jaringan lokal untuk mengakses keluar, tetapi bisa juga diterapkan untuk membatasi terhadap pengguna dari luar. d) Behavior Control (kendali terhadap perlakuan) Berdasarkan seberapa banyak layanan itu telah digunakan. Misal, firewall dapat memfilter email untuk menanggulangi/mencegah spam. Konfigurasi Firewall: a) Screened Host Firewall System (single‐homed bastion) Pada konfigurasi ini, fungsi firewall akan dilakukan oleh packet filtering router dan bastion host*. Router ini dikonfigurasikan sedemikian sehingga untuk semua arus data dari Internet, hanya paket IP yang menuju bastion host yang di ijinkan. Sedangkan untuk arus data (traffic) dari jaringan internal, hanya paket IP dari bastion host yang di ijinkan untuk keluar. Konfigurasi ini mendukung fleksibilitas dalam akses internet secara langsung, sebagai contoh apabila terdapat web server pada jaringan ini maka dapat di konfigurasikan agar web server dapat diakses langsung dari internet. Bastion Host melakukan fungsi Authentikasi dan fungsi sebagai proxy. Konfigurasi ini memberikan tingkat keamanan yang lebih baik daripada packet­filtering router atau application­level gateway secara terpisah. b) Screened Host Firewall System (dual‐homed bastion) Pada konfigurasi ini, secara fisik akan terdapat patahan/celah dalam jaringan. Kelebihannya adalah dengan adanya dua jalur yang memisahkan secara fisik maka akan lebih meningkatkan keamanan dibanding konfigurasi pertama, adapun untuk server‐server yang memerlukan direct accsess (akses langsung) maka dapat di letakkan ditempat/segmenrt yang halaman 2 UAS: Keamanan Sistem dan Jaringan Komputer langsung berhubungan dengan internet. Hal ini dapat dilakukan dengan cara menggunakan 2 buah NIC (network interface card) pada bastion host. c) Screened subnet firewall Ini merupakan konfigurasi yang paling tinggi tingkat keamanannya. Kenapa? Karena pada konfigurasi ini di gunakan 2 buah packet filtering router, 1 diantara internet dan bastion host, sedangkan 1 lagi diantara bastian host dan jaringan lokal konfigurasi ini membentuk subnet yang terisolasi. Adapun kelebihannya adalah : Terdapat 3 lapisan/tingkat pertahanan terhadap penyusup/intruder. Router luar hanya melayani hubungan antara internet dan bastion host sehingga jaringan lokal menjadi tak terlihat (invisible). Jaringan lokal tidak dapat mengkonstuksi routing langsung ke internet, atau dengan kata lain, internet menjadi invisible (bukan berarti tidak bisa melakukan koneksi internet). Langkah­Langkah Membangun Firewall: a) Mengidenftifikasi bentuk jaringan yang dimiliki. Mengetahui bentuk jaringan yang dimiliki khususnya toplogi yang di gunakan serta protocol jaringan, akan memudahkan dalam mendesain sebuah firewall b) Menentukan policy atau kebijakan. Penentuan Kebijakan atau policy merupakan hal yang harus di lakukan, baik atau buruknya sebuah firewall yang di bangun sangat di tentukan oleh policy/kebijakan yang di terapkan: Menentukan apa saja yang perlu di layani. Artinya, apa saja yang akan dikenai policy atau kebijakan yang akan kita buat Menentukan individu atau kelompok‐kelompok yang akan dikenakan policy atau kebijakan tersebut Menentukan layanan‐layanan yang di butuhkan oleh tiap tiap individu atau kelompok yang menggunakan jaringan Berdasarkan setiap layanan yang di gunakan oleh individu atau kelompok tersebut akan ditentukan bagaimana konfigurasi terbaik yang akan membuatnya semakin aman Menerapkankan semua policy atau kebijakan tersebut. halaman 3 UAS: Keamanan Sistem dan Jaringan Komputer c) Menyiapkan software atau hardware yang akan digunakan. Baik itu operating system yang mendukung atau software‐software khusus pendukung firewall seperti ipchains, atau iptables pada linux, dsb. Serta konfigurasi hardware yang akan mendukung firewall tersebut. d) Melakukan test konfigurasi. Pengujian terhadap firewall yang telah selesai di bangun haruslah dilakukan, terutama untuk mengetahui hasil yang akan kita dapatkan, caranya dapat menggunakan tools. Tools yang biasa dilakukan untuk mengaudit seperti nmap. Studi Kasus diketahui pada sebuah area terdapat: database server, web server, mail server, firewall dan jaringan intranet. Gambar 1. Skema Konfigurasi Jaringan Secara Sederhana Asumsi‐asumsi: a) Sistem operasi web server dan database server adalah Linux keluarga RedHat (CentOS). b) IPTables sebagai Firewall; c) SELinux (Security­Enhanced), SELinux membuat sistem lebih aman; d) Database yang digunakan adalah MySQL; e) Web server yang digunakan adalah Apache. f) Mail Server menggunakan squirrelmail. halaman 4 UAS: Keamanan Sistem dan Jaringan Komputer Berikut ini adalah aturan‐aturan yang harus ada di firewall: a) Script firewall vi /root/firewall.sh #!/bin/sh ### Flush any Existing iptable Rules and start afresh ### iptables -F INPUT iptables -F OUTPUT iptables -F FORWARD iptables -F POSTROUTING -t nat iptables -F PREROUTING -t nat ### Set our own simple iptable rules ### iptables -A INPUT -p tcp --dport 80 -j ACCEPT //apache iptables -A INPUT -p tcp --dport 443 -j ACCEPT //apache ssl iptables -A INPUT -p tcp --dport 53 -j ACCEPT //dns - udp for large queries iptables -A INPUT -p udp --dport 53 -j ACCEPT //dns - udp for small queries iptables -A INPUT -p tcp --dport 953 -j ACCEPT //dns internal iptables -A INPUT -p tcp --dport 3306 -j ACCEPT //dante socks server iptables -A INPUT -d 136.201.1.250 -p tcp --dport 22 -j ACCEPT //sshd iptables -A INPUT -d 136.201.1.250 -p tcp --dport 3306 -j ACCEPT //mysql iptables -A INPUT -d 136.201.1.250 -p tcp --dport 8000 -j ACCEPT //apache on phi iptables -A INPUT -s 136.201.1.250 -p tcp --dport 8080 -j ACCEPT //jboss for ejc iptables -A INPUT -d 136.201.1.250 -p tcp --dport 993 -j ACCEPT //imaps iptables -A INPUT -s 127.0.0.1 -p tcp --dport 111 -j ACCEPT //to speed up mail via courier. Identified via logging iptables -A INPUT -d 136.201.1.250 -p tcp --dport 139 -j ACCEPT //samba iptables -A INPUT -s 127.0.0.1 -p tcp --dport 143 -j ACCEPT //squirrelmail iptables -A INPUT -p tcp --dport 4949 -j ACCEPT //munin stats iptables -A INPUT -p tcp --dport 25 -j ACCEPT //incoming mail iptables -A INPUT -p tcp --dport 3128 -j ACCEPT //squid iptables -A INPUT -p udp --dport 161 -j ACCEPT //snmpd iptables -A INPUT -p icmp -j DROP //Allow ICMP Ping packets. iptables -A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -m state --state RELATED -j ACCEPT iptables -A INPUT -j REJECT //Close up firewall. All else blocked. ################################# ##########PORT FORWARDING######## iptables -t nat -A PREROUTING -p tcp -d 136.201.1.250 --dport 8000 -j DNAT --to 136.201.146.211:80 iptables -t nat -A POSTROUTING -d 136.201.146.211 -j MASQUERADE ################################# b) Mengubah permission files: chmod 755 /root/firewall.sh /root/firewall.sh halaman 5 UAS: Keamanan Sistem dan Jaringan Komputer c) Jalankan service firewall /etc/init.d/iptables start 2. Bila Saudara bekerja di sebuah perusahaan kecil yang memiliki web server dan database server yang harus dijadikan satu dalam sebuah server, langkah‐ langkah apa yang Saudara lakukan untuk mengamankan database yang terdapat di database server tersebut. Jawab: Asumsi‐asumsi untuk soal di atas: g) Sistem operasi web server dan database server adalah Linux keluarga RedHat (CentOS). h) IPTables sebagai Firewall; i) SELinux (Security­Enhanced), SELinux membuat sistem lebih aman; j) Database yang digunakan adalah MySQL; k) Web server yang digunakan adalah Apache. Gambar 2. Single Server Yang Memuat Web Dan Database Server Langkah‐langkah yang saya lakukan untuk mengamankan database yang terdapat di database server di atas adalah sebagai berikut: a) Mematikan layanan/service­service yang tidak diperlukan. Terbukanya sebuah service yang tidak diperlukan akan menambah celah keamanan komputer. Hacker akan dapat mengetahui service apa saja yang sedang aktif menggunakan tools seperti nmap. Semakin banyak service yang jalan, maka semakin rentan suatu komputer untuk diserang. halaman 6 UAS: Keamanan Sistem dan Jaringan Komputer b) Mengaktifkan firewall, melakukan setting yang tepat terhadap IPTables. Blok/droplah semua komunikasi yang mencurigakan dan dari IP yang tidak dikenal. c) Jangan menjalankan daemon http sebagai root. Gunakan suatu user khusus untuk httpd, tentukan /bin/false dan shell dari user dan tempatkan namanya dalam file /etc/ftpusers. d) Mempassword root (account tertinggi) database server dengan password yang strong (kombinasi huruf, angka, dan karakter spesial). Dan menggantinya secara berkala. e) Memastikan bahwa di database server tidak ada account yang dapat login secara anonymous. f) Mengaktifkan SELinux membuat sistem lebih aman. Dengan catatan perlu penanganan atau konfigurasi SELinux yang akurat. g) Melakukan Data Control Language (DCL) berupa perintah GRANT dan REVOKE. Database Adminstrator (DBA) harus melakukan GRANT dan REVOKE yang tepat terhadap pengguna database sesuai dengan (hak aksesnya) privilegesnya. h) Lakukan koneksi melalui mekanisme Secure Socket Layer (SSL) jika akan mengakses database server secara web. i) Memeriksa log secara berkala. Logging sistem dapat memberikan gambaran mengenai keadaan sistem. Seorang system engineer/DBA dapat memantau log system atau databasenya melalui mekanisme log yang baik. j) Melakukan audit trail terhadap aplikasi yang mengakses database. Audit trail akan mencatat setiap transaksi yang dilakukan oleh pengguna aplikasi. Sehingga di kemudian hari dapat dilakukan pengawasan oleh auditor (baik internal maupun eksternal). k) Mengganti nomor port standard sebuah layanan. Untuk mengecoh interuder, port dapat diubah nilai defaultnya. halaman 7 UAS: Keamanan Sistem dan Jaringan Komputer 3. Bila diketahui sebuah nilai hash: 96101379a05cb8f3cfeeebd54c613551 Apa Plaintext dari nilai hash tersebut? Sebagai informasi nilai hash tersebut didapat dengan mengunakan MD5. Jawab: Dalam kriptografi, MD5 (Message‐Digest algortihm 5) ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128‐bit. Pada standart internet (RFC 1321). MD5 telah dimanfaatkan secara bermacam‐ macam pada aplikasi keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas sebuah berkas (check sum). MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, MD4. Pada tahun 1996, sebuah kecacatan ditemukan dalam desainnya, walau bukan kelemahan fatal, pengguna kriptografi mulai menganjurkan menggunakan algoritma lain, seperti SHA‐1 (klaim terbaru menyatakan bahwa SHA‐1 juga cacat). Pada tahun 2004, kecacatan‐kecacatan yang lebih serius ditemukan menyebabkan penggunaan algoritma tersebut dalam tujuan untuk keamanan jadi makin dipertanyakan. MD5 merupakan teknik kriptografi satu arah, artinya hash yang dihasilkan tidak dapat dikembalikan dalam bentuk plaintext. Namun, beberapa situs menyediakan jasa MD5 Decrypter untuk mengubah nilai hash menjadi bentuk plaintext. Nilai hash pada soal jika di dekripsi sesuai dengan website: http://www.md5decrypter.co.uk/ adalah Piksi. Berikut screenshootnya: Namun, apabila kata Piksi dilakukan enkripsi dengan metode MD5, maka hash yang dihasilkan tidaklah sama. halaman 8