Saya menggunakan Debian 9.1 dengan KDE dan saya bertanya-tanya mengapa ia datang tanpa firewall yang diinstal dan diaktifkan secara default? gufw bahkan tidak ada dalam paket DVD1.
Apakah orang-orang diharapkan terhubung ke Internet sebelum mendapatkan firewall? Mengapa? Bahkan jika semua port ditutup secara default, berbagai program yang diinstal, diperbarui atau diunduh dapat membukanya (atau tidak?) Dan saya berharap tidak sedikit pun meninggalkan mesin saya tanpa izin saya.
Sunting: Jadi saya baru tahu tentang iptables tapi saya kira pertanyaannya masih tetap iptables karena firewall tampaknya tidak diketahui oleh kebanyakan orang, aturan standarnya, aksesibilitas & kemudahan penggunaannya dan fakta bahwa secara default setiap aturan iptable diatur ulang saat restart .
iptables
pra-instal! Saya kira orang hanya mencoba untuk mengambil prinsip end-to-end ke lapisan 7 ekstrim ...sudo
kata sandi seperti disudo apt-get install package ...
Jawaban:
Pertama, Debian cenderung menganggap Anda tahu apa yang Anda lakukan, dan mencoba menghindari membuat pilihan untuk Anda.
Instalasi default Debian cukup kecil dan aman - tidak memulai layanan apa pun. Dan bahkan tambahan opsional standar (misalnya, server web, ssh) yang ditambahkan ke instalasi biasanya cukup konservatif dan aman.
Jadi, firewall tidak diperlukan dalam hal ini. Debian (atau pengembangnya) berasumsi bahwa jika Anda memulai layanan tambahan, Anda akan tahu cara melindunginya, dan dapat menambahkan firewall jika perlu.
Lebih penting lagi, mungkin, Debian menghindari membuat pilihan untuk Anda mengenai perangkat lunak firewall apa yang akan digunakan. Ada sejumlah pilihan yang tersedia - mana yang harus digunakan? Dan bahkan mengenai pengaturan firewall dasar, pengaturan apa yang harus dipilih? Karena itu,
iptables
adalah prioritas penting, sehingga diinstal secara default. Tapi tentu saja, Debian tidak tahu bagaimana Anda menginginkannya dikonfigurasi, jadi Debian tidak mengkonfigurasinya untuk Anda. Dan Anda mungkin lebih suka menggunakaniptables
penerusnftables
,.Perhatikan juga, bahwa fungsi firewall sudah dibangun ke dalam kernel Linux sampai batas tertentu; misalnya
nftables
dannetfilter
. Debian dan distribusi Linux lainnya memang menyediakan alat ruang pengguna inginiptables
mengelola fungsi itu. Tapi apa yang Anda lakukan dengan mereka terserah Anda.Perhatikan bahwa entitas ini tidak disebutkan namanya secara konsisten. Mengutip halaman Wikipedia
nftables
:sumber
iptables
itu juga standar untuk Debian. Tetapi satu hal yang tidak dilakukan Debian sendiri adalah konfigurasi sistem yang tidak jelas bagi pengguna.Pertama, saya ingin mengulangi apa yang telah dikatakan: Debian melayani sekelompok pengguna yang agak berbeda dari banyak distribusi utama lainnya, terutama Ubuntu. Debian diarahkan pada orang-orang yang tahu bagaimana sistem bekerja, dan yang tidak takut untuk bermain-main dari waktu ke waktu dengan imbalan kontrol tingkat tinggi atas sistem. Ubuntu, misalnya, melayani audiens target yang sangat berbeda: orang-orang yang hanya ingin sesuatu bekerja dan tidak (benar-benar) peduli apa yang terjadi di bawah tenda, dan tentu saja tidak ingin harus memodifikasi konfigurasi sistem untuk membuat sesuatu kerja. Ini berdampak pada sejumlah aspek dari sistem yang dihasilkan. Dan sampai batas tertentu, itulah salah satu keindahan Linux; sistem basis yang sama dapat digunakan untuk membangun lingkungan yang memenuhi kebutuhan yang berbeda. Ingat bahwa Ubuntu adalah turunan Debian,
Disk pertama berisi perangkat lunak paling populer, sebagaimana ditentukan oleh keikutsertaan mengumpulkan statistik anonim dari sistem yang diinstal. Fakta bahwa gufw tidak pada disk pertama hanya menunjukkan bahwa ini bukan paket yang sangat populer (dalam hal basis terpasang) di Debian. Juga mudah untuk menginstal begitu Anda memiliki sistem dasar dengan jaringan dan berjalan, jika Anda lebih suka daripada alternatif.
Ya, untuk satu hal, saya percaya bahwa Debian memungkinkan instalasi melalui jaringan. (Tidak hanya mengunduh paket dari jaringan selama instalasi normal, tetapi benar-benar memulai instalasi dari host yang berbeda dari yang sedang diinstal .) Firewall yang dikonfigurasi secara default dengan set aturan restriktif akan berisiko mengganggu itu. Sama dengan instalasi yang membutuhkan akses jaringan keluar selama proses instalasi untuk tujuan selain hanya mengunduh versi terbaru dari paket yang sedang diinstal.
Untuk yang lain, ada yang saya sebutkan di atas; sebagai aturan, Debian mengharapkan Anda tahu apa yang Anda lakukan. Jika Anda menginginkan firewall, Anda diharapkan dapat mengonfigurasinya sendiri, dan diharapkan Anda lebih tahu daripada pengelola Debian apa kebutuhan khusus Anda. Debian sedikit mirip dengan OpenBSD dalam hal itu, hanya saja tidak ekstrim. (Ketika diberi pilihan antara membuat sistem dasar sedikit lebih aman dan membuatnya sedikit lebih bermanfaat, pengelola OpenBSD hampir selalu mencari keamanan. Itu menunjukkan dalam statistik kerentanan keamanan sistem dasar mereka, tetapi memiliki implikasi besar pada kegunaan.)
Dan tentu saja, teknis: Firewall dukungan yang termasuk dalam sistem dasar. Hanya saja itu disetel ke aturan semua-permisif yang ditetapkan secara default oleh kernel, dan instalasi dasar Debian tidak melakukan apa pun untuk mengubahnya. Anda dapat menjalankan beberapa perintah untuk membatasi arus lalu lintas.
Pertama, firewall biasanya digunakan untuk membatasi lalu lintas masuk . Jika Anda ingin membatasi keluarlalu lintas, itu adalah ketel ikan yang agak berbeda; tentu bisa dilakukan, tetapi membutuhkan lebih banyak menyesuaikan dengan situasi spesifik Anda. Firewall lalu lintas keluar blok default yang membiarkan port yang biasa digunakan terbuka (di mana port yang biasa digunakan mungkin ftp / 20 + 21, ssh / 22, smtp / 25, http / 80, https / 443, pop3 / 110, imap / 143 dan bundel orang lain), ditambah mengizinkan lalu lintas yang terkait dengan sesi yang ditetapkan, tidak akan jauh lebih aman daripada firewall yang diizinkan secara default. Lebih baik memastikan paket yang diinstal oleh sistem dasar dibatasi untuk paket yang dipahami dengan baik, dikonfigurasi aman sebagai paket yang dikirimkan, dan memungkinkan administrator untuk mengatur aturan firewall yang sesuai jika mereka membutuhkan perlindungan lebih dari itu.
Kedua, port tertutup (port yang merespons TCP SYN dengan TCP RST / ACK, biasanya dilaporkan sebagai "koneksi ditolak" - ini biasanya keadaan default port TCP pada sistem langsung yang mendukung TCP / IP tanpa adanya konfigurasi yang sebaliknya, atau perangkat lunak yang mendengarkannya) bukan kerentanan yang signifikan, bahkan pada sistem yang tidak terhubung melalui firewall terpisah. Satu-satunya kerentanan signifikan dalam konfigurasi semua-tertutup adalah jika ada kerentanan dalam implementasi tumpukan TCP / IP kernel. Tetapi paket-paket tersebut sudah melewati kode netfilter (iptables) di kernel, dan sebuah bug bisa mengintai di sana juga. Logika untuk merespons dengan apa yang menghasilkan "koneksi ditolak" di ujung yang lain cukup sederhana sehingga saya sulit percaya itu akan menjadi sumber utama bug, apalagi bug yang terkait dengan keamanan;
Ketiga, paket biasanya diinstal sebagai root, dari mana Anda (paket) dapat mengubah aturan iptables tanpa sepengetahuan Anda. Jadi tidak seperti Anda mendapatkan sesuatu seperti mengharuskan administrator manusia untuk mengizinkan lalu lintas secara manual melalui firewall host. Jika Anda ingin isolasi semacam itu, Anda harus memiliki firewall yang terpisah dari host yang melindungi.
Saya sebenarnya akan mengatakan bahwa yang sebaliknya adalah benar; iptables sebagai firewall sudah dikenal luas . Ini juga tersedia di hampir setiap sistem Linux yang mungkin Anda temui. (Ini menggantikan ipchains selama pengembangan yang mengarah ke kernel Linux versi 2.4, sekitar tahun 2000 atau lebih. Jika saya mengingat hal-hal dengan benar, perubahan terbesar yang dapat dilihat pengguna antara keduanya untuk kasus penggunaan firewall yang umum adalah aturan bawaan rantai sekarang dinamai dalam huruf besar, seperti
INPUT
, bukannya huruf kecil, sepertiinput
.)Jika ada, iptables dapat melakukan hal - hal selain firewall yang tidak banyak digunakan atau dipahami. Sebagai contoh, dapat digunakan untuk menulis ulang paket IP sebelum mereka melewati firewall.
sumber
Jika saya menebak, tanpa benar-benar menjadi kepala generasi pengembang dan pengelola Debian, tebakan saya adalah ini:
Debian terutama dirancang sebagai sistem operasi server, baik cabang sid dan pengujian memiliki tujuan utama mereka yaitu menciptakan cabang stabil berikutnya, dan, pada saat dibekukan, mereka dibekukan, dan kandang baru diambil dari pengujian, hanya sebagai terjadi dengan Stretch.
Mengingat ini, saya akan berasumsi lebih lanjut, saya harus mengkonfirmasi ini dengan teman sysadmin, bahwa firewall pusat data adalah perangkat eksternal, keamanan yang jauh lebih tinggi (setidaknya satu harapan ini terjadi), ke server, dan menangani utama tugas firewall. Bahkan pada LAN kecil dengan router, ini kasusnya, router adalah firewall, saya tidak menggunakan aturan firewall lokal pada sistem saya, mengapa saya harus melakukannya?
Saya pikir mungkin orang mengacaukan instalasi lokal mereka dari desktop Debian atau server file tunggal di kantor atau rumah dengan pekerjaan aktual yang terhubung ke Debian, yang saya percaya berfokus terutama pada penggunaan produksi.
Saya tidak yakin tentang ini, tetapi setelah lebih dari satu dekade penggunaan Debian, itulah perasaan saya, baik sebagai pengembang, dan pendukung Debian dalam banyak hal.
Saya dapat memeriksa ini, karena ini sebenarnya pertanyaan yang bagus, tetapi dugaan saya adalah bahwa jaringan nyata diblokir di titik masuk ke jaringan, bukan berdasarkan per mesin, atau setidaknya, itulah ide dasar yang mungkin akan mendorong Debian. Plus, tentu saja, bahwa jika bukan itu masalahnya, sysadmin akan menyiapkan aturan firewall berdasarkan per mesin, menggunakan sesuatu seperti Chef, tidak bergantung pada instalasi default, yang tidak akan menjadi sesuatu yang Anda cenderung untuk mempercayai, misalnya, konfigurasi ssh Debian standar bukan yang akan saya gunakan secara pribadi sebagai default, misalnya, mereka memperbolehkan login root secara default, dan terserah sysadmin untuk memperbaikinya jika mereka menganggapnya sebagai praktik yang buruk .
Artinya, ada asumsi kompetensi menurut saya kembali Debian yang mungkin tidak ada di beberapa distro lain. Seperti di, Anda akan mengubah apa yang ingin Anda ubah, membuat gambar, mengelolanya dengan perangkat lunak manajemen situs, dan sebagainya. Itu hanya beberapa kemungkinan. Misalnya, Anda tidak akan pernah menggunakan DVD untuk membuat server baru, setidaknya tidak pernah dalam produksi, Anda mungkin akan menggunakan sesuatu seperti netinstall minimal, itulah yang selalu saya gunakan, misalnya (saya dulu menggunakan gambar yang lebih kecil lagi , tetapi mereka menghentikannya). Jika Anda melihat apa yang termasuk dalam instalasi basis itu, Anda mendapatkan pengertian yang layak tentang apa yang dianggap penting oleh Debian dan apa yang tidak. ssh ada di sana, misalnya. Xorg tidak, Samba tidak.
Orang juga dapat bertanya mengapa mereka kembali ke GNOME sebagai desktop default, tetapi ini hanya keputusan yang mereka buat, dan yang pada dasarnya diabaikan oleh pengguna mereka karena Anda dapat membuat sistem seperti yang Anda inginkan (yaitu, untuk mendapatkan desktop Xfce, saya tidak dapat menginstal Xdebian (seperti pada, Xubuntu), saya baru saja menginstal inti Debian, Xorg, dan Xfce, dan pergilah). Dengan cara yang sama, jika saya ingin firewall, saya akan mengkonfigurasinya, mempelajari seluk beluk, dll, tapi saya pribadi tidak akan mengharapkan Debian untuk mengirim dengan yang diaktifkan, itu sebenarnya akan agak mengganggu bagi saya jika itu adalah . Mungkin pandangan saya tentang ini mencerminkan semacam konsensus yang mungkin juga Anda temukan secara internal di Debian.
Plus tentu saja, benar-benar tidak ada yang namanya Debian, ada berbagai instal gambar, netinstall, instal penuh, semua ini bervariasi dari barebone, cli saja, ke desktop pengguna yang cukup lengkap. Pengguna produksi mungkin akan membuat gambar misalnya, yang akan dikonfigurasikan seperti yang diinginkan pengguna, saya tahu jika saya menyiapkan server Debian, saya akan mulai dengan dasar-dasar mentah, dan membangunnya sampai melakukan apa yang saya inginkan.
Kemudian Anda memiliki dunia webserver, yang merupakan bola lilin yang sama sekali berbeda, mereka memiliki pertanyaan keamanan yang sangat berbeda, dan, sebagai teman lama saya yang terhubung dengan baik dengan hacker di bawah tanah berkata, seseorang yang menjalankan server web tanpa mengetahui cara mengamankan itu juga bisa disebut seseorang yang servernya dimiliki oleh cracker.
sumber
Gagasan umumnya adalah, Anda tidak perlu firewall pada kebanyakan sistem kecuali untuk pengaturan yang rumit.
SSH sedang berjalan ,, ketika Anda menginstal server. Tidak ada lagi yang harus didengarkan dan Anda mungkin ingin dapat terhubung ke ssh.
Ketika Anda menginstal server web, Anda akan mengharapkan server web tersedia, bukan? Dan untuk penyetelan dasar, Anda dapat mengikat server web, hanya ke antarmuka lan pribadi, misalnya 192.168.172.42 (IP LAN lokal Anda), alih-alih 0,0.0.0 (semua ips). Anda masih tidak membutuhkan firewall.
Tentu saja, semuanya dapat membuka port> 1024, tetapi ketika Anda memiliki perangkat lunak yang tidak dipercaya (atau pengguna yang tidak dipercaya), Anda harus melakukan lebih dari sekadar memasang firewall. Saat ini Anda perlu tidak mempercayai sesuatu atau seseorang, Anda memerlukan konsep keamanan tidak hanya perangkat lunak. Jadi itu hal yang baik ketika Anda perlu secara aktif memikirkan solusi firewall Anda.
Sekarang tentu saja ada skenario yang lebih kompleks. Tetapi ketika Anda benar-benar memiliki salah satu dari ini, Anda benar-benar perlu memperbaiki firewall sendiri dan jangan biarkan sistem setengah otomatis seperti ufw melakukannya. Atau Anda bahkan dapat menggunakan ufw, tetapi kemudian Anda memutuskannya dan bukan default sistem operasinya.
sumber
traceroute
pada sistem Anda.reject
atau paketdrop
itu. Tidak ada konsep "port terbuka tanpa mendengarkan". Mungkin maksud Anda menjatuhkan (menerima tanpa mengirimnya ke program).Iya
Maaf, tidak.
rpcbind
tampaknya diinstal, diaktifkan, dan mendengarkan di jaringan secara default.EDIT: Saya percaya ini telah diperbaiki di installer terbaru, yaitu untuk Debian 9 (Peregangan) . Tetapi dengan versi Debian sebelumnya, saya tidak akan merasa sangat aman menginstal (dan kemudian memperbarui) mereka pada jaringan wifi publik.
Saya curiga orang punya asumsi itu
Sementara yang terakhir adalah praktik umum misalnya oleh router konsumen, saya tidak percaya itu dijamin. Tidak mengherankan asumsi sebelumnya tidak didokumentasikan; juga tidak masuk akal.
Menurut pendapat saya, masalah dengan rpcbind adalah contoh dari poin yang lebih umum. Orang dapat mencoba mempromosikan Debian, dan ia memiliki banyak fitur keren. Tapi Debian tertinggal Ubuntu dalam hal bagaimana dipoles dan ramah itu, atau bisa dibilang bahkan seberapa dapat diandalkan itu bagi mereka yang ingin mempelajari detail tersebut.
Anda tentu saja bebas memasang firewall sebelum mulai mengunduh dan menjalankan perangkat lunak acak sehingga Anda tidak yakin apa fungsinya :-p.
Saya setuju sebagian, ini mengkhawatirkan untuk menginstal Linux dan tidak menemukan antarmuka yang diatur untuk apa yang merupakan lapisan keamanan yang sangat terkenal. Secara pribadi saya merasa berguna untuk memahami bagaimana firewall Windows default diatur. Ia ingin Anda dapat "mempercayai" jaringan rumah, dan dalam versi yang lebih baru instalasi kilat bahkan akan melewatkan menanyakan apakah Anda mempercayai jaringan saat ini. Tujuan utamanya tampaknya untuk membedakan antara jaringan rumah, koneksi yang tidak terlindungi seperti modem yang terhubung langsung, dan jaringan wifi publik. Perhatikan bahwa UFW tidak mendukung hal ini.
Fedora Linux sendiri mencoba memberikan sesuatu seperti ini, di
firewalld
. (Paket tampaknya tersedia di Debian juga ...). GUI untuknya tidak "ramah", katakanlah, seperti GUFW.sumber
Filosofi tradisional Unix selalu KISS dan menjalankan / mengekspos layanan minimum.
Beberapa layanan juga harus diinstal secara eksplisit, dan bahkan beberapa di antaranya terikat pada localhost, dan Anda harus mengaktifkannya agar dapat dilihat di jaringan lokal Anda / di Internet (MySQL, MongoDB, snmpd, ntpd, xorg ...). Ini adalah pendekatan yang lebih masuk akal kemudian mengaktifkan firewall secara default.
Anda hanya perlu kompleksitas yang dibawa firewall dari titik tertentu, dan kebutuhan itu mungkin berkurang karena berada di belakang router perusahaan atau perangkat rumah, sehingga kedengarannya masuk akal menyerahkan kepada pengguna keputusan itu. Firewall, seperti banyak perangkat lunak keamanan lainnya juga dapat memberikan sensasi keamanan yang salah jika tidak dikelola dengan baik.
Orientasi Debian selalu menjadi orang yang lebih berorientasi teknis yang tahu apa iptables itu; ada juga beberapa pembungkus yang sudah dikenal, teks atau antarmuka mode grafis yang dapat dengan mudah diinstal.
Di atas semua itu, apakah itu datang dengan terlalu banyak atau terlalu sedikit perangkat lunak yang diinstal datang ke masalah pendapat. Untuk veteran yang sudah lama, itu datang dengan terlalu banyak perangkat lunak dan layanan yang diinstal secara default, terutama dalam mode server.
sumber