membuat keamanan di linux (linux security)

  • pendahuluan
Keamanan komputer maupun jaringan komputer, terutama yang terhubung
ke internet harus direncanakan dan dikoordinasikan dengan baik agar dapat
melindungi sumber daya (resource) dan investasi di dalamnya. Informasi (data) dan
service (pelayanan) sudah menjadi sebuah komoditi yang sangat penting.
Kemampuan untuk mengakses dan menyediakan informasi secara cepat dan akurat
menjadi sangat esensial bagi suatu organisasi, baik yang berupa organisasi
komersial (perusahaan), perguruan tinggi, lembaga pemerintahan, maupun
individual (pribadi).
  • Aspek-aspek Security
Dalam mengamankan jaringan ada beberapa aspek yang harus kita perhatikan dan
dijaga, antara lain:
  • Kestabilan Sistem
Sistem yang kita buat harus stabil sejalan dengan waktu, dalam arti bila
sewaktu-waktu terjadi perubahan pada perilaku hardware maupun software
yang lain dari biasanya. Administrator harus mampu segera mengatasi masalahmasalah
tersebut, seperti memperbaiki bug yang ada, melakukan upgrade, dan
mengganti device rusak.
  • Ketersediaan data dan kerahasiaan
Harus ada perlindungan terhadap informasi baik berupa data, program, dan
segala hal yang dianggap penting agar tidak dihapus atau dirubah oleh orang
lain yang tidak berhak. Selain itu harus ada jaminan terhadap informasi agar
tidak bisa diakses/diketahui atau diubah oleh orang lain yang tidak berhak
  • Ketersediaan service
