Arsitektur keamanan di Linux, mempunyai enam komponen :
1. Account Pemakai (User Account)
Kekuasaan dalam mengadministrasi sistem secara keseluruhan berada dalam satu account, yaitu root. Account root memiliki kekuasaan untuk mengontrol sistem file, user, sumber daya hingga akses jaringan. Model diktatorial ini memudahkan administrator dalam menangani sistem. Jika ada satu user yang melanggar aturan, root bisa membuat account-nya beku, tanpa mengganggu user yang lain.
Untuk itu account root biasanya hanya digunakan saat-saat tertentu saja. Misalnya perbaikan sistem. Dan biasanya account root dipergunakan pada modus single user.
2. Kontrol Akses secara Diskresi (Discretionary Access Control)
Setiap pemakai Linux, memiliki account tersendiri, yang masing-masing dibedakan dengan user name dan password. Setiap file memiliki atribut kepemilikan, group, dan user umum. Satu file, bisa diberikan atribut tertentu, sehingga hanya dapat dibaca atau dieksekusi oleh pemiliknya saja.
Pembatasan ketat ini dinamakan Discretionary Access Control (DAC). Hal ini pula yang menyebabkan virus jarang ditemui atau jarang tersebar di Linux. Sebab virus biasanya menulis file ke dalam sistem. Dengan DAC, virus hanya berpengaruh pada file-file yang dimiliki oleh salah seorang user yang mengeksekusi virus tersebut. Sedangkan sistemnya sendiri tidak tersentuh.
3. Kontrol Akses Jaringan (Network Access Control)
Linux dapat memilih komputer mana saja yang dapat mengaksesnya. Pembatasan antar jaringan ini dinamakan Network Access Control. Alat pengontrolan akses jaringan ini dinamakan firewall.
Tugas dari firewall antara lain:
Analisa dan filtering paket
Memeriksa paket TCP, lalu diperlakukan dengan kondisi yang sudah ditentukan, contoh paket A lakukan tindakan B.
Blocking content dan protocol
Bloking isi paket seperti applet java, activeX, Vbscript, Cookies
Autentikasi koneksi dan enkripsi
Menjalankan enkripsi dalam identitas user, integritas satu session dan melapisi data dengan algoritma enkripsi seperti : DES, triple DES, Blowfish, IPSec, SHA, MD5, IDEA, dsb.
4. Enkripsi (Encryption)
Enkripsi adalah proses mengacak data sehingga tidak dapat dibaca oleh pihak lain. Pada kebanyakan proses enkripsi, Anda harus menyertakan kunci sehingga data yang dienkripsi dapat didekripsikan kembali. Ilmu yang mempelajari teknik enkripsi disebut kriptografi. Gambaran sederhana tentang enkripsi, misalnya mengganti huruf a dengan n, b dengan m dan seterusnya. Model penggantian huruf sebagai bentuk enkripsi sederhana ini sekarang tidak dipergunakan secara serius dalam penyembunyian data. ROT-13 adalah program yang masih suka dipergunakan. Intinya adalah mengubah huruf menjadi 23 huruf didepannya. Misalnya b menjadi o dan seterusnya. Pembahasan enkripsi akan terfokus pada enkripsi password dan enkripsi komunikasi data.
5. Logging
Linux memiliki fasilitas logging yang sangat komprehensif. Untuk yang baru saja bermigrasi ke Linux, mungkin belum terbiasa memanfaatkan logging. Pada sistem operasi non UNIX, kebanyakan meminimalkan logging, bahkan tidak ada sama sekali.
Logging adalah prosedur di mana sebuah sistem operasi atau aplikasi merekam setiap kejadian dan menyimpan rekaman tersebut untuk dapat dianalisa di kemudian hari. Kejadian yang direkam ini bisa saja menyangkut sistem operasi, atau khusus program-program tertentu saja.
Semua file log di Linux disimpan dalam direktori /var/log. Beberapa program/file log yang penting adalah :
xferlog : rekaman informasi login di ftp daemon berupa data wktu akses, durasi transfer file, ip dan dns host yang mengakses, jumlah/nama file, tipe transfer (binary / ASCII ), arah transfer ( incoming / outgoing ), modus akses ( anonymous /guest / user resmi ), nama/id/layanan user dan metode otentikasi.
6. Deteksi penyusupan(Intrusion Detection)
Deteksi penyusupan adalah aktivitas untuk mendeteksi penyusupan secara cepat dengan menggunakan program khusus yang otomatis. Program yang dipergunakan biasanya disebut sebagai Intrusion Detection System (IDS).
Tipe dasar dari IDS adalah:
Bentuk yang sering dipergunakan untuk komputer secara umum adalah rule-based systems.
Pendekatan yang dipergunakan dalam rule-based systems ada dua, yaitu pendekatan pencegahan (preemptory) dan pendekatan reaksi (reactionary). Perbedaannya hanya masalah waktu saja. Pendekatan pencegahan, program pendeteksi penyusupan akan memperhatikan semua lalu lintas jaringan. Jika ditemukan paket yang mencurigakan, maka program akan melakukan tindakan yang perlu. Pendekatan reaksi, program pendeteksi penyusupan hanya mengamati file log. Jika ditemukan paket yang mencurigakan, program juga akan melakukan tindakan yang perlu.
Beberapa contoh program IDS di antaranya:
Program yang melakukan pengecekan terhadap entri kosong. Dalam arti, wtmp mencatat sesuatu tapi isinya kosong.
Program yang mendeteksi stealth scan. Stealth scan adalah scaning yang dilakukan tanpa harus membuat sebuah sesi tcp. Sebuah koneksi tcp dapat terbentuk jika klien mengirimkan paket, dan server mengirimkan kembali paketnya dengan urutan tertentu, secara terus menerus sehingga sesi tcp dapat berjalan. Stealth scan memutuskan koneksi tcp sebelum klien menerima kembali jawaban dari server. Scaning model ini biasanya tidak terdeteksi oleh log umum di Linux.
hostsentry
Program yang mendeteksi login anomali. Anomali disini termasuk perilaku aneh (bizzare behaviour), anomali waktu (time anomalies), dan anomali lokal (locale anomalies). Versi beta dari program ini dapat diperoleh di http://www.psionic.com/abacus/hostsentry.