GNU/Linux >> Belajar Linux >  >> Linux

Linux atau Windows- masalah keamanan

Saya akan mengetuk beberapa gagasan buruk di sini:

1) Linux lebih aman karena pangsa pasar lebih sedikit.

Bukan di pasar server, di mana mesin publik dibanting oleh bot, virus, peretas, dll. sepanjang hari:

http://en.wikipedia.org/wiki/Usage_share_of_operating_systems#Servers

2) Windows lebih aman di versi terbaru.

Setidaknya di tingkat kernel, Anda melihat lebih banyak laporan CVE tentang eksploit eksekusi jarak jauh dan peningkatan hak istimewa di Windows, lebih banyak serangan DoS lokal ke lingkungan multi-pengguna di Linux, Anda juga akan menemukan lebih banyak CVE kritis di Windows (saya punya banyak perincian statistik dari basis data CVE, tetapi saya tidak dapat menemukan pos yang saya buat beberapa bulan lalu, sangat membuat frustrasi! Google tidak membantu saya menemukannya...).

Seperti yang Anda lihat, Server 2008 memiliki jauh lebih tinggi rata-rata tertimbang keparahan CVE:

http://www.cvedetails.com/top-50-product-cvssscore-distribution.php (plus, semua kerentanan Linux dari 1,2 hari vs 5 tahun terakhir dari pengembangan 2008!)

Tentu saja Anda menjalankan dengan sesuatu seperti Ubuntu yang dilengkapi dengan banyak perangkat lunak dan pra-konfigurasi di atasnya, mereka mengikuti keinginan perangkat lunak yang berjalan di atasnya.

Pendapat saya tentang masalah ini:Linux dibangun berdasarkan banyak konsep Unix, 40 tahun pengembangan perangkat lunak dan orang-orang mengalahkan kotak ini sampai mati, itu aman terutama dengan uji coba Unix dengan api, dan ini sangat membantu, banyak pelajaran yang dipelajari dan diterapkan langsung ke Linux.

Apakah ini ada hubungannya dengan sifat Open-source Linux?

Banyak yang berkaitan dengan itu, setidaknya dengan kecepatan volume yang lebih tinggi CVE ditangani. Ini juga memungkinkan banyak masalah yang lebih kecil ditemukan dan diperbaiki (terutama karena popularitasnya , karena sumber terbuka tanpa popularitas berarti hanya sedikit yang memperhatikan kode dan sedikit minat untuk memperbaikinya).

Arsitektur dasarnya (dan perbedaan dari Windows)?

Dibangun di sekitar lingkungan multi-pengguna sangat membantu, sistem ini dibangun untuk menampung banyak orang sekaligus, dan tidak boleh ada satu pengguna yang dapat mengganggu yang lain.


Alasan yang Valid:

  1. Basis pengguna yang lebih kecil di Linux membuat Linux desktop menjadi target yang kurang menarik. Jika hanya 0,1% komputer yang menjalankan Ubuntu 10.04 dan kuda trojan Anda hanya bekerja pada versi Linux tertentu, kemungkinan besar tidak akan pernah tertangkap. Jika trojan horse Anda hanya berfungsi di Windows XP, Anda masih dapat menyerang ~25% pasar.
  2. Seringkali (tidak selalu) basis pengguna yang lebih berpengetahuan dan sadar akan keamanan. Yang mengatakan, OS seperti Ubuntu telah membuat Linux lebih mudah diakses dan Anda dapat menemukan orang melakukan hal-hal bodoh di dalamnya.