Servis-servis yang kita sediakan di dalam jaringan harus dijaga agar selalu
    tersedia tanpa adanya gangguan Kendali Harus ada sistem pengendalian tertentu, seperti mengatur hak akses di dalam sistem jaringan. Karena perilaku pemakai sulit ditebak maka pengguna harus dibatasi dalam melakukan akses pada daerah dimana ia berwenang, sedangkan
      bagi pengguna luar harus ditolak.
        • Monitoring
          Administrator harus melakukan pemantauan terhadap sistem jaringan yang dibangunnya, siapa yang telah mengakses dan menggunakan servis, aktivitas apa yang telah dilakukan, mencari sela-sela sistem yang belum terlindungi, memantau catatan logging sistem, mendeteksi penyusup yang masuk dll. Sangat penting di sini untuk mengembangkan budaya memperhatikan aspek keamanan dalam menggunakan setiap fasilitas jaringan kepada seluruh user/pengguna. Perlu diperhatikan bagi administrator jaringan agar para pengguna jaringan ikut menjaga keamanan jaringan, misalnya dengan menerapkan disiplin menggunakan login miliknya dan tidak memberikannya kepada siapa pun, mengganti password secara berkala, dan hal-hal lain yang berguna untuk membangun semangat untuk melindungi jaringan secara bersama.
          • Pengaturan Akses dalam Sistem Unix
          Salah satu cara yang umum digunakan untuk mengamankan informasi adalah dengan mengatur akses ke informasi melalui mekanisme “access control”. Implementasi dari mekanisme ini antara lain dengan menggunakan “password”. Di sistem Unix, untuk menggunakan sebuah sistem atau komputer, pemakai diharuskan melalui proses authentication dengan menuliskan “userid” dan “password”. Informasi yang diberikan ini dibandingkan dengan userid dan password yang berada di sistem. Apabila keduanya valid, pemakai yang bersangkutan diperbolehkan menggunakan sistem. Apabila ada yang salah, pemakai tidak dapat menggunakan sistem. Informasi tentang kesalahan ini biasanya dicatat dalam
          berkas log. Besarnya informasi yang dicatat bergantung kepada konfigurasi dari
          sistem setempat. Misalnya, ada yang menuliskan informasi apabila pemakai
          memasukkan userid dan password yang salah sebanyak tiga kali. Ada juga yang
          langsung menuliskan informasi ke dalam berkas log meskipun baru satu kali salah.
          Informasi tentang waktu kejadian juga dicatat. Selain itu asal hubungan (connection)
          juga dicatat sehingga administrator dapat memeriksa keabsahan hubungan.
          • Password di Sistem Unix
          Akses ke sistem UNIX menggunakan password yang biasanya disimpan di dalam
          berkas /etc/passwd. Di dalam berkas ini disimpan nama, userid, password, dan
          informasi-informasi lain yang digunakan oleh bermacam-macam program. Contoh isi
          berkas password dapat dilihat di bawah ini (dapat dibuka juga dengan perintah
          ‘vipw’):
          root:fi3sED95ibqR7:0:1:System Operator:/:/sbin/sh
          daemon:*:1:1::/tmp:
          hakim:d98skjhj9l:72:98:Rahmat Hakim:/home/hakim:/bin/bash
          Field Isi
          sandhy Nama atau userid pemakai
          d98skjhj9l password yang sudah terenkripsi (encrypted pass-word)
          72 UID, user identification number
          98 GID, group identification number
          Sandhy Hasan nama lengkap dari pemakai (sering juga disebut GECOS
          a atau GCOS field)
          /home/sandhy home directory dari pemakai
          /bin/bash shell dari pemakai.
          Pada sistem UNIX lama, biasanya berkas /etc/passwd ini “readable”, yaitu
          dapat dibaca oleh siapa saja. Meskipun kolom password di dalam berkas itu berisi
          “encrypted password” (password yang sudah terenkripsi), tetapi ini merupakan
          potensi sumber lubang keamanan. Ada program tertentu yang dapat digunakan
          untuk memecah password tersebut. Contoh program ini antara lain: crack (UNIX),
          viper (perl script), dan cracker jack (DOS). Program “password cracker” ini tidak
          dapat mencari tahu kata kunci dari kata yang sudah terenkripsi. Akan tetapi, yang
          dilakukan oleh program ini adalah melakukan coba-coba (brute force attack). Salah satu caranya adalah mengambil kata dari kamus (dictionary) kemudian
          mengenkripsinya. Apabila hasil enkripsi tersebut sama dengan password yang
          sudah terenkripsi (encrypted password), maka kunci atau passwordnya ketemu.
          Selain melakukan “lookup” dengan menggunakan kamus, biasanya program
          “password cracker” tersebut memiliki beberapa algoritma heuristic seperti
          menambahkan angka di belakangnya, atau membaca dari belakang (terbalik), dan
          seterusnya. Semakin sederhana password yang digunakan maka kemungkinan
          terpecahnya password tersebut akan semakin tinggi dan semakin cepat selesainya.
          • Shadow Password
          Salah satu cara untuk mempersulit mendapatkan berkas yang berisi password
          (meskipun terenkripsi) adalah dengan menggunakan “shadow password”.
          Mekanisme ini menggunakan berkas /etc/shadow untuk menyimpan encrypted
          password, sementara kolom password di berkas /etc/passwd berisi karakter “x”.
          Berkas /etc/shadow tidak dapat dibaca secara langsung oleh pemakai biasa
          (bersifat hidden), tetapi bisa diakses oleh user root.
          Beberapa perintah dan fungsi yang berhubungan dengan account dan password :
          • chage (mengeset password expiration)
          • chfn (untuk mengubah finger information)
          • chsh (mengubah default shell)
          • gpasswd (menambah user dalam group tertentu)
          • groupadd (menambah group)
          • groupdel (menghapus group)
          • groupmod (mengubah setting/informasi group)
          • id (menampilkan informasi ID beberapa informasi)
          • login (untuk login)
          • newgrp (mengganti group efektif)
          • passwd (membuat password atau mengubah password)
          • su (substitue user)
          • userdel (menghapus user)
          • usermod (mengubah setting dan informasi user)

          • Pemilihan Password
            Dengan adanya kemungkinan password ditebak, misalnya dengan menggunakan
              program password cracker, maka memilih password memegang peranan yang
                sangat penting dan memerlukan perhatian khusus. Berikut ini adalah daftar hal-hal
                  yang sebaiknya tidak digunakan sebagai password :
                    • Nama orang, dan hewan.
                      • Nama komputer, nomor telepon atau plat nomor kendaran.
                        • Tanggal lahir, alamat rumah, nama tempat yang terkenal.
                          • Kata-kata yang terdapat dalam kamus (misal : bahasa Indonesia, bahasa
                            Inggris).
                              • Password dengan karakter yang sama diulang-ulang
                                • Password yang mengurutkan penekanan tombol pada keyboard
                                  Sebaiknya jangan menggunakan password yang terdapat dalam kamus, atau katakata
                                    yang umum digunakan. Gunakan kombinasi huruf besar dan kecil, dan
                                      gunakan angka atau karakter lainnya. Password yang kita gunakan semakin
                                        panjang tentu semakin baik. Panjang password minimal secara default biasanya
                                          adalah 7 karakter. Kita bisa mengeset sesuai dengan kebutuhan kita (misal = 8
                                            karakter). Untuk itu editlah file /etc/login.defs dengan text editor favorit anda :
                                              [root]# vi /etc/login.defs
                                                kemudian pada bagian PASS_MIN_LEN 7 (ganti 7 dengan 8).
                                                Serangan Terhadap Sistem Keamanan
                                                Serangan pada keamanan jaringan sangat banyak jenisnya. Bahkan mungkin
                                                ditemukan cara-cara baru yang lebih mudah dan efektif serta tidak terlalu
                                                membutuhkan kemampuan yang tinggi. Serangan-serangan ini ada yang bersifat
                                                mengganggu, merusak, bahkan mengambil alih posisi superuser (root). Serangan
                                                yang sering terjadi di internet di antaranya :
                                                • Scanning
                                                Scan adalah probe dalam jumlah besar menggunakan tool secara otomatis
                                                dengan tujuan tertentu (misal : mendeteksi kelemahan-kelemahan pada host
                                                tujuan). Scanner biasanya bekerja dengan men-scan port TCP /IP dan servisservisnya
                                                dan mencatat respon dari komputer target. Dari scanner ini dapat
                                                diperoleh informasi mengenai port-port mana saja yang terbuka. Kemudian
                                                yang dilakukan adalah mencari tahu kelemahan-kelemahan yang mungkin
                                                bisa dimanfaatkan berdasar port yang terbuka dan aplikasi serta versi aplikasi
                                                yang digunakan.
                                                • Sniffing
                                                Sniffer adalah device (software maupun hardware) yang digunakan untuk
                                                mendengar informasi yang melewati jaringan dengan protokol apa saja. Host
                                                dengan mode promiscuous mampu mendengar semua trafik di dalam
                                                jaringan. Sniffer dapat menyadap password maupun informasi rahasia, dan keberadaannya biasanya cukup sulit untuk dideteksi karena bersifat pasif.
                                                Sniffer ini mendengarkan port Ethernet untuk hal-hal seperti "Password",
                                                "Login" dan "su" dalam aliran paket dan kemudian mencatat lalu lintas
                                                setelahnya. Dengan cara ini, penyerang memperoleh password untuk sistem
                                                yang bahkan tidak mereka usahakan untuk dibongkar. Password teks biasa
                                                adalah sangat rentan terhadap serangan ini. Untuk mengatasinya, dapat
                                                digunakan enkripsi, merancang arsitektur jaringan yang lebih aman dan
                                                menggunakan One Time Password (OTP).
                                                • Eksploit
                                                Eksploit berarti memanfaatkan kelemahan sistem untuk aktifitas-aktifitas di
                                                luar penggunaan normal yang sewajarnya.
                                                • Spoofing
                                                Biasanya IP spoofing dilakukan dengan menyamarkan identitas alamat IP
                                                menjadi IP yang tepercaya (misal dengan script tertentu) dan kemudian
                                                melakukan koneksi ke dalam jaringan. Bila berhasil akan dilanjutkan dengan
                                                serangan berikutnya.
                                                • DoS (Denial of Service) attack
                                                Salah satu sumberdaya jaringan yang berharga adalah servis-servis yang
                                                disediakannya. DoS atau malah Distributed DoS (DDoS) attack dapat
                                                menyebabkan servis yang seharusnya ada menjadi tidak bisa digunakan. Hal
                                                ini tentu akan mendatangkan masalah dan merugikan. Penyebab penolakan
                                                servis ini sangat banyak sekali, dapat disebabkan antara lain :
                                                1. Jaringan kebanjiran trafik (misal karena serangan syn flooding, ping
                                                flooding, smurfing).
                                                2. Jaringan terpisah karena ada penghubung (router/gateway) yang tidak
                                                berfungsi.
                                                3. Ada worm/virus yang menyerang dan menyebar sehingga jaringan
                                                menjadi lumpuh bahkan tidak berfungsi, dll
                                                • Malicious Code
                                                Malicious Code adalah program yang dapat menimbulkan efek yang tidak
                                                diinginkan jika dieksekusi. Jenisnya antara lain : trojan horse, virus, dan worm. Trojan Horse adalah program yang menyamar dan melakukan aktifitas
                                                tertentu secara tersembunyi (biasanya merugikan, misal : game yang mencuri
                                                password). Virus adalah program yang bersifat mengganggu bahkan
                                                merusak dan biasanya memerlukan intervensi manusia dalam
                                                penyebarannya. Worm adalah program yang dapat menduplikasikan diri dan
                                                menyebar dengan cepat tanpa intervensi manusia. Malicious kode dapat
                                                menimbulkan beragam tingkat permasalahan.
                                                • Serangan secara fisik
                                                Serangan secara fisik misalnya mengakses server/jaringan/piranti secara
                                                ilegal :
                                                • Buffer Ofer Flow
                                                Dapat terjadi jika ada fungsi yang dibebani dengan data yang lebih besar dari
                                                yang mampu ditangani fungsi tersebut. Buffer adalah penampungan
                                                sementara di memori komputer dan biasanya mempunyai ukuran tertentu.
                                                Jika hal itu terjadi maka kemungkinan yang dapat terjadi adalah :
                                                Program menolak dan memberi peringatan
                                                Program akan menerima data, meletakkannya pada memori dan
                                                mengoverwrite isi memori jika ada data sebelumnya. Cracker dapat membuat
                                                data di mana bagian overflownya adalah set instruksi tertentu untuk
                                                mendapatkan akses. Jika set instruksi baru menempati tempat suatu instruksi
                                                sebelumnya, maka instruksi cracker akan dapat dijalankan.
                                                • Social Engineering
                                                Social engineering berarti usaha untuk mendapatkan password dengan jalan
                                                'memintanya' , misalkan dengan menggunakan fakemail.
                                                • OS Finger Printing
                                                Mengetahui operating system (OS) dari target yang akan diserang
                                                merupakan salah satu pekerjaan pertama yang dilakukan oleh seorang
                                                cracker. Setelah mengetahui OS yang dituju, dia dapat melihat database
                                                kelemahan sistem yang dituju. Fingerprinting merupakan istilah yang umum digunakan untuk menganalisa OS sistem yang dituju. Beberapa cara
                                                konvensional antara lain : telnet, ftp, netcat, dll.
                                                Jika server tersebut kebetulan menyediakan suatu servis, seringkali ada
                                                banner yang menunjukkan nama OS beserta versinya. Misalkan dilakukan
                                                dengan telnet dengan port tertentu, atau dapat juga menggunakan program
                                                tertentu.
                                                Cara fingerprinting yang lebih canggih adalah dengan menganalisa respon
                                                sistem terhadap permintaan (request) tertentu. Misalnya dengan menganalisa
                                                nomor urut packet TCP/IP yang dikeluarkan oleh server tersebut dapat
                                                dipersempit ruang jenis dari OS yang digunakan.
                                                Ada beberapa tools untuk melakukan deteksi OS ini antara lain: nmap, dan
                                                queso
                                                • Crack password
                                                Crack password adalah program untuk MENDUGA dan memecahkan
                                                password dengan menggunakan sebuah atau beberapa kamus (dictionary)
                                                Dewasa ini tool-tool yang digunakan dalam penyerangan semakin mudah digunakan
                                                dan efektif, bahkan banyak yang disertai source kodenya..
                                                Previous
                                                Next Post »

                                                Komentar