Selain itu, alasan yang agak bisa diperdebatkan Anda dapat berargumen bahwa Linux sering kali memiliki desain yang lebih aman (yang mungkin tidak lagi benar karena OS lain telah mengejar ketertinggalan).

  1. Pemisahan hak istimewa yang baik dan kontrol akses dengan su /sudo , yang tidak benar-benar ada di versi Windows yang lebih lama.
  2. Misalkan Anda memerlukan beberapa perangkat lunak baru (editor gambar, LaTeX, atau Python, dll.) yang belum diinstal sebelumnya di OS Anda. Di Linux, 99% dari waktu Anda menggunakan manajer paket Anda untuk secara otomatis mengunduh dan menginstal perangkat lunak yang ditandatangani secara kriptografis yang divalidasi dari rantai kepercayaan. Ini akan secara otomatis menggunakan ini untuk pembaruan juga (jadi mudah untuk selalu memperbarui semua sistem perangkat lunak, dengan cepat menambal lubang keamanan). Di Windows, sebagian besar waktu ketika saya perlu menginstal sesuatu yang baru, saya harus mencarinya di web, mengunduh dan menginstal dari beberapa situs web http acak yang dapat memuat perangkat lunak mereka dengan spyware/bloatware/trojan horse atau saya dapat dikenakan untuk serangan MITM dan mengunduh/menginstal beberapa virus sebagai gantinya, dan setiap aplikasi memiliki penginstal/pembaru otomatisnya sendiri (berbeda). (Yang mengatakan saya menemukan orang terlalu mempercayai PPA, skrip acak di internet, atau menambahkan ekstensi browser sebagai kerentanan keamanan utama Linux/Windows).
  3. ssh . Koneksi standar Anda ke mesin jarak jauh lain melalui ssh sangat nyaman dan kuat, yang jauh lebih unggul daripada autentikasi jarak jauh windows mana pun dalam hal keamanan. Setiap kali Anda terhubung ke mesin ssh, Anda secara kriptografis memeriksa bahwa kunci host dari mesin lain tidak berubah dari kunci yang digunakan sebelumnya; Anda dapat menggunakan kunci pribadi ssh Anda untuk merespons token tantangan tanpa membiarkan penyadap menggunakan serangan replay atau keyloggers melihat kata sandi Anda. Kemudian semua lalu lintas dikirim terenkripsi antara dua mesin; selain itu mudah untuk mengaturnya di kotak Linux.
  4. Berbagai alat keamanan Linux gratis:SELinux, AppArmor, wireshark, iptables (atau pembungkus seperti ufw), ssh, cron, top (benar-benar htop), fail2ban, tripwire, GPG, OpenSSL, md5sum/sha256sum, dll. Ini juga sangat mudah untuk mengatur skrip, memindai file log dan mengirim peringatan melalui email, dan melakukan semuanya dari baris perintah, dll. Memang sebagian besar (semua?) Ini mungkin memiliki persamaan Windows, tetapi cenderung tidak gratis atau berubah banyak antar versi. Menyiapkan cronjob pada dasarnya untuk mengotomatiskan beberapa tugas hampir sama seperti yang dilakukan selama 20 tahun terakhir; sementara menyiapkan tugas otomatis di Windows akan memiliki perubahan dramatis antar OS.

Bukan alasan yang valid:

  1. Hukum Linus:"dengan perhatian yang cukup, semua bug menjadi dangkal" sehingga sumber terbuka lebih aman daripada perangkat lunak sumber tertutup. Saya tidak menemukan argumen ini sangat meyakinkan karena lubang keamanan yang signifikan telah ditemukan telah ada selama berbulan-bulan/tahun dalam hal-hal sumber terbuka (mis., Debian OpenSSL). Lebih buruk lagi karena penyerang dapat membaca sumbernya, mencari bug (atau bahkan mencoba memasukkan bug yang disamarkan ke dalam basis kode). Namun, saya tidak percaya bahwa perangkat lunak bersumber dekat juga secara intrinsik lebih aman -- orang masih membuat kesalahan dan Anda dapat dengan mudah membayar seseorang untuk memasukkan lubang ke dalam basis kode berpemilik (dan dengan lebih sedikit bola mata, mungkin tidak mungkin untuk menyadarinya); jelas bug keamanan dan pintu belakang sering ada dalam perangkat lunak bersumber dekat dan juga diserang. (Saya menganggap ini kurang lebih seri.)

Saya menduga bahwa situasi virus/malware di Linux hampir seperti "normal", dan bahwa situasi virus/malware di Windows adalah statistik aneh, lebih seperti "Raja Naga" daripada Black Swan.

Windows memiliki kumpulan API barok yang tidak biasa, Win32, API asli NT, terus dan terus, dan ada beberapa masalah di antara mereka, seperti Win32 pada dasarnya adalah antarmuka ASCII sedangkan asli NT adalah Unicode. Ini setidaknya memfasilitasi malware. Sebagai contoh detail Rococo, pikirkan tentang nama file perangkat ajaib, AUX, CON, LP yang berfungsi di direktori mana pun.

API asli Windows tidak pernah benar-benar didokumentasikan, dan kurangnya dokumentasi ini mengalir ke hal-hal lain, seperti:set ekstensi nama file apa untuk file yang dapat dieksekusi? Mengapa nama file menentukan apakah suatu file dapat dieksekusi atau tidak? Bukankah worm NIMDA menyebar melalui beberapa masalah dengan file ".eml", sebagai contoh. Tidak ada yang tahu bahwa file .eml dapat dieksekusi pada saat itu.

Windows tidak memiliki tradisi pemisahan hak istimewa, memang memiliki tradisi single, root-user. Banyak aplikasi masih menganggap ini. Windows tidak memiliki tradisi pemisahan data dari executable. Saya memberi Anda makro Word yang disematkan dalam file .doc sebagai contoh data dan instruksi yang tidak dipisahkan yang secara historis menyebabkan masalah virus.

Linux setidaknya memiliki tradisi yang berlawanan dengan semua poin di atas:kontrol akses diskresioner yang agak efektif, cukup sederhana untuk diterapkan sehari-hari, namun cukup komprehensif untuk mencegah virus jenis file tradisional. Antarmuka panggilan sistem hanya cukup rumit, dan karena kode sumber tersedia secara bebas, ada banyak sumber dokumentasi. File yang dapat dieksekusi biasanya berada di direktori "bin", dan data berada di direktori lain. Setiap executable memiliki file konfigurasinya sendiri, daripada berbagi Registry yang besar. File data berada di direktori per pengguna, dan hampir tidak pernah berisi jenis makro canggih seperti yang dimiliki file data Word, dll.

Juga, "linux" tidak benar-benar ada seperti "Windows". Ada ratusan distro, masing-masing menyesuaikan hampir setiap aspek detail tingkat rendah. Versi kompiler berbeda, kernel linux berbeda, beberapa semua-modular, beberapa tanpa modul. Itu berlaku untuk hampir semua aspek perangkat lunak sistem, dari kernel, hingga klien email. Di mana pengguna "Windows" pada umumnya menggunakan klien email Outlook, pengguna Linux menggunakan ratusan klien yang berbeda, masing-masing dalam puluhan versi. Tidak ada basis pengguna untuk versi tertentu dari perangkat lunak tertentu:basis pengguna tidak hanya retak, tetapi juga hancur. Hal ini membuat jauh lebih sulit untuk menemukan kerentanan pada sejumlah host yang sesuai, atau untuk menulis eksploit yang akan bekerja pada sejumlah besar instance perangkat lunak.


Linux
  1. Kisah Linux Saya:Mengapa orang mengenalkan Raspberry Pi

  2. Lacak waktu yang dibutuhkan perintah di UNIX/LINUX?

  3. BCRYPT - Mengapa Distribusi Linux tidak menggunakannya secara default?

  1. Kuasai perintah Linux ls

  2. Keamanan Linux:8 kontrol penguncian sistem lainnya

  3. 13 tutorial keamanan Linux

  1. Perintah cari di Linux

  2. masalah backspace pada file linux

  3. Apa cara tercepat untuk menggabungkan dua atau lebih file di Linux